マルウェア解析奮闘記 WannaCryの解析
2017年5月12日夜間頃より世界規模で攻撃が観測されているWannaCryの解析結果をお知らせします。WannaCryの動作概要と、ランサムウェアとしては新しい動作となる、キルスイッチとMS17-010脆弱性をついた感染拡大の部分については、少し詳しく解説していきます。
今回調査に用いた検体は、VirusTotalよりダウンロードした以下のSHA256ハッシュ値を持つWannaCryのドロッパー検体です。亜種の存在の報告もあがっており、挙動が異なる可能性もあるため、最初にこの点に触れておきたいと思います。
SHA256 : 24d004a104d4d54034dbcffc2a4b19a11f39008a575aa614ea04703480b1022c
[概要]
WannaCryはドロッパーEXEの実行で開始され、開始直後に、キルスイッチと名付けられたURLにアクセスします。
http://www[.]iuqerfsodp9ifjaposdfjhgosurijfaewrwergwea.com
現在このURLはシンクホールされており、アクセスに成功すると、その後の感染拡大と暗号化・身代金要求の処理は行いません。
図1、WannaCryドロッパーのWinMain()処理直後のキルスイッチ
このURLにアクセスできない場合、またはシンクホールされる前はつぎのように処理を行います。
図2、概要
[解説]
WannaCryドロッパー(mssecsve.exe)の中には、大まかに感染拡大するためのコードと、暗号・身代金要求を行うためのモジュール(tasksche.exe)が含まれています。図2では、感染拡大の処理をA、暗号・身代金要求の処理を処理Bとしています。
まず、暗号・身代金処理Bの部分について、感染した端末では、tasksche.exeが複数のモジュールをC:¥ProgramDataの下にドロップし、起動する処理を行います。簡単にいくつかのモジュールの役割を記載します。
[コマンドライン] : 処理説明
tasksche.exe : ファイルの暗号処理や身代金要求モジュールのドロップ
taskse.exe @WanaDecryptor@.exe : 身代金要求のメッセージ表示
@WanaDecryptor@.exe co : Torモジュールの準備
@WanaDecryptor@.exe vs : ボリュームシャドーコピーの削除、隠しファイル設定など
図3、CrowdStrike Falconで可視化した暗号・身代金要求処理
つづいて感染拡大の処理Aの部分について、解説します。
処理Aの中では最初に、SMB(445)ポートのMS17-010脆弱性の確認(図4)とエクスプロイトを行い、SMBのセッションを確立します。ここで確立したセッションで、Base64でエンコードされたモジュール(WannaCryドロッパー)を送り込みます(図5)。
さらにこの後、MS17-010の脆弱性を攻撃するEternelBlueのエクスプロイトにDoublePulsarのバックドアをペイロード(図6)として、MS17-010を攻撃します。
その結果、攻撃された端末では、DoublePulsarのバックドアがオープン(図7)しますが、WannaCryによって感染拡大以外の目的には活用されていません。DoublePulsarのバックドアは、ShadowBrokerによって公開されたエクスプロイトをできるだけ早く再利用しようとしたため、含まれたものと思われます。
図4、WannaCryドロッパーに含まれるMS17-010のスキャンコード
WannaCryに含まれるMS17-010のスキャンコードは、以下のMetasploitのMS17-010のスキャンコードと同様のものです。
https://www.exploit-db.com/exploits/41891/
図5、感染端末と2次感染端末のWannaCryドロッパーのバイナリ比較(同じ)
図6、感染拡大時のSMBパケットに見られるDoublePulsarのExploitコード
図7、感染端末をスキャン(MS17-010)、DoublePulsarバックドアがオープン
DoublePulsarのバックドアは、カーネルで動作しているlanmanserverサービス(MS17-010のSMBサービスと同じ)をエクプロイトし、そのメモリ上で、動作しています。そのため、プロセス単位で停止することが難しく、再起動が必要になってしまいます。また、感染端末に常駐するかたちでは配備されないため、端末の再起動でDoublePulsarのバックドアは消滅します。
[最後に]
先月Sporaランサムウェアの感染を身近に確認しました。Sporaランサムウェアは、パスワードの設定されていない共有フォルダ(SMB)に感染を拡大しますが、感染拡大先で実行するモジュールは、暗号化・身代金要求のモジュールだけでした。
今回観測されたWannaCryランサムウェアは、感染拡大先でも感染拡大コードと暗号・身代金要求のそれぞれを実行していくため、被害をより拡大した要因のひとつと考えています。
また、WannaCryによって感染した端末から、MS17-010脆弱性をつかれた端末では、もしWannaCryがウィルス対策に駆除されても、DoublePulsarのバックドアがオープンしていると思われる点にもご注意頂きたいと思います。
このDoublePulsarのバックドアを悪用して、更なるリモートからのコードが実行される恐れが考えられます。
フォローしませんか?