Rintaro Koike (NTT Security Japan KK)
Shota Nakajima (Cyber Defense Institute Inc.)

自己紹介• 小池倫太郎• NTTセキュリティ・ジャパン SOCアナリスト• nao_sec• 悪性ファイルやスクリプトの解析• 脅威情報の収集・調査• 中島将太• サイバーディフェンス研究所 分析官• nao_sec• RTFのExploit、シェルコード解析やマルウェア解析などを担当

2

モチベーションとゴール• 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

3

Royal Road
4

Royal Road
• RTF Weaponizer• Anomaliがレポートを公開• https://www.anomali.com/blog/analyzing-digital-quartermasters-in-asia-dochinese-and-indian-apts-have-a-shared-supply-chain• https://www.anomali.com/blog/multiple-chinese-threat-groups-exploitingcve-2018-0798-equation-editor-vulnerability-since-late-2018• 単純に8.tと呼ばれることもある• 一般には非公開のツールだが、複数のアクター間で共有されていると言われている• レポート内にはっきりとした定義はない• 本講演では以下の2つを満たすものをRoyal Roadによって生成されたRTFとして扱う
1. 数式エディタの脆弱性を悪用する
2. RTF内にオブジェクトに8.tという名前のオブジェクトを持つ

5

Royal Road RTFの動作 (1)ActiveXの”Package”を使ってドキュメントのオープン時にファイル（8.t）を作成する

Create8.t

read

Decode & Execute

Document

Exploit
Shellcode

6

MalwareRoyal Road RTFの動作 (2)Create8.t

read

Decode & Execute
Document

Exploit
Shellcode
Microsoft Officeの数式エディタの脆弱性を悪用- CVE-2017-11882- CVE-2018-0798- CVE-2018-0802

7

MalwareRoyal Road RTFの動作 (3)Create8.t

read

Decode & Execute
Document

Exploit
Shellcode

Malware

作成したファイルがエンコードされている場合はデコード
マルウェアの実行、DLLサイドローディング等をおこなう

8

Version

9

VB2019のProofpointとAnomaliによる発表で定義された分類
https://www.virusbulletin.com/conference/vb2019/abstracts/attribution-objectusing-rtf-object-dimensions-track-apt-phishing-weaponizers

versionObject 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 encodev2

objw2180¥objh300{¥objdata 554567{¥*¥objdata
01050000020000000B0000004571756174696F6E2
E3300

No encode

F2 A3 20 72
B2 A4 6E FFv3

objw2180¥objh300{¥objdata 554567{{¥*¥objdata
1389E614020000000B0000004571756174696F6E2
E33065303739613235323
46661363361353566
62636665

No encode

No encodev4

objw2180¥objh300{¥objdata554567{¥*¥objdata 01050000020000000b000000
4571756174696f6e2e330

CVE-2018-0802

1byte xor

B2 A6 6D FF

v5

objw2180¥objh300{¥objdata {¥object515}4¥781¥'e56¥'2f7{¥*¥objdata 0105000002000
0000b0000004571756174696f6e2e3300

CVE-2018-0798

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
33047464241515151515
05050500000000000
584242eb064242423
53533362044606060
60606060606061616
16161616161616161
6161616161

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
B2 A6 6D FF

Versionversion

v1

v2

10

Object stringCVE

objw2180¥objh300{¥*¥objclass
CVE-2017-11882
Equation.3}{¥*¥objdata
01050000020000000B0000004571756174696F6E2VB2019のProofpointとAnomaliによる発表で定義されたが、E3300

我々の調査では8.を含むRTFが発見できなかったため、RoyalRoad関連として扱う
objw2180¥objh300{¥objdata 554567{¥*¥objdata
01050000020000000B0000004571756174696F6E2
E3300

v3

objw2180¥objh300{¥objdata 554567{{¥*¥objdata
1389E614020000000B0000004571756174696F6E2
E330

v4

objw2180¥objh300{¥objdata554567{¥*¥objdata 01050000020000000b000000
4571756174696f6e2e330

CVE-2018-0802

v5

objw2180¥objh300{¥objdata {¥object515}4¥781¥'e56¥'2f7{¥*¥objdata 0105000002000
0000b0000004571756174696f6e2e3300

CVE-2018-0798

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

Object Pattern

Shellcode encode

8.t encode

48905d006c9c5b000
0000000030101030a
0a01085a5ab844eb7
112ba7856341231

No encode

F2 A3 20 72
No encode65303739613235323
46661363361353566
62636665

No encode

F2 A3 20 72
B2 A4 6E FF

No encode

No encode

47464241515151515
05050500000000000
584242eb064242423
53533362044606060
60606060606061616
16161616161616161
6161616161

1byte xor

B2 A6 6D FF

1byte xor

No encode
B0 74 77 46

1byte xor

B0 74 77 46

V4~v6までと同じだがobjectデータの一部がランダムで存在する

2byte xor

B0 74 77 46
B2 5A 6F 00
B2 A6 6D FF

Version

11

versionObject 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 encodev2

objw2180¥objh300{¥objdata 554567{¥*¥objdata
01050000020000000B0000004571756174696F6E2
E3300

No encode

F2 A3 20 72
B2 A4 6E FFv3

objw2180¥objh300{¥objdata 554567{{¥*¥objdata
1389E614020000000B0000004571756174696F6E2
E33065303739613235323
46661363361353566
62636665

No encode

No encodev4

objw2180¥objh300{¥objdata554567{¥*¥objdata 01050000020000000b000000
4571756174696f6e2e330

CVE-2018-0802

1byte xor

B2 A6 6D FF

v5

objw2180¥objh300{¥objdata {¥object515}4¥781¥'e56¥'2f7{¥*¥objdata 0105000002000
新しいバージョン定義
0000b0000004571756174696f6e2e3300

CVE-2018-0798

47464241515151515
05050500000000000
584242eb064242423
53533362044606060
60606060606061616
16161616161616161
6161616161

1byte xor

No encode
B0 74 77 46

1byte xor

B0 74 77 46

V4~v6までと同じだがobjectデータの一部がランダムで存在する

2byte xor

B0 74 77 46
B2 5A 6F 00
B2 A6 6D FFV6xobjw2 ?? 8 ?? ¥objh300{¥objdata [1-5]{¥object¥objemb [3-8] }4 [0-18] ¥objdata [0-4]01050000020000000b0000004571756174696f6e2e
330

V7x

{¥¥object¥¥objocx{¥¥objdata
and
ods00

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)---+----------+--------------------------------------------------------------12

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)---+----------+--------------------------------------------------------------13

Shellcode Encode• RoyalRoadのバージョンによってシェルコードのエンコード方法が変化• 現在も開発が継続しているよう

14

v1-v3

v4-v6

v7

No encode

1byte xor

2byte xor

Shellcode Technique• Patch API code
• clearerrをパッチして任意のAPIを呼び出す• 使用するWinAPIがmsvcrt.dll経由で呼び出される• APIのコードの先頭をチェックしてフックされている場合は5バイト読み飛ばしてフックを回避

15

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 で紹介

16

[1] 4D 5A 90 00

17[2] F2 A3 20 72

18

[3] B2 A6 6D FF

19

[4] B0 74 77 46

20

[5] B2 5A 6F 00

21

アトリビューション要素• 時期（パブリックサービスへの投稿、作成日時）• 攻撃対象の国（デコイファイルの言語）• RTFの特徴• Object strings• Object pattern• Package pattern• Objectの名前、パス情報

22

アトリビューション要素• ペイロードのエンコードパターン• ドロップファイル名• マルウェア実行時のテクニック• T1137 (Office Application Startup)• T1073 (DLL Side-Loading)• 最終ペイロード（マルウェアファミリ）23

攻撃アクター
Temp.Tick

Temp.Conimes

Temp.Periscope

Temp.Trident

別名

BRONZE BUTLER,
RedBaldKnight

Goblin Panda,
Hellsing

Leviathan, APT 40

Dagger Panda,
IceFog関与が疑われる国

中国

中国

中国

中国

標的

日本, 韓国ベトナム

アメリカ, 香港,
フィリピン

カザフスタン,モンゴル, ロシアマルウェア

ABK Downloader,avirra Downloader,
Datpertempfun,
NewCore RAT,
SisfaderBLACKCOFFEE,
Derusbi

IceFog24

攻撃アクター
TA428

RancorCactusPete,
LoneRanger, Karma
Panda

別名

25

Tonto

関与が疑われる国

中国

中国

標的

モンゴル

ロシア,

マルウェア

PoisonIvy, Cotx RAT Bisonal

中国

韓国, 日本ベトナム, カンボジア

DDKONG, PLAINTEE

Temp.Tick
26

Temp.Tick• 東アジアを標的とした攻撃アクター• 日本や韓国が標的と言われている• Daserf、Datper、xxmmなどが使われる• 中国が関与していると言われている• 現在では新たなDownloaderの使用が報告されている• ABK Downloader• avirra Downloader
TargetVersion8.t Encode

T1137

T1073

Drop namemalwareJP

5

No encode

YesNowinhelp.wll

ABK Downloader
avirra Downloader

27

Tick Royal Road Case (1)extract

Drop%APPDATA%¥Microsoft¥Word¥Startup¥winhelp.wll

Word OpenDrop

ABK Downloader%temp%¥taskmar.exe
28

C2
https[:]//www.86coding.com//flow//index.php
https[:]//www.86coding.com//img//flow//img00.jpg

Tick Royal Road Case (2)カード管理体制[会社名]様.doc

Drop%APPDATA%¥Microsoft¥Word¥Startup¥winhelp.wll

Word OpenDrop
avirra Downloader%temp%kaam.tmp

C2
http[:]//www.longfeiye[.]com/phpcms/modules/block/block_modules.php

29Decoy files• 実在する企業を模している• テンプレートを使用• 別の攻撃で盗まれたファイルや情報を活用している可能性

2019年昇給率参考資料1.doc

30

カード管理体制[会社名]様.doc

T1137• OfficeのAdd-inとして、起動時に実行できる機能がある

https://attack.mitre.org/techniques/T1137/

31

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 Studio2010¥Projects¥0103¥Release¥0103.pdb

32

DLL
• EXEが埋め込まれている• MZヘッダを書き換えてドロップ• ドロップしたEXEを実行する

33

2018

34

2019

ABK downloader• 2018年5月以降に観測されているダウンローダー• 画像に埋め込まれた次のペイロードをダウンロードして実行する• 次のペイロードとしてDatperをダウンロードしたことからTickのMalwareと判断

• PDB
•
•
•
•

35

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)

36

通信の特徴• ハードコードされた特徴的なURL"//"とパラメーター• uid= -> uid=,pid= -> id=,group=,class=37

Another Type ABK Downloader• リソースにコンフィグが格納されているタイプも存在した

38

PEを埋め込んだ画像• Windows7の画像を利用する• エンコードせずに埋め込み:2回• 独自エンコードされて埋め込み:1回• ダミーファイルが埋め込まれていたことがあった• 環境をチェックしている39

アンチウイルスソフトのチェック

Trend Micro
Symantec
McAfeeQihoo
Windows Defender40

実行中プロセス一覧をチェックavirra downloader• 2019年6月にRoyalRoadを使った日本語のrtfを発見• Royal Roadを使用して日本を対象とするアクターはTickしか知られていないためTickとのマルウェアと判断
File Name

Compile Time VT Submission

RunkeyMutex

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

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

KR41

中国語のブログ記事

Special Thanks!

Suguru Ishimaru-san
You Nakatsuru-san
https://www.leiphone.com/news/201907/Y4lYXhYGbij9vCDa.html
42

main
• %temp%に作成するファイル名• avirra.exe• CreateMutex• PPGword• CQFB• ハードコードされたC2のURL• Non-space UA• User-Agentが特徴的

43

アンチウイルスソフトの停止• PccNT.exeを停止する• TrendMicro44

AVソフトの検出• レジストリーをチェックする• Symantec• TrendMicro
• 360

45

通信の復号
UID=dHFmdihxYTM8NTEwNDQ1Q0Y6Rw==&ws=NjQxMnVua29udw=
Base64 decodetqfv(qa3<510445CF:G
hostnamexor "12345"

46

MAC Addr

User-PC5254004AAD21

通信の復号
UID=dHFmdihxYTM8NTEwNDQ1Q0Y6Rw==&ws=NjQxMnVua29udw=
VersionAV info

Base64 decode
OS bit6412unkonw

Version情報は調査の結果独自の番号を返す
AVソフトがなかった場合"unknown"のtype?

47

Temp.Conimes
48Temp.Conimes• 東南アジアなどを標的とした攻撃アクター• 特にベトナムが標的となっている• NewCore RATやPlugXなどを使用• 中国が関与していると言われている

TargetVersion8.t Encode

T1137

T1073

Drop name

MalwareVN

1, 2, 4F2 A3 20 72
B2 A6 6D FF

No

Yes

vsodscpl.dll
RasTls.dll
QcLite.dll
wsc.dll

tempfunPlugX
NewCore RAT
Gh0st RAT49

[2019-05-23]

b82e0ac46f6b812c83a3954038814cce

50[2019-05-23]

b82e0ac46f6b812c83a3954038814cce
Exploit & Create

Decode & Execute[3] B2 A6 6D FF

Document

8.t

MalwareCreate & Execute

Load

TLB
Decode51

[2019-05-23]

b82e0ac46f6b812c83a3954038814cce
QcConsol.exe

stdole.tlb

Load

TLB
QcLite.dll

Decode52

[2019-05-23]

b82e0ac46f6b812c83a3954038814cce• デコードはハードコードされた値でxor• メモリ上にシェルコードを復号する

53

[2019-05-23]

b82e0ac46f6b812c83a3954038814cce• NewCore RATが実行される• QcConsole.exe -LowIntegrityServer
オプションで実行される• 通信パターンに特徴がある

54

[2018-04-04]

d64161db327f4ec91d458a00293c62b055

[2018-04-04]

d64161db327f4ec91d458a00293c62b0
Exploit & Create

Decode & Execute[1] F2 A3 20 72

Document

8.t

MalwareCreate & Executeinjection

dllhost.exe
56

Load

[2018-04-04]

d64161db327f4ec91d458a00293c62b0• PlugXは日本を標的としたアクターも含むさまざまなアクターが使用するRAT• APT 26、APT31、APT41、Calypso group、DragonOK、Emissary
Panda、Hellsing、Hurricane Panda、Leviathan、Nightshade
Panda、Stone Panda、UPS

https://blogs.jpcert.or.jp/en/2017/02/plugx-poison-iv-919a.html
https://blogs.jpcert.or.jp/en/2015/01/analysis-of-a-r-ff05.html

57

[2018-04-04]

d64161db327f4ec91d458a00293c62b0• RasTls.dllがdllhost.exeへ
PlugXをInjectする

58

PlugX config

develop by JPCERT

マルウェアのconfig情報はアトリビューションに役に立つ

59

Temp.Periscope60Temp.Periscope• アメリカやヨーロッパなどを標的とした攻撃アクター• 防衛や政府関係の組織が主な標的• BLACKCOFFEEやDerusbiなどを使う• 中国が関与していると言われている

TargetVersion8.t Encode

T1137

T1073

Drop name

MalwarePH

1

F2 A3 20 72

No

Yes

vsodscpl.dll

Meterpreter61

[2018-12-09]

5af6c9c49012dabd1468dcfa3f3e49a1

62[2018-12-09]

5af6c9c49012dabd1468dcfa3f3e49a1
Exploit & Create

Decode & Execute[1] F2 A3 20 72

Document

8.t

MalwareCreate & Execute

Load

Read
63

[2018-12-09]

5af6c9c49012dabd1468dcfa3f3e49a1
spoolsv.exe

vsodscpl

Read

Load
vsodscpl.dll

64[2018-12-09]

5af6c9c49012dabd1468dcfa3f3e49a1• vsodscplという名前のファイル（シェルコード）をロードして実行する• DLL名がsc_loader.dll

65[2018-12-09]

5af6c9c49012dabd1468dcfa3f3e49a1• Shellcode• ハードコードされたIPとURL• metasploitのblock_reverse_http_use_proxy_creds.asm

https://github.com/rapid7/metasploit-framework/blob/master/external/source/shellcode/windows/x86/src/block/
block_reverse_http_use_proxy_creds.asm

66Temp.Trident
67Temp.Trident• 中央アジアを標的とした攻撃アクター• カザフスタンやモンゴル、ウクライナなどが主な標的• かつては日本や韓国を狙っていたとされる• IceFogを使う• 中国が関与していると言われている

TargetVersion8.t Encode

T1137

T1073

Drop name

Malware

RU, TR2

F2 A3 20 72

No

Yes

RasTls.dll

IceFogSisfaderReaver68

[2018-03-07]

46d91a91ecdf9c0abc7355c4e7cf08fc

69

[2018-03-07]

46d91a91ecdf9c0abc7355c4e7cf08fc
Exploit & Create

Decode & Execute[1] F2 A3 20 72

Document

8.t

MalwareCreate & Execute

Load

70

[2018-03-07]

46d91a91ecdf9c0abc7355c4e7cf08fc• Icefogの攻撃に関するツイートと同じテクニックを使用する• FireEyeによって発表されたIcefogの資料とも類似する

https://speakerdeck.com/ashley920/into-the-fog-the-return-of-icefog-apt71[2018-03-07]

46d91a91ecdf9c0abc7355c4e7cf08fc• アンチサンドボックスの実装とデバッグ出力が一致
今回のマルウェアのコード

72

TA42873

TA428• 東アジアを標的とした攻撃アクター• Operation LagTime ITというキャンペーンのアクター• モンゴル、ロシアなどが主な標的• PoisonIvyやCotx RATを使う• 中国が関与していると言われている

TargetVersion8.t Encode

T1137

T1073

Drop name

MalwareRU, MN4, 5, 6a,6b

B2 A6 6D FF
B0 74 77 46

Yes

Yes

winhelp.wll
inteldrives.wll
useless.wll

PoisonIvy
Cotx RAT (KeyBoy)
Danti

74

[2019-03-06]

6cbe776b26b3d4b3030a8e9cdaf7bfa2

75

[2019-03-06]

6cbe776b26b3d4b3030a8e9cdaf7bfa2
Exploit & Create

Decode & Execute[2] B0 74 77 46

Document

8.t

WordSec.wll

LoadOpen with

Document76

WINWORD.exe

[2019-03-06]

6cbe776b26b3d4b3030a8e9cdaf7bfa2• HawkBallは2019年に登場したRAT

システム情報の収集• アクターについての公開情報はないが、TA428と対象の国とTTPsが類似するため我々は関連する検体としている

任意コマンド実行

https://www.fireeye.com/blog/threat-research/2019/06/government-in-central-asia-targeted-with-hawkball-backdoor.html

77

[2020-01-09]

f1b21f5f9941afd9eec0ab7456ec78b8
Exploit & Create

Decode & Execute
B0 74 77 46

Document

8.t

Load

useless.wll

LoadOpen with
ExecuteDocument

78

WINWORD.exe

Executerundll32.exe(PoisonIvy)

Cotx RATCotx RAT• TA428が使用するRAT• Tropic Trooperが使用する一部のKEYBOYと類似する点がみられた• Tropic Trooper ≒ TA428?

https://blog.trendmicro.com/trendlabs-securityintelligence/tropic-trooper-new-strategy/

https://github.com/Neo23x0/signature-base/blob/master/yara/apt_keyboys.yar

79

Tonto80

Tonto• 東アジアを標的とした攻撃アクター• ロシアや韓国、日本などが主な標的• Bisonalやその亜種を使う• 中国が関与していると言われている

TargetVersion8.t Encode

T1137

T1073

Drop name

MalwareRU, KR,
MN

5, 7a

No encode
B0 74 77 46

Yes

No

winhelp.wll
intel.wll

Bisonal81[2019-12-25]

591409a1ae9d9ece9f4ce117edc4df39
Exploit & Create

Decode & Execute
B0 74 77 46

Document

8.t

intel.wll

LoadOpen with
ExecuteDocument

82

WINWORD.exe

Download & Executeaccicons.exe(Bisonal)

AdobeARM.exe(Bisonal)Bisonal• ロシア、韓国、日本を対象としたAPTで使用されたことがあるバックドア• デコード処理に特徴がある• xor、独自処理

83Rancor84

Rancor• 東南アジアを標的とした攻撃アクター• カンボジアやベトナムなどが主な標的• DDKONGやPLAINTEEを使う• 中国が関与していると言われている

TargetVersion8.t Encode

T1137

T1073

Drop name

MalwareVN4, 6b

B2 A6 6D FF
B0 74 77 46

Yes

Yes

CallFun.wll

CobaltStrike
PowerShell
VBS85

[2019-05-23]

a9270294941453da3147638e35f08c83
Exploit & Create

Decode & Execute
B2 A6 6D FF

Document

Malware8.t

Download & Execute
CreateSide-Loadlog.dll(CobaltStrike)
86

WindowsHosts.exe

攻撃アクター間の結びつき
87ActorTargetVersion8.t Encode

T1137

T1073

Drop name

MalwareTemp.Trident

RU, TR2

F2 A3 20 72

No

Yes

RasTls.dll

IceFogSisfaderReaverTemp.TickJP

5

No encode

YesNowinhelp.wll

ABK Downloader
avirra Downloader

TA428

RU, MN4, 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

BisonalTemp.PeriscopePH

1

F2 A3 20 72

No

Yes

vsodscpl.dll

Meterpreter

Temp.Conimes

VN

1, 2, 4F2 A3 20 72
B2 A6 6D FF

No

Yes

vsodscpl.dll
RasTls.dll
QcLite.dll
wsc.dll

tempfunPlugX
NewCore RAT
Gh0st RAT

Rancor

VN4, 6b

B2 A6 6D FF
B0 74 77 46

Yes

Yes

CallFun.wll

CobaltStrike
Powershell
VBS

88

攻撃アクター同士の結びつき
Group-A

Group-B

Group-C

Temp.Conimes
Temp.Trident

TA428

その他

Temp.Periscope

Tick
Rancor89

TontoGroup-A
Actor

TargetVersion8.t Encode

T1137

T1073

Drop Name

MalwareTime

Temp.PeriscopePH

1

F2 A3 20 72

No

Yes

vsodscpl.dll

Meterpreter2018 Q1

Temp.Conimes

VN

1

F2 A3 20 72

No

Yes

vsodscpl.dll
RasTls.dll

tempfun2018 Q1

2

F2 A3 20 72

No

Yes

RasTls.dll
QcLite.dll

PlugX
NewCore RAT

2018 Q24

B2 A6 6D FF

No

Yes

QcLite.dll
wsc.dll

NewCore RAT
Gh0st RAT2018 Q4 ~2019 Q2

6.x

B0 74 77 46

Yes

No

CallFun.wll-

2019 Q24

B2 A6 6D FF

No

No

-

CobaltStrike
Powershell
VBS

2019 Q2

Rancor90

VN

Group-B
Actor

TargetVersion8.t Encode

T1137

T1073

Drop Name

MalwareTime

Temp.Trident

RU, TR2

F2 A3 20 72

No

Yes

RasTls.dll

IceFogSisfaderReaver2018 Q1

Temp.TickJP

5

No encode

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

Yes

No

inteldrives.wll
useless.wll
cls.wll

Danti
Cotx RAT (KeyBoy)

2019 Q1 ~ Q2

No encode

YesNowinhelp.wll

Bisonal2019 Q1

B0 74 77 46

Yes

No

intel.wll

Bisonal2019 Q4

6.x

Tonto

RU, MN, 5
KR
7.x

91

Group-C• Group-C• AとBに分類できなかったもの• 基本的にはRTFからアクターが結び付けられなかったもの

92関連する攻撃アクター93

関連する攻撃アクター• 8.tというオブジェクトを使用するわけではないが、似たような特徴を持つ
RTFファイルを用いて攻撃を行う攻撃アクターもある• Mustang Panda• SideWinder• Winnti

94Mustang Panda• 東南アジアを標的とした攻撃アクター• ベトナムなどが主な標的• CobaltStrikeやPlugXを使う• 中国が関与していると言われている95[2019-11-12]

e5779b1e0970bb59ee97e0cf0086c047
Exploit & Create

Decode & Execute
B2 A4 6E FF

Documente.m

Self-Extractor

tmp_Kquxaf.dat

Create & Execute

ExecuteCreateCobaltStrike

Uninstall
ExecuteInstallUtil.exe

96

PS1

Similar Encode: B2 A4 6E FF

97

SideWinder• 南アジアを標的とした攻撃アクター• 主にパキスタンを標的としている• インドが関与していると言われている• Royal Roadのv3を使う

98

[2019-12-17]

9d71bc8643b0e309ea1d91903aea6555
Exploit & Create

CreateE

JS
Document

1.arekeywiz.exe
CreateCreateCreateTMP
d3BX5Y0.tmp
99

LoadSide-Load

Load & Decode
Duser.dll

Winnti• 8.tを用いるRTFがWinntiと関連すると報告されている• 私たちが調査した限りでは、既知のWinntiが使用するテクニック、マルウェアとの関連性を見つけることはできなかった• https://medium.com/@Sebdraven/winnti-uses-the-rtf-exploit-8-t-tootargets-vietnam-13300d432272• 根拠となっているIntezerの解析結果

既知のマルウェア
Intezerのブラックリストに存在するか、信頼できるセキュリティベンダーによって判定された
100

Threat Hunting
101Threat Hunting• Royal Road
• エンコードされたオブジェクトの特徴• Exploit Codeの特徴• Royal RoadのRTFの構造的な特徴• 攻撃アクター• 好んで使う手法• T1073• Side-Loading用のexeファイル• T1137• WordのStartupディレクトリ

102

Yara Rule
• Royal Roadを検知するためのルール• オブジェクトstrings• オブジェクトpattern• アクターやグループの分類のためのルール• 8.tなどオブジェクトのエンコード• マルウェアファミリ

詳細は Appendix-2 で紹介

103

Summary104

Summary• Royal Roadによって作成されたRTF• 数式エディタの脆弱性を悪用• 様々な特徴がある• バージョンの識別• アクターとグループ• Royal Roadを使う攻撃アクターはとても多い• 中国との関連が疑われているアクターがほとんど• RTFなどの特徴からアクターをグループに分類できる• アクター同士の結びつき

105Appendix
106Appendix-1: IOC• https://nao-sec.org/jsac2020_ioc.html

107Appendix-2: Tool
• rr_decoder• https://github.com/nao-sec/rr_decoder• Yara Rules• https://github.com/nao-sec/yara_rules

108Any Questions?
Icon made by Freepik from www.flaticon.com

109