新たに出現したランサムウェアの大規模な感染によって企業のネットワークが大きく混乱しています。今回の事件の黒幕は、Petyaランサムウェアです。この悪意あるランサムウェアは、感染先のコンピューターのファイルと、PCを起動する際に参照されるマスターブートレコード(MBR)を暗号化して、コンピューターを使用不能にします。
Petyaランサムウェアの存在は2016年3月に確認されていました。このランサムウェアが他のランサムウェアファミリーと異なる点は、コンピューター上のファイルを暗号化するだけでなく、MBR(master boot record)もまた暗号化する点にあります。この二重の攻撃方法により、感染したコンピューターのディスクはアクセス不能になり、ほとんどのユーザーはコンピューターを復旧させることができません。
今日発見されたこのPetyaの新しい亜種では、先月猛威を振るったランサムウェアWannaCryに見られた感染拡大の仕組みに似た特徴が付加されているため、2016年に確認されたものよりも、さらに悪質なものとなっています。PetyaランサムウェアはWindows DLLとして提供され、また次の図で示すとおり、リモートマシンに感染しようとするときには、WannaCryと同様にEternal Blue エクスプロイト*を使用します。
*主にサーバーで利用される通信プロトコルであるWindowsのServer Message Block(SMB)の重大な脆弱性
この図からは、このPetyaによる不正な攻撃が行われる直前に、ある典型的なトランザクションが起こっていることがわかります。これは、以前にWannaCryブログで解説したことと同じです。
一度この攻撃が成功すると、このランサムウェアは自身をリモートマシンのC:\Windows下にコピーした後に、rundll32.exeを使って自身を起動させます。このプロセスは、Eternal Blueエクスプロイトでも使われたWindowsプロセスであるlsass.exe下で行われます。
WannaCryの発生によって多くの人々が最新のWindowsパッチを適用するようになったことを受けて、Petyaは被害を拡大させるためにさらなる拡散メカニズムを導入しています。Petyaが次に取る方法は、自身とpsexec.exeをリモートマシンのADMIN$フォルダにコピーしようとします。これが成功すると、次図の通り、ランサムウェアはリモート・プロシージャ・コールを使用してpsexec.exeを起動させ、自身をサービスの一種として起動させようとします。
この図では、まず初めにDLLがリモートホストにコピーされていることがわかります。そして次の図では、psexecがコピーされた後に、svcctlリモート・プロシージャ・コールを使用して、自身を起動させようとしていることがわかります。
どちらのファイルも、C:\Windowsフォルダにコピーされています。
Petyaランサムウェアによって試みられた方法の一つに、Windows Management Instrumentation Command-line (WMIC)を使って、窃取したアカウント情報を利用しながら、リモートマシン上でマルウェアを直接実行する、というものがあります。Petyaランサムウェアによって使われるコマンドは、以下のようなものです。
* exe %s /node:”%ws” /user:”%ws” /password:”%ws” process call create “C:\Windows\System32\rundll32.exe \”C:\Windows\%s\” #1
これらの“%ws”とは、ワイド文字型の変数で、現在悪用されているマシンとアカウント情報にもとづいて生成されます。
一度このランサムウェアをマシン上で動かすと、psexec.exeをc:\windows\dllhost.datとして、他の.EXEファイル(使用しているOSに応じて、32あるいは64ビットバージョンのどちらか)を端末の%TEMP%フォルダにドロップします。このバイナリは、MimikatzまたはLSADumpに似た、パスワード・ダンプ・ツールの改変版です。
この図に示されているコードにより、LSA機能がパスワード抽出中に使われていることがわかります。
この.EXEファイルは、以下のようなPIPE名をパラメーターとして受け取ります。
* \\.\pipe\{df458642-df8b-4131-b02d-32064a2f4c19}
このPIPEは窃取されたパスワードを受け取るために使われ、その後、窃取されたパスワードは、上図でわかるようにWMIC(Windows Management Instrumentation Command-line )によって使われます。
これらすべてのファイルは、メインDLLのリソース・セクションに、次のように圧縮された形式で存在しています。
次にこのランサムウェアは、下図のように、ローカルファイルとMBRを暗号化し、さらにschtasks.exeを使って一時間後にマシンを再起動させるというスケジュールタスクをインストールします。
このランサムウェアが使用する暗号化技術はRSA方式によるAES-128で、これまでに確認されている別のPetya亜種がSALSA20を使っていたのに対し、この点が異なります。ファイル暗号化キーを暗号化するために使われるRSA公開鍵は特定の環境でのみ稼働するようハードコーディングされており、それは以下のコードからもわかります。
このランサムウェアはまた、自身の痕跡を隠すために、次のコマンドを実行してイベントログを消去しようとします。
* wevtutil cl Setup & wevtutil cl System & wevtutil cl Security & wevtutil cl Application & fsutil usn deletejournal /D %c:
感染したマシンが再起動した後、身代金として300米ドルをビットコインで要求するメッセージが以下のように表示されます。
現時点では、このビットコインのアカウント上での取引はほとんどありませんが、この画面が登場することで多くの人が自分が感染したことに気づくはずです。
詳細な情報が届き次第、このブログを順次更新します。
IOC(Indicators Of Compromise)情報
既知のハッシュ
・027cc450ef5f8c5f653329641ec1fed91f694e0d229928963b30f6b0d7d3a745 (メイン32-bit DLL)
・64b0b58a2c030c77fdb2b537b2fcc4af432bc55ffb36599a31d418c7c69e94b1 (メイン32-bit DLL)
・f8dbabdfa03068130c277ce49c60e35c029ff29d9e3c74c362521f3fb02670d5 (署名付PSEXEC.EXE)
・02ef73bd2458627ed7b397ec26ee2de2e92c71a0e7588f78734761d8edbdcd9f (64-bit EXE)
・eae9771e2eeb7ea3c6059485da39e77b8c0c369232f01334954fbac1c186c998 (32-bit EXE)
ファイル
・c:\windows\dllhost.dat\
・c:\windows\<malware_dll> (拡張子無し)
・%TEMP%\<random name>.tmp (EXE drop)
その他の指標
・PIPE name: \\.\pipe\{df458642-df8b-4131-b02d-32064a2f4c19}
・Scheduled task running “shutdown -r -n”
マカフィー製品の対応
マカフィー製品の対応状況は、Knowledge Centerで随時更新されていますので、ご参照ください。
Knowledge Center(日本語)
Knowledge Center(英語)
McAfeeに寄せられた/発見されたサンプルは、順次Global Threat Intelligenceに追加されており、これまでに確認されている既知のサンプルはGlobal Threat Intelligenceで検知可能です。また、このPetyaランサムウェアの新しい亜種向けのExtraDatもすでにリリースしており、ユーザーには早急な適用を推奨しています。
McAfee ATPでは、メインDLLとドロップされたEXEファイルのどちらも、以下のように検知できます。
メインDLLは図9のように検知され、また、%TEMP%フォルダにドロップされたサンプルは以下のように検出されます。
また、McAfee Network Security Platformの以下シグネチャでも、Petyaランサムウェアの感染活動を検知出来ることが確認されています。マカフィーでは、以下のシグネチャをBlockモードにして、端末到達前にネットワークレベルでブロックすることを推奨しています。
・0x43c0b800- NETBIOS-SS: Windows SMBv1 identical MID and FID type confusion vulnerability (CVE-2017-0143)
・0x43c0b400- NETBIOS-SS: Windows SMB Remote Code Execution Vulnerability (CVE-2017-0144)
・0x43c0b500- NETBIOS-SS: Windows SMB Remote Code Execution Vulnerability (CVE-2017-0145)
・0x43c0b300- NETBIOS-SS: Microsoft Windows SMB Out of bound Write Vulnerability (CVE-2017-0146)
・0x43c0b900- NETBIOS-SS: Windows SMBv1 information disclosure vulnerability (CVE-2017-0147)
・0x451e3300- HTTP: Microsoft Office OLE Arbitrary Code Execution Vulnerability (CVE-2017-0199)