En pwm observamos unas credenciales, nombres de usuario, algo muy interesante fueron los “hashes” de Ansible dentro de pwm\defaults\main.yml.
🔐 Crackeo de archivos Ansible Vault con John the Ripper
🔄 Conversión de los archivos Vault:
🧨 Ataque con diccionario:
Descifrado - ansible-vault
Con ello obtuvimos una lista de contrasenas y un usuario ya conocido.
En el escaneo se puede ver una web https por el puerto 8443/tcp open ssl/http
Explotación de PWM - Captura de credenciales LDAP en texto claro
Podemos descagar el archivo de configuracion y otro apartado de subir archivo podemos modificar el contenido para que con reponder obtengamos el hash
Identificación del archivo de configuración
Desde la interfaz web de PWM (por ejemplo, en https://<IP>:8443), observamos que el sistema está en modo de configuración y permite:
Descargar el archivo PwmConfiguration.xml
Subir configuraciones personalizadas
Ruta reportada:
Subir la configuración modificada
Volvemos a la interfaz PWM y en:
Subimos el archivo modificado PwmConfiguration.xml.
PWM carga la configuración y no valida que el servidor LDAP esté realmente disponible o seguro.
Escuchar con Responder
En nuestra máquina atacante, ejecutamos Responder en la interfaz tun0:
Esto nos permite simular un servidor LDAP y capturar autenticaciones entrantes.
Captura de credenciales en texto claro
Responder muestra:
Entramos como el usuario svc_ldap
Escalada de privilegios
ESC1 - Abuso de plantilla vulnerable para suplantar al administrador
Miramos los certificados:
Tenemos que tener listo el nombre de la Template: CorpVPN
🎯 Objetivo
Explotar una plantilla de certificado vulnerable (CorpVPN) para obtener un certificado válido como Administrator y escalar privilegios en el dominio authority.htb.
Verificar privilegio para agregar computadoras
Primero, confirmamos que el usuario svc_ldap tiene el privilegio SeMachineAccountPrivilege, que le permite agregar máquinas al dominio. Esto se puede verificar con BloodHound o utilizando herramientas como PowerView.
Una vez confirmado, usamos el módulo addcomputer de Impacket:
✅ El resultado fue exitoso (código mayor a 0), lo que confirma que svc_ldap puede registrar computadoras.
Solicitar un certificado como Administrator (ESC1)
Ahora utilizamos la nueva cuenta de máquina las$ para solicitar un certificado de la plantilla vulnerable CorpVPN, suplantando al usuario Administrator.
🧾 Esto genera un archivo .pfx, por ejemplo: administrator_authority.pfx, que contiene el certificado privado válido para Administrator.
Autenticarse como Administrator
Usamos el certificado generado para autenticarnos directamente como el usuario Administrator en LDAP:
📥 Esto nos da acceso interactivo a LDAP como Administrator.
Crear un nuevo usuario y agregarlo a Administradores
Desde el ldap-shell, podemos:
Crear un nuevo usuario
Añadirlo al grupo Domain Admins o Administrators
Crear el usuario:
Agregar al grupo Administrators:
Entramos con evil-winrm y verificamos si el usuario pertenece al grupo Administrators
───────┬──────────────────────────────────────────────────────────────────
│ File: targeted
───────┼──────────────────────────────────────────────────────────────────
1 │ # Nmap 7.95 scan initiated Mon Jul 14 07:17:25 2025 as: /usr/lib/
│ nmap/nmap --privileged -sCV -p135,139,3268,3269,389,445,464,47001
│ ,49664,49665,49666,49667,49673,49690,49691,49693,49694,49703,4971
│ 4,54264,593,5985,636,80,8443,88,9389,53 -oN targeted 10.10.11.222
2 │ Nmap scan report for 10.10.11.222
3 │ Host is up (0.28s 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-title: IIS Windows Server
9 │ |_http-server-header: Microsoft-IIS/10.0
10 │ | http-methods:
11 │ |_ Potentially risky methods: TRACE
12 │ 88/tcp open kerberos-sec Microsoft Windows Kerberos (server
│ time: 2025-07-14 09:17:34Z)
13 │ 135/tcp open msrpc Microsoft Windows RPC
14 │ 139/tcp open netbios-ssn Microsoft Windows netbios-ssn
15 │ 389/tcp open ldap Microsoft Windows Active Directory
│ LDAP (Domain: authority.htb, Site: Default-First-Site-Name)
16 │ | ssl-cert: Subject:
17 │ | Subject Alternative Name: othername: UPN:AUTHORITY$@htb.corp, D
│ NS:authority.htb.corp, DNS:htb.corp, DNS:HTB
18 │ | Not valid before: 2022-08-09T23:03:21
19 │ |_Not valid after: 2024-08-09T23:13:21
20 │ |_ssl-date: 2025-07-14T09:18:50+00:00; +4h00m01s from scanner tim
│ e.
21 │ 445/tcp open microsoft-ds?
22 │ 464/tcp open kpasswd5?
23 │ 593/tcp open ncacn_http Microsoft Windows RPC over HTTP 1.0
24 │ 636/tcp open ssl/ldap Microsoft Windows Active Directory
│ LDAP (Domain: authority.htb, Site: Default-First-Site-Name)
25 │ |_ssl-date: 2025-07-14T09:18:49+00:00; +4h00m01s from scanner tim
│ e.
26 │ | ssl-cert: Subject:
27 │ | Subject Alternative Name: othername: UPN:AUTHORITY$@htb.corp, D
│ NS:authority.htb.corp, DNS:htb.corp, DNS:HTB
28 │ | Not valid before: 2022-08-09T23:03:21
29 │ |_Not valid after: 2024-08-09T23:13:21
30 │ 3268/tcp open ldap Microsoft Windows Active Directory
│ LDAP (Domain: authority.htb, Site: Default-First-Site-Name)
31 │ | ssl-cert: Subject:
32 │ | Subject Alternative Name: othername: UPN:AUTHORITY$@htb.corp, D
│ NS:authority.htb.corp, DNS:htb.corp, DNS:HTB
33 │ | Not valid before: 2022-08-09T23:03:21
34 │ |_Not valid after: 2024-08-09T23:13:21
35 │ |_ssl-date: 2025-07-14T09:18:50+00:00; +4h00m01s from scanner tim
│ e.
36 │ 3269/tcp open ssl/ldap Microsoft Windows Active Directory
│ LDAP (Domain: authority.htb, Site: Default-First-Site-Name)
37 │ |_ssl-date: 2025-07-14T09:18:51+00:00; +4h00m00s from scanner tim
│ e.
38 │ | ssl-cert: Subject:
39 │ | Subject Alternative Name: othername: UPN:AUTHORITY$@htb.corp, D
│ NS:authority.htb.corp, DNS:htb.corp, DNS:HTB
40 │ | Not valid before: 2022-08-09T23:03:21
41 │ |_Not valid after: 2024-08-09T23:13:21
42 │ 5985/tcp open http Microsoft HTTPAPI httpd 2.0 (SSDP/U
│ PnP)
43 │ |_http-title: Not Found
44 │ |_http-server-header: Microsoft-HTTPAPI/2.0
45 │ 8443/tcp open ssl/http Apache Tomcat (language: en)
46 │ |_http-title: Site doesn't have a title (text/html;charset=ISO-88
│ 59-1).
47 │ |_ssl-date: TLS randomness does not represent time
48 │ | ssl-cert: Subject: commonName=172.16.2.118
49 │ | Not valid before: 2025-07-12T09:14:40
50 │ |_Not valid after: 2027-07-14T20:53:04
51 │ 9389/tcp open mc-nmf .NET Message Framing
52 │ 47001/tcp open http Microsoft HTTPAPI httpd 2.0 (SSDP/U
│ PnP)
53 │ |_http-server-header: Microsoft-HTTPAPI/2.0
54 │ |_http-title: Not Found
55 │ 49664/tcp open msrpc Microsoft Windows RPC
56 │ 49665/tcp open msrpc Microsoft Windows RPC
57 │ 49666/tcp open msrpc Microsoft Windows RPC
58 │ 49667/tcp open msrpc Microsoft Windows RPC
59 │ 49673/tcp open msrpc Microsoft Windows RPC
60 │ 49690/tcp open ncacn_http Microsoft Windows RPC over HTTP 1.0
61 │ 49691/tcp open msrpc Microsoft Windows RPC
62 │ 49693/tcp open msrpc Microsoft Windows RPC
63 │ 49694/tcp open msrpc Microsoft Windows RPC
64 │ 49703/tcp open msrpc Microsoft Windows RPC
65 │ 49714/tcp open msrpc Microsoft Windows RPC
66 │ 54264/tcp open msrpc Microsoft Windows RPC
67 │ Service Info: Host: AUTHORITY; OS: Windows; CPE: cpe:/o:microsoft
│ :windows
68 │
69 │ Host script results:
70 │ | smb2-time:
71 │ | date: 2025-07-14T09:18:39
72 │ |_ start_date: N/A
73 │ | smb2-security-mode:
74 │ | 3:1:1:
75 │ |_ Message signing enabled and required
76 │ |_clock-skew: mean: 4h00m00s, deviation: 0s, median: 4h00m00s
77 │
78 │ Service detection performed. Please report any incorrect results
│ at https://nmap.org/submit/ .
79 │ # Nmap done at Mon Jul 14 07:18:52 2025 -- 1 IP address (1 host u
│ p) scanned in 87.26 seconds