(英文)インタビュー内容をご確認ください。VXRL(credit)から連絡があり、あるAPTフィッシングメールのURLでマルウェアをダウンロードしているようです。URLは国内のGeocitiesさんのお客様サイトで、早く削除が欲しいとの問い合わせでした。サンプル/証拠:※)APT攻撃のフィッシングメールですので、ここで全てのメール情報を見せる事が出来ません。どんなマルウェアを聞いていたら、情報が不明で、僕の方で色んなシグネチャーを確認したら検知率はゼロとの事で、これじゃマルウェアの証明が無いと多分Geocitiesさんも対応してくれないだとうと、僕の方で本件のAPT解析をしました。この解析の結果を使ってマルウェア駆除の参考情報にしてください。|APTとは?||APT攻撃(標的型攻撃)とは、サイバー攻撃の一種で、特定のターゲットに対して持続的に|攻撃・潜伏を行い、様々な手法を駆使して執拗なスパイ行為や妨害行為などを行うタイプの|攻撃の総称である。URLを見たらGeoCitiesジャパンのサイトですね、Geocitiesジャパン自体はマルウェアのサイトではありませんが、フレーウェブホスティングとして国内の皆様はこのGeocitiesでブログやホームページを作ったりしますね。('ω')ワオーー!」って感じですね。Geocities.JPでこういう物があるのは初めて見たし、どう見ても怪しいファイルなので、調査しました。BasicまたVBAマクロを使ったことが|ある人にはきわめてなじみが深いものでしょう。これらの言語とまったく同じではありません。アクセスや印刷など、|一般にスクリプティングの範囲を超えている機能は含まれていません。環境の上で実行が出来ます。ふがほげなどなど...意味合い的には、スクリプト実行の時にpowershellさんはアウトプットを隠して(hidden)、認証無しで(ep=ExecutionPolicyをバイパスする)ベース64コード化されたコマンド(Enc=EncodedCommand)を実行します。(CLI)シェルおよびスクリプト言語である。Frameworkを基盤としている。Monad)と呼ばれていた。↑またVBScriptが見えますね、今回のスクリプトの意味は↓ウェブクライアントのオブジェクトが作られ、プロキシ環境設定やユーザ権限のままでとあるURLからファイルをダウンロードし、そして実行されます。これでDOC(MSワード)ファイルが開けます。ファイルをダウンロードされ、実行されますね。コマンドでデコードされると書いてあります。_|||);;;;今回は感染のコードを見れるようになりました。ベース64の中に絶対マルウェアpayloadがあります。感染方法も書いてありますね。偽「SecurityUpdate」プロセスを隠しながら(また)powershell.exeでベース64のコードを「IEX」コマンドでデコードされ、実行されますね。「PoCコード」ですね、リンクはこちらです。ぱくりで、オリジナルの物はシェルコードの部分とベース64のエンコディングを沢山使っている事です。シェルコードを見る為に、結局またもう一度ベース64でデコードしなければなりません↓(-。Ivyのマルウェアとなります。セカンドシェルコードをuserinit.exeの偽プロセスにインジェックされます。バイナリファイルを作ってみました。(EP)はコンパイルで作れます。作れますから感染される可能性はゼロです。コンパイルすると、PEが出来上がりました↓ここでシェルコードの解析がなんでも可能になって、部分を分析調査でも出来るし、行動調査も問題ありません(^-^vで、見たら色々マルウェアの動きを発見し、結局このシェルコードが感染されたPCの情報を取り、C2にコールバックを行い、その他の感染関係の動きもやっているそうですね。説明をすると長いので、全体的なシェルコードの動きを紙で図に書いて、一応解析時のドラフトとなります↓(後時間が出来たら綺麗にしますよ。マルウェアの犯人もこのブログを見る可能性があるので、対応が終わったら綺麗にしますね。Shellcode)とは、コンピュータセキュリティにおいて、ソフトウェアのセキュリティホールを|利用するペイロードとして使われるコード断片である。シェルコードは機械語で書かれることが多い。||侵入したマシンを攻撃者が制御できるようにするため、シェルを起動することが多い。||シェルコードは単にシェルを起動するだけとは限らないため、シェルコードという名称は不十分だとも言われている。|しかし、他の用語は今のところ定着していない。IVYpowershell.exeのスクリプトでインジェックされつシェルコードのDLLコールのサイズが大きいです。シェルコード自体のサイズも大きいですね。(アセンブリ・デバッギングの解析)見たとおり、偽「userinit.exe」のプロセスが作られて、そのプロセスに(malicious)シェルコードをインジェックされ、そして実行されます。プロセス情報を見たら悪い板の「userinit.exe」プロセスが出てきたわけです。Ivyさんがやっている感染仕方です。Ivyのシェルコード意外にこの組み合わせを中々見た事がありません。コンパイルでもOKですが、もし時間があったらそして勉強したい場合XORで解読したバイナリを読んだほうがいいと思います。本件の対応が終わった後に私もゆっくり読みました。そのままで情報も見えるし難しくないと思います。Ivyのバーション、使ったホスト名、ドロップファイル名、DLLやDLLの関数となどなどをを全部見えます。セカンド・シェルコードをインジェックしました。今「CreateThread」の単語が出てきましたので、結構怪しいですね。シェルコードの機械語のタイプはx86-32で、サイズは「255」だと分かりました。コールをループで実行されています。kernelbase.dllライブラリのメモリアドレスです。感染された状況のメモリマップを取りましたら、シェルコードでコールしたアドレスのカーネルでロードされたDLLのコールが完全に分かりました。セカンドシェルコードのDLLコール仕方は2件を使い、「Hint」アドレス、そして「RVA」のアドレスです。このツールを使えばハッカーがシェルコードを作れますが、同じツールで私はそのシェルコードの解析も出来ます。両方DLLの「Hint」アドレス、そして「RVA」のアドレスを見れますので、この方法でセカンドシェルコードがコールした関数が分かりました。Dumperスナップショットで情報を洗い出したら例えば下記の画像↓2番目のシェールコードを動かしたら解析的に下記の情報となります。欠いたのは頭の分だけで、全体的な解析はもっと長いけど、この次のグラフ画像で情報を見れます。↑userinit.exeさんは「Plug1.dat」ファイルを作ろうとしていた。SystemSetupInProgress」から引っ張りますね。その情報をあとで暗号化されて、リモートに送信する積りと分かっています。その後などなどのマルウェア関係プロセスもまだあります。255バイトのシェルコードを実行される後の順番的な行動分析の動きが分かります。手で書いた図について、userinit.exeのプロセスと続いて2番目のシェルコードの行動を書いてあります。あり、データを洗い出しました。ここでコールバックのホスト名とIPが分かりました。missliu6@sina.comここで犯人は何処からの人かが分かりましたね。解析だけじゃ証拠にならないので、しかたがなく安全な方法でシェルコードのPEファイル版を行動分析調査として実行しました。(行動解析とフォレンジックス)そのやり取りのデータを解読したら私のテストPC情報を発見しましたww(@。Tool)というバックドア型のマルウェアです。IVYが標的型攻撃(APT)で沢山確認されています。DOCファイルをダウンロードして、そして開きます。感染シェルコードを被害者のPCのメモリ上でプロセスをインジェックします。本件の感染仕方がよく考えられたと思います。PowerSploit経由プロセス・インジェックションでシェルコードを動かしてから、またシェルコードでのプロセスインジェックションを実行する仕組みはとても見にくい仕組みですね。仕組みはよくファイルレス(ファイルを利用しない)と呼ばれている仕組みです。検知をすり抜ける方法も結構大変なエフォートで作られていた(マルチプルコード化される事とペイロードのラッピング仕組み)。今回の攻撃には中国経由のネットワークが使われず、目的はネットワークのブロックをすり抜けるようにアタッカーが考えていたと思われます。感染事件と比べると今回の感染成功確立が非常に高いです。コードをAPT感染の為に利用された事が初めて見ましたね。この件の注意が必要です。本APTキャンペーンはGeoctiesジャパンのいくつかアカウントを悪用していますので、恐らく現在APT攻撃キャンペーンが動いている最中です。Yvy"のAPT攻撃キャンペーンの名前で決めました。IVY」感染マルウェアのファイルを削除して欲しいです。この調査を証拠としてご対応をお願い致します。IVYのCNCですので、暫くブロックしてた方がいいと思います。フィッシングメールの送り元のメアドに付いて、GMailに報告済みですが、アドレスは下記となります↓wisers.data@gmail.comhealth.pro.demo30@gmail.comまた別途APT攻撃を使う可能性があるので、ブロックした方がいいです。最後に、マルウェアのソースコード、PoCでも、成るべくパブリックで公開しないで欲しいですね。8.サンプル本件の対応が未だ途中ですので、ハッシュのみでサンプルを報告します。ハッシュは下記となります。対応が終わったらVTのURLを追加致します。Shinogiさん(credit)がリサーチを手伝ってくれて、報告が頂き、彼は別のGeocitiesジャパンアカウントを発見されました。モンゴル国の方がターゲットされていると思いますスクリーンショットは下記となります↓9,2.ファイル名とAPT情報について本APT攻撃キャンペーンのURLに攻撃関係の情報が書いてあります↓ここで攻撃の日付、ターゲットのID、そして恐らく何番のバーション/シリーズの情報を見れます。Division(YIRD)さん、JP-CERT/CCさんと国内セキュリティ仲間の皆さんから御協力頂き、マルウェアファイルがサーバに駆除されました。御協力頂き有難う御座います。9.4.モンゴルのFHAPPIキャンペーンの解析調査結果についてモンゴル・キャンペーンの件ですが、感染の仕組みは同じです。キャンペーンの日付を見たら昨年の9月頃ですね。悪用されたGeocitiesさんのユーザ名は「lgxpoy6」でした。サンプルが古い、ドメインも無くなったが、取りあえず出来る事をたろう、解析しましょう!最初のインストーラースクリプトはベース64で隠してなかった。経由でマルウェアをメモリにインジェックされます、この部分は変わってなかった↓シェルコードのデサインも少し違う↓モンゴル系キャンペーンではXORも必要、キー違う「0xd4」ですね、バイトの長さは同じ「0x2183」。モンゴル系キャンペーンのCNCのIPは中国となります。バーション情報を見たら、香港のキャンペーンと同じバーションですね。面白いのは、(1)モンゴル系のキャンペーンには2つホスト名を使い、それぞれのドメイン名はとても怪しいですね。香港のキャンペーンですと1つのホスト名しか書いてません。Ivyは3つのCNC情報迄入れられそうと見えますね、絶対にペーロードのビルダーがそういう設定があることが分かりました。(3)テストとして、IPアドレスをCNCの場所に書きましたら、そのままで動きますので、CNCはIPアドレスだけの可能性もあるとのことです。この解析の情報で、ほぼ全ての感染ソース、目的と感染仕方が分かりました。@malwaremustdieのツイッターへご連絡くださいね。解析者・報告書を発表しました。English※)追加情報を少しずつ更新をさせて頂きます。