※この内容は2017年5月12日時点のブログの抄訳版です。
WannaCryランサムウェアについては、随時情報を更新します。
5月12日、私たちは複数の業界の複数の組織からランサムウェアの被害に遭ったとの報告を受けました。このランサムウェア攻撃を受けると、 “.WNCRYT”という拡張子でファイルが暗号化されます。
被害に遭ったコンピューターは、以下のようなメッセージが表示され、ファイルの復号に300米ドル(約34,000円)を要求されます。
解説
MS17-010エクスプロイト
このマルウェアは、自らを拡散するためにMS17-010エクスプロイトを悪用します。これは、主にサーバーで利用される通信プロトコルであるServer Message Block(SMB)のリモートコード実行オプションの脆弱性です。詳細は下記URLをご参照ください。
https://technet.microsoft.com/ja-jp/library/security/ms17-010.aspx
エクスプロイト コードは下記など複数のWebサイトで確認することができます。
例: https://github.com/RiskSense-Ops/MS17-010/blob/master/exploits/eternalblue/ms17_010_eternalblue.rb
また、このエクスプロイトは高度なハッカー集団であるEquation GroupのEternal Blueというエクスプロイトとしても知られ、数週間前にShadow Brokersを名乗るハッカー集団が公開したFuzzBunchツールキットに含まれるものです。
MS17-010では、攻撃者はたった一つのエクスプロイトを悪用するだけでSMBを利用するシステムの権限にリモートでアクセスできるようになります。これは、たった1つのSMBプロトコルの弱点を悪用することで、リモートコードの実行(Remote Code Execution)とローカルでの権限昇格(Local Privilege Escalation)という両方を実行できてしまうということを意味します。ハッキングに利用される有名なツールであるMetasploitのエクスプロイト コードを分析すると、このエクスプロイトは固定のメモリーアドレス(32ビットWindowsの0xffdff000)を持った‘KI_USER_SHARED_DATA’を利用し、ペイロードのコピーと権限の移行を行っていることがわかります。
ユーザー側のアクションを一切必要せず、システム権限によりリモートで標的となるPCのコントロールを取得することで、攻撃者はネットワーク上の1つのシステムのコントロールを取得し、ローカルネットワーク上でこのマルウェアを拡散させることができます。つまり、この脆弱性に対する対策を実施せず、脆弱性の影響を受けるすべてのネットワーク上のシステムのコントロールを取得できることになります。そして、このシナリオでは、このただ1つのシステムが脆弱性を抱えたすべてのWindowsシステムとMS17-010のパッチを適用していないシステムに対してランサムウェアを拡散させることができます。
挙動:
下記のように、コマンドラインのコマンドを利用することで、Volume Shadowのコピーとバックアップが削除されます。
Cmd /c vssadmin delete shadows /all /quiet & wmic shadowcopy delete & bcdedit /set {default} bootstatuspolicy ignoreallfailures & bcdedit /set {default} recoveryenabled no & wbadmin delete catalog –quiet
このランサムウェアのファイルサイズは3.4MB(3,514,368バイト)です。
このランサムウェアは、マルウェアサンプルのハードコードから“WannaCry”と呼ばれています。
ランサムウェアは自身を‘ProgramData’フォルダー内の無作為の文字列のフォルダーとして書き込みます。ファイル名は、“tasksche.exe’、または、C:\Windows\ folder内の‘mssecsvc.exe’や‘tasksche.exe’といったファイル名になります。
ファイル名の例:
C:\ProgramData\lygekvkj256\tasksche.exe
C:\ProgramData\pepauehfflzjjtl340\tasksche.exe
C:/ProgramData/utehtftufqpkr106/tasksche.exe
c:\programdata\yeznwdibwunjq522\tasksche.exe
C:/ProgramData/uvlozcijuhd698/tasksche.exe
C:/ProgramData/pjnkzipwuf715/tasksche.exe
C:/ProgramData/qjrtialad472/tasksche.exe
c:\programdata\cpmliyxlejnh908\tasksche.exe
ランサムウェアは下記のコマンドを使用してすべてのファイルへの完全なアクセスを取得します。
Icacls . /grant Everyone:F /T /C /Q
実行には下記のバッチ スクリプトを使用します。
176641494574290.bat
バッチ ファイル(fefe6b30d0819f1a1775e14730a10e0e)の内容
echo off
echo SET ow = WScript.CreateObject(“WScript.Shell”)> m.vbs
echo SET om = ow.CreateShortcut(“C:\
WanaDecryptor
.exe.lnk”)>> m.vbs
echo om.TargetPath = “C:\
WanaDecryptor
.exe”>> m.vbs
echo om.Save>> m.vbs
cscript.exe //nologo m.vbs
del m.vbs
del /a %0
‘M.vbs’の内容
SET ow = WScript.CreateObject(“WScript.Shell”)
SET om = ow.CreateShortcut(“C:\
WanaDecryptor
.exe.lnk”)
om.TargetPath = “C:\
WanaDecryptor
om.Save
不正侵害の指標
ハッシュ:
dff26a9a44baa3ce109b8df41ae0a301d9e4a28ad7bd7721bbb7ccd137bfd696
201f42080e1c989774d05d5b127a8cd4b4781f1956b78df7c01112436c89b2c9
ed01ebfbc9eb5bbea545af4d01bf5f1071661840480439c6e5babe8e080e41aa
c365ddaa345cfcaff3d629505572a484cff5221933d68e4a52130b8bb7badaf9
09a46b3e1be080745a6d8d88d6b5bd351b1c7586ae0dc94d0c238ee36421cafa
b9c5d4339809e0ad9a00d4d3dd26fdf44a32819a54abf846bb9b560d81391c25
aae9536875784fe6e55357900519f97fee0a56d6780860779a36f06765243d56
21ed253b796f63b9e95b4e426a82303dfac5bf8062bfe669995bde2208b360fd
2372862afaa8e8720bc46f93cb27a9b12646a7cbc952cc732b8f5df7aebb2450
24d004a104d4d54034dbcffc2a4b19a11f39008a575aa614ea04703480b1022c
f8812f1deb8001f3b7672b6fc85640ecb123bc2304b563728e6235ccbe782d85
4a468603fdcb7a2eb5770705898cf9ef37aade532a7964642ecd705a74794b79
4b76e54de0243274f97430b26624c44694fbde3289ed81a160e0754ab9f56f32
9cc32c94ce7dc6e48f86704625b6cdc0fda0d2cd7ad769e4d0bb1776903e5a13
78e3f87f31688355c0f398317b2d87d803bd87ee3656c5a7c80f0561ec8606df
be22645c61949ad6a077373a7d6cd85e3fae44315632f161adc4c99d5a8e6844
5d26835be2cf4f08f2beeff301c06d05035d0a9ec3afacc71dff22813595c0b9
76a3666ce9119295104bb69ee7af3f2845d23f40ba48ace7987f79b06312bbdf
fc626fe1e0f4d77b34851a8c60cdd11172472da3b9325bfe288ac8342f6c710a
eeb9cd6a1c4b3949b2ff3134a77d6736b35977f951b9c7c911483b5caeb1c1fb
043e0d0d8b8cda56851f5b853f244f677bd1fd50f869075ef7ba1110771f70c2
57c12d8573d2f3883a8a0ba14e3eec02ac1c61dee6b675b6c0d16e221c3777f4
ca29de1dc8817868c93e54b09f557fe14e40083c0955294df5bd91f52ba469c8
f7c7b5e4b051ea5bd0017803f40af13bed224c4b0fd60b890b6784df5bd63494
3e6de9e2baacf930949647c399818e7a2caea2626df6a468407854aaa515eed9
9b60c622546dc45cca64df935b71c26dcf4886d6fa811944dbc4e23db9335640
5ad4efd90dcde01d26cc6f32f7ce3ce0b4d4951d4b94a19aa097341aff2acaec
24d004a104d4d54034dbcffc2a4b19a11f39008a575aa614ea04703480b1022c
12d67c587e114d8dde56324741a8f04fb50cc3160653769b8015bc5aec64d20b
85ce324b8f78021ecfc9b811c748f19b82e61bb093ff64f2eab457f9ef19b186
3f3a9dde96ec4107f67b0559b4e95f5f1bca1ec6cb204bfe5fea0230845e8301
IPアドレス:
・197.231.221.221:9001
・128.31.0.39:9191
・149.202.160.69:9001
・46.101.166.19:9090
・91.121.65.179:9001
・2.3.69.209:9001
・146.0.32.144:9001
・50.7.161.218:9001
・217.79.179.177:9001
・213.61.66.116:9003
・212.47.232.237:9001
・81.30.158.223:9001
・79.172.193.32:443
・38.229.72.16:443
ドメイン:
・iuqerfsodp9ifjaposdfjhgosurijfaewrwergwea[.]com (sinkholed)
・Rphjmrpwmfv6v2e[dot]onion
・Gx7ekbenv2riucmf[dot]onion
・57g7spgrzlojinas[dot]onion
・xxlvbrloxvriy2c5[dot]onion
・76jdd2ir2embyv47[dot]onion
・cwwnhwhlz52maqm7[dot]onion
ファイル名:
・@Please_Read_Me@.txt
・@WanaDecryptor@.exe
・@WanaDecryptor@.exe.lnk
・Please Read Me!.txt (Older variant)
・C:\WINDOWS\tasksche.exe
・C:\WINDOWS\qeriuwjhrf
・131181494299235.bat
・176641494574290.bat
・217201494590800.bat
・[0-9]{15}.bat #regex
・!WannaDecryptor!.exe.lnk
・00000000.pky
・00000000.eky
・00000000.res
・C:\WINDOWS\system32\taskdl.exe
ビットコインのウォレット
・115p7UMMngoj1pMvkpHijcRdfJNXj6LrLn
・13AM4VW2dhxYgXeQepoHkHSQuy6NgaEb94
・12t9YDPgwueZ9NyMgw519p7AA8isjr6SMw
Marco NovakからSansに提出されたSnortのルール:
alert tcp $HOME_NET 445 -> any any (msg:”ET EXPLOIT Possible ETERNALBLUE MS17-010 Echo Response”; flow:from_server,established; content:”|00 00 00 31 ff|SMB|2b 00 00 00 00 98 07 c0|”; depth:16; fast_pattern; content:”|4a 6c 4a 6d 49 68 43 6c 42 73 72 00|”; distance:0; flowbits:isset,ETPRO.ETERNALBLUE; classtype:trojan-activity; sid:2024218; rev:2;)
新興の脅威からのその他のSnortのルール:
(http://docs.emergingthreats.net/bin/view/Main/2024218)
alert smb any any -> $HOME_NET any (msg:”ET EXPLOIT Possible ETERNALBLUE MS17-010 Echo Request (set)”; flow:to_server,established; content:”|00 00 00 31 ff|SMB|2b 00 00 00 00 18 07 c0|”; depth:16; fast_pattern; content:”|4a 6c 4a 6d 49 68 43 6c 42 73 72 00|”; distance:0; flowbits:set,ETPRO.ETERNALBLUE; flowbits:noalert; classtype:trojan-activity; sid:2024220; rev:1;)
alert smb $HOME_NET any -> any any (msg:”ET EXPLOIT Possible ETERNALBLUE MS17-010 Echo Response”; flow:from_server,established; content:”|00 00 00 31 ff|SMB|2b 00 00 00 00 98 07 c0|”; depth:16; fast_pattern; content:”|4a 6c 4a 6d 49 68 43 6c 42 73 72 00|”; distance:0; flowbits:isset,ETPRO.ETERNALBLUE; classtype:trojan-activity; sid:2024218; rev:1;)
Yaraルール:
rule wannacry_1 : ransom
{
meta:
author = “Joshua Cannell”
description = “WannaCry Ransomware strings”
weight = 100
date = “2017-05-12”
Strings:
$s1 = “Ooops, your files have been encrypted!” wide ascii nocase
$s2 = “Wanna Decryptor” wide ascii nocase
$s3 = “.wcry” wide ascii nocase
$s4 = “WANNACRY” wide ascii nocase
$s5 = “WANACRY!” wide ascii nocase
$s7 = “icacls . /grant Everyone:F /T /C /Q” wide ascii nocase
Condition:
any of them
}
rule wannacry_2{
meta:
author = “Harold Ogden”
description = “WannaCry Ransomware Strings”
date = “2017-05-12”
weight = 100
strings:
$string1 = “msg/m_bulgarian.wnry”
$string2 = “msg/m_chinese (simplified).wnry”
$string3 = “msg/m_chinese (traditional).wnry”
$string4 = “msg/m_croatian.wnry”
$string5 = “msg/m_czech.wnry”
$string6 = “msg/m_danish.wnry”
$string7 = “msg/m_dutch.wnry”
$string8 = “msg/m_english.wnry”
$string9 = “msg/m_filipino.wnry”
$string10 = “msg/m_finnish.wnry”
$string11 = “msg/m_french.wnry”
$string12 = “msg/m_german.wnry”
$string13 = “msg/m_greek.wnry”
$string14 = “msg/m_indonesian.wnry”
$string15 = “msg/m_italian.wnry”
$string16 = “msg/m_japanese.wnry”
$string17 = “msg/m_korean.wnry”
$string18 = “msg/m_latvian.wnry”
$string19 = “msg/m_norwegian.wnry”
$string20 = “msg/m_polish.wnry”
$string21 = “msg/m_portuguese.wnry”
$string22 = “msg/m_romanian.wnry”
$string23 = “msg/m_russian.wnry”
$string24 = “msg/m_slovak.wnry”
$string25 = “msg/m_spanish.wnry”
$string26 = “msg/m_swedish.wnry”
$string27 = “msg/m_turkish.wnry”
$string28 = “msg/m_vietnamese.wnry”
condition:
any of ($string*)
}
[マカフィーの対応について]
マカフィーでは、当インシデントを受け、速やかにランサムウェアのサンプルを分析し、ランサムウェアの被害を軽減するためのガイダンスと検出のためのアップデートを提供しています。
そして、順次すべての顧客向けのDATのアップデートを提供するとともに、このランサムウェア攻撃のさらなる分析結果も顧客と一般向けに提供しています。
マカフィーでは、すべての顧客に提供するDATのアップデートを適用するよう推奨しています。さらに、顧客が使用するすべてのソフトウェアのセキュリティ アップデートを適用することも推奨しています。
詳細はRansom-WannaCry への対応について (2017 年 5 月)(Knowledge Center(日本語))もご参照ください。
※本ページの内容は 2017年5月12日更新のMcAfee Blog の抄訳です。
原文:An Analysis of the WannaCry Ransomware Outbreak
著者: Raj Samani, Christiaan Beek