BloodHound & Other Active Directory Enumeration Tools

Tip

AWS ํ•ดํ‚น ๋ฐฐ์šฐ๊ธฐ ๋ฐ ์—ฐ์Šตํ•˜๊ธฐ:HackTricks Training AWS Red Team Expert (ARTE)
GCP ํ•ดํ‚น ๋ฐฐ์šฐ๊ธฐ ๋ฐ ์—ฐ์Šตํ•˜๊ธฐ: HackTricks Training GCP Red Team Expert (GRTE) Azure ํ•ดํ‚น ๋ฐฐ์šฐ๊ธฐ ๋ฐ ์—ฐ์Šตํ•˜๊ธฐ: HackTricks Training Azure Red Team Expert (AzRTE)

HackTricks ์ง€์›ํ•˜๊ธฐ

Adws Enumeration

NOTE: ์ด ํŽ˜์ด์ง€๋Š” Active Directory ๊ด€๊ณ„๋ฅผ enumerate ๋ฐ visualise ํ•˜๊ธฐ ์œ„ํ•œ ๊ฐ€์žฅ ์œ ์šฉํ•œ ์œ ํ‹ธ๋ฆฌํ‹ฐ๋“ค์„ ๋ชจ์•„๋‘” ๊ฒƒ์ž…๋‹ˆ๋‹ค. ์€๋ฐ€ํ•œ Active Directory Web Services (ADWS) ์ฑ„๋„์„ ํ†ตํ•œ ์ˆ˜์ง‘์€ ์œ„์˜ ๋ ˆํผ๋Ÿฐ์Šค๋ฅผ ํ™•์ธํ•˜์„ธ์š”.


AD Explorer

AD Explorer (Sysinternals)๋Š” ๋‹ค์Œ์„ ์ œ๊ณตํ•˜๋Š” ๊ณ ๊ธ‰ AD viewer & editor ์ž…๋‹ˆ๋‹ค:

  • ๋””๋ ‰ํ„ฐ๋ฆฌ ํŠธ๋ฆฌ๋ฅผ GUI๋กœ ํƒ์ƒ‰
  • ๊ฐœ์ฒด ์†์„ฑ ๋ฐ ๋ณด์•ˆ ๋””์Šคํฌ๋ฆฝํ„ฐ ํŽธ์ง‘
  • ์˜คํ”„๋ผ์ธ ๋ถ„์„์„ ์œ„ํ•œ ์Šค๋ƒ…์ƒท ์ƒ์„ฑ/๋น„๊ต

Quick usage

  1. ๋„๊ตฌ๋ฅผ ์‹œ์ž‘ํ•˜๊ณ  ์ž„์˜์˜ ๋„๋ฉ”์ธ ์ž๊ฒฉ์ฆ๋ช…์œผ๋กœ dc01.corp.local์— ์—ฐ๊ฒฐํ•ฉ๋‹ˆ๋‹ค.
  2. File โžœ Create Snapshot๋ฅผ ํ†ตํ•ด ์˜คํ”„๋ผ์ธ ์Šค๋ƒ…์ƒท์„ ๋งŒ๋“ญ๋‹ˆ๋‹ค.
  3. ๊ถŒํ•œ ๋ณ€ํ™”๋ฅผ ์ฐพ์œผ๋ ค๋ฉด File โžœ Compare๋กœ ๋‘ ์Šค๋ƒ…์ƒท์„ ๋น„๊ตํ•˜์„ธ์š”.

ADRecon

ADRecon์€ ๋„๋ฉ”์ธ์—์„œ ๋งŽ์€ ์•„ํ‹ฐํŒฉํŠธ(ACLs, GPOs, trusts, CA templates โ€ฆ)๋ฅผ ์ถ”์ถœํ•˜์—ฌ Excel ๋ณด๊ณ ์„œ๋ฅผ ์ƒ์„ฑํ•ฉ๋‹ˆ๋‹ค.

# On a Windows host in the domain
PS C:\> .\ADRecon.ps1 -OutputDir C:\Temp\ADRecon

BloodHound (๊ทธ๋ž˜ํ”„ ์‹œ๊ฐํ™”)

BloodHound์€ ๊ทธ๋ž˜ํ”„ ์ด๋ก  + Neo4j๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ์˜จํ”„๋ ˆ๋ฏธ์Šค AD ๋ฐ Azure AD ๋‚ด๋ถ€์˜ ์ˆจ๊ฒจ์ง„ ๊ถŒํ•œ ๊ด€๊ณ„๋ฅผ ๋“œ๋Ÿฌ๋ƒ…๋‹ˆ๋‹ค.

๋ฐฐํฌ (Docker CE)

curl -L https://ghst.ly/getbhce | docker compose -f - up
# Web UI โžœ http://localhost:8080  (user: admin / password from logs)

์ˆ˜์ง‘๊ธฐ

  • SharpHound.exe / Invoke-BloodHound โ€“ ๋„ค์ดํ‹ฐ๋ธŒ ๋˜๋Š” PowerShell ๋ณ€ํ˜•
  • AzureHound โ€“ Azure AD enumeration
  • SoaPy + BOFHound โ€“ ADWS collection (์ƒ๋‹จ์˜ ๋งํฌ ์ฐธ์กฐ)

์ผ๋ฐ˜์ ์ธ SharpHound ๋ชจ๋“œ

SharpHound.exe --CollectionMethods All           # Full sweep (noisy)
SharpHound.exe --CollectionMethods Group,LocalAdmin,Session,Trusts,ACL
SharpHound.exe --Stealth --LDAP                      # Low noise LDAP only

์ˆ˜์ง‘๊ธฐ๋“ค์€ JSON์„ ์ƒ์„ฑํ•˜๋ฉฐ, ์ด๋Š” BloodHound GUI๋ฅผ ํ†ตํ•ด ๋กœ๋“œ๋ฉ๋‹ˆ๋‹ค.


BloodHound๋กœ Kerberoasting ์šฐ์„ ์ˆœ์œ„ ์ง€์ •

๊ทธ๋ž˜ํ”„ ์ปจํ…์ŠคํŠธ๋Š” ์†Œ์Œ์ด ๋งŽ๊ณ  ๋ฌด์ฐจ๋ณ„์ ์ธ roasting์„ ํ”ผํ•˜๋Š” ๋ฐ ํ•„์ˆ˜์ ์ž…๋‹ˆ๋‹ค. ๊ฐ„๋‹จํ•œ ์›Œํฌํ”Œ๋กœ:

  1. ํ•œ ๋ฒˆ๋งŒ ๋ชจ๋‘ ์ˆ˜์ง‘ using an ADWS-compatible collector (e.g. RustHound-CE) so you can work offline and rehearse paths without touching the DC again:
rusthound-ce -d corp.local -u svc.collector -p 'Passw0rd!' -c All -z
  1. ZIP์„ ์ž„ํฌํŠธํ•˜๊ณ  ์นจํ•ด๋œ principal์„ owned๋กœ ํ‘œ์‹œํ•œ ๋‹ค์Œ, Kerberoastable Users ๋ฐ Shortest Paths to Domain Admins ๊ฐ™์€ ๋‚ด์žฅ ์ฟผ๋ฆฌ๋ฅผ ์‹คํ–‰ํ•˜์„ธ์š”. ์ด๋Š” Exchange, IT, tier0 service accounts ๋“ฑ ์œ ์šฉํ•œ ๊ทธ๋ฃน ๋ฉค๋ฒ„์‹ญ์„ ๊ฐ€์ง„ SPN ๋ณด์œ  ๊ณ„์ •์„ ์ฆ‰์‹œ ๊ฐ•์กฐํ•ฉ๋‹ˆ๋‹ค.
  2. Prioritise by blast radius โ€“ ๊ณต์œ  ์ธํ”„๋ผ๋ฅผ ์ œ์–ดํ•˜๊ฑฐ๋‚˜ ๊ด€๋ฆฌ์ž ๊ถŒํ•œ์„ ๊ฐ€์ง„ SPN์— ์ง‘์ค‘ํ•˜๊ณ , cracking cycles์„ ๋“ค์ด๊ธฐ ์ „์— pwdLastSet, lastLogon, ๋ฐ ํ—ˆ์šฉ๋œ ์•”ํ˜ธํ™” ์œ ํ˜•์„ ํ™•์ธํ•˜์„ธ์š”.
  3. Request only the tickets you care about. Tools like NetExec can target selected sAMAccountNames so that each LDAP ROAST request has a clear justification:
netexec ldap dc01.corp.local -u svc.collector -p 'Passw0rd!' --kerberoasting kerberoast.txt --spn svc-sql
  1. Crack offline, ๊ทธ๋Ÿฐ ๋‹ค์Œ ์ฆ‰์‹œ BloodHound๋ฅผ ๋‹ค์‹œ ์ฟผ๋ฆฌํ•˜์—ฌ ์ƒˆ๋กœ์šด ๊ถŒํ•œ์œผ๋กœ post-exploitation์„ ๊ณ„ํšํ•˜์„ธ์š”.

์ด ์ ‘๊ทผ๋ฒ•์€ ์‹ ํ˜ธ ๋Œ€ ์žก์Œ๋น„๋ฅผ ๋†’๊ฒŒ ์œ ์ง€ํ•˜๊ณ , ํƒ์ง€ ๊ฐ€๋Šฅํ•œ ํŠธ๋ž˜ํ”ฝ ์–‘์„ ์ค„์ด๋ฉฐ(๋Œ€๊ทœ๋ชจ SPN ์š”์ฒญ ์—†์Œ), ํฌ๋ž™๋œ ๊ฐ ํ‹ฐ์ผ“์ด ์˜๋ฏธ ์žˆ๋Š” ๊ถŒํ•œ ์ƒ์Šน ๋‹จ๊ณ„๋กœ ์ด์–ด์ง€๋„๋ก ๋ณด์žฅํ•ฉ๋‹ˆ๋‹ค.

Group3r

Group3r์€ Group Policy Objects๋ฅผ ์—ด๊ฑฐํ•˜๊ณ  ์ž˜๋ชป๋œ ๊ตฌ์„ฑ์„ ๊ฐ•์กฐํ•ฉ๋‹ˆ๋‹ค.

# Execute inside the domain
Group3r.exe -f gpo.log   # -s to stdout

PingCastle

PingCastle๋Š” Active Directory์˜ ์ƒํƒœ๋ฅผ ๊ฒ€์‚ฌํ•˜๋Š” health-check๋ฅผ ์ˆ˜ํ–‰ํ•˜๊ณ  ์œ„ํ—˜ ์ ์ˆ˜๋กœ ํ‰๊ฐ€๋œ HTML ๋ณด๊ณ ์„œ๋ฅผ ์ƒ์„ฑํ•ฉ๋‹ˆ๋‹ค.

PingCastle.exe --healthcheck --server corp.local --user bob --password "P@ssw0rd!"

์ฐธ๊ณ  ๋ฌธํ—Œ

Tip

AWS ํ•ดํ‚น ๋ฐฐ์šฐ๊ธฐ ๋ฐ ์—ฐ์Šตํ•˜๊ธฐ:HackTricks Training AWS Red Team Expert (ARTE)
GCP ํ•ดํ‚น ๋ฐฐ์šฐ๊ธฐ ๋ฐ ์—ฐ์Šตํ•˜๊ธฐ: HackTricks Training GCP Red Team Expert (GRTE) Azure ํ•ดํ‚น ๋ฐฐ์šฐ๊ธฐ ๋ฐ ์—ฐ์Šตํ•˜๊ธฐ: HackTricks Training Azure Red Team Expert (AzRTE)

HackTricks ์ง€์›ํ•˜๊ธฐ