電子署名者 : Japan Computer Emergency Response TeamJapan Computer Emergency Coordination Center
DN : c=JP, st=Tokyo, l=Chiyoda-ku, email=office@jpcert.or.jp,
o=Japan Computer Emergency Response Team Coordination
Response Team
Center, cn=Japan Computer Emergency Response Team
Coordination Center
Coordination Center
日付 : 2018.01.17 10:02:34 +09'00'

Japan Security Analyst Conference 2018

APTマルウェアに⾒る不易流⾏
25 Jan 2018
マクニカネットワークス株式会社
柳下 元
⽵内 寛

Copyright © 2004-2017 Macnica Networks Corp. All Rights Reserved.

1

不易流⾏
▎不易
変わることのない本質的なもの▎流⾏
時代の変化に合わせて変化する新しいもの

攻撃者が使うツールであるマルウェアにも「不易」と「流⾏」部分がある。
マルウェアの不易な本質を把握し、それをインシデント対応で活⽤できるのではないか。

Copyright © 2004-2017 Macnica Networks Corp. All Rights Reserved.

2

Agenda▎APT12, BlackBox Binder▎WINNTI▎まとめ

Copyright © 2004-2017 Macnica Networks Corp. All Rights Reserved.

3

APT12, BlackBox Binder

Copyright © 2004-2017 Macnica Networks Corp. All Rights Reserved.

4

APT12/IXESHE/Numbered Panda▎2009年から活動が観測されている中国を拠点とする攻撃者グループ [1]▎2012年 New York Timesへの侵害 [2]▎台湾、⽇本で攻撃を観測 [3]▎Tools (Malwares)▎IXESHE▎Etumbot (RIPTIDE)▎HIGHTIDE, THREEBYTE, WATERSPOUT▎BlackBox Binder (2015~)▎ 配送: Spear Phishing. Outlook msg OLE (⼿法の解説記事 [4]) , パスワード付きzipファイル等▎ ⼀次マルウェア: 暗号化されたDLLファイルが埋め込まれており、それがメイン処理を⾏う。
Copyright © 2004-2017 Macnica Networks Corp. All Rights Reserved.

5BlackBox Binder 処理内容

ファイル
名
デコイ

ドロップ
アンチア
ナリシス

埋め込み
コード
復号

Copyright © 2004-2017 Macnica Networks Corp. All Rights Reserved.

6

検体1 (2015)
SHA256: bbd90f25d27df4a9936bcf726c12b46ffa8ad214dbd478e641c8e9609798f487
コンパイル⽇時: 2015/06/09 08:09:40 (UTC)C2:
107.167.75[.]174
akashi[.]biz[.]tm
User-Agent (固定):
Mozilla/5.0 (Windows NT 6.1; rv:30.0) Gecko/20100101 Firefox/30.0
ミューテックス: 01-1536

Copyright © 2004-2017 Macnica Networks Corp. All Rights Reserved.

7

Am I Dropper or Dropped? (ファイル名の確認)

ファイル名が、chrome.exeか？
Copyright © 2004-2017 Macnica Networks Corp. All Rights Reserved.

8

デコイ

Copyright © 2004-2017 Macnica Networks Corp. All Rights Reserved.

9

ドロップ

cmd.exe(コマンドプロンプト)を⾃⼰ファイルに追加コピーして、%temp%にchrome.exeとして保存・実⾏

Copyright © 2004-2017 Macnica Networks Corp. All Rights Reserved.

10アンチアナリシス: ループカウンターフロー

work_cnt

処理

2204

コンフィグの復号

3456

ミューテックスの作成

5412

埋め込まれたファイルの復号

7786

復号したコードの処理
パラメータ・インスタンスハンドル・コンフィグ: 107.167.75.174..
・port 443(0x1BB)

Copyright © 2004-2017 Macnica Networks Corp. All Rights Reserved.

11

復号

DESとXORでコードを復号
Copyright © 2004-2017 Macnica Networks Corp. All Rights Reserved.

12

AryanRAT

リモートシェル、プロセス起動、
ファイル読み書き等の基本機能を有するRAT

Copyright © 2004-2017 Macnica Networks Corp. All Rights Reserved.

13

検体2 (2016)
SHA256: 531f7f1ee71fc85d3674bc083e8ecc72108f1f816d82c0b7d2edd775173ea900※参考 2016 類似検体ハッシュ: ab4f891ee2ae6ac7dce48c530b05aa4565dc38c79ff5dfa00913898167b46095

コンパイル⽇時: 2016/01/26 06:41:21 (UTC)C2:
software[.]jelastic.servint[.]net (HTTPS/443)
User-Agent (固定):
Mozilla/5.0 (Windows NT 6.1; rv:30.0) Gecko/20100101 Firefox/30.0
ミューテックス: shownews.php

変化
アンチア
ナリシス

Copyright © 2004-2017 Macnica Networks Corp. All Rights Reserved.

埋め込み
コード

デコイ

ドロップ

14

BlackBox

エクスポート関数

処理内容

DriverCreate

デコイの表⽰。別ファイルをドロップ・実⾏

DriverProc

C2通信処理Copyright © 2004-2017 Macnica Networks Corp. All Rights Reserved.

15デコイ、ドロップ(DriverCreate)%temp%にjucheck.exeとして保存
0xA00000 x 3 (30MB)バイト追加

Copyright © 2004-2017 Macnica Networks Corp. All Rights Reserved.

16

C2通信処理 (DriverProc)

C2よりダウンロードしたデータを復号しメモリ上に展開し実⾏。このDLL⾃体には、RAT機能はない(Loader)
Copyright © 2004-2017 Macnica Networks Corp. All Rights Reserved.

17

検体3 (2017)
SHA256: 42da51b69bd6625244921a4eef9a2a10153e012a3213e8e9877cf831aea3eced
コンパイル⽇時: 2017/08/17 00:35:55 (UTC)C2:bsksac[.]au-syd.mybluemix[.]net (HTTPS/443)
User-Agent (固定):
Chrome/27.0.1453.94 Safari/537.36
ミューテックス: /jquery.php

変化
アンチア
ナリシス

Copyright © 2004-2017 Macnica Networks Corp. All Rights Reserved.

埋め込み
コード

デコイ

ドロップ

18

アンチアナリシス: 例外処理

アンチサンドボックス解析

Copyright © 2004-2017 Macnica Networks Corp. All Rights Reserved.

19

BlackBox 2017

エクスポート関数

処理内容

DriverCreate

デコイの表⽰。別ファイルをドロップ

DriverOpen

ドロップしたファイルの実⾏

DriverProc

C2通信処理Copyright © 2004-2017 Macnica Networks Corp. All Rights Reserved.

20デコイ、ドロップ(DriverCreate, DriverOpen)%temp%にmshta.exeとして保存
0xA00000 x3 (30MB)バイト付与

mshta.exeを実⾏

Copyright © 2004-2017 Macnica Networks Corp. All Rights Reserved.

21

BlackBox Binderに⾒る不易機能検体1 (2015)

検体2 (2016)

検体3 (2017)

ファイル名の確認

ファイル名確認chrome.exe

ファイル名確認jucheck.exe

ファイル名確認mshta.exe

ドロップ

cmd.exeを追加

動的に確保したメモリ
データを追加動的に確保したメモリ
データを追加

復号

DES + XOR ベース

DES + XOR ベース

DES + XOR ベース

アンチアナリシス

ループカウンタフロー

なし

意図的な例外発⽣

埋め込まれているファイル

AryanRATDll(RAT)BlackBox(Loader)

BlackBox(Loader)

Copyright © 2004-2017 Macnica Networks Corp. All Rights Reserved.

22

BlackBox Binderに⾒る不易: 復号処理
・バッファアドレス
・暗号化データアドレス
・レングス

64bit 単位

decrypt

Copyright © 2004-2017 Macnica Networks Corp. All Rights Reserved.

・バッファアドレス
・暗号化データ・フラグ

decrypt_des23BlackBox Binder に⾒る不易: YARA
rule MNC_APT_2017_BLACKBOX_BINDER{
strings:$api1 = "LoadLibraryA" fullword$api2 = "GetProcAddress" fullword$decrypt_seq = {8B 44 24 0C 99 83 E2 07 03 C2 C1 F8 03
85 C0 7E 25 53 56 8B 74 24 0C 57 8B 7C 24 14 8B D8 6A 01 57 56
E8 ?? ?? ?? ?? 83 C4 0C 83 C6 08 83 C7 08 4B 75 EB 5F 5E 5B C3}
condition:(uint16(0) == 0x5A4D anduint32(uint32(0x3C)) == 0x00004550) andfilesize < 35MB andall of them}

Copyright © 2004-2017 Macnica Networks Corp. All Rights Reserved.

24

WINNTI

Copyright © 2004-2017 Macnica Networks Corp. All Rights Reserved.

25

本⽇お話ししたいこと▎2016年と2017年に観測したWINNTI▎WINNTIの流⾏(変化している点)と不易(変化しない点)

Copyright © 2004-2017 Macnica Networks Corp. All Rights Reserved.

26

WINNTI 概要▎標的▎ゲーム 2013 [5]▎メディア 2015 [6]▎化学、eコマース、投資ファーム、エレクトロニクス、テレコム 2016 [7]▎マルウェア▎WINNTI, PlusUnit, ZxShell, Kriskynote, Kernel Rootkit▎攻撃グループ名称▎WINNTI, ( Axiom ) [8]Copyright © 2004-2017 Macnica Networks Corp. All Rights Reserved.

27

WINNTI (2016検体)▎標的▎エレクトロニクス▎検体▎64bit ドロッパ
▎SHA256:

5ebf39d614c22e750bb8dbfa3bcb600756dd3b36929755db9b577d2b653cd2d1

Copyright © 2004-2017 Macnica Networks Corp. All Rights Reserved.

28

WINNTI (2016検体動作)
1. コマンドライン“ドロッパ.EXE <復号キー> <DAT File>”

WINNTIドロッパ(EXE)

2. ロウンチャーDLLの復号、%temp%へ展開

3. Rundll32.exe <ロウンチャー
DLL>, setup <復号キー> <DAT
File> | <ドロッパ File>

AES暗号化ファイル (DAT)

ロウンチャーDLL
4. DATファイルを復号、ドロッパを削除

5. サービスDLL、暗号化
ファイルの2ファイルとして保存。DATを削除

6. svchost –k netsvcプロセスが起動し、メモリにCryptUnProtectDataで復号した
WINNTIペイロードを展開、スレッド起動
Copyright © 2004-2017 Macnica Networks Corp. All Rights Reserved.

CryptProtectData暗号化ファイル (NLS)

29

WINNTI (2016検体 C2 CryptUnprotectData [9])Copyright © 2004-2017 Macnica Networks Corp. All Rights Reserved.

30

WINNTI (2016検体 C2トラフィック)

Copyright © 2004-2017 Macnica Networks Corp. All Rights Reserved.

31

WINNTI (2016検体 Kernel Driver)▎Windows Filtering Platform (WFP)ベース FWPS, FWPM
v0 = DeviceObject;
v14 = 0;v15 = 0;v3 = 0;memset(&Dst, 0, 0x2Cu);v5 = 1;v1 = FwpmEngineOpen0(0, 10, 0, &v3, &fwpm_filter0);
if ( v1 < 0 )goto LABEL_16;
v14 = 1;v1 = FwpmTransactionBegin0(fwpm_filter0, 0);
if ( v1 < 0 )goto LABEL_16;
v15 = 1;
memset(&v6, 0, 0x2Cu);v6 = -1318876260;
v8 = -1366029130;
v9 = -1101491021;
v7 = 1178164397;
v10 = L"Transport-Data Proxy Sub-Layer";
v11 = L"Sub-Layer for use by Transport-Data Proxy callouts";
v12 = 0;v13 = 0;v1 = FwpmSubLayerAdd0(fwpm_filter0, &v6, 0);
if ( v1 < 0

WINNTI Kernel Driver

Copyright © 2004-2017 Macnica Networks Corp. All Rights Reserved.

WDKトラフィックキャプチャ

32

WINNTI (2016検体 Kernel Driver)▎ トラフィックの改変 (秘匿)▎ FwpsInjectTransportReceive(Send)Async0
sub_401240();
ThreadHandle = 0;v2 = PsCreateSystemThread(&ThreadHandle, 0x1FFFFFu, 0, 0, 0, StartRoutine, 0);
if ( v2 >= 0 ){v2 = ObReferenceObjectByHandle(ThreadHandle, 0, 0, 0, &dword_40881C, 0);
ZwClose(ThreadHandle);
if ( v2 >= 0 ){ThreadHandle = 0;v2 = PsCreateSystemThread(&ThreadHandle, 0x1FFFFFu, 0, 0, 0, sub_401480, 0);
if ( v2 >= 0 ){v2 = ObReferenceObjectByHandle(ThreadHandle, 0, 0, 0, &dword_40820C, 0);
ZwClose(ThreadHandle);
if ( v2 >= 0 ){DriverObject->DriverUnload = (PDRIVER_UNLOAD)sub_404E00;
return v2;

Copyright © 2004-2017 Macnica Networks Corp. All Rights Reserved.

KeAcquireInStackQueuedSpinLock(&dword_408258, &LockHandle);
injdest01 = P;
P = *(PVOID *)P;*((_DWORD *)P + 1) = &P;
KeReleaseInStackQueuedSpinLock(&LockHandle);
if ( injdest01[2] ){v3 = FwpsInjectTransportReceiveAsync0(
injhandle01,
0,
0,
0,
2,
injdest01[11],injdest01[27],injdest01[28],injdest01[12],sub_405300,
injdest01);
if ( v3 < 0 )FwpsFreeCloneNetBufferList0(injdest01[12], 0);v2 = v3;
injdest01[12] = 0;

33

WINNTI (2017検体)
▎標的
▎化学

▎検体
▎64bit ローンチャDLL▎SHA256:

d3c6d513ca7e649287bd63cef865419b2b4a0ef9e48664e2905f700d0db9587
02df9535c6fcfdeeec199135b9f7a0c417bded67e5d28aa0f42827b672af4194
d16e01dbb894a40ff0c8b3f6b25a41d190db03c15c432ac50c3784a9880d376e▎C2通信なく、別の感染端末から操作

Copyright © 2004-2017 Macnica Networks Corp. All Rights Reserved.

34

WINNTI (2017検体動作)
IIS関連プロセス

1. 1つのExport関数を改変し、cgi64.dllをロードするmpr.dll
2. cgi64.dllはXOR 0x36でコードをデコード、
w3cutils.dllをrundllで実⾏ (バッチファイル)
rundll32 w3cutils.dll, #28

3. w3cutils.dllは、GetComputerName()でコンピューター名、レジストリからProductIdを取得。
標的の環境の場合、AESでコードを復号
4. 復号したコードをsvchostにインジェクション、起動
Copyright © 2004-2017 Macnica Networks Corp. All Rights Reserved.

35

WINNTI (2017検体 Sysmon チェック)▎ Sysmon.exeのプロセス有無▎ プロセス有の場合、Sysmonイベント停⽌？
__int64 SysmonChk_OpenProc_WriteF__(){unsigned int v0; // ebx__int64 v1; // rbx}__int64 __fastcall OpenEventCloseHandle__(__int64 BFE_Event__){__int64 handle0; // rax
handle0 = kernel32_OpenEventA(1i64, 0i64, BFE_Event__);if ( handle0 ){((void (__fastcall *)(__int64))kernel32_CloseHandle)(handle0);
handle0 = 1i64;}
return handle0;

if ( (unsigned int)GetVersionEX__() < 4 )return 0i64;
v0 = Sysmoncheck__((__int64)"sysmon.exe", 0);}
if ( v0 ){if ( !(unsigned int)OpenEventCloseHandle__((__int64)"Global¥¥BFE_Notify_Event_{65a097fe-6102-446a-9f9c-55dfc3f411016}") )WriteFBySwith_OpenProc_CreateThread____(v0, (__int64)qword_225BC80, (unsigned __int64)&unk_16000, 0i64, 0, 1u);v1 = CreateEvent1__((__int64)"Global¥¥BFE_Notify_Event_{65a097fe-6102-446a-9f9c-55dfc3f411014}");kernel32_Sleep(5000i64);
if ( v1 )((void (__fastcall *)(__int64))kernel32_CloseHandle)(v1);}return 0i64;

Copyright © 2004-2017 Macnica Networks Corp. All Rights Reserved.

36

WINNTI (2017検体 Kernel Driver)▎ ラテラル操作⽤ (C2通信なしにRAT操作)▎ ¥¥Device¥¥NullをRATが作成、ドライバがポインタを利⽤

Kernel Driver...
v5 = a3;{
v6 = a1;
RtlInitUnicodeString(&DestinationString, L"¥¥Device¥¥Null");v7 = a4;
v8 = a2;
v1 =0i64);
IoGetDeviceObjectPointer(&DestinationString, 1u, (PFILE_OBJECT *)&Object,nullhandl0 = CreateFileA("¥¥¥¥.¥¥Nul", 3221225472i64, 3i64, 0i64, 3, 64,&DeviceObject);if ( nullhandl0 == -1 )return 0i64;
if ( (v1 & 0x80000000) == 0 )if ( v5 ){{DrvObj0 = DeviceObject->DriverObject;LODWORD(v11) = v7;
if ( DrvObj0
result = DeviceIoControl(nullhandl0, &DeviceIoCtrl_Arg02, v6, v8, v5, v11,
a5, 0i64);){}
qword_14000A228 = (__int64 (*)(void))DrvObj0->MajorFunction[14];else
DrvObj0->MajorFunction[14] ={(PDRIVER_DISPATCH)Probe4ReadWrite_IofCompleteIRP;LODWORD(v11) = 0;
result = DeviceIoControl(nullhandl0, &unk_156003, v6, v8, 0i64, v11, a5,result0i64);= v1;
}
}
else
{
...

WINNTI RAT

Copyright © 2004-2017 Macnica Networks Corp. All Rights Reserved.

37

WINNTI (2017検体 Kernel Driver)▎ NdisSendNetBufferLists (Buffer size 1024)
v7 = NDIS_HANDL01;
v6->Next = 0i64;
LODWORD(Irp) = 0;v8 = NdisAllocateNetBufferAndNetBufferList(v7, 0i64, 0i64, v6, Irp, v2);// Alloc and Init NET_BUFFER_LIST
if ( v8 ){if ( VirtualAddress ){memmove(VirtualAddress, v3, v2);
v9 = NDis_Dst_TargetAdapter;*(_QWORD *)(v8 + 120) = NDis_Dst_TargetAdapter;
NdisSendNetBufferLists(v9, v8, 0i64, 1i64);// target adapter, NET_BUFF_LIST, PortNum, SendFlag
if ( (unsigned int)dword_14000A060 > 0 && (unsigned __int16)word_14000A064 > 0u )SpinLockRelated__01_0(v3, (unsigned int)v2, 0);goto LABEL_18;}
goto LABEL_11;}....

Copyright © 2004-2017 Macnica Networks Corp. All Rights Reserved.

38

WINNTI (2017検体 Kernel Driver)▎NdisCopyFromNetBufferToNetBuffer
while ( 1 ){v15 = *((_DWORD *)v12 + 6);
if ( v15 - 1 <= 0x63F ){NET_BUFF_struct01 = (_DWORD *)NdisAllocateNetBufferMdlAndData(NDIS_HANDLE01);
v17 = NET_BUFF_struct01;
if ( !NET_BUFF_struct01 )goto LABEL_20;
NET_BUFF_struct01[6] = 0;
NET_BUFF_struct01[10] = 0;
NET_BUFF_struct01[4] = 0;
LODWORD(v22) = 0;...

if ( (signed int)NdisCopyFromNetBufferToNetBuffer(NET_BUFF_struct01, 0i64, v15, v12, v22, &v27) < 0|| v15 != v27 )// Dst, DstOffst, Bytes, Src, SrcOffst, Bytes{

Copyright © 2004-2017 Macnica Networks Corp. All Rights Reserved.

39

WINNTI (不易の部分)▎ スレッド先頭箇所の処理▎ CreateEvent, GetWindowsVersion, OpenWindowStationA (if Old Windows)...
char v31; // [rsp+17Ah] [rbp+7Ah]
char v32; // [rsp+250h] [rbp+150h]
char v33; // [rsp+251h] [rbp+151h]

WINNTI RAT
2016

if ( (unsigned int)CreateEvent__((__int64)"Sys_Win32_Event") ){Kernel32_SetEvent(qword_1800B7270);
kernel32_Sleep(10000i64);
kernel32_WaitForSingleObject(qword_1800B7270, 0xFFFFFFFFi64);}
dword_1800B721C = 0;v0 = Get_VerifVersionInfo__();
if ( v0 <= 3 ){user32_GetProcessWindowStation();v1 = user32_OpenWindowStationA("winsta0", 0i64, 0x2000000i64);
if ( v1 )user32_SetProcessWindowStation(v1);}...

Copyright © 2004-2017 Macnica Networks Corp. All Rights Reserved.

char v24; // [rsp+75h] [rbp-Bh]

WINNTI RAT
2017

if ( (unsigned int)GetVersionEX__() <= 2 ){user32_GetProcessWindowStation();v0 = user32_OpenWindowStationA("winsta0", 0i64, 0x2000000i64);
if ( v0 )user32_SetProcessWindowStation(v0);}v5 = 'bolG’; // EventName
v6 = 'B¥¥la’; v7 = 'N_EF’; v8 = 'fito';
v9 = 'vE_y’; v10 = '_tne’; v11 = '0D7{';
v12 = '3AF0’; v13 = 'BF-C’; v14 = '4-CD';
v15 = '-D8A’; v16 = 'BEEA’; v17 = '5F3-';
v18 = '84A5’; v19 = '2D09’; v20 = 32065; v21 = 0;
if ( (unsigned int)CreateEvent__((__int64)&v5) ){kernel32_SetEvent(0i64);
kernel32_Sleep(300i64);
kernel32_WaitForSingleObject(0i64, 0xFFFFFFFFi64);}

40

WINNTI (不易の部分)▎ カーネルドライバのインストール⽅法▎ ファイル保存先 (すぐ削除)：¥WINDOWS¥TEMP¥XXXX.tmp

if ( v2 > 3 ){v4 = 40960; //Size
v5 = &MZ01; // Driver for 7 or above x64}
else{
v4 = 22016; //Size
v5 = &MZ02; // Driver for 2003 or below}
Create_WriteFile__(v5, v4, v9);
Load_Driver__((__int64)v9, (__int64)&v7); // RegCreateKey(%Service), NtLoadDriver(), RegDeleteKey()kernel32_SetFileAttributesA(v9, 128);
kernel32_DeleteFileA(v9);
Copyright © 2004-2017 Macnica Networks Corp. All Rights Reserved.

41

WINNTI (不易の部分)▎RegCreateKey(サービス), LoadDriver()によるサービス作成・開始▎sc queryから秘匿(SCMを経由しない)▎DeleteFile()でドライバファイルの削除▎AVに検知される確率の低下▎driverqueryから秘匿▎中華⺠國某企業の失効したデジタル署名▎64bit OS – 失効したデジタル署名でも動作▎ドライバの署名が失効したものかは確認しない？
▎その他▎GMERで不検出
Copyright © 2004-2017 Macnica Networks Corp. All Rights Reserved.

42

WINNTI (不易の部分例 アセンブラレベル)▎プロセスオープンとスレッド作成
mov [rsp-20h+arg_10], r8
mov [rsp-20h+arg_18], r9push rbp
push rbx
push rsi
push rdi
mov rbp, rsp
sub rsp, 58h
and [rbp+var_38], 0
mov rbx, rdx
xor edx, edx
mov rsi, r8
mov rdi, rcx
lea r8d, [rdx+28h]
lea rcx, [rbp+var_30]
call _imul_neg__
test rsi, rsi

Copyright © 2004-2017 Macnica Networks Corp. All Rights Reserved.

コンソール処理箇所CONOUT$
sub rsp, 48h
and [rsp+48h+var_18], 0and [rsp+48h+var_20], 0
mov r8d, 3 ; _QWORD
lea rcx, aConout ; "CONOUT$"
xor r9d, r9d ; _QWORD
mov edx, 40000000h ; _QWORD
mov dword ptr [rsp+48h+var_28], r8d ;_QWORD
call cs:kernel32_CreateFileW
mov cs:qword_1800B5EE0, rax
add rsp, 48h
retn

43

YARAルール (yara32 xxx.yara PID)
rule MNC_APT_2016_17_WINNTI{
meta:
malware_family = "WINNTI"
actro = "WINNTI"
last_modified = "2017-01"
description = "Hex top of OpenProc_CreateThread / Strings on Memory"
rev = 1weight = 100
strings:$hex1 = { 4C 89 44 24 18 4C 89 4C 24 20 55 53 56 57 48 8B EC 48 83 EC 58 48 83 65 C8 00 48 8B }$hex2 = { DA 33 D2 49 8B F0 48 8B F9 44 8D 42 28 48 8D 4D D0 E8 ?? F? FF FF 48 85 F6 75 15 E8 }$str1 = "CONOUT$" wide$str2 = "A at L %d"
condition:
all of them}
Copyright © 2004-2017 Macnica Networks Corp. All Rights Reserved.

44

まとめ

Copyright © 2004-2017 Macnica Networks Corp. All Rights Reserved.

45

APTをとらえる変更が困難➡ 痛みが⼤きい▎攻撃者の使うRATの不易な部分 (メモリ)容易に変更可能➡ 痛みが少ない
攻撃者における“痛み”のピラミッド [10]Copyright © 2004-2017 Macnica Networks Corp. All Rights Reserved.

46

Appendix

Copyright © 2004-2017 Macnica Networks Corp. All Rights Reserved.

47

Tools Tips : MazeWalker▎Intel社が公開しているPINを利⽤▎コードトレース▎動的情報をidbに反映。

Copyright © 2004-2017 Macnica Networks Corp. All Rights Reserved.

48

Tool Tips: x64dbg - OllyDump

Copyright © 2004-2017 Macnica Networks Corp. All Rights Reserved.

49

Tools Tips: Dynamic Load Library IDBへ反映

・Load File > C Header
・Add Enum・Type mCopyright © 2004-2017 Macnica Networks Corp. All Rights Reserved.

x64dbgのインポートアドレス領域を
pythonでenum定義のC header
テキストファイルに
ファイルに
保存
変換
50

Tools Tips: Dynamic Load Library IDBへ反映

Copyright © 2004-2017 Macnica Networks Corp. All Rights Reserved.

51

Tools▎ x64dbg

https://x64dbg.com▎ OllydumpEx▎ xAnalyzer▎ MazeWalker

https://github.com/0xPhoeniX/MazeWalker▎ FLARE

https://github.com/fireeye/flare-ida▎ FileInsighthttps://www.mcafee.com/jp/downloads/free-tools/fileinsight.aspx▎ BinDiff

https://www.zynamics.com/bindiff.html▎ Process Hacker

http://processhacker.sourceforge.net/

Copyright © 2004-2017 Macnica Networks Corp. All Rights Reserved.

52

Reference
1. http://blog.trendmicro.co.jp/archives/5293
2. https://www2.fireeye.com/WEB-2014RPTJPM-Trends2014.html
3. https://www.arbornetworks.com/blog/asert/wp-content/uploads/2014/06/ASERT-Threat-Intelligence-Brief-2014-07-Illuminating-Etumbot-APT.pdf
4. https://www.lac.co.jp/lacwatch/people/20160126_000306.html
5. https://kasperskycontenthub.com/wp-content/uploads/sites/43/vlpdfs/winnti-more-than-just-a-game-130410.pdf
6. http://blog.trendmicro.co.jp/archives/11809
7. https://hitcon.org/2016/pacific/0composition/pdf/1201/1201%20R2%201610%20winnti%20polymorphism.pdf
8. https://attack.mitre.org/wiki/Groups
9. https://github.com/0xhajic/
10. http://rvasec.com/slides/2014/Bianco_Pyramid%20of%20Pain.pdf

Copyright © 2004-2017 Macnica Networks Corp. All Rights Reserved.

53