|Col1|Col2|Col3|Col4| |---|---|---|---| ||||| ``` Rintaro Koike (NTT Security Japan KK) Shota Nakajima (Cyber Defense Institute Inc.) ``` ----- ### 自己紹介 ###### • 小池倫太郎 • NTTセキュリティ・ジャパン SOCアナリスト • nao_sec • 悪性ファイルやスクリプトの解析 • 脅威情報の収集・調査 • 中島将太 • サイバーディフェンス研究所分析官 • nao_sec • RTFのExploit、シェルコード解析やマルウェア解析などを担当 ----- ### モチベーションとゴール ###### • Royal Roadを用いた標的型攻撃の特徴を把握 • Royal Roadによって生成されたRTFの挙動や特徴 • どのような脆弱性が悪用されるのか • どのようにマルウェアが実行されるのか • バージョン、アクターごとの特徴 • 攻撃アクターの分類 • Group-A (Temp.Conimes, Temp.Periscope, Rancor) • Group-B (Temp.Trident, Temp.Tick, TA428, Tonto) • 特徴を用いたHuntingの例 • Yara Rule • ATT&CK TID ----- ``` Royal Road ``` ----- ``` Royal Road ###### • RTF Weaponizer • Anomaliがレポートを公開 • https://www.anomali.com/blog/analyzing-digital-quartermasters-in-asia-do chinese-and-indian-apts-have-a-shared-supply-chain • https://www.anomali.com/blog/multiple-chinese-threat-groups-exploiting cve-2018-0798-equation-editor-vulnerability-since-late-2018 • 単純に8.tと呼ばれることもある • 一般には非公開のツールだが、複数のアクター間で共有されていると言われている • レポート内にはっきりとした定義はない • 本講演では以下の2つを満たすものをRoyal Roadによって生成されたRTFとして扱う 1. 数式エディタの脆弱性を悪用する 2. RTF内にオブジェクトに8.tという名前のオブジェクトを持つ ``` ----- ### の動作 ``` Royal Road RTF (1) ``` ``` Create ``` ``` Decode & Execute ``` ``` Document ``` ``` Exploit ``` ``` Shellcode ``` ``` Malware ``` ----- ### の動作 ``` Royal Road RTF (2) ``` ``` Create ``` ``` read Decode & Execute ``` ``` Document ``` ``` Exploit ``` ``` Shellcode ``` ``` Malware ``` ``` Microsoft Officeの数式エディタの脆弱性を悪用 - CVE-2017-11882 - CVE-2018-0798 - CVE-2018-0802 ``` ----- ### の動作 ``` Royal Road RTF (3) ``` ``` Create ``` ``` read Decode & Execute ``` ``` Document ``` ``` Exploit ``` ``` Shellcode ``` ``` Malware ``` ###### 作成したファイルがエンコードされている場合はデコード マルウェアの実行、DLLサイドローディング等をおこなう ----- |Version|Col2|Col3|Col4|Col5|Col6| |---|---|---|---|---|---| |Version VB2019のProofpointとAnomaliによる発表で定義された分類 https://www.virusbulletin.com/conference/vb2019/abstracts/attribution-object- using-rtf-object-dimensions-track-apt-phishing-weaponizers|||||| |version|Object string|CVE|Object Pattern|Shellcode encode|8.t encode| |v1|objw2180¥objh300{¥*¥objclass Equation.3}{¥*¥objdata 01050000020000000B0000004571756174696F6E2 E3300|CVE-2017-11882|48905d006c9c5b000 0000000030101030a 0a01085a5ab844eb7 112ba7856341231|No encode|F2 A3 20 72 No encode| |v2|objw2180¥objh300{¥objdata 554567{¥*¥objdata 01050000020000000B0000004571756174696F6E2 E3300||65303739613235323 46661363361353566 62636665|No encode|F2 A3 20 72 B2 A4 6E FF| |v3|objw2180¥objh300{¥objdata 554567{{¥*¥objdata 1389E614020000000B0000004571756174696F6E2 E330|||No encode|No encode| |v4|objw2180¥objh300{¥objdata 554567{¥*¥objdata 01050000020000000b000000 4571756174696f6e2e330|CVE-2018-0802|47464241515151515 05050500000000000 584242eb064242423 53533362044606060 60606060606061616 16161616161616161 6161616161|1byte xor|B2 A6 6D FF| |v5|objw2180¥objh300{¥objdata {¥object 515}4¥781¥'e56¥'2f7{¥*¥objdata 0105000002000 0000b0000004571756174696f6e2e3300|||1byte xor|No encode B0 74 77 46| |V6x|objw2 ?? 8 ?? ¥objh300{¥objdata [1-5] {¥object¥objemb [3-8] }4 [0-18] ¥objdata [0-4] 01050000020000000b0000004571756174696f6e2e 330|||1byte xor|B0 74 77 46| **V7x** **{¥¥object¥¥objocx{¥¥objdata** **and** **ods00** **V4~v6までと同じだがobjectデータの** **一部がランダムで存在する** **2byte xor** **B0 74 77 46** **B2 5A 6F 00** ----- ``` Version ``` **version** **Object string** **v1** **objw2180¥objh300{¥*¥objclass** **Equation.3}{¥*¥objdata** **01050000020000000B0000004571756174696F6E2** **E3300** 我々の調査では8.を含むRTFが発見できなかったため、 RoyalRoad関連として扱う **v2** **objw2180¥objh300{¥objdata 554567{¥*¥objdata** **01050000020000000B0000004571756174696F6E2** **E3300** **v3** **objw2180¥objh300{¥objdata 554567{{¥*¥objdata** **1389E614020000000B0000004571756174696F6E2** **E330** **v4** **objw2180¥objh300{¥objdata** **554567{¥*¥objdata 01050000020000000b000000** **4571756174696f6e2e330** **v5** **objw2180¥objh300{¥objdata {¥object** **515}4¥781¥'e56¥'2f7{¥*¥objdata 0105000002000** **0000b0000004571756174696f6e2e3300** **V6x** **objw2 ?? 8 ?? ¥objh300{¥objdata [1-5]** **{¥object¥objemb [3-8] }4 [0-18] ¥objdata [0-4]** **01050000020000000b0000004571756174696f6e2e** **330** **V7x** **{¥¥object¥¥objocx{¥¥objdata** **and** **ods00** |version|Object string|CVE|Object Pattern|Shellcode encode|8.t encode| |---|---|---|---|---|---| |v1 VB2 我々|objw2180¥objh300{¥*¥objclass Equation.3}{¥*¥objdata|CVE-2017-11882 義されたが、 ため、|48905d006c9c5b000 0000000030101030a 0a01085a5ab844eb7 112ba7856341231|No encode|F2 A3 20 72 No encode| ||01050000020000000B0000004571756174696F6E2 019のProofpointとAnomaliによる発表で定 E3300 の調査では8.を含むRTFが発見できなかった||||| |Roya v2|lRoad関連として扱う objw2180¥objh300{¥objdata 554567{¥*¥objdata 01050000020000000B0000004571756174696F6E2 E3300||65303739613235323 46661363361353566 62636665|No encode|F2 A3 20 72 B2 A4 6E FF| |v3|objw2180¥objh300{¥objdata 554567{{¥*¥objdata 1389E614020000000B0000004571756174696F6E2 E330|||No encode|No encode| |v4|objw2180¥objh300{¥objdata 554567{¥*¥objdata 01050000020000000b000000 4571756174696f6e2e330|CVE-2018-0802|47464241515151515 05050500000000000 584242eb064242423 53533362044606060 60606060606061616 16161616161616161 6161616161|1byte xor|B2 A6 6D FF| |v5|objw2180¥objh300{¥objdata {¥object 515}4¥781¥'e56¥'2f7{¥*¥objdata 0105000002000 0000b0000004571756174696f6e2e3300|||1byte xor|No encode B0 74 77 46| |V6x|objw2 ?? 8 ?? ¥objh300{¥objdata [1-5] {¥object¥objemb [3-8] }4 [0-18] ¥objdata [0-4] 01050000020000000b0000004571756174696f6e2e 330|||1byte xor|B0 74 77 46| **V4~v6までと同じだがobjectデータの** **一部がランダムで存在する** **2byte xor** **B0 74 77 46** **B2 5A 6F 00** ----- ``` Version ``` |version|Object string|CVE|Object Pattern|Shellcode encode|8.t encode| |---|---|---|---|---|---| |v1|objw2180¥objh300{¥*¥objclass Equation.3}{¥*¥objdata 01050000020000000B0000004571756174696F6E2 E3300|CVE-2017-11882|48905d006c9c5b000 0000000030101030a 0a01085a5ab844eb7 112ba7856341231|No encode|F2 A3 20 72 No encode| |v2|objw2180¥objh300{¥objdata 554567{¥*¥objdata 01050000020000000B0000004571756174696F6E2 E3300||65303739613235323 46661363361353566 62636665|No encode|F2 A3 20 72 B2 A4 6E FF| |v3|objw2180¥objh300{¥objdata 554567{{¥*¥objdata 1389E614020000000B0000004571756174696F6E2 E330|||No encode|No encode| |v4|objw2180¥objh300{¥objdata 554567{¥*¥objdata 01050000020000000b000000 4571756174696f6e2e330|CVE-2018-0802|47464241515151515 05050500000000000 584242eb064242423 53533362044606060 60606060606061616 16161616161616161 6161616161|1byte xor|B2 A6 6D FF| |v5 新し|objw2180¥objh300{¥objdata {¥object い51バ5}4ー¥7ジ81¥ョ'eン56¥定'2f義7{¥*¥objdata 0105000002000 0000b0000004571756174696f6e2e3300|||1byte xor|No encode B0 74 77 46| |V6x|objw2 ?? 8 ?? ¥objh300{¥objdata [1-5] {¥object¥objemb [3-8] }4 [0-18] ¥objdata [0-4] 01050000020000000b0000004571756174696f6e2e 330|||1byte xor|B0 74 77 46| **V7x** **{¥¥object¥¥objocx{¥¥objdata** **and** **ods00** **V4~v6までと同じだがobjectデータの** **一部がランダムで存在する** **2byte xor** **B0 74 77 46** **B2 5A 6F 00** ----- ``` Object $ rtfobj bd1e7b42a9c265266b8cc5cc966470497c4f9cba2b247d1f036b6b3892106b52 =============================================================================== File: 'bd1e7b42a9c265266b8cc5cc966470497c4f9cba2b247d1f036b6b3892106b52' - size: 450629 bytes ---+----------+-------------------------------------------------------------- id |index |OLE Object ---+----------+-------------------------------------------------------------- 0 |00010980h |format_id: 2 (Embedded) | |class name: 'Package' | |data size: 181960 | |OLE Package object: | |Filename: u'8.t' | |Source path: u'C:¥¥Aaa¥¥tmp¥¥8.t' | |Temp path = u'C:¥¥Users¥¥ADMINI~1¥¥AppData¥¥Local¥¥Temp¥¥8.t' | |MD5 = '4dc172d1b1a23b23a310e48cbeb1880b' ---+----------+-------------------------------------------------------------- 1 |000697B0h |format_id: 2 (Embedded) | |class name: 'Equation.3' 8.tというファイルを作成する ``` `|` `|data size: 9216` 大抵の場合pathも同じ ``` | |MD5 = 'd677230c0198041a02e7a729afc7163c' | |CLSID: 0002CE02-0000-0000-C000-000000000046 | |Microsoft Equation 3.0 (Known Related to CVE-2017-11882 or | |CVE-2018-0802) | |Possibly an exploit for the Equation Editor vulnerability | |(VU#421280, CVE-2017-11882) ``` ----- ``` Object $ rtfobj bd1e7b42a9c265266b8cc5cc966470497c4f9cba2b247d1f036b6b3892106b52 =============================================================================== File: 'bd1e7b42a9c265266b8cc5cc966470497c4f9cba2b247d1f036b6b3892106b52' - size: 450629 bytes ---+----------+-------------------------------------------------------------- id |index |OLE Object ---+----------+-------------------------------------------------------------- 0 |00010980h |format_id: 2 (Embedded) | |class name: 'Package' | |data size: 181960 | |OLE Package object: | |Filename: u'8.t' | |Source path: u'C:¥¥Aaa¥¥tmp¥¥8.t' | |Temp path = u'C:¥¥Users¥¥ADMINI~1¥¥AppData¥¥Local¥¥Temp¥¥8.t' | |MD5 = '4dc172d1b1a23b23a310e48cbeb1880b' ---+----------+-------------------------------------------------------------- 1 |000697B0h |format_id: 2 (Embedded) Exploitコード+シェルコードが埋め込まれた ``` `|` `|class name: 'Equation.3'` オブジェクト ``` | |data size: 9216 | |MD5 = 'd677230c0198041a02e7a729afc7163c' | |CLSID: 0002CE02-0000-0000-C000-000000000046 | |Microsoft Equation 3.0 (Known Related to CVE-2017-11882 or | |CVE-2018-0802) | |Possibly an exploit for the Equation Editor vulnerability | |(VU#421280, CVE-2017-11882) ``` ----- ``` Shellcode Encode ###### • RoyalRoadのバージョンによってシェルコードのエンコード方法が変化 • 現在も開発が継続しているよう v1-v3 v4-v6 v7 No encode 1byte xor 2byte xor ``` ----- ``` Shellcode Technique ###### • Patch API code • clearerrをパッチして任意のAPIを呼び出す • 使用するWinAPIがmsvcrt.dll経由で呼び出される • APIのコードの先頭をチェックしてフックされている場合は 5バイト読み飛ばしてフックを回避 ``` ----- ``` 8.t Pattern ###### • 8.tオブジェクトは5つのパターンが存在 • 先頭の4byteを見るとパターンを識別できる 1. 4D 5A 90 00 (エンコードなし) 2. F2 A3 20 72 3. B2 A6 6D FF 4. B0 74 77 46 5. B2 5A 6F 00 デコーダは で紹介 Appendix-2 ``` ----- ``` [1] 4D 5A 90 00 ``` ----- ``` [2] F2 A3 20 72 ``` ----- ``` [3] B2 A6 6D FF ``` ----- ``` [4] B0 74 77 46 ``` ----- ``` [5] B2 5A 6F 00 ``` ----- ### アトリビューション要素 ###### • 時期(パブリックサービスへの投稿、作成日時) • 攻撃対象の国(デコイファイルの言語) • RTFの特徴 • Object strings • Object pattern • Package pattern • Objectの名前、パス情報 ----- ### アトリビューション要素 ###### • ペイロードのエンコードパターン • ドロップファイル名 • マルウェア実行時のテクニック • T1137 (Office Application Startup) • T1073 (DLL Side-Loading) • 最終ペイロード(マルウェアファミリ) ----- ### 攻撃アクター ``` Temp.Tick Temp.Conimes Temp.Periscope Temp.Trident ``` ``` BRONZE BUTLER, ###### 別名 RedBaldKnight ``` ``` Goblin Panda, Dagger Panda, Leviathan, APT 40 Hellsing IceFog ``` ###### 関与が疑われる国 中国 中国 中国 中国 ###### アメリカ, 香港, 標的 日本, 韓国 ベトナム フィリピン ###### カザフスタン, モンゴル, ロシア |BRONZE BUTLER, RedBaldKnight|Goblin Panda, Hellsing|Leviathan, APT 40| |---|---|---| |中国|中国|中国| |日本, 韓国|ベトナム|アメリカ, 香港, フィリピン| ``` tempfun, NewCore RAT, Sisfader ``` ###### マルウェア ``` ABK Downloader, avirra Downloader, Datper ``` ``` BLACKCOFFEE, IceFog Derusbi ``` ----- ### 攻撃アクター ``` TA428 Tonto Rancor CactusPete, ###### 別名 LoneRanger, Karma Panda 関与が疑われる国 中国 中国 中国 標的 モンゴル ロシア, 韓国, 日本 ベトナム, カンボジア マルウェア PoisonIvy, Cotx RAT Bisonal DDKONG, PLAINTEE ``` |Col1|CactusPete, LoneRanger, Karma Panda| |---|---| |中国|中国| |モンゴル|ロシア, 韓国, 日本| ----- ``` Temp.Tick ``` ----- ``` Temp.Tick ###### • 東アジアを標的とした攻撃アクター • 日本や韓国が標的と言われている • Daserf、Datper、xxmmなどが使われる • 中国が関与していると言われている • 現在では新たなDownloaderの使用が報告されている • ABK Downloader • avirra Downloader ``` |Target|Version|8.t Encode|T1137|T1073|Drop name|malware| |---|---|---|---|---|---|---| |JP|5|No encode|Yes|No|winhelp.wll|ABK Downloader avirra Downloader| ----- ``` Tick Royal Road Case (1) extract ``` ``` Drop ``` ``` ABK Downloader %t %¥t k ``` ``` %APPDATA%¥Microsoft¥Word¥Startup¥winhelp.wll Word Open Drop C2 https[:]//www.86coding.com//flow//index.php ``` ----- ``` Tick Royal Road Case (2) ###### カード管理体制[会社名]様.doc ``` ``` Drop ``` ``` %APPDATA%¥Microsoft¥Word¥Startup¥winhelp.wll Word Open Drop ``` ``` avirra Downloader %temp%kaam.tmp ``` ``` C2 ``` ----- ``` Decoy files ###### • 実在する企業を模している • テンプレートを使用 • 別の攻撃で盗まれたファイルや情報を活用している可能性 ``` ----- ``` T1137 ##### • OfficeのAdd-inとして、起動時に実行できる機能がある ``` [https://attack.mitre.org/techniques/T1137/](https://attack.mitre.org/techniques/T1137/) ----- ``` Dropped DLL ###### • winhelp.wll • Wordライブラリ拡張子 • %APPDATA%¥Microsoft¥Word¥Startup • ワードの起動時に読み込まれるフォルダ • ワードの次回起動時に動作するため、解析時にユーザアクションが必要 • PDB Information • C:¥Users¥Frank¥Desktop¥doc_dll¥Release¥DocDll.pdb • C:¥Users¥abc¥Documents¥Visual Studio 2010¥Projects¥0103¥Release¥0103.pdb ``` ----- ``` DLL ##### • EXEが埋め込まれている ###### • MZヘッダを書き換えてドロップ • ドロップしたEXEを実行する ``` ----- ###### 2018 2019 ----- ``` ABK downloader ##### • 2018年5月以降に観測されているダウンローダー ###### • 画像に埋め込まれた次のペイロードをダウンロードして実行する • 次のペイロードとしてDatperをダウンロードしたことから の と判断 Tick Malware ##### • PDB ###### • C:¥Users¥XF¥Documents¥Visual Studio 2010¥Projects¥ABKDLL¥Release¥ABKDLL.pdb • C:¥Users¥XF¥Documents¥Visual Studio2010¥Projects¥ABK¥Release¥ABK.pdb • C:¥Users¥Frank¥Desktop¥ABK-old¥Release¥ABK.pdb • C:¥Users¥Frank¥Documents¥Visual Studio 2010¥Projects¥avenger¥Release¥avenger.pdb ``` ----- ``` ABK downloader ##### • %temp%¥taskmar.exe ###### • 作成されるファイルサイズが大きい • 約78MB • 自身のファイルをコピーしている ##### • ダウンロードファイル名 ###### • taskmgt.exe ##### • TTPs ###### • task*.exe • Binary padding(T1009) ``` ----- ### 通信の特徴 ##### • ハードコードされた特徴的なURL"//"とパラメーター ###### • uid= -> uid=,pid= -> id=,group=,class= ----- ``` Another Type ABK Downloader ###### • リソースにコンフィグが格納されているタイプも存在した ``` ----- ### を埋め込んだ画像 ``` PE ##### • Windows7の画像を利用する ###### • エンコードせずに埋め込み:2回 • 独自エンコードされて埋め込み:1回 ##### • ダミーファイルが埋め込まれて いたことがあった ###### • 環境をチェックしている ``` ----- ### アンチウイルスソフトのチェック Trend Micro Symantec McAfee ###### 実行中プロセス一覧 Qihoo ###### をチェック Trend Micro Symantec McAfee Qihoo Windows Defender ----- ``` avirra downloader ##### • 2019年6月にRoyalRoadを使った日本語のrtfを発見 ###### • Royal Roadを使用して日本を対象とするアクターはTickしか知られて いないため とのマルウェアと判断 Tick ``` |File Name|Compile Time|VT Submission|Runkey|Mutex|Download URL|Country| |---|---|---|---|---|---|---| |各国の化学大手の5G材料分野における 構築xcod.scr|2018-12-25 03:04:25|2019-07-26 01:44:10|Ravirra|PPGword|http[:]//180.150.226[.]155|KR| |kaam.tmp.exe|2019-01-24 23:08:32|2019-06-28 06:35:33|-|PPGword|http[:]//www.longfeiye[.]com|KR| |0fef02bdbebd0a9580efd7cb2c14b1c023af79de|2019-07-24 17:04:24|2019-08-01 05:28:43|Ravirra|CQFB|http[:]//27.255.90[.]158|KR| ----- ### 中国語のブログ記事 ###### Special Thanks! Suguru Ishimaru-san You Nakatsuru-san ----- ``` main ###### • %temp%に作成するファイル名 • avirra.exe • CreateMutex • PPGword • CQFB • ハードコードされたC2のURL • Non-space UA • User-Agentが特徴的 ``` ----- ### アンチウイルスソフトの停止 ###### • PccNT.exeを停止する • TrendMicro ----- ### ソフトの検出 ``` AV ##### • レジストリーをチェックする ###### • Symantec • TrendMicro • 360 ``` ----- ### 通信の復号 ###### UID=dHFmdihxYTM8NTEwNDQ1Q0Y6Rw==&ws=NjQxMnVua29udw= ###### Base64 decode ###### tqfv(qa3<510445CF:G ###### hostname MAC Addr ###### xor "12345" ###### User-PC5254004AAD21 ----- ### 通信の復号 ###### UID=dHFmdihxYTM8NTEwNDQ1Q0Y6Rw==&ws=NjQxMnVua29udw= Version Base64 decode OS bit 6412unkonw ###### Version情報は調査の 結果独自の番号を返す ----- ``` Temp.Conimes ``` ----- ``` Temp.Conimes ###### • 東南アジアなどを標的とした攻撃アクター • 特にベトナムが標的となっている • NewCore RATやPlugXなどを使用 • 中国が関与していると言われている ``` |Target|Version|8.t Encode|T1137|T1073|Drop name|Malware| |---|---|---|---|---|---|---| |VN|1, 2, 4|F2 A3 20 72 B2 A6 6D FF|No|Yes|vsodscpl.dll RasTls.dll QcLite.dll wsc.dll|tempfun PlugX NewCore RAT Gh0st RAT| ----- ``` [2019-05-23] b82e0ac46f6b812c83a3954038814cce ``` ----- ``` [2019-05-23] b82e0ac46f6b812c83a3954038814cce Exploit & Create Decode & Execute [3] B2 A6 6D FF Document 8.t Malware Create & Execute ``` ``` Load ``` ``` TLB ``` ``` Decode ``` ----- ``` [2019-05-23] b82e0ac46f6b812c83a3954038814cce QcConsol.exe stdole.tlb Load TLB ``` ``` TLB ``` ``` QcLite.dll ``` ``` Decode ``` ----- ``` [2019-05-23] b82e0ac46f6b812c83a3954038814cce ###### • デコードはハードコードされた値でxor • メモリ上にシェルコードを復号する ``` ----- ``` [2019-05-23] b82e0ac46f6b812c83a3954038814cce ##### • NewCore RATが実行される ###### • QcConsole.exe -LowIntegrityServer オプションで実行される • 通信パターンに特徴がある ``` ----- ``` [2018-04-04] d64161db327f4ec91d458a00293c62b0 ``` ----- ``` [2018-04-04] d64161db327f4ec91d458a00293c62b0 Exploit & Create Decode & Execute [1] F2 A3 20 72 Document 8.t Malware Create & Execute injection Load dllhost.exe ``` ----- ``` [2018-04-04] d64161db327f4ec91d458a00293c62b0 ##### • PlugXは日本を標的としたアクターも含むさまざまなアクター が使用する RAT ``` ###### • APT 26、APT31、APT41、Calypso group、DragonOK、Emissary 、 、 、 、 ``` Panda Hellsing Hurricane Panda Leviathan Nightshade 、 、 Panda Stone Panda UPS ``` ----- ``` [2018-04-04] d64161db327f4ec91d458a00293c62b0 ##### • RasTls.dllがdllhost.exeへ を する PlugX Inject ``` ----- ###### develop by JPCERT ``` PlugX config ``` ----- ``` Temp.Periscope ``` ----- ``` Temp.Periscope ###### • アメリカやヨーロッパなどを標的とした攻撃アクター • 防衛や政府関係の組織が主な標的 • BLACKCOFFEEやDerusbiなどを使う • 中国が関与していると言われている ``` |Target|Version|8.t Encode|T1137|T1073|Drop name|Malware| |---|---|---|---|---|---|---| |PH|1|F2 A3 20 72|No|Yes|vsodscpl.dll|Meterpreter| ----- ``` [2018-12-09] 5af6c9c49012dabd1468dcfa3f3e49a1 ``` ----- ``` [2018-12-09] 5af6c9c49012dabd1468dcfa3f3e49a1 Exploit & Create Decode & Execute [1] F2 A3 20 72 Document 8.t Malware Create & Execute ``` ``` Load ``` ``` Read ``` ----- ``` [2018-12-09] 5af6c9c49012dabd1468dcfa3f3e49a1 spoolsv.exe vsodscpl Load Read vsodscpl.dll ``` ----- ``` [2018-12-09] 5af6c9c49012dabd1468dcfa3f3e49a1 ###### • vsodscplという名前のファイル(シェルコード)を ロードして実行する • DLL名がsc_loader.dll ``` ----- ``` [2018-12-09] 5af6c9c49012dabd1468dcfa3f3e49a1 ###### • Shellcode • ハードコードされたIPとURL • metasploitのblock_reverse_http _use_proxy_creds.asm ``` // / / / / / / / / / / / / ----- ``` Temp.Trident ``` ----- ``` Temp.Trident ###### • 中央アジアを標的とした攻撃アクター • カザフスタンやモンゴル、ウクライナなどが主な標的 • かつては日本や韓国を狙っていたとされる • IceFogを使う • 中国が関与していると言われている ``` |Target|Version|8.t Encode|T1137|T1073|Drop name|Malware| |---|---|---|---|---|---|---| |RU, TR|2|F2 A3 20 72|No|Yes|RasTls.dll|IceFog Sisfader Reaver| ----- ``` [2018-03-07] 46d91a91ecdf9c0abc7355c4e7cf08fc ``` ----- ``` [2018-03-07] 46d91a91ecdf9c0abc7355c4e7cf08fc Exploit & Create Decode & Execute [1] F2 A3 20 72 Document 8.t Malware Create & Execute ``` ----- ``` [2018-03-07] 46d91a91ecdf9c0abc7355c4e7cf08fc ###### • Icefogの攻撃に関するツイートと 同じテクニックを使用する • FireEyeによって発表されたIcefogの 資料とも類似する ``` [https://speakerdeck.com/ashley920/into-the-fog-the-return-of-icefog-apt](https://speakerdeck.com/ashley920/into-the-fog-the-return-of-icefog-apt) ----- ``` [2018-03-07] 46d91a91ecdf9c0abc7355c4e7cf08fc ###### • アンチサンドボックスの実装とデバッグ出力が一致 今回のマルウェアのコード ``` ----- ``` TA428 ``` ----- ``` TA428 ###### • 東アジアを標的とした攻撃アクター • Operation LagTime ITというキャンペーンのアクター • モンゴル、ロシアなどが主な標的 • PoisonIvyやCotx RATを使う • 中国が関与していると言われている ``` |Target|Version|8.t Encode|T1137|T1073|Drop name|Malware| |---|---|---|---|---|---|---| |RU, MN|4, 5, 6a, 6b|B2 A6 6D FF B0 74 77 46|Yes|Yes|winhelp.wll inteldrives.wll useless.wll|PoisonIvy Cotx RAT (KeyBoy) Danti| ----- ``` [2019-03-06] 6cbe776b26b3d4b3030a8e9cdaf7bfa2 ``` ----- ``` [2019-03-06] 6cbe776b26b3d4b3030a8e9cdaf7bfa2 Exploit & Create Decode & Execute [2] B0 74 77 46 Document 8.t WordSec.wll Load Open with Document WINWORD.exe ``` ----- ``` [2019-03-06] 6cbe776b26b3d4b3030a8e9cdaf7bfa2 ###### システム情報の収集 ##### • HawkBallは2019年に登場したRAT ###### • アクターについての公開情報はないが、 TA428と対象の国とTTPsが類似するため我々 は関連する検体としている 任意コマンド実行 ``` ----- ``` [2020-01-09] f1b21f5f9941afd9eec0ab7456ec78b8 Exploit & Create Decode & Execute B0 74 77 46 Document 8.t useless.wll ``` ``` Document WINWORD.exe ``` ``` rundll32.exe (PoisonIvy) ``` ``` Cotx RAT ``` ----- ``` Cotx RAT ###### • TA428が使用するRAT • Tropic Trooperが使用する一部のKEYBOYと類似する点がみられた • Tropic Trooper ≒ TA428? ``` ----- ``` Tonto ``` ----- ``` Tonto ###### • 東アジアを標的とした攻撃アクター • ロシアや韓国、日本などが主な標的 • Bisonalやその亜種を使う • 中国が関与していると言われている ``` |Target|Version|8.t Encode|T1137|T1073|Drop name|Malware| |---|---|---|---|---|---|---| |RU, KR, MN|5, 7a|No encode B0 74 77 46|Yes|No|winhelp.wll intel.wll|Bisonal| ----- ``` [2019-12-25] 591409a1ae9d9ece9f4ce117edc4df39 Exploit & Create Decode & Execute B0 74 77 46 Document 8.t intel.wll ``` ``` Document WINWORD.exe ``` ``` accicons.exe (Bisonal) ``` ``` AdobeARM.exe (Bisonal) ``` ----- ``` Bisonal ###### • ロシア、韓国、日本を対象としたAPTで使用されたことがあるバックドア • デコード処理に特徴がある • xor、独自処理 ``` ----- ``` Rancor ``` ----- ``` Rancor ###### • 東南アジアを標的とした攻撃アクター • カンボジアやベトナムなどが主な標的 • DDKONGやPLAINTEEを使う • 中国が関与していると言われている ``` |Target|Version|8.t Encode|T1137|T1073|Drop name|Malware| |---|---|---|---|---|---|---| |VN|4, 6b|B2 A6 6D FF B0 74 77 46|Yes|Yes|CallFun.wll|CobaltStrike PowerShell VBS| ----- ``` [2019-05-23] a9270294941453da3147638e35f08c83 Exploit & Create Decode & Execute B2 A6 6D FF ``` ``` Document 8.t ``` ``` Malware Download & Execute ``` ``` log.dll WindowsHosts.exe ``` ----- ## 攻撃アクター間の結びつき ----- |Actor|Target|Version|8.t Encode|T1137|T1073|Drop name|Malware| |---|---|---|---|---|---|---|---| |Temp.Trident|RU, TR|2|F2 A3 20 72|No|Yes|RasTls.dll|IceFog Sisfader Reaver| |Temp.Tick|JP|5|No encode|Yes|No|winhelp.wll|ABK Downloader avirra Downloader| |TA428|RU, MN|4, 5, 6a, 6b|B2 A6 6D FF B0 74 77 46|Yes|Yes|winhelp.wll inteldrives.wll useless.wll|PoisonIvy Cotx RAT (KeyBoy) Danti| |Tonto|RU, MN, KR|5, 7a|No encode B0 74 77 46|Yes|No|winhelp.wll intel.wll|Bisonal| |Temp.Periscope|PH|1|F2 A3 20 72|No|Yes|vsodscpl.dll|Meterpreter| |Temp.Conimes|VN|1, 2, 4|F2 A3 20 72 B2 A6 6D FF|No|Yes|vsodscpl.dll RasTls.dll QcLite.dll wsc.dll|tempfun PlugX NewCore RAT Gh0st RAT| |Rancor|VN|4, 6b|B2 A6 6D FF B0 74 77 46|Yes|Yes|CallFun.wll|CobaltStrike Powershell VBS| ----- ### 攻撃アクター同士の結びつき ``` Group-A Group-B Temp.Conimes ###### Temp.Trident TA428 Temp.Periscope Tick Tonto Rancor ``` |Group-A|Group-B|Col3|Group-C| |---|---|---|---| |Temp.Conimes|Temp.Trident|TA428|| |Temp.Periscope|||| ----- ``` Group-A Actor Target Version 8.t Encode T1137 T1073 Drop Name Malware Temp.Periscope PH 1 F2 A3 20 72 No Yes vsodscpl.dll Meterpreter Temp.Conimes VN 1 F2 A3 20 72 No Yes vsodscpl.dll tempfun RasTls.dll 2 F2 A3 20 72 No Yes RasTls.dll PlugX QcLite.dll NewCore RAT 4 B2 A6 6D FF No Yes QcLite.dll NewCore RAT wsc.dll Gh0st RAT 6.x B0 74 77 46 Yes No CallFun.wll Rancor VN 4 B2 A6 6D FF No No - CobaltStrike Powershell ``` |Actor|Target|Version|8.t Encode|T1137|T1073|Drop Name|Malware|Time| |---|---|---|---|---|---|---|---|---| |Temp.Periscope|PH|1|F2 A3 20 72|No|Yes|vsodscpl.dll|Meterpreter|2018 Q1| |Temp.Conimes|VN|1|F2 A3 20 72|No|Yes|vsodscpl.dll RasTls.dll|tempfun|2018 Q1| |||2|F2 A3 20 72|No|Yes|RasTls.dll QcLite.dll|PlugX NewCore RAT|2018 Q2| |||4|B2 A6 6D FF|No|Yes|QcLite.dll wsc.dll|NewCore RAT Gh0st RAT|2018 Q4 ~ 2019 Q2| |||6.x|B0 74 77 46|Yes|No|CallFun.wll|-|2019 Q2| ``` 2019 Q2 ``` ----- ``` Group-B ``` |Actor|Target|Version|8.t Encode|T1137|T1073|Drop Name|Malware|Time| |---|---|---|---|---|---|---|---|---| |Temp.Trident|RU, TR|2|F2 A3 20 72|No|Yes|RasTls.dll|IceFog Sisfader Reaver|2018 Q1| |Temp.Tick|JP|5|No encode|Yes|No|winhelp.wll|ABK Downloader avirra Downloader|2019 Q1 ~ Q2| |TA428|RU, MN|4|B2 A6 6D FF|No|No|-|PoisonIvy|2018 Q4| |||5|B0 74 77 46|Yes|No|winhelp.wll|Danti Cotx RAT (KeyBoy)|2019 Q1| |||6.x||Yes|No|inteldrives.wll useless.wll cls.wll|Danti Cotx RAT (KeyBoy)|2019 Q1 ~ Q2| |||5|No encode|Yes|No|winhelp.wll|Bisonal|2019 Q1| ``` 7 x B0 74 77 46 Yes No intel wll Bisonal 2019 Q4 ``` ----- ``` Group-C ###### • Group-C • AとBに分類できなかったもの • 基本的にはRTFからアクターが結び付けられなかったもの ``` ----- ## 関連する攻撃アクター ----- ### 関連する攻撃アクター ###### • 8.tというオブジェクトを使用するわけではないが、似たような特徴を持つ ファイルを用いて攻撃を行う攻撃アクターもある ``` RTF • Mustang Panda • SideWinder • Winnti ``` ----- ``` Mustang Panda ###### • 東南アジアを標的とした攻撃アクター • ベトナムなどが主な標的 • CobaltStrikeやPlugXを使う • 中国が関与していると言われている ``` ----- ``` [2019-11-12] e5779b1e0970bb59ee97e0cf0086c047 Exploit & Create Decode & Execute B2 A4 6E FF Document e.m Self-Extractor ``` ``` tmp_Kquxaf.dat ``` ``` Create & Execute ``` ``` CobaltStrike ``` ``` PS1 ``` ----- ``` Similar Encode: B2 A4 6E FF ``` ----- ``` SideWinder ###### • 南アジアを標的とした攻撃アクター • 主にパキスタンを標的としている • インドが関与していると言われている • Royal Roadのv3を使う ``` ----- ``` [2019-12-17] 9d71bc8643b0e309ea1d91903aea6555 Exploit & Create Create JS Document 1.a rekeywiz.exe Create Create Load ``` ``` E ``` ``` JS ``` ``` TMP ``` ``` d3BX5Y0.tmp ``` ``` Duser.dll ``` ----- ``` Winnti ###### • 8.tを用いるRTFがWinntiと関連すると報告されている • 私たちが調査した限りでは、既知のWinntiが使用するテクニック、マルウェアとの 関連性を見つけることはできなかった • https://medium.com/@Sebdraven/winnti-uses-the-rtf-exploit-8-t-too targets-vietnam-13300d432272 • 根拠となっているIntezerの解析結果 ``` ###### 既知のマルウェア Intezerのブラックリストに存在するか、信頼でき るセキ リティベンダ によ て判定された ###### 既知のマルウェア ----- ``` Threat Hunting ``` ----- ``` Threat Hunting ###### • Royal Road • エンコードされたオブジェクトの特徴 • Exploit Codeの特徴 • Royal RoadのRTFの構造的な特徴 • 攻撃アクター • 好んで使う手法 • T1073 • Side-Loading用のexeファイル • T1137 • WordのStartupディレクトリ ``` ----- ``` Yara Rule ###### • Royal Roadを検知するためのルール • オブジェクトstrings • オブジェクトpattern • アクターやグループの分類のためのルール • 8.tなどオブジェクトのエンコード • マルウェアファミリ 詳細は で紹介 Appendix-2 ``` ----- ``` Summary ``` ----- ``` Summary ###### • Royal Roadによって作成されたRTF • 数式エディタの脆弱性を悪用 • 様々な特徴がある • バージョンの識別 • アクターとグループ • Royal Roadを使う攻撃アクターはとても多い • 中国との関連が疑われているアクターがほとんど • RTFなどの特徴からアクターをグループに分類できる • アクター同士の結びつき ``` ----- ``` Appendix ``` ----- ``` Appendix-1: IOC ###### • https://nao-sec.org/jsac2020_ioc.html ``` ----- ``` Appendix-2: Tool ###### • rr_decoder • https://github.com/nao-sec/rr_decoder • Yara Rules • https://github.com/nao-sec/yara_rules ``` ----- ``` Any Questions? ``` -----