SecureWorks、WCry ランサムウェア詳細解析レポート

 

2017年5月22日
SecureWorks Japan株式会社

 

 

*当レポートは、2017年5月18日に米国で発表されたレポートの抄訳です。
原文:www.secureworks.com/research/wcry-ransomware-analysis

 

SecureWorks® Counter Threat Unit ® スレット・インテリジェンス
WCry
ランサムウェア詳細解析レポート

概要
2017年5月18日、米国ジョージア州アトランタ発―SecureWorksのリサーチチーム、Counter Threat Unit® (CTU) が、世界中の多くのシステムに影響を及ぼし、広範囲に拡大したWCry (別名:WanaCry、WanaCrypt、またはWana Decrypt0r) ランサムウェアについて詳細解析しました。感染したシステムの中には、国家的に重要なシステムも含まれていました。CTUのリサーチャーは、このランサムウェアが急速に拡大した背景には、Windows Server Message Block (SMB) v1プロトコルの脆弱性を悪用したワーム コンポーネントが使われていることが関係していると報告しています。Microsoft社は2017年3月、SMBv1の脆弱性に対してセキュリティ更新プログラム MS17-010を提供しています。

拡散
今回の攻撃キャンペーンでは、 SMBワームを通じてWCryの感染を拡大することで、被害が広範囲に及びました。しかしながら、本レポート作成時点では、SMBワームの配信方法は不明なままです。SMBワームはまず、www . iuqerfsodp9ifjaposdfjhgosurijfaewrwergwea . comにHTTP接続を試み、接続に成功すると動作を停止するようになっています 。攻撃者は、自動化されたサンドボックスを使ったSMBワームの実行および解析をさせないために、このHTTP接続テストを追加した可能性があります。

このSMBワームでは、4月にShadow Brokersという脅威グループがリリースしたツールに由来するSMBv1エクスプロイトが使用されています。また、本ワームは標的システムにバックドアDoublePulsarが既に存在しているかどうかを確認し、存在しない場合にはEternalblue SMBv1エクスプロイトを用いて侵入します。感染拡大は、2種類のスレッドによって行われています。1つ目のスレッドがローカルネットワークのサブネットを確認すると、そのネットワーク上の先頭IPアドレスから1ずつIPアドレスをずらしながら全体をスキャンします。2つ目のスレッドは、ランダムに選んだ外部IPアドレスをスキャンします。

本ワームは、DLLファイルのペイロードとして感染したシステムに侵入します。DLLが読み込まれPlayGameというエクスポート関数 が実行されると、C:Windowsmssecsvc.exeに元のSMBワームをコピーおよび実行します。続いて、リソースとして抱えている次の実行ファイルを取り出し、C:Windowstasksche.exeとして作成および実行します。SecureWorkのCTUが解析したサンプルでは、この2番目の実行ファイルがWCryランサムウェアであることを確認しています。

感染
ファイルシステムを暗号化した後、WCryは図1のような身代金要求ウィンドウを表示させます。

図1:WCryランサムウェアの身代金要求ウィンドウ(出典:SecureWorks)

WCryはこのウィンドウを継続的に監視しており、ウィンドウが閉じられた場合には再度開いて確認を促します。また、WCryはtaskse.exeと呼ばれる小さなプログラムを起動し、リモート デスクトップ プロトコル (RDP) セッションを列挙すると共に、リモートデスクトップ接続中のユーザが確実にこのウィンドウを見ることができるようにします。さらに、このマルウェアはデスクトップの壁紙を図2のように変更します。

図2:WCryランサムウェアがセットするデスクトップの壁紙(出典:SecureWorks)

WCryは、リソースにパスワード保護されたZIP (パスワードは「WNcry@2ol7」)を抱えています。WCryが実行されると、現在のディレクトリ上でアーカイブが展開され 、以下のファイルが現れます。

  • b.wnry — デスクトップの壁紙として使用されるビットマップ画像 (図2参照)

  • c.wnry — Tor上のコマンド&コントロール (C2) サーバのアドレスやビットコイン アドレスなどのデータを含む設定ファイル

  • r.wnry — 身代金要求文

  • s.wnry — 被害者のシステムにインストールされるTorソフトウェアを含むZIPアーカイブ。TaskDataディレクトリに保存される

  • t.wnry — ファイル暗号化機能を含む暗号化されたDLL

  • u.wnry — WCryランサムウェアのメイン モジュールである復号モジュール

  • taskdl.exe —一時ファイル削除プログラムWNCRYT

  • taskse.exe — RDPセッションに身代金要求ウィンドウを表示するプログラム

  • msg —複数の言語で書かれた身代金要求文のリッチテキスト形式 (RTF) ファイルを含むディレクトリ

さらに、WCryは動作中に以下のファイルも生成します。

  • 00000000.pky — RSA-2048公開鍵 (攻撃者が秘密鍵を保持していると考えられる) を含むMicrosoft PUBLICKEYBLOB

  • 00000000.res — C2通信用データ

  • 00000000.eky — 埋め込まれたRSA公開鍵で暗号化された、被害者ごとに固有のRSA秘密鍵

  • 00000000.dky — 身代金が支払われると被害者に送られる、復号済みのRSA秘密鍵

  • f.wnry — WCryが被害者に対してファイルの復号「デモ」を行うための、あらかじめ埋め込まれたRSA秘密鍵で暗号化されたファイルのうちランダムに抽出されたファイルの一覧

  • @WanaDecryptor@.exe —WCryランサムウェアのメイン モジュールである復号モジュール
    (u.wnryと全く同じもの)

  • @Please_Read_Me@.txt — 身代金要求文(r.wnryと全く同じもの)

WCryマルウェアは、実行されると次の2つのコマンドを実行します。

  • attrib +h .

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

また、WCryは以下のコマンド (読み易いように改行しています) を実行し、システムやデータの復旧を妨げます。WCryが管理者権限で実行されない場合は、「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 -quiet

WCryは、以下のサービスを停止することで、それらのサービスで使用中であったデータも暗号化できるようにします。

  • 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.*

次に、ランダムに生成した整数値(46631494859358.bat、37061494619317.batなど)を使用してバッチ ファイルを作成し、マルウェアへのショートカットを作成します (図3)。

図3:WCryランサムウェアにより実行されるバッチファイル(出典:SecureWorks)

WCryが動作しているディレクトリは、SOFTWAREWanaCrypt0r キーに「wd」という名称の値として保存されます(図4参照)。WCryが管理者権限で動いている場合は、HKEY_LOCAL_MACHINE以下に、管理者権限ではない場合にはHKEY_CURRENT_USER以下にキーが作成されます。

図4:WCryランサムウェアがレジストリに格納したメタデータ(出典:SecureWorks

WCryは、被害者がコンピュータにログインあるいは再起動した際に、ランサムウェアのウィンドウが表示されるよう、Runキーに自身を登録します (図5参照) 。

図5:WCryランサムウェアが作成したRunキーの値(出典:SecureWorks

暗号化
WCryは、RSAとAESアルゴリズムを組み合わせたものを用いてファイルを暗号化します。RSAの暗号化やランダムキーの生成にはWindows Crypto APIを使用しますが、AESについてはサードパーティのコードを用いたものが実装されています。CTUのリサーチャーは、実装されている暗号化機能にいかなる欠陥も確認しておらず、WCryが使用している秘密鍵を入手しない限り、ファイルの復号は困難であるとしています。

暗号化する前に、WCryはシステム上で利用できるディスクをすべて列挙します。その中には、ローカルドライブ (ハードディスクなど)、リムーバブルドライブ (USBサムドライブなど)、ネットワークドライブ (マウントされたファイル共有フォルダなど)が含まれます。WCryには、マウントされていないファイル共有フォルダを検索する機能は持っていません。また、ファイルを暗号化する前にGlobalMsWinZonesCacheCounterMutexAという名前のミューテックスの存在を確認し、存在する場合には動作を終了します。

WCryは、文書作成やデータベースアプリケーション、アーカイブ、そしてマルチメディア形式に関連する拡張子を持つファイルを暗号化対象としています(図6参照)。また、ファイルのパスに表1に含まれる文字列が含まれる場合には、暗号化処理をスキップします。

図6:WCryランサムウェアが攻撃対象とするファイル拡張子(出典:SecureWorks

Content.IE5

Temporary Internet Files

LocalSettingsTemp

ppDataLocalTemp

Program Files

Program Files (x86)

WINDOWS

ProgramData

Intel

This folder protects against ransomware. Modifying it will reduce protection

 

 

表1: ホワイトリストに登録されているディレクトリ名の構成

WCryは、感染ごとにRSA-2048の鍵ペアを生成し、RSA公開鍵を使用して暗号化した後に、拡張子.ekyを付けて(例: 0000000.eky)ローカル ディスクに保存します。このRSA暗号鍵は、ファイル毎に生成されたランダムなAES-128暗号鍵を暗号化する際に用いられます。

暗号化対象のファイルは、読み込まれた後メモリ上で暗号化され、WCryが動作しているディレクトリに<ランダムの数字>.WNCRYT というファイル名で保存されます。その後作成されたファイルは、元のファイル名と拡張子.WINCRYが付いたファイル名で、元のファイルが存在するディレクトリに移動されます。マルウェ
アによって起動するtaskdl.exeプロセスにより、WCryが動作しているディレクトリに残った拡張子 .WINCRYTの付いた一時ファイルは定期的に削除されます。WCryは暗号化処理中に元のファイルのデータを直接上書きすることはないため、環境によっては削除されたファイルコンテンツの回復が可能であると考えられます。暗号化されたファイルは、独自のヘッダが付いたファイル形式で暗号化および保存されます (図7参照)。

図7:暗号化ファイル用のWCryファイルヘッダ(ハイライト箇所は暗号化されたAESキー)(出典:SecureWorks)

図8の独自ヘッタに格納されている情報によって、WCryが暗号化前のファイルを正しく復号できるようになっています。

図8:WCryが暗号化したファイルの独自ヘッダ(出典:SecureWorks)

支払い
暗号化処理が終わるとWCryは、タイマーを表示して身代金が増額するまで (4日間)、あるいはファイルが回復不能になるまで(7日間)のカウントダウンを始めます。WCryは身代金の要求額をドルまたはビットコインで自由に設定することが可能で、 CTUのリサーチャーは、300ドルおよび600ドル相当のビットコインを要求するWCryを確認しています。サンプルごとに異なっているとされるビットコインのアドレスは、c.wnry設定ファイルに含まれています。設定ファイルがない場合、マルウェアはハードコードされたビットコイン アドレスを使用します。CTUのリサーチャーは以下のビットコイン アドレスがWCryによって使用されていることを確認しています。

CTU のリサーチャーは、WCryを使用している攻撃者が、身代金を支払った被害者のファイルを復号できるのか、あるいは復号しようとする意図があるのかという証拠を得られていません。多くのランサムウェアは、被害者それぞれに対し個別にビットコインアドレスを割り当てているため、攻撃者は被害者からの支払いをどの感染なのか、使用した暗号鍵はどれかを紐づけることができます。しかし、WCryはこうした機能を実装していないため、攻撃者は被害者とやりとりして暗号鍵との紐づけを行う必要があります。

コマンド&コントロール (C2)
WCryは、動作するディレクトリ内のTaskDataディレクトリに、匿名通信を行うTorをインストールします。Torサーバはtaskhsvc.exeとリネームされ実行されます。TorはTCPポート9050で待ち受けするループバックインターフェース (127.0.0.1) にSOCKS5プロキシサーバを設置します。WCryはこのプロキシに接続して、Torネットワーク上の以下のC2サーバとの通信を試みます。

  • gx7ekbenv2riucmf . onion

  • 57g7spgrzlojinas . onion

  • xxlvbrloxvriy2c5 . onion

  • 76jdd2ir2embyv47 . onion

  • cwwnhwhlz52maqm7 . onion

C2サーバに接続後、WCryはTor回路を経由し、TCPポート80上で独自の暗号化プロトコルを使用して暗号化鍵を送信することで、被害者が攻撃者とやりとりすることや支払状況の確認を可能にします。なお、WCryが文書ファイルや保存されている認証情報の窃取、あるいは追加の実行ファイルを受信・実行することはありません。

最後に
WCryランサムウェアは、SMBの脆弱性を悪用する感染手法を用いて、急速に感染を拡大しています。
本脅威への対応策として、SecureWorksのCTUのリサーチャーは下記の対策の実施を推奨しています。

  • MS17-010セキュリティ更新プログラムを適用してください。

  • 必要でない限り (ホストがWindows XPやWindows 2000のシステムと通信する必要がない限り)、SMBv1を無効にしてください。相互接続されたネットワーク上でSMBv1を許可する必要がある場合は、想定されるリスクと照らし合わせながら慎重に評価してください。

  • パッチ適用できないホストを隔離するためのネットワークセグメントを用意し、SMBv1の通信がそのネットワークから出られないようブロックしてください。

  • SMBワームが侵入経路として使用するバックドアDoublePulsarの存在有無を、Nmapなどのツールを用いて確認してください。

  • ネットワーク監査ツールを使用してネットワークをスキャンし、MS17-010の脆弱性が残っているホストが存在しないか確認してください。

  • 実行ファイル、スクリプト、マクロ付き文書など、危険性のあるファイル形式が含まれたEメールをフィルタリングしてください。

  • オフラインのバックアップメディアを使用してバックアップを実施してください。ローカル接続またはネットワーク接続された場所へのバックアップ、あるいはクラウド ストレージへのバックアップについては、ランサムウェアがそれらシステム上にアクセスしてファイルを暗号化する可能性があるので十分なバックアップ方法とはいえません。

インディケータ情報
表2に記載されているインディケータ情報は、WCry関連の活動を検知するのに役立ちます。なお、ドメインには不正コンテンツが含まれる可能性があるため、ブラウザで開く際には、そのリスクを踏まえた上で実行してください。

Indicator

Type

Context

gx7ekbenv2riucmf.onion

Tor address

WCry C2 server

57g7spgrzlojinas.onion

Tor address

WCry C2 server

xxlvbrloxvriy2c5.onion

Tor address

WCry C2 server

76jdd2ir2embyv47.onion

Tor address

WCry C2 server

cwwnhwhlz52maqm7.onion

Tor address

WCry C2 server

Microsoft Security Center (2.0) Service

Service display name

WCry SMB worm

mssecsvc2.0

Service name

WCry SMB worm

C:Windowsmssecsvc.exe

Filename

WCry SMB worm

C:WindowsTasksche.exe

Filename

WCry SMB worm payload

C:Windowsqeriuwjhrf

Filename

WCry SMB worm payload copy

db349b97c37d22f5ea1d1841e3c89eb4

MD5 hash

WCry SMB worm

e889544aff85ffaf8b0d0da705105dee7c97fe26

SHA1 hash

WCry SMB worm

24d004a104d4d54034dbcffc2a4b19a11f39008a575aa614ea04703480b1022c

SHA256 hash

WCry SMB worm

GlobalMsWinZonesCacheCounterMutexW

Mutex

WCry exclusion flag

%PROGRAMDATA%%RAND% 0000000.eky

Filename

WCry encryption key

63fb6dd827559c0ed40c4c3725f7fc0a

MD5 hash

WCry encryption key

8e7211b1455dedfe1f84cc60a7ed593f78dfb6e1

SHA1 hash

WCry encryption key

24076e8485c72e4f9cf997c1f3670337231e401a043505e489606fff5758150f

SHA256 hash

WCry encryption key

00000000.pky

Filename

WCry public key

f5c0755e5f08dabf1119c193e96539a6

MD5 hash

WCry public key

5109c0738c126e65db8a92e1ff24f3291837f627

SHA1 hash

WCry public key

c863b4b4780d6ce53827049d3733863283aaeb4d4ae806fc2c5cfbd9eb236ab8

SHA256 hash

WCry public key

00000000.res

Filename

WCry C2 communication data

492c258c5bcbdd812fddd99b2427da99

MD5 hash

WCry C2 communication data (00000000.res)

0c16196d93b076f4648a9b1b027e7735845cab20

SHA1 hash

WCry C2 communication data (00000000.res)

6fa17600177c2032c3c3a3c06df6cf7d8dba1d32db146d9dd87aecf3f39fb898

SHA256 hash

WCry C2 communication data (00000000.res)

b.wnry

Filename

WCry ransom demand desktop wallpaper

c17170262312f3be7027bc2ca825bf0c

MD5 hash

WCry ransom demand desktop wallpaper (b.wnry)

f19eceda82973239a1fdc5826bce7691e5dcb4fb

SHA1 hash

WCry ransom demand desktop wallpaper (b.wnry)

d5e0e8694ddc0548d8e6b87c83d50f4ab85c1debadb106d6a6a794c3e746f4fa

SHA256 hash

WCry ransom demand desktop wallpaper (b.wnry)

c.wnry

Filename

WCry configuration file

fa44d43242f0bcc6d64569e4869e4913

MD5 hash

WCry configuration file (c.wnry)

29da372c816ac0d636657a76ab7712ae8106cb45

SHA1 hash

WCry configuration file (c.wnry)

3324483d27e716feb408b5d16b82540731faf435b9325497df779d72e7a6b765

SHA256 hash

WCry configuration file (c.wnry)

f.wnry

Filename

WCry decryption demonstration file list

@Please_Read_Me@.txt

Filename

WCry ransom note

r.wnry

Filename

WCry ransom note

3e0020fc529b1c2a061016dd2469ba96

MD5 hash

WCry ransom note

c3a91c22b63f6fe709e7c29cafb29a2ee83e6ade

SHA1 hash

WCry ransom note

402751fa49e0cb68fe052cb3db87b05e71c1d950984d339940cf6b29409f2a7c

SHA256 hash

WCry ransom note

s.wnry

Filename

WCry ZIP archive containing Tor software

ad4c9de7c8c40813f200ba1c2fa33083

MD5 hash

WCry ZIP archive containing Tor software

d1af27518d455d432b62d73c6a1497d032f6120e

SHA1 hash

WCry ZIP archive containing Tor software

e18fdd912dfe5b45776e68d578c3af3547886cf1353d7086c8bee037436dff4b

SHA256 hash

WCry ZIP archive containing Tor software

taskdl.exe

Filename

WCry temporary file cleanup program

4fef5e34143e646dbf9907c4374276f5

MD5 hash

WCry temporary file cleanup program (taskdl.exe)

47a9ad4125b6bd7c55e4e7da251e23f089407b8f

SHA1 hash

WCry temporary file cleanup program (taskdl.exe)

4a468603fdcb7a2eb5770705898cf9ef37aade532a7964642ecd705a74794b79

SHA256 hash

WCry temporary file cleanup program (taskdl.exe)

tasksche.exe

Filename

WCry installer

84c82835a5d21bbcf75a61706d8ab549

MD5 hash

WCry installer

5ff465afaabcbf0150d1a3ab2c2e74f3a4426467

SHA1 hash

WCry installer

ed01ebfbc9eb5bbea545af4d01bf5f1071661840480439c6e5babe8e080e41aa

SHA256 hash

WCry installer

taskse.exe

Filename

WCry RDP session decryptor display tool

8495400f199ac77853c53b5a3f278f3e

MD5 hash

WCry RDP session decryptor display tool (taskse.exe)

be5d6279874da315e3080b06083757aad9b32c23

SHA1 hash

WCry RDP session decryptor display tool (taskse.exe)

2ca2d550e603d74dedda03156023135b38da3630cb014e3d00b1263358c5f00d

SHA256 hash

WCry RDP session decryptor display tool (taskse.exe)

t.wnry

Filename

WCry file encryption DLL

5dcaac857e695a65f5c3ef1441a73a8f

MD5 hash

WCry file encryption DLL

7b10aaeee05e7a1efb43d9f837e9356ad55c07dd

SHA1 hash

WCry file encryption DLL

97ebce49b14c46bebc9ec2448d00e1e397123b256e2be9eba5140688e7bc0ae6

SHA256 hash

WCry file encryption DLL

@WanaDecryptor@.exe

Filename

WCry decryptor

u.wnry

Filename

WCry decryptor

7bf2b57f2a205768755c07f238fb32cc

MD5 hash

WCry decryptor (u.wnry and @WanaDecryptor@.exe)

45356a9dd616ed7161a3b9192e2f318d0ab5ad10

SHA1 hash

WCry decryptor (u.wnry and @WanaDecryptor@.exe)

b9c5d4339809e0ad9a00d4d3dd26fdf44a32819a54abf846bb9b560d81391c25

SHA256 hash

WCry decryptor (u.wnry and @WanaDecryptor@.exe)

@WanaDecryptor@.exe.lnk

Filename

WCry decryptor shortcut

表2: WCryスレットインジケータ

SecureWorksについて
SecureWorks は、日々深刻化するサイバー上の脅威を初期の段階から把握し警戒を行うことで、企業組織へのサイバー攻撃を素早く予測、防御、検出、そして対応を行うセキュリティ・サービス専業ベンダーです。当社は、独自のカウンター・スレット・プラットフォーム (CTP) において高度なデータ分析および洞察エンジン、そしてカウンター・スレット・ユニット (CTU) のリサーチ結果を統合し導き出した実用的なインテリジェンスを用い、サイバー上の脅威をリアルタイムに可視化し、その対抗策をすべてのサービスに反映させます。
日本を含む世界5カ所のセキュリティ・オペレーション・センター(SOC)を通じてSecureWorksは、お客様のリスクを最小限に抑えるセキュリティ・ソリューションを提供します。
2017年4月10日現在、SecureWorksは61ヶ国の4,400社のお客様企業にサービスを提供しています。www.secureworks.jp/

■ SecureWorksロゴは、米国 SecureWorks Corp の商標または登録商標です。
■ その他の社名および製品名は、各社の商標または登録商標です。
■ 記載内容は、2017年5月22日時点のものです。

 

About the Author: Dell Technologies