HackTheBox Sherlock - Campfire-1 (DFIR)
HackTheBox Sherlock Campfire-1 解説。ドメインコントローラの Event ID 4769(RC4 の TGS 要求)と、エンドポイントの PowerShell ScriptBlock ログ(PowerView)・Prefetch(Rubeus)を突き合わせ、Active Directory への Kerberoasting 攻撃を検知・特定する。
シナリオ
Campfire-1 は HackTheBox の Sherlock(防御・DFIR 系)で難易度 Easy。Forela の SOC は Kerberoasting 攻撃を疑っている。ドメインコントローラのセキュリティログと、疑わしいワークステーションのトリアージが渡され、攻撃の確認と特定を行う。
「SOC マネージャの Alonzo は、攻撃者がネットワークに侵入し Kerberoasting を行ったと考えている。DC のセキュリティログとエンドポイントのトリアージ(PowerShell ログ + Prefetch)が提供される。活動を確認し、標的サービス・攻撃元ワークステーション・使用ツールを特定せよ。」
| 項目 | 内容 |
|---|---|
| プラットフォーム | HackTheBox — Sherlock |
| カテゴリ | DFIR / Active Directory ログ解析 |
| 難易度 | Easy |
| 証跡 | Security.evtx (DC) + エンドポイントトリアージ(PowerShell ログ・Prefetch) |
| 必要スキル | Event ID 4769 トリアージ、Kerberoasting 検知、PowerShell ScriptBlock ログ、Prefetch |
提供される証跡
Security.evtx— ドメインコントローラのセキュリティイベントログ(Kerberos の4769TGS 要求を含む)。- 攻撃元ワークステーションのエンドポイントトリアージ:
- PowerShell Operational ログ(
Microsoft-Windows-PowerShell/Operational、ScriptBlock イベント4104)。 - Prefetch(
C:\Windows\Prefetch\*.pf) — どの実行ファイルがいつ動いたかの証拠。
- PowerShell Operational ログ(
本ケースは突き合わせの演習: DC は 何が(roast されたSPN)とどこから(IP)を、エンドポイントは どうやって(PowerView + Rubeus)といつを教える。
使用ツール
- EvtxECmd(Eric Zimmerman)→ CSV →Timeline Explorer で
Security.evtxと PowerShell ログを閲覧 - PECmd(Eric Zimmerman) — Prefetch 解析(最終実行時刻)
- 代替に Windows イベントビューア(XPath フィルタ)
1
2
3
4
# Security ログ + PowerShell Operational ログ -> CSV (Timeline Explorer 用)
EvtxECmd.exe -f Security.evtx --csv . --csvf security.csv
# Prefetch -> 最終実行時刻
PECmd.exe -d C:\triage\Prefetch --csv . --csvf prefetch.csv
解説 — Kerberoasting は設計上ちょうど1か所で目立つ: DC は発行する TGS ごとに Event ID 4769(Kerberos サービスチケット要求)を記録する。まずこれをタイムライン化すれば、正常要求の中から異常な1件を見つけ、エンドポイントへ展開して説明できる。
前提: Kerberoasting 検知のシグナル
| シグナル | 何か | ここでの重要性 |
|---|---|---|
Event ID 4769 | Kerberos サービスチケット(TGS-REP)要求 | roast 1回につき1件 = DC 側の中核シグナル |
TicketEncryptionType 0x17 | RC4-HMAC | 攻撃者は AES より遥かに速く割れる RC4 を強制する |
ServiceName が krbtgt 以外かつ末尾 $ でない | ユーザーSPN アカウント(コンピュータ/DC01$ でない) | ユーザーSPN が roastable な標的 |
Status 0x0 | 要求成功 | TGS が実際に発行された(割れるハッシュを取得) |
PowerShell 4104 | ScriptBlock ログ | PowerView.ps1 の SPN 列挙を捕捉 |
| Prefetch | EXE の最終実行・実行回数 | Rubeus.exe の実行を証明・時刻特定 |
調査
Q1. Analyzing the Domain Controller security logs, what is the UTC date & time the Kerberoasting activity occurred?
Security.evtx を Event ID 4769 で絞り込み、TicketEncryptionType = 0x17(RC4)、ServiceName が krbtgt 以外かつ末尾 $ でない、Status = 0x0 の条件を満たすものだけ残す。一致するイベントは1件:
1
2
3
4
5
6
7
8
"EventData": {
"TargetUserName": "alonzo.spire@FORELA.LOCAL",
"ServiceName": "MSSQLService",
"TicketOptions": "0x40800000",
"TicketEncryptionType": "0x17",
"IpAddress": "::ffff:172.17.79.129",
"Status": "0x0"
}
答え
1
2024-05-21 03:18:09
解説 — 健全な DC ではほぼ全ての 4769 が AES(0x12)でコンピュータアカウント(…$)宛て。ユーザーSPN 宛ての RC4(0x17)・Status 0x0 要求が1件あれば、それが Kerberoasting の指紋 — 攻撃者がそのアカウントの割れる TGS ハッシュを取得した証拠。(MITRE ATT&CK T1558.003 — Kerberoasting)
Q2. What is the Service Name that was targeted?
一致した 4769 イベントの ServiceName を読む。
答え
1
MSSQLService
解説 — SPN はどのサービスアカウントのハッシュが盗まれたかを示す。ユーザーアカウントに紐づく SPN(ここでは MSSQLService)は roastable で、そのパスワードはオフライン解析に晒される。最優先でリセット・調査すべき対象だ。
Q3. What is the IP address of the workstation this activity came from?
同イベントの IpAddress フィールドを読む(IPv6 マップ接頭辞 ::ffff: を除く)。
答え
1
172.17.79.129
解説 — DC は全チケット要求の発信元 IP を記録する。「roast が起きた」から「172.17.79.129 から来た」へ展開できることで、正しいエンドポイントのトリアージに進み どうやって を再構築できる。
Q4. What is the name of the file used to enumerate Active Directory and find Kerberoastable accounts?
ワークステーションの PowerShell Operational ログに移り、ScriptBlock イベント(4104)を確認する。AD 列挙ツールが際立つ。
答え
1
powerview.ps1
解説 — PowerView.ps1 は事実上の AD 偵察ツールキット。Get-DomainUser -SPN で roastable アカウントを列挙する。ScriptBlock ログ(EID 4104)はスクリプト本体を記録するため、ファイルレス/インメモリ実行でもソースが残る。(MITRE ATT&CK T1087.002 — Account Discovery: Domain Account)
Q5. When was this script executed? (UTC)
PowerView の 4104 ScriptBlock イベントのタイムスタンプを読む。
答え
1
2024-05-21 03:16:32
解説 — 順序に注目: 列挙(03:16:32)は roast(03:18:09)の前に起きている。この約2分の差が、攻撃者が roastable な SPN を見つけ、そのチケットを要求するまでの、特定しやすいミニタイムラインだ。
Q6. What is the full path of the tool used to perform the actual Kerberoasting attack?
Prefetch を PECmd で解析し roasting ツールを探す。prefetch エントリにソースパスが記録される。
答え
1
C:\Users\Alonzo.spire\Downloads\Rubeus.exe
解説 — Rubeus(Rubeus.exe kerberoast)が実際の TGS 要求とハッシュ抽出を行う。Prefetch はバイナリのパスと実行履歴を記録するため、ツール名の特定と本ホストでの実行証明の両方ができる。\Downloads\ からの実行自体も弱いシグナルの IOC。(MITRE ATT&CK T1558.003)
Q7. When was the tool executed to dump credentials? (UTC)
Prefetch から RUBEUS.EXE-*.pf の最終実行時刻を読む。
答え
1
2024-05-21 03:18:08
解説 — Prefetch の実行時刻(03:18:08)は DC の 4769(03:18:09)の1秒前にある — エンドポイントと DC が秒単位で相互に裏付け、Rubeus → TGS 要求という因果連鎖を確定させる。
攻撃タイムライン
| 時刻 (UTC) | 段階 | 証跡 |
|---|---|---|
| 2024-05-21 03:16:32 | 探索(Discovery) | PowerView.ps1 が AD / roastable SPN を列挙 — PowerShell EID 4104 |
| 2024-05-21 03:18:08 | 実行 | C:\Users\Alonzo.spire\Downloads\Rubeus.exe を実行 — Prefetch 最終実行 |
| 2024-05-21 03:18:09 | 資格情報アクセス | DC が MSSQLService の TGS を発行、RC4 0x17、発信元 172.17.79.129 — EID 4769 |
flowchart TB
subgraph EVID["証跡"]
direction LR
V1["① Security EID 4769 — MSSQLService / RC4 0x17 / Status 0x0"]
V2["② PowerShell EID 4104 — PowerView.ps1"]
V3["③ Prefetch — Rubeus.exe"]
end
subgraph IOCS["IOC"]
direction LR
O1["roast対象SPN: MSSQLService (alonzo.spire)"]
O2["攻撃元WS: 172.17.79.129"]
O3["C:\\Users\\Alonzo.spire\\Downloads\\Rubeus.exe + PowerView.ps1"]
end
subgraph ATTACK["MITRE ATT&CK"]
direction LR
T1["T1087.002 Account Discovery"]
T2["T1558.003 Kerberoasting"]
T3["T1059.001 PowerShell"]
end
V1 ==> O1
V1 ==> O2
V2 ==> O3
V3 ==> O3
V2 -.-> T1
V3 -.-> T2
V1 -.-> T2
V2 -.-> T3
検知と防御(ブルーチーム)
もっと早く捕捉するには:
- Event ID 4769 で
TicketEncryptionType 0x17(RC4) かつ非マシン SPN にアラート — 極めて高シグナルな Kerberoasting 検知。 - Kerberos の RC4 を無効化し、サービスアカウントを AES 専用に。roast されても遥かに固いハッシュ(または失敗)になる。
- サービスアカウントに gMSA / 長いランダムパスワードを使う。gMSA は実質的に解析不能。
- PowerShell ScriptBlock ログ(EID 4104)とモジュールログを有効化し、PowerView/SPN 列挙を捕捉。
- プロセス実行 / Prefetch を監視し、
Rubeus・Mimikatz・\Downloads\からの実行を検出。 - ハニーポット SPN アカウントを配置 — それへの
4769は確実なアラート。
まとめ
- DC 上の Kerberoasting 指紋は EID 4769 + RC4(0x17) + ユーザーSPN(
…$でない) + Status 0x0。 - DC ログをエンドポイントの PowerShell(4104) と Prefetch と突き合わせると、攻撃元ワークステーション・偵察ツール(PowerView)・roasting ツール(Rubeus)を秒単位で特定できる。
- 防御側は RC4 廃止・gMSA 利用・PowerShell/プロセス実行のログ化で勝てる。
参考文献
- HackTheBox Sherlock: Campfire-1 — https://app.hackthebox.com/sherlocks
- Microsoft — 4769(S, F): A Kerberos service ticket was requested — https://learn.microsoft.com/windows/security/threat-protection/auditing/event-4769
- Eric Zimmerman’s Tools (EvtxECmd / PECmd / Timeline Explorer) — https://ericzimmerman.github.io/
- Rubeus — https://github.com/GhostPack/Rubeus ; PowerView — https://github.com/PowerShellMafia/PowerSploit
- MITRE ATT&CK: T1558.003 (Kerberoasting), T1087.002 (Account Discovery), T1059.001 (PowerShell)





