注:今回の記事では、新しい脅威に関して Talos で調査中の内容について説明します。そのため記事の情報には不確定な部分もありますが、調査が進むにつれて更新される予定です。
2017 年 06 月 28 日 17:09 pm EDT 更新:システム侵害のメカニズムとして EternalRomance が使用されていることを反映しました。
米国の医療機関を標的とした SamSam 攻撃が 2016 年 3 月に発生して以来、Talos では、修正ファイル未適用のネットワークにおける脆弱性を介してランサムウェアが急激に拡散することを懸念してきました。そして 2017 年 5 月に登場した WannaCry ランサムウェアは SMBv1 の脆弱性を突き、瞬く間にインターネット中に拡散しました。
ごく最近では、マルウェアの新型亜種が出現しています。これは、Petya(あるいは「Petrwrap」や「GoldenEye」とも呼ばれる)とは明らかに異なっています。Talos ではこの亜種を「Nyetya」だと認識しています。Talos が入手したサンプルは、EternalBlue、EternalRomance、WMI、および PsExec を利用して、対象ネットワーク内で横方向に移動します。Nyetya の詳しい動作については、本記事後半の「マルウェアの機能」を参照してください。WannaCry と異なり、Nyetya には外部スキャン コンポーネントが含まれていないようです。
初期ベクターの特定はかなり困難です。電子メール ベクターに関する初期報告は未検証です。現在の拡散状態や、既知の実行可能な外部拡散メカニズムが存在しないという事実、および他の調査に基づくと、Nyetya の感染は「MeDoc」(ウクライナの税務会計ソフトウェア パッケージ)の更新システムに関連していると思われます。Talos では引き続き、Nyetya の初期ベクターの調査を続けています。
Talos では、あらゆるランサムウェアのケースと同様に、今回のケースでも身代金の支払いを推奨していません。また今回のケースは、支払い確認と復号鍵の共有に使用されるメールボックスが posteo.de の Web サイトによって停止されています。このため実際に支払っても暗号化が解除されることはありません。攻撃者が支払いを確認できる通信方法はなく、支払後に暗号解除キーを配布できる手段もありません。マルウェアがコマンドアンドコントロールに直接接続し、リモートでロックを解除する方法もないのです。Nyetya は(身代金を支払えばデータを回復できる)ランサムウェアと言うよりは、単にシステムを消去するだけの迷惑なウイルスだと言えます。
ユーザ クレデンシャルの回復
Nyetya の拡散を担う Perfc.dat では、リソース セクションに実行可能ファイルが埋め込まれています。この実行可能ファイルは一時ファイルとして %TEMP% フォルダにドロップされ、名前付きパイプ パラメータ(GUID を含む)により実行されます。メインの実行可能ファイルは、名前付きパイプ パラメータによりドロップされた実行可能ファイルと通信します。以下に、いくつかの例を示します。
C:\WINDOWS\TEMP\561D.tmp, \\.\pipe\{C1F0BF2D-8C17-4550-AF5A-65A22C61739C}
ドロップされた .tmp 実行可能ファイルは、オープンソース ツールである「Mimikatz」をベースにしているようです。Mimikatz はいくつかの手口でコンピュータ メモリからユーザ資格情報を取得できるため、多くのマルウェアで使用されています。ただし Talos では、実行可能ファイルが Mimikatz ツールそのものではないことを確認しています。
ここで取得された資格情報は、WMIC と PsExec を使用してリモート システム上でマルウェアを起動するために使用されます。以下に、いくつかの例を示します。
Wbem\wmic.exe /node:"w.x.y.z" /user:"username" /password:"password" "process call create "C:\Windows\System32\rundll32.exe \"C:\Windows\perfc.dat\" #1
マルウェアの機能
Perfc.dat には、さらにシステムを侵害するために必要な機能が含まれています。その 1 つは、名前のない(「#1」として参照される)単一のエクスポート機能です。このライブラリは、Windows API の AdjustTokenPrivileges によって、現在のユーザの管理者権限(SeShutdowPrivilege および SeDebugPrivilege)を取得しようと試みます。管理者権限の取得に成功すると、Windows 内で「PhysicalDrive 0」と呼ばれるディスク ドライブのマスター ブート レコード(MBR)を上書きします。MBR の上書きに成功するかどうかに関わらず、感染から 1 時間後にシステムを再起動するタスクを(schtasks を介して)スケジュール設定します。
伝搬プロセスとして、ネットワーク上の可視マシンすべてを NetServerEnum によって検出し、開いている TCP 139 ポートをスキャンします。次に、このポートに接続されており、侵害に脆弱な可能性のあるデバイスのリストを作成します。
Nyetya には、感染後に伝搬するためのメカニズムがいくつか含まれています。
- EternalBlue:WannaCry が使用するのと同じエクスプロイト
- EternalRomance:「ShadowBrokers」によって漏洩した SMBv1 のエクスプロイト
- Psexec:正当な Windows 管理ツール
- WMI:Windows Management Instrumentation(正当な Windows コンポーネント)
これらのメカニズムは、perfc.dat のインストール時と実行時に使用されます。perfc.dat は他のデバイスへと横方向に拡散します。
MS17-010 が適用されていないシステムでは、システムのエクスプロイトに EternalBlue および EternalRomance が利用されます。標的のシステム上で起動されるエクスプロイトは、対象の OS によって決まります。
- EternalBlue
- Windows Server 2008 R2
- Windows Server 2008
- Windows 7
- EternalRomance
- Windows XP
- Windows Server 2003
- Windows Vista
下記の命令を実行するために、PsExec が使用されます(下記の w.x.y.z は IP アドレス)。これは、現在のユーザの Windows トークン(先述の「ユーザ クレデンシャルの回復」を参照)を使用して、ネットワーク接続デバイスにマルウェアをインストールします。
C:\WINDOWS\dllhost.dat \\w.x.y.z -accepteula -s -d C:\Windows\System32\rundll32.exe C:\Windows\perfc.dat,#1
WMI が、以下のコマンドの実行に使用されます。このコマンドによって上記と同じ機能が実行されますが、こちらでは現在のユーザのユーザ名とパスワードを使用します(下記の username および password、先述の「ユーザ クレデンシャルの回復」を参照)。
Wbem\wmic.exe /node:"w.x.y.z" /user:"username" /password:"password" "process call create "C:\Windows\System32\rundll32.exe \"C:\Windows\perfc.dat\" #1"
システムの侵害に成功すると、このマルウェアは 2048 ビットの RSA を使用して、ホスト上でファイルを暗号化します。またこのマルウェアは下記のコマンドを使用して、侵害されたデバイスのイベント ログを消去します。
wevtutil cl Setup & wevtutil cl System & wevtutil cl Security & wevtutil cl Application & fsutil usn deletejournal /D %c:
MBR が上書きされたシステムでは、再起動時に次のメッセージが表示されます。
Nyetya によって侵害されたシステムのスクリーンショット
緩和・予防策
Nyetya に対する予防・防御策はいくつか存在します。
- 最も大切なことは、MS17-010 をまだ適用していない場合は早急に適用することです。脆弱性の深刻度と、それをエクスプロイトできるツールの拡散状況を踏まえると、脆弱性を修正せずに放置することは賢明ではありません。
- 既知の不正な実行可能ファイルを検出してブロックできるマルウェア対策ソフトウェアがインストールされていることを確認してください。
- オフラインのバックアップ デバイスからデータのバックアップと復元を含めた、災害復旧計画を実装してください。身代金を支払うことなくファイルが復元されるのを防ぐため、バックアップ データが標的にされることも多くあります。
- 可能であればネットワーク上で SMBv1 を無効化し、最新バージョンの SMB にアップデートしてください(SMBv2 は Microsoft Vista で導入されました)。
感染したマシン上で Nyetya が MBR の上書きを試みた際に、Talos では MBRFilter によりそれを阻止できることを確認しています。MBRFilter により MBR が良好な状態に保たれることも確認しています。可能であれば MBRFilter の使用をお勧めします。ただし MBRFilter は Talos のオープンソース プロジェクトであり、保証や保証は提供されないことに注意してください。
カバレッジ
シスコのお客様は、下記の製品およびサービスによって Nyetya から保護されます。
Advanced Malware Protection(AMP)は、これらの攻撃者によるマルウェアの実行の阻止に最適です。
NGFW、NGIPS、および Meraki MX などのネットワーク セキュリティ アプライアンスにより、この脅威に関する悪意のあるアクティビティを検出できます。
AMP Threat Grid は、悪意のあるバイナリを特定し、すべてのシスコ セキュリティ製品に保護機能を埋め込みます。
E メールおよび Web は現在攻撃ベクトルとして特定されていません。また現在のところ、このマルウェアに関する既知の C2 要素はありません。今回のマルウェアがネットワーク上でこれらのシステムに転送された場合、ブロックされます。
オープンソース Snort サブスクライバ ルール セットをお使いであれば、Snort.org で購入可能な最新のルール パックをダウンロードすることで、システムを最新状態に維持できます。
NGIPS / Snort ルール
下記の NGIPS / Snort ルールは今回の脅威を検出します。
- 42944 – OS-WINDOWS Microsoft Windows SMB remote code execution attempt
- 42340 – OS-WINDOWS Microsoft Windows SMB anonymous session IPC share access attempt
- 41984 – OS-WINDOWS Microsoft Windows SMBv1 identical MID and FID type confusion attempt
下記の NGIPS / Snort ルールは感染トラフィックの兆候ともなります。
- 5718 – OS-WINDOWS Microsoft Windows SMB-DS Trans unicode Max Param/Count OS-WINDOWS attempt
- 1917 – INDICATOR-SCAN UPnP service discover attempt
- 5730 – OS-WINDOWS Microsoft Windows SMB-DS Trans Max Param OS-WINDOWS attempt
- 26385 – FILE-EXECUTABLE Microsoft Windows executable file save onto SMB share attempt
- 43370 – NETBIOS DCERPC possible wmi remote process launch
AMP カバレッジ
- W32.Ransomware.Nyetya.Talos
Threat Grid
Threat Grid は、Nyetya に関するマルウェア サンプルを悪意のあるものとして検出できます。
INDICATORS OF COMPROMISE(IOC)
AMP カバレッジ
- Ransomware.Nyetya.Talos
SHA256
- 027cc450ef5f8c5f653329641ec1fed91f694e0d229928963b30f6b0d7d3a745
- eae9771e2eeb7ea3c6059485da39e77b8c0c369232f01334954fbac1c186c998 (password stealer)
本稿は 2017年6月27日に Talos Group のブログに投稿された「New Ransomware Variant “Nyetya” Compromises Systems Worldwide」の抄訳です。