WannaCry マルウェア プロファイル

WannaCry network traffic attempting SMB exploit news

WannaCry (WCry または WanaCryptor とも呼ばれる) マルウェアは、自己増殖型 (ワームのような) ランサムウェアであり、Microsoft のサーバー メッセージ ブロック (SMB) プロトコルの脆弱性である MS17-010 を悪用して、内部ネットワークおよびパブリック インターネット経由で拡散します。 WannaCryマルウェアは、ランサムウェア機能を提供するコンポーネントと、SMB エクスプロイト機能を有効にする機能を含む伝播に使用されるコンポーネントの 2 つの異なるコンポーネントで構成されています。

このマルウェアは、2017 年 4 月 14 日に Shadow Brokers によってリリースされたコードネーム「EternalBlue」のエクスプロイトを利用しています。

このマルウェアは、暗号化されたデータ ファイルに拡張子 .WCRY を追加し、復号化ツールをドロップして実行し、データを復号化するために 300 ドルまたは 600 ドル (ビットコイン経由) を要求します。

このマルウェアは、コマンド アンド コントロール (C2) 通信に暗号化された Tor チャネルを使用します。

ファイルの特徴

ファイル名

MD5 ハッシュ

サイズ (バイト)

コンパイル時間

説明

ファイルの種類

mssecsvc.exe

db349b97c37d22f5ea1d1841e3c89eb4

3723264

2010-11-20T09:03:08Z

ローダー + ワーム コンポーネント

EXE

タスクシェ.exe

84c82835a5d21bbcf75a61706d8ab549

3514368

2010-11-20T09:05:05Z

ローダ

EXE

利用不可

f351e1fcca0c4ea05fc44d15a17f8b36

65536

2009-07-14 01:12:55Z

暗号化者

DLL

@WanaDecryptor@.exe

7bf2b57f2a205768755c07f238fb32cc

245760

2009-07-13 23:19:35Z

デクリプター

EXE

表 1: ファイルの特徴

持続メカニズム

マルウェアは、持続性を確保するために、次の 2 つのレジストリ実行キーを作成します。

  • キー: HKCUSOFTWAREMicrosoftWindowsCurrentVersionRun<ランダム>

値: < Full_path >tasksche.exe

  • キー: HKLMSOFTWAREMicrosoftWindowsCurrentVersionRun<ランダム>

値: < Full_path >tasksche.exe

このマルウェアは、mssecsvc.exe の持続性を確保するために次のサービスを作成します。

  • サービス名: mssecsvc2.0
  • 表示名: Microsoft セキュリティ センター (2.0) サービス
  • BinaryPath: <mssecsvc へのパス> -m security

このマルウェアは、次のサービスを作成して、tasksche.exe の永続性を確保します。

  • ServiceName: <8-15lower><3number>
  • DisplayName: <サービス名と同じ>
  • BinaryPath <tashsche.exe へのパス>

ホストベースの署名

ファイル システム アーティファクト

チェックサム
  • 実際: 0x00018AF7
  • ヘッダー: 0x00000000
ドロップされたファイル

ローダー ファイル

  • お名前: タスクチェ.exe
    パス: C:WINDOWS
    パス: < システム ドライブ > ProgamData < sys_id >
    パス: < system_drive >Intel< sys_id >
    MD5: 84c82835a5d21bbcf75a61706d8ab549
  • 名前: ケリウウジュフ
    パス: C:WINDOWS
  • 名前: m_bulgarian.wnry
    パス: %CD%msg
    MD5: 95673b0f968c0f55b32204361940d184
  • 名前:m_chinese(簡体字).wnry
    パス: %CD%msg
    MD5: 0252d45ca21c8e43c9742285c48e91ad
  • 名前: m_chinese (繁体字).wnry
    パス: %CD%msg
    MD5: 2efc3690d67cd073a9406a25005f7cea
  • 名前: m_croatian.wnry
    パス: %CD%msg
    MD5: 17194003fa70ce477326ce2f6deeb270
  • 名前: m_czech.wnry
    パス: %CD%msg
    MD5: 537efeecdfa94cc421e58fd82a58ba9e
  • 名前: m_danish.wnry
    パス: %CD%msg
    MD5: 2c5a3b81d5c4715b7bea01033367fcb5
  • 名前: m_dutch.wnry
    パス: %CD%msg
    MD5: 7a8d499407c6a647c03c4471a67eaad7
  • 名前: m_english.wnry
    パス: %CD%msg
    MD5: fe68c2dc0d2419b38f44d83f2fcf232e
  • 名前: m_filipino.wnry
    パス: %CD%msg
    MD5: 08b9e69b57e4c9b966664f8e1c27ab09
  • 名前: m_finnish.wnry
    パス: %CD%msg
    MD5: 35c2f97eea8819b1caebd23fee732d8f
  • 名前: m_french.wnry
    パス: %CD%msg
    MD5: 4e57113a6bf6b88fdd32782a4a381274
  • 名前: m_german.wnry
    パス: %CD%msg
    MD5: 3d59bbb5553fe03a89f817819540f469
  • 名前: m_greek.wnry
    パス: %CD%msg
    MD5: fb4e8718fea95bb7479727fde80cb424
  • 名前: m_indonesian.wnry
    パス: %CD%msg
    MD5: 3788f91c694dfc48e12417ce93356b0f
  • 名前: m_italian.wnry
    パス: %CD%msg
    MD5: 30a200f78498990095b36f574b6e8690
  • 名前:m_japanese.wnry
    パス: %CD%msg
    MD5: b77e1221f7ecd0b5d696cb66cda1609e
  • 名前: m_korean.wnry
    パス: %CD%msg
    MD5: 6735cb43fe44832b061eeb3f5956b099
  • 名前: m_latvian.wnry
    パス: %CD%msg
    MD5: c33afb4ecc04ee1bcc6975bea49abe40
  • 名前: m_norwegian.wnry
    パス: %CD%msg
    MD5: ff70cc7c00951084175d12128ce02399
  • 名前: m_polish.wnry
    パス: %CD%msg
    MD5: e79d7f2833a9c2e2553c7fe04a1b63f4
  • 名前: m_portuguese.wnry
    パス: %CD%msg
    MD5: fa948f7d8dfb21ceddd6794f2d56b44f
  • 名前: m_romanian.wnry
    パス: %CD%msg
    MD5: 313e0ececd24f4fa1504118a11bc7986
  • 名前: m_russian.wnry
    パス: %CD%msg
    MD5: 452615db2336d60af7e2057481e4cab5
  • 名前: m_slovak.wnry
    パス: %CD%msg
    MD5: c911aba4ab1da6c28cf86338ab2ab6cc
  • 名前: m_spanish.wnry
    パス: %CD%msg
    MD5: 8d61648d34cba8ae9d1e2a219019add1
  • 名前: m_swedish.wnry
    パス: %CD%msg
    MD5: c7a19984eb9f37198652eaf2fd1ee25c
  • 名前: m_turkish.wnry
    パス: %CD%msg
    MD5: 531ba6b1a5460fc9446946f91cc8c94b
  • 名前: m_vietnamese.wnr
    パス: %CD%msg
    MD5: 8419be28a0dcec3f55823620922b00fa
  • 名前: t.wnry
    パス: %CD%
    MD5: 5dcaac857e695a65f5c3ef1441a73a8f
    説明: 暗号化された暗号化ツール
  • お名前: taskdl.exe
    パス: %CD%
    MD5: 4fef5e34143e646dbf9907c4374276f5
    説明:一時ファイル削除支援ツール
  • お名前: taske.exe
    パス: %CD%
    MD5: 8495400f199ac77853c53b5a3f278f3e
    説明: Decryption Tool の起動をサポートするツール
  • お名前: ゆーりん
    パス: %CD%
    MD5: 7bf2b57f2a205768755c07f238fb32cc
    説明: 復号化ツール
  • ファイル: b.wnry
    パス: %CD%
    MD5: c17170262312f3be7027bc2ca825bf0c
    説明: ランサム イメージ (BMP)
  • 名前: c.wnry
    パス: %CD%
    MD5: ae08f79a0d800b82fcbe1b43cdbdbefc
    説明: 構成データ

暗号化ファイル

  • 00000000.res
  • 00000000.pky
  • 00000000.eky
  • 00000000.dky

復号化ファイル

  • c.wnry
  • ファイル: taskhsvc.exe
    パス: TaskDataTor

次のアーティファクトは、リモートで悪用されたシステムで見つけることができます。

  • お名前: mssecsvc.exe
    パス: C:WINDOWS
    MD5: db349b97c37d22f5ea1d1841e3c89eb4
    説明: ドロッパー + ワーム コンポーネント
レジストリ アーティファクト
  • サービス名: mssecsvc2.0
    表示名: Microsoft セキュリティ センター (2.0) サービス
    BinaryPath: < GetModuleFileName > -m security
  • HKLMSoftwareWanaCrypt0rwd
  • HKCUSoftwareWanaCrypt0rwd
輸出
  • 0x00005AE0 タスク開始
ミューテックス
  • MsWinZonesCacheCounterMutexA
プロセス引数
  • icacls。 /grant Everyone:F /T /C /Q
  • attrib +h +s <Drive_Letter>:$RECYCLE
  • taskkill.exe /f /im Microsoft.Exchange.*
  • taskkill.exe /f /im MSExchange*
  • taskkill.exe /f /im sqlserver.exe
  • taskkill.exe /f /im sqlwriter.exe
  • taskkill.exe /f /im mysqld.exe
  • cmd.exe /c start /b @WanaDecryptor@.exe vs
  • cmd.exe /c vssadmin delete shadows /all /quiet & wmic shadowcopy delete & bcdedit /set {デフォルト} bootstatuspolicy ignoreallfailures & bcdedit /set {デフォルト} recoveryenabled no & wbadmin delete catalog -q
  • -m セキュリティ
  • cmd /c <15桁>.bat
  • cscript.exe //nologo <1文字>.vbs

ネットワークベースの署名

DNS

  • www.iuqerfsodp9ifjaposdfjhgosurijfaewrwergwea.com (シンクホール)

接続

  • < random_ip >:445
  • <サブネット IP >:445

WannaCry 分析

起動

マルウェアは、InternetOpenUrl を使用して次のドメインへの接続を試みることから始まります。

  • www.iuqerfsodp9ifjaposdfjhgosurijfaewrwergwea.com

注: これが成功すると、マルウェアはすぐに終了します。観測されたキルスイッチ ドメインのリストについては、付録 A を参照してください。

ただし、接続が失敗した場合、マルウェアはプログラムに渡された引数の数をチェックします。ゼロの場合、マルウェアはインストールを続行します。それ以外の場合は、サービス モードに入ります。

注: ネットワーク プロキシやその他のエンタープライズ ネットワーク セキュリティ機能により、マルウェアがキルスイッチ ドメインに接続するのを防ぎ、誤って暗号化を開始する可能性があります。組織は、この問題を回避するために、プロキシ構成またはその他のネットワーク構成を調整することを希望する場合があります。

サービスモード

サービス モードでは、マルウェアは最初にサービス構成を更新し、サービスが SERVICE_STOPPED 状態に入らずに終了した場合に失敗アクションが発生するようにします。その後、マルウェアはサービス関数を実行し、サービス ハンドラを登録して、特定された SMB サービスに対して MS17-010 のエクスプロイトを試みます。これにより、リモートでコードが実行され、ネットワーク全体に広がることが可能になります。この実行はスレッドで実行され、サービスはスレッドのステータスに関係なく 24 時間後に終了します。

スプレッダーは、まず Windows ソケット API をセットアップし、RSA 暗号化コンテキストを生成します。この暗号コンテキストは、後で乱数を生成するために使用されます。その後、マルウェアはメモリ内に 2 つの DLL を構築します。これらは、同じ機能を持つ 32 ビットと 64 ビットの DLL です。それぞれに、W リソースをロードし、C:WINDOWSmssecsvc.exe に書き込み、実行するPlayGameという名前の単一のエクスポートが含まれています。それぞれの場合の W リソースには、実行中のバイナリ (MD5: db349b97c37d22f5ea1d1841e3c89eb4) のコピーが取り込まれています。

マルウェアは引き続き 2 つのスレッドを生成します。最初のスレッドはネットワーク アダプターを列挙し、システムがどのサブネット上にあるかを判断します。その後、マルウェアはサブネット上の各 IP に対してスレッドを生成します。これらの各スレッドは、ポート 445 で IP への接続を試み、成功すると、MS17-010 で説明されている脆弱性を介してサービスの悪用を試みます。リモート システムで MS17-010 を悪用しようとする試みの例を図 1 に示します。

WannaCry network traffic attempting SMB exploit
図 1: SMB エクスプロイトを試みる WannaCry ネットワーク トラフィック

このトラフィックの固有の機能の 1 つは、次の UNICODE 文字列を含む SMB ツリー接続 AndX 要求です。

  • 192.168.56.20IPC$

このパケットは手作業で作成され、マルウェアにハードコードされています。

2 番目のスレッドは、ランダムな IP を生成し、ポート 445 でそれらに接続しようとします。接続が成功すると、マルウェアはシステムで SMB 攻撃を実行しようとします。 2 番目のスレッド領域の 128 のインスタンスが作成され、各スレッドの作成は 2 秒間隔で行われました。

インストール

マルウェアは、引数「-m security」を使用して実行中のモジュールを指すバイナリ パスを持つmssecsvc2.0という名前のサービスを作成し続けます。作成されると、マルウェアはサービスを開始します。その後、マルウェアは自身の R リソースを見つけてメモリにロードします。次にマルウェアは、R リソース データをファイル C:WINDOWS tasksche.exeに書き込みます。このマルウェアは、CreateProcess API を使用して C:WINDOWStasksche.exe /i を実行します。その後、マルウェアは C:WINDOWS tasksche.exeを C:WINDOWS qeriuwjhrfに移動し、元のファイルが存在する場合はそれを置き換えようとします。

マルウェアは、コンピュータ名に基づいて一意の識別子を生成することから始めます。識別子 < sys_id > は、8 ~ 15 個のランダムな小文字とそれに続く 3 つの数字の形式です。次にマルウェアは、/i 引数が渡されたかどうかを確認します。

/i コマンドで実行

/i コマンドは、 < system_drive >ProgamData が存在する場合、実行中のバイナリを <system_drive >ProgamData< sys_id > tasksche.exeにコピーします。存在しない場合は、 < system_drive >Intel< sys_id > taskscheにコピーされます。実行します。 < system_drive > は、Windows がインストールされているドライブ文字です (C:Windows の場合は C:)。その後、マルウェアは現在のディレクトリを作成したディレクトリに更新します。

その後、マルウェアは < sys_id > という名前のサービスを開こうとします。存在しない場合、マルウェアは、< sys_id > の DisplayName と cmd /c < path_to_copied tasksche.exe > の BinaryPath を使用して作成します。その後、マルウェアはサービスを開始します。マルウェアはミューテックス GlobalMsWinZonesCacheCounterMutexA0 を開こうとします。ミューテックスが 60 秒以内に作成されない場合、マルウェアは新しいインストール ディレクトリから引数なしで再起動します。その後、マルウェアはミューテックスが作成されるまで 60 秒間待機します。いずれかのインスタンスでミューテックスが作成された場合、最初の実行可能ファイルは終了します。ミューテックスの作成に失敗すると、マルウェアは /i 引数なしで実行されたかのように続行します。

/i コマンドなしで実行

マルウェアは、%CD% を実行中のモジュールのパスに更新し、HKLMSoftwareWanaCrypt0rwd を %CD% に設定します。その後、マルウェアは XIA リソースをロードし、多数のファイル (表 3 を参照) を %CD% に解凍します。その後、マルウェアは %CD% c.wnry (構成データ) を開き、メモリにロードします。ファイルのサイズは 0x30C であると想定しています。次にマルウェアは、13AM4VW2dhxYgXeQepoHkHSQuy6NgaEb94、12t9YDPgwueZ9NyMgw519p7AA8isjr6SMw、および 115p7UMMngoj1pMvkpHijcRdfJNXj6LrLn の 3 つの文字列からランダムに選択します。構成ファイルのオフセット 0xB2 に書き込みます。更新された構成データを %CD% c.wnryに書き戻します。

次にマルウェアは、CreateProcess で次のコマンドを実行して、%CD% の隠し属性を設定します。

  • 属性 +h

その後、マルウェアは次のコマンドを実行し、すべてのユーザーに %CD% とそのすべてのサブディレクトリへのアクセス許可を付与します。

  • icacls。 /grant Everyone:F /T /C /Q

次に、マルウェアはハードコーディングされた RSA 秘密鍵をインポートします (図 2 参照)。

インポートされた秘密鍵
図 2: インポートされた秘密鍵

次にマルウェアが開き、%CD% t.wnryを読み取ります。ファイルの最初の 8 バイトがチェックされ、マジック値 WANACRY! と一致します。ファイルの構造は次のとおりです。

構造体

暗号化されたキーは、128 ビットの AES キー BEE19B98D2E5B12211CE211EECB13DE6 に復号化されます。その後、このキーを使用して enc_data を復号化できます。復号化されたデータは DLL (MD5: f351e1fcca0c4ea05fc44d15a17f8b36) として保存されます。次に、この DLL が手動でメモリにロードされ、 TaskStartエクスポートが呼び出されます。復号化された DLL の TaskStart エクスポートは、ランサムウェアの暗号化コンポーネントです。

XIA リソースの内容

表 2 に示すファイルは、XIA リソースから抽出されたものです。それらは、実行中のマルウェアの %CD% にドロップされます。

ファイル名

MD5 ハッシュ

説明

r.wnry

3e0020fc529b1c2a061016dd2469ba96

テキストの身代金メモ

s.wnry

ad4c9de7c8c40813f200ba1c2fa33083

Torファイルを含むzipファイル

t.wnry

5dcaac857e695a65f5c3ef1441a73a8f

暗号化された暗号化ツール

taskdl.exe

4fef5e34143e646dbf9907c4374276f5

*.WNCRYT ファイル削除ツール

taske.exe

8495400f199ac77853c53b5a3f278f3e

復号化ツールの起動に使用されるユーティリティ

うんざり

7bf2b57f2a205768755c07f238fb32cc

復号化ツール

b.wnry

c17170262312f3be7027bc2ca825bf0c

身代金イメージ (BMP)

c.wnry

ae08f79a0d800b82fcbe1b43cdbdbefc

設定データ

表 2: XIA 抽出リソース

表 3 は、さまざまな言語で書かれた身代金メモを含む RTF ドキュメントを示しています。

ファイル名

MD5 ハッシュ

m_bulgarian.wnry

95673b0f968c0f55b32204361940d184

m_chinese (簡体字).wnry

0252d45ca21c8e43c9742285c48e91ad

m_中国語 (繁体字).wnry

2efc3690d67cd073a9406a25005f7cea

m_croatian.wnry

17194003fa70ce477326ce2f6deeb270

m_czech.wnry

537efeecdfa94cc421e58fd82a58ba9e

m_danish.wnry

2c5a3b81d5c4715b7bea01033367fcb5

m_dutch.wnry

7a8d499407c6a647c03c4471a67eaad7

m_english.wnry

fe68c2dc0d2419b38f44d83f2fcf232e

m_filipino.wnry

08b9e69b57e4c9b966664f8e1c27ab09

m_finnish.wnry

35c2f97eea8819b1caebd23fee732d8f

m_french.wnry

4e57113a6bf6b88fdd32782a4a381274

m_german.wnry

3d59bbb5553fe03a89f817819540f469

m_greek.wnry

fb4e8718fea95bb7479727fde80cb424

m_indonesian.wnry

3788f91c694dfc48e12417ce93356b0f

m_italian.wnry

30a200f78498990095b36f574b6e8690

m_japanese.wnry

b77e1221f7ecd0b5d696cb66cda1609e

m_korean.wnry

6735cb43fe44832b061eeb3f5956b099

m_latvian.wnry

c33afb4ecc04ee1bcc6975bea49abe40

m_norwegian.wnry

ff70cc7c00951084175d12128ce02399

m_polish.wnry

e79d7f2833a9c2e2553c7fe04a1b63f4

m_portuguese.wnry

fa948f7d8dfb21ceddd6794f2d56b44f

m_romanian.wnry

313e0ececd24f4fa1504118a11bc7986

m_russian.wnry

452615db2336d60af7e2057481e4cab5

m_slovak.wnry

c911aba4ab1da6c28cf86338ab2ab6cc

m_spanish.wnry

8d61648d34cba8ae9d1e2a219019add1

m_swedish.wnry

c7a19984eb9f37198652eaf2fd1ee25c

m_turkish.wnry

531ba6b1a5460fc9446946f91cc8c94b

m_vietnamese.wnry

8419be28a0dcec3f55823620922b00fa

表 3: さまざまな言語での身代金メモ

暗号化コンポーネント

TaskStartエクスポートは 2 つの引数を取ります。モジュールへのハンドルとゼロでなければならない整数。 TaskStartは最初に “MsWinZonesCacheCounterMutexA” という名前のミューテックスを作成し、現在のディレクトリからc.wnryの内容を読み取ります。ミューテックスが存在するか、 c.wnryが存在しない場合、マルウェアは終了します。マルウェアは、「GlobalMsWinZonesCacheCounterMutexA0」という名前の別のミューテックスを作成します。

次にマルウェアは、ファイル00000000.dkyからキーを読み込んで検証します。次にマルウェアは、キー00000000.pkyの読み込みを試みます。キーが存在しない場合、マルウェアは公開 RSA キー (図 3 を参照) をインポートし、新しい 2048 ビット RSA キーを生成して、公開キーを00000000.pkyに保存します。次にマルウェアは、生成された秘密鍵を00000000.ekyに保存し、埋め込まれた公開鍵で暗号化します。

公開 RSA キー
図 3: 公開 RSA キー

00000000.ekyは、リトル エンディアン (0x500) のバイト数で始まり、その後に暗号化されたキーが続きます。

マルウェアは、25 秒ごとに00000000.resに 136 バイトを書き込むスレッドを起動します。書き込まれるバッファには、システムの現在の時刻が含まれます。マルウェアの初期化中にファイル00000000.resが存在しない場合、ファイルが作成されます。初期内容は、ランダムに生成された 8 バイトで始まり、その後に 128 のゼロ バイトが続きます。

マルウェアは、25 秒ごとに00000000.dkyおよび00000000.pkyに含まれるキーを使用して暗号化および復号化できることを確認する別のスレッドを起動します。復号化が成功すると、マルウェアは暗号化プロセスを停止するグローバル フラグを設定します。

マルウェアは、システムに接続された新しいドライブを 3 秒ごとにスキャンする別のスレッドを起動します。新しいドライブがシステムに接続され、CDROM ドライブのタイプとして識別されない場合、マルウェアは新しいドライブで暗号化プロセスを開始します。システムに接続された新しいドライブで、マルウェアはディレクトリ < Drive_letter >:$RECYCLE を作成し、次のコマンドを実行する可能性があります。

  • attrib +h +s < Drive_Letter >:$RECYCLE

マルウェアは、プロセスtaskdl.exeを 30 秒ごとに実行するスレッドを作成します。

次の 2 つのバイナリのいずれかを実行する別のスレッドを作成します (管理者のアクセス許可と、マルウェアがシステム レベルで実行されているかどうかによって異なります)。

  • @WanaDecryptor@.exe
  • taskse.exe < Full_Path >@WanaDecryptor@.exe

次に、「a」から「z」までの 8 ~ 15 文字で始まり、その後に「0」から「9」までの 3 つのランダムな値が続くレジストリ キー名がマルウェアによって生成されます。次に、生成されたキー名で次のレジストリ パスを作成する可能性があります。

  • HKCUSOFTWAREMicrosoftWindowsCurrentVersionRun<キー>
  • HKLMSOFTWAREMicrosoftWindowsCurrentVersionRun<キー>

レジストリ キーを作成するために、マルウェアは次のコマンドを実行します。

  • cmd.exe /c reg add < Registry_Ru_Path > /v “< Random >” /t REG_SZ /d “”< Full_Path >tasksche.exe”” /f
ユーザーファイルの暗号化

マルウェアは、図 4 に示す別の埋め込み RSA 公開鍵を読み込みます。

追加の組み込み RSA 公開鍵
図 4: 追加の埋め込み RSA 公開鍵

マルウェアは、ファイル@WanaDecryptor@.exeを引数「fi」で実行します。これはサーバーへの最初のチェックインのようであり、応答には更新されたビットコイン アドレスが含まれている可能性があります。マルウェアは、オフセット 0x60 の現在時刻でc.wnryを更新します。

次にマルウェアは、 u.wrny@WanaDecryptor@.exeにコピーし、図 5 に示すスクリプトを実行して@WanaDecryptor@.exe.lnkを作成します。スクリプトは、現在の時刻と「0」から「9」までの文字を使用したランダムな値に基づいて、ランダムに生成されたファイル名に保存されます。ファイル名の例: 「188391494652743.bat」。

ファイルを移動および削除するための WannaCry 内部スクリプト
図 5: ファイルを移動および削除するための WannaCry 内部スクリプト

次にマルウェアは、設定に応じて「$< Value >worth of bitcoin」または「%.< Value > BTC」のいずれかを書き込みます。その後に、ファイルr.wnryの内容を@Please_Read_Me@.txtに書き込みます。これは次のようになります。

Q: ファイルの何が問題になっていますか?

A: おっと、重要なファイルは暗号化されています。つまり、暗号化が解除されるまでアクセスできなくなります。
私たちの指示に従えば、すべてのファイルを迅速かつ安全に復号化できることを保証します!
復号化を始めましょう!

Q: どうすればいいですか?

A: まず、復号化のサービス料金を支払う必要があります。
<身代金の金額> を次のビットコイン アドレスに送信してください: < Bitcoin_address >

次に、「@WanaDecryptor@.exe」という名前のアプリケーション ファイルを探します。復号化ソフトです。
走って指示に従ってください! (しばらくウイルス対策を無効にする必要があるかもしれません。)

Q: どうすれば信頼できますか?

A: 復号化について心配する必要はありません。
ユーザーをだますと誰も私たちを信用しないので、ファイルを確実に復号化します。

* サポートが必要な場合は、デクリプタ ウィンドウの <お問い合わせ> をクリックしてメッセージを送信してください。

ユーザーに表示される暗号化の警告
図 6: ユーザーに表示される暗号化の警告

その後、マルウェアは、ユーザーのデスクトップとドキュメント フォルダーにあるファイルを標的にします。マルウェアがディレクトリのスキャンを開始すると、「~SD」というプレフィックスが付いた一時ファイルが作成され、成功すると削除されます。

暗号化するファイルを選択する際、マルウェアは拡張子が .exe、.dll、および .wncry のファイルをスキップします。図 7 に示す拡張子を持つファイルが暗号化対象として選択されます。 209,715,200 バイトを超えるファイルも暗号化される場合があります。

暗号化対象ファイル
図 7: 暗号化の対象となるファイル

マルウェアは、次の名前のフォルダーを無視する可能性があります。

  • $
  • インテル
  • プログラムデータ
  • ウィンドウズ
  • プログラムファイル
  • プログラム ファイル (x86)
  • AppDataLocalTemp
  • ローカル設定温度
  • インターネット一時ファイル
  • Content.IE5

また、マルウェアはフォルダ名を次の文字列と比較し、識別された場合は暗号化を回避します。

  • 「このフォルダはランサムウェアから保護します。変更すると保護が低下します」

注: 文字列には先頭の空白が含まれています。この特定のチェックは、テスト/開発目的で含まれている可能性があります。

ディレクトリに暗号化されるファイルが含まれている場合、マルウェアは@Please_Read_Me@.txt@WanaDecryptor@.exeをディレクトリにコピーします。最初の 8 バイトに文字列WANACRY!が含まれていないことを確認します。ヘッダーに対して追加のチェックを実行して、ファイルがまだ暗号化されていないことを確認します。

ファイルは、NULL 初期化ベクトルを使用して CBC モードでランダムに生成された 128 ビット AES キーで暗号化されます。キーはファイルごとに生成され、生成された RSA 公開キーで暗号化され、暗号化されたファイル ヘッダーに含まれます。マルウェアによって暗号化された各ファイルは、文字列WANACRY!で始まります。およびWNCRY拡張子を持っています。ファイルのプロパティによっては、マルウェアがファイルをWNCRYT拡張子でステージングすることもあります。

表 4 は、暗号化されたファイルのファイル形式を示しています。

オフセット

価値

0x0000

ワナクリ!

0x0008

RSA 暗号化データの長さ

0x000C

RSA 暗号化された AES ファイル暗号鍵

0x010C

WannaCry 内部のファイル タイプ

0x0110

元のファイルサイズ

0x0118

暗号化されたファイルの内容 (AES-128 CBC)

表 4: 暗号化されたファイル形式

AES キーを RSA で暗号化する場合、マルウェアは、埋め込まれた RSA キーまたはランダムに生成されたキーを使用する可能性があります。初期化時にファイルf.wnryが存在しない場合、ファイル サイズが 209,715,200 バイト未満であれば、マルウェアは乱数を生成します。数値が 100 の倍数の場合、マルウェアは埋め込まれた RSA キーを使用して AES キーを暗号化します。このキーで最大 10 個のファイルを暗号化できます。 AES キーがこの RSA キーで暗号化されると、マルウェアはファイル パスをファイルf.wnryに書き込みます。乱数が 100 の倍数でない場合、またはファイルf.wnryがシステムに既に存在する場合、マルウェアはランダムに生成された RSA キーを使用して AES キーを暗号化します。

マルウェアがデスクトップ フォルダーとドキュメント フォルダーの暗号化を完了すると、次のコマンドを実行します。

  • taskkill.exe /f /im Microsoft.Exchange.*
  • taskkill.exe /f /im MSExchange*
  • taskkill.exe /f /im sqlserver.exe
  • taskkill.exe /f /im sqlwriter.exe
  • taskkill.exe /f /im mysqld.exe

次にマルウェアは、システムに接続された論理ドライブ上にある、タイプが DRIVE_CDROM ではないファイルを暗号化します。

マルウェアは次のコマンドを実行する可能性があります。

  • @WanaDecryptor@.exe co

マルウェアは次のコマンドを実行します。

  • cmd.exe /c start /b @WanaDecryptor@.exe vs

マルウェアは、 b.wnry@WanaDecryptor@.bmpにコピーし、それを各ユーザーのデスクトップ フォルダーと@WanaDecryptor@.exeのコピーに配置します。

復号化コンポーネント

このマルウェアは、ローカル ホストの TCP ポート 9050 で実行されている Tor サーバーを使用して、Onion サーバーと通信します。このマルウェアは、システムを Onion サーバーに登録し、暗号化キーを転送し、ボリューム シャドウを削除します。身代金が支払われると、マルウェアは復号化された RSA 秘密鍵を Onion サーバーから取得し、身代金を要求されたファイルを復号化します。

まず、レジストリ パス HKLMSoftwareWanaCrypt0rwd の内容を読み取ろうとします。これが失敗すると、マルウェアは HKCU レジストリ ハイブ内の同様のレジストリ パスからコンテンツを読み取ろうとします。レジストリ パスのいずれかが存在する場合、マルウェアは現在のディレクトリをレジストリから読み取った値に設定します。

マルウェアは、現在のディレクトリからc.wnryを開こうとし、存在する場合は 780 バイトを読み取ります。ファイルが存在しない場合は、図 8 に示す内容のファイルが作成されます。

c.wnry の内容
図 8: c.wnry の内容

c.wnry のオフセット 0x6c ( 0x59140342 ) の値は、ファイルが作成されたタイムスタンプです。残りの値は、バイナリ内にハードコーディングされています。

受け入れられるコマンド

復号化コンポーネントは、表 5 に示すコマンド ライン引数を受け入れます。

口論

説明

フィ

ホスト名、ユーザー名、および 00000000.res からの 8 バイトを含むシステムからの詳細を送信する Onion サーバーに接続します。応答には、 c.wnryで更新されたビットコイン アドレスが含まれる場合があります。

共同

ランサム インターフェースを表示せずに、ランサム サーバーに最初にチェックインしているように見えます。

vssadmin ユーティリティを使用してボリューム シャドウ コピーを削除します。

表 5: 受け入れられるコマンド

be 引数

マルウェアは、現在のパスにあるファイル「00000000.res」から 136 バイトを読み取ります。ファイルが存在しない場合、マルウェアは終了します。マルウェアは、オフセット 0x242 と0x1DEで c.wnry から 2 つの URL を読み取ります。

c.wnry のオフセット 0x1DE にある最初の URL は次のとおりです。

  • https://dist.torproject.org/torbrowser/6.5.1/tor-win32-0.2.9.10.zip

オフセット 0x242 の代替 URL は構成されていません。

その後、マルウェアは TCP ソケットをローカルホスト (127.0.0.1) にバインドし、ローカルホストのポート 9050 に接続します。

次にマルウェアは、「TaskDataTor taskhsvc.exe 」というパスが存在するかどうかを確認します。ファイルが存在しない場合は、アーカイブs.wnryから抽出されます。 s.wnryが存在しない場合、マルウェアは構成の最初の URL をダウンロードします。これが失敗すると、2 番目の URL を試みます。

URL からダウンロードする場合、ダウンロードされたファイルはまず、GetTempFileNameA で生成されたファイル名に “t” プレフィックスを付けて TaskData フォルダー内に保存されます。ダウンロードしたファイルは、「TaskData」フォルダーに解凍された Zip アーカイブです。

抽出されると、マルウェアは「TaskDataTor tor.exe 」を「TaskDataTor taskhsvc.exe 」にコピーして実行します。

マルウェアは、Onion サーバーが接続する構成ファイルc.wnryのオフセット 0xE4 で取得した文字列を解析します。構成ファイルにリストされている Onion サーバーは次のとおりです。

  • gx7ekbenv2riucmf.onion
  • 57g7spgrzlojinas.onion
  • xxlvbrloxvriy2c5.onion
  • 76jdd2ir2embyv47.onion
  • cwwnhwhlz52maqm7.onion

マルウェアは、ファイル00000000.resの最初の 8 バイト、ホスト名、ユーザー名、文字列「+++」を Onion サーバーに送信します。コマンド アンド コントロール プロトコルはカスタムで、ランダムに生成されたバッファで XOR エンコードされているようです。

文字列の長さが 30 ~ 50 文字の場合、サーバーからの応答がc.wnryに追加されます。以下は、サーバーに送信されるメッセージの例です。

  • < 00000000.res から 8 バイト><ホスト名>x00<不明なバイト><ユーザー名>x00+++

co引数

この引数により、マルウェアは < 8_Uppercase_Hex >.res という形式のファイル名をスキャンします。マルウェアが探している可能性が高いファイルは、暗号化 DLL によって作成された00000000.resです。次にマルウェアは、「.res」ファイルから次の形式で取得した 4 つの値 (表 6) を含む C2 メッセージを生成します。

  • — < Time0 > < Time1 > < Unknown_int0 > < Unknown_long > <インデックス>

注: 前述の例では、値はタブ文字で区切られています。

価値

説明

コマンドを識別することを目的としたハードコーディングされた文字列

時間0

オフセット 0x60 から取得した時間値

時間1

オフセット 0x78 から取得した時間値

不明な int0

オフセット 0x7C から取得した整数

不明な長い

オフセット 0x80 から取得した 64 ビット整数

索引

< 8_Uppercase_Hex >.res 形式のファイルをスキャンするときの現在のファイルの数

表 6: C2 メッセージの値

図 9 にメッセージの例を示します。

サンプル C2 メッセージ
図 9: C2 メッセージの例

メッセージの送信後、マルウェアは終了します。

対引数

マルウェアは 10 秒間スリープし、CreateProcess または RunAs (グループ メンバーシップに応じて) を使用して次のコマンドを実行します。

  • cmd.exe /c vssadmin delete shadows /all /quiet & wmic shadowcopy delete & bcdedit /set {デフォルト} bootstatuspolicy ignoreallfailures & bcdedit /set {デフォルト} recoveryenabled no & wbadmin delete catalog -q

引数なし

マルウェアは、現在のディレクトリから @ WanaDecryptor @.bmpというファイル名で b.wnry をデスクトップにコピーします。次に、デスクトップの壁紙がビットマップのパスに設定され、図 6 に示すダイアログが表示されます。

ユーザーが「お問い合わせ」リンクをクリックすると、マルウェアは次の形式を使用して Onion サーバーにメッセージを送信します。

  • < 00000000.res から 8 バイト><ホスト名>x00<不明バイト><ユーザー名>x00***<タブ><メッセージ内容>

サーバーからの応答に応じて、マルウェアは次のいずれかの値を含むメッセージ ボックスを表示する場合があります。

  1. メッセージは正常に送信されました。
  2. メッセージを送信できませんでした。
    コンピュータがインターネットに接続されていることを確認してください。
    インターネット サービス プロバイダー (ISP) が TOR ネットワークへの接続をブロックしていません。
  3. メールの送信数が多すぎます。 <整数値> 分後にもう一度お試しください。

ユーザーが「Check Payment」をクリックしたとき。マルウェアは、最初にファイル00000000.dkyがシステムに存在するかどうかを確認します。ファイルが存在する場合は、 00000000.pkyから取得したキーでファイルを暗号化し、 00000000.dkyから取得したキーでファイルを復号化して、キーの検証を試みます。

ファイルが存在しない場合、マルウェアは00000000.ekyの内容を Onion サーバーに送信します。サーバーからの応答は00000000.dkyに保存されます。キーを検証できない場合、マルウェアは次の内容のメッセージ ボックスを表示します。

あなたが支払っていないか、私たちがあなたの支払いを確認していません!
支払っていない場合は今すぐ支払い、2 時間後にもう一度確認してください。
確認するのに最適な時間: 月曜日から金曜日の午前 9:00 ~ 午前 11:00 (グリニッジ標準時)。

身代金を支払わずに復号化ボタンをクリックすると、マルウェアはf.wnryにリストされているファイルを復号化します。 f.wnryにリストされているファイルは、埋め込まれた公開鍵で暗号化するためにランダムに選択されたファイルです。このプロセスは、上記の暗号化コンポーネントのセクションで説明されています。

ユニークな文字列

mssecsvc.exe

(MD5: db349b97c37d22f5ea1d1841e3c89eb4)

  • SMBr
  • PC ネットワーク プログラム 1.0
  • ランド1.0
  • Windows for Workgroups 3.1a
  • LM1.2X002
  • ランド 2.1
  • NTLM 0.12
  • SMB
  • Windows 2000 2195
  • Windows 2000 5.0
  • SMB
  • __USERID__PLACEHOLDER__@
  • 172.16.99.5IPC$
  • __TREEID__PLACEHOLDER__
  • __USERID__PLACEHOLDER__@
  • SMB3
  • __TREEID__PLACEHOLDER__
  • __USERID__PLACEHOLDER__@
  • t
  • h6agLCqPqVyXi2VSQ8O6Yb9ijBX54jY6KM+sz33NmS6TK8XlOk920s0E0aajOV++wrR92ds1FOLBO+evLPj4sIvAjLvaLdgk8+BlNZs8PMa9bQ33+0hNXMjbyjXwB40Q4KiDbip/d7N0CmRT1gLy+n2Rp/EYO5Fkapa4Y4kqDhPvLuOfGUvjN4BNdBk23r0/8cbGhUqHrML0az1LCeE3BqKLCL3gP10fExyMnFGtbq3rBd+5eKxSXYVD4fBKtFYI47YYbjYxxF76O9LNZEpPP9SiCEo9qRYLDcYzGu81JRU7/PJA1t1skDj8abBEOqAOXimo54/eZzGmLJ92xLwDIl8rHuZsUywgeZH/tSPXYQi0Pswy57TYZ/0/P7qyy18UVuiwGaf989u6seK2ER1R+aoJtvES8V0Zsx6slbdWrGxe4P62uwFxXStC/+qpCauvw/qpZvZo9wb458ezftwsbuOUYNlMWgBno/C5cT5tZZvDw9cBmHGcaVuvs+JAbsWoEsUaZd3R3Mn/1c1xYAumA/0VVaASNuohaU+8CmGSpny9/ 6ngCdejX4X//JERJeLSP1f2AtrbAR8jSk5UgNllJcWnf+EM/Girl
  • h5DH0RqsyNfEbXNTxRzla1zNfWz0bB4fqzrdNNfNXvtTv9FWqyXCEHLhOz9p7JXzJBBUd0OR9rg8DFXIyNXMHCfeX5v/YjDkYmaBrFWuOKpwLyotORDEi1GMahE7btGFTN2IMgml2b9wZvqSuc7aAciGNkl7+NgmkG9r323QqSJrjCgp+DJ9URAkHRp/sBsr1o2YKlVmsY6mPAOnlmaEwFLrPTm5WIYnd0yOc3abTlt6R1RfwenXgqn5K1K6Uq5o7T+KblzWV1TXo0zTIBD/CwnKbkITPd7GkK+fG//5Oj2ESIrNTwBRdIGzDYcK1VTlSYl0RMsMMZvWqZAhNBs9xfpyBgzAn+5NpIUwKnm6HS2UbNab6SQIQF53r0+Rx8w7xZkOEayDuGvPQ32Y7zfHtj911mdZeLmlXULTazhCdl+lYNd6aoUthPLUew6ng+vSLSxqF1N7+/bFkcWd5vuCPigEKxEg+X3d+JviOJaI9GJ2HWIT8ehFzv6JP7ymkH0XaHYKLPxR8Htcc2E35+8q074yiBdThfaOMI18K65supem5lEgTe2lQdQurhhNhgbmYPpmWsSerB8R4CiDHQg6B1xxN9lpUnCWCn37Ib9vdQ2V90almoOJi/+5PD+F/rT0hmgD1lUoqZ9KfEAB/D3JVZFHKCPtFO1LWNuXu9DHS0cChPvbPTNgL1fuz3hWniAOjJxyXhilxEmUKoCuaHrjL7/mCwA8mUTF8nZfDOYFw/Rqr70SWFUVy18
  • SMB3
  • __TREEID__PLACEHOLDER__
  • __USERID__PLACEHOLDER__@
  • ユーザーID
  • __TREEPATH_REPLACE__
  • %sIPC$
  • Microsoft 基本暗号化プロバイダー v1.0
  • %d.%d.%d.%d
  • mssecsvc2.0
  • Microsoft セキュリティ センター (2.0) サービス
  • %s -m セキュリティ
  • C:%sqeriuwjhrf
  • C:%s%s
  • ウィンドウズ
  • タスクシェ.exe
  • ハンドルを閉じる
  • 書き込みファイル
  • CreateFileA
  • CreateProcessA
  • 32.dll
  • http://www.iuqerfsodp9ifjaposdfjhgosurijfaewrwergwea.com
タスクシェ.exe

(MD5: 84c82835a5d21bbcf75a61706d8ab549)

  • .der .pfx .key .crt .csr .p12 .pem .odt .ott .sxw .stw .uot .3ds .max .3dm .ods .ots .sxc .stc .dif .slk .wb2 .odp .otp .sxd .std .uop .odg .otg .sxm .mml .lay .lay6 .asc .sqlite3 .sqlitedb .sql .accdb .mdb .db .dbf .odb .frm .myd .myi .ibd .mdf .ldf .sln .suo .cs .c .cpp .pas .h .asm .js .cmd .bat .ps1 .vbs .vb .pl .dip .dch .sch .brd .jsp .php .asp .rb .java .jar .class .sh .mp3 .wav .swf .fla .wmv .mpg .vob .mpeg .asf .avi .mov .mp4 .3gp .mkv .3g2 .flv .wma .mid .m3u .m4u .djvu .svg .ai .psd .nef .tiff .tif .cgm .raw .gif .png .bmp .jpg .jpeg .vcd .iso .backup .zip .rar .7z .gz .tgz .tar .bak .tbk .bz2 .PAQ .ARC .aes .gpg .vmx .vmdk .vdi .sldm .sldx .sti .sxi .602 .hwp .snt .onetoc2 .dwg .pdf .wk1 .wks .123 .rtf .csv .txt .vsdx .vsd .edb .eml .msg .ost .pst .potm .potx .ppam .ppsx .ppsm .pps .pot .pptm .pptx .ppt .xltm .xltx .xlc .xlm .xlt .xlw .xlsb .xlsm .xlsx .xls .dotx .dotm .dot .docm .docb .docx .doc
  • ワナクリ!
  • %s%s
  • %sインテル
  • %sProgramData
  • cmd.exe /c “%s”
  • 115p7UMMngoj1pMvkpHijcRdfJNXj6LrLn
  • 12t9YDPgwueZ9NyMgw519p7AA8isjr6SMw
  • 13AM4VW2dhxYgXeQepoHkHSQuy6NgaEb94
  • %SD
  • GlobalMsWinZonesCacheCounterMutexA
  • タスクシェ.exe
  • タスク開始
  • t.wnry
  • icacls。 /grant Everyone:F /T /C /Q
  • 属性 + h .
  • WNcry@2ol7
暗号化者

(MD5: f351e1fcca0c4ea05fc44d15a17f8b36)

  • kgptbeilcq
  • タスク開始
  • c.wnry
  • %s
  • から / まで %%0
  • %d%d.bat
  • ConvertSidToStringSidW
  • advapi32.dll
  • システム
  • S-1-5-18
  • みんな
  • %s%d%s
  • .WNCRYT
  • ワナクリ!
  • .WNCRY
  • .UNCYR
  • @WanaDecryptor@.bmp
  • @WanaDecryptor@.exe.lnk
  • @Please_Read_Me@.txt
  • %s%s
  • ..
  • %s*
  • .dll
  • 。EXE
  • ~SD
  • @WanaDecryptor@.exe
  • Content.IE5
  • インターネット一時ファイル
  • このフォルダーは、ランサムウェアから保護します。変更すると保護が低下します
  • ローカル設定温度
  • AppDataLocalTemp
  • プログラム ファイル (x86)
  • プログラムファイル
  • ウィンドウズ
  • プログラムデータ
  • インテル
  • $
  • テストデータ
  • %08X.dky
  • GlobalMsWinZonesCacheCounterMutexA
  • GlobalMsWinZonesCacheCounterMutexW
  • cmd.exe /c reg add %s /v “%s” /t REG_SZ /d “”%s”” /f
  • HKCUSOFTWAREMicrosoftWindowsCurrentVersionRun
  • %s %s
  • taske.exe
  • @WanaDecryptor@.exe
  • タスクシェ.exe
  • %s%s%s
  • %s*.*
  • @WanaDecryptor@.exe.lnk
  • @エコーオフ
  • echo SET ow = WScript.CreateObject(“WScript.Shell”)> m.vbs
  • echo SET om = ow.CreateShortcut(“%s%s”)>> m.vbs
  • echo om.TargetPath = “%s%s”>> m.vbs
  • echo om.Save>> m.vbs
  • cscript.exe //nologo m.vbs
  • デル m.vbs
  • うんざり
  • %.1f BTC
  • $%d 相当のビットコイン
  • wb
  • r.wnry
  • b.wnry
  • 属性 +h +s %C:%s
  • $リサイクル
  • %C:%s
  • $リサイクル
  • %shibsys%s
  • taskdl.exe
  • f.wnry
  • cmd.exe /c start /b %s vs
  • %s コ
  • taskkill.exe /f /im mysqld.exe
  • taskkill.exe /f /im sqlwriter.exe
  • taskkill.exe /f /im sqlserver.exe
  • taskkill.exe /f /im MSExchange*
  • taskkill.exe /f /im Microsoft.Exchange.*
  • %s ファイル
  • %08X.ok
  • %08X.pky
  • %08X.res
デクリプター

(MD5: 7bf2b57f2a205768755c07f238fb32cc)

  • サーバーにつなげる…
  • s.wnry
  • %08X.ok
  • %08X.res
  • 00000000.res
  • %08X.dky
  • %08X.pky
  • 接続済み
  • リクエストを送信しました
  • 成功した
  • 返信あり
  • おめでとう!お支払いが確認されました。
  • 今すぐ解読を始めましょう!
  • お支払いを確認できませんでした。
  • コンピュータがインターネットに接続されていることを確認してください。
  • インターネット サービス プロバイダー (ISP) が TOR ネットワークへの接続をブロックしていません。
  • あなたが支払っていないか、私たちがあなたの支払いを確認していません!
  • 支払っていない場合は今すぐ支払い、2 時間後にもう一度確認してください。
  • 確認するのに最適な時間: 月曜日から金曜日の午前 9:00 ~ 午前 11:00 (グリニッジ標準時)。
  • 新しいメッセージがあります:
  • c.wnry
  • スピーチ
  • WanaCrypt0r
  • ソフトウェア
  • %04d-%02d-%02d %02d:%02d:%02d
  • ワナクリ!
  • .org
  • .UNCYR
  • .WNCRY
  • @WanaDecryptor@.bmp
  • @WanaDecryptor@.exe.lnk
  • @Please_Read_Me@.txt
  • %s%s
  • ..
  • %s*
  • Content.IE5
  • インターネット一時ファイル
  • このフォルダーは、ランサムウェアから保護します。変更すると保護が低下します
  • ローカル設定温度
  • ppDataLocalTemp
  • プログラム ファイル (x86)
  • プログラムファイル
  • ウィンドウズ
  • プログラムデータ
  • インテル
  • 復号化するホストを選択してください。
  • すべてのファイルが復号化されました!
  • すべてのファイルを解読したい場合は、今すぐお支払いください!
  • f.wnry
  • 私のコンピューター
  • *.res
  • 開いた
  • Eメール:
  • ワナ Decrypt0r 2.0
  • %s %s
  • cmd.exe
  • /c vssadmin delete shadows /all /quiet & wmic shadowcopy delete & bcdedit /set {デフォルト} bootstatuspolicy ignoreallfailures & bcdedit /set {デフォルト} recoveryenabled no & wbadmin delete catalog -quiet
  • 13AM4VW2dhxYgXeQepoHkHSQuy6NgaEb94
  • 英語
  • m_%s.wnry
  • メッセージ
  • <https://
  • <http://
  • %d/%d/%d %02d:%02d:%02d
  • 00;00;00;00
  • http://www.btcfrog.com/qr/bitcoinPNG.php?address=%s
  • メールアドレス:%s
  • https://www.google.com/search?q=how+to+buy+bitcoin
  • https://en.wikipedia.org/wiki/ビットコイン
  • %.1f BTC を次のアドレスに送信:
  • %.1f BTC
  • $%d 相当のビットコインを次のアドレスに送信:
  • %02d;%02d;%02d;%02d
  • b.wnry
  • — %s %s %d %I64d %d
  • メッセージを送信できませんでした。
  • コンピュータがインターネットに接続されていることを確認してください。
  • インターネット サービス プロバイダー (ISP) が TOR ネットワークへの接続をブロックしていません。
  • メッセージは正常に送信されました。
  • メールの送信数が多すぎます。 %d 分後に再試行してください。
  • 短すぎるメッセージ!
  • %d%%
  • %s%s
  • tor.exe
  • %s%s%s
  • タスクデータ
  • taskhsvc.exe
  • 127.0.0.1

付録 A

観測されたキルスイッチ ドメイン

次の表には、観察された killswitch ドメインとそれに関連するサンプル ハッシュが含まれています。

ドメイン

関連サンプル MD5 ハッシュ

iuqssfsodp9ifjaposdfjhgosurijfaewrwergwea.com

c2559b51cfd37bdbd5fdb978061c6c16

ayylmaotjhsstasdfasdfasdfasdfasdfasdfasdf.com (このドメインは WannaCry に関連するドメインの形式と一致しますが、特定のサンプルにまだ明確にリンクされていません。組織は、このドメインが WannaCry の活動に関連している場合に備えて、このドメインの認識を維持したいと考えています。)

a44964a7be94072cdfe085bc43e7dc95

ifferfsodp9ifjaposdfjhgosurijfaewrwergwea.com

80ce983d22c6213f35867053bec1c293

iuqerfsodp9ifjaposdfjhgosurijfaewrwergwea.com

db349b97c37d22f5ea1d1841e3c89eb4

iuqerfsodp9ifjaposdfjhgosurijfaewrwergwea.test

96dff36b5275c67e35097d77a120d0d4

付録 B

子供のルール

FireEye は、WannaCry 検出用に次の Yara ルールを開発しました。

ルールFE_RANSOMWARE_WANNACRY {
メタ:バージョン=”.4″
filetype=”PE”
author=”Ian.Ahl@fireeye.com @TekDefense”
日付=”2017-05-12″
description=”ほとんどの WannaCry 亜種の一般的な検出”
文字列:
// ビットコイン URL
$bcURL1 = “http://www.btcfrog.com/qr/bitcoinPNG.php?address=%” ascii wide nocase
$bcURL2 = “https://www.google.com/search?q=how+to+buy+bitcoin” ascii wide nocase

//身代金メッセージ
$msg1 = “おめでとうございます! お支払いの確認に成功しました!”アスキーワイド
$msg2 = “今すぐ復号化を開始してください!”アスキーワイド
$msg3 = “すべてのファイルが復号化されました!”アスキーワイド
$msg4 = “すべてのファイルを復号化したい場合は、今すぐお支払いください!”アスキーワイド
$msg5 = “$%d 相当のビットコインをこのアドレスに送信:” ascii wide
$msg6 = “おっと、あなたのファイルは暗号化されました!”アスキーワイド

// ワナ文字列
$wanna1 = “Wanna Decryptor 1.0” ascii wide
$wanna2 = “Wana Decrypt0r” ascii ワイド
$wanna3 = “Wana Decryptor” ascii wide
$wanna4 = “WANNACRY” ascii wide nocase
$wanna5 = “WanaCrypt0r” ascii ワイド nocase
$wanna6 = “ワナクリ!”アスキーワイド
$wanna7 = “WNcry@2ol7” ASCII ワイド
$wanna8 = “wcry@123”
$wanna9 = “wcry@2016”

// ファイル参照
$fileA1 = “!WannaCryptor!.bmp” ascii wide
$fileA2 = “!WannaDecryptor!.exe.lnk” ascii ワイド
$fileA3 = “!Please Read Me!.txt” ascii wide

$fileB1 = “@WanaDecryptor@.bmp” ascii ワイド
$fileB2 = “@WanaDecryptor@.exe.lnk” ascii ワイド
$fileB3 = “@Please_Read_Me@.txt” ASCII ワイド

// CMDS
$cmd1 = “cmd.exe /c start /b vssadmin.exe Delete Shadows /All /Quiet” ascii wide nocase
$cmd2 = “wmic shadowcopy 削除” ascii ワイド
$cmd3 = “bcdedit /set {default} bootstatuspolicy ignoreallfailures” ascii wide
$cmd4 = “bcdedit /set {default} recoveryenabled no” ascii wide
$cmd5 = “wbadmin delete catalog -quiet” ascii wide
$cmd6 = “icacls . /grant Everyone:F /T /C /Q” ascii wide

//その他
$misc1 = “StartTask” ワイド アスキー
$misc2 = “b.wry” ワイド ascii
$misc3 = “c.wry” ワイド アスキー
$misc4 = “m.wry” ワイド アスキー
$misc5 = “inflate 1.1.3 Copyright 1995-1998 Mark Adler” wide ascii
$misc6 = “?AVtype_info@@” ワイド アスキー

調子:
(
(
(uint16(0) == 0x5A4D)
)

(
($fileA*) のすべて
また
($fileB*) のすべて
また
(($msg*) の 4 つと ($bcURL*) の 2 つ)
また
($wanna*) の 2
また
(($msg*) の 2 つと ($cmd*) の 1 つ)
また
($cmd*) の 4
また
(($wanna*) の 1 つと ($cmd*) の 1 つ)
また
(($wanna*) の 1 つと ($misc*) の 3 つ)
)
)
}

ルールFE_RANSOMWARE_WANNACRY_EB {
メタ:バージョン=”.1″
filetype=”PE”
author=”Ian.Ahl@fireeye.com @TekDefense”
日付=”2017-05-12″

description=”ワーム機能を備えた WannaCry 亜種に注目”
文字列:

// WannaCRY の EB 関連の文字列
$eb1 = “__USERID__PLACEHOLDER__@” ascii wide
$eb2 = “__TREEID__PLACEHOLDER__” ascii ワイド
$eb3 = “LANMAN1.0” ascii ワイド
$eb4 = “LANMAN2.1” ASCII ワイド
$eb5 = “PIPE” ASCII ワイド
$eb6 = “\%sIPC$” ascii wide
$eb7 = “__TREEPATH_REPLACE__” ascii ワイド
$eb8 = “/K__USERID__PLACEHOLDER__” ascii ワイド

調子:
(
(
(uint16(0) == 0x5A4D)
)

(
($eb*) のすべて
)
)
}

 

参照: https://www.mandiant.com/resources/blog/wannacry-malware-profile

Comments

タイトルとURLをコピーしました