Skip to content
KitploitKITPLOIT
HerramientasBlog
Enviar
HerramientasBlog
Enviar

¡Herramientas de Hacking, PenTest y Ciberseguridad para tu Arsenal de Seguridad!

Kitploit es un directorio de herramientas de hacking, ciberseguridad y pentesting. Descubre las últimas actualizaciones de proyectos para encontrar vulnerabilidades, analizar sistemas, automatizar pruebas y fortalecer tu seguridad.

··Feeds·Contacto·Privacidad·© 2026 Kitploit

Directorio de Herramientas

Categorías

Ver todas las categorías
Loading categories
lil-pwny — Auditoría offline rápida de contraseñas de Active Directory usando Python. | Kitploit
Herramientas/GitHubGitHub/papermtn/lil-pwny
Descifrado de ContraseñasAnálisis de VulnerabilidadesAutenticación
GitHubpapermtn/lil-pwny

lil-pwny

Auditoría offline rápida de contraseñas de Active Directory usando Python.

Ver Repositorio
16724hace 2 añosRevisado por Kitploit

Más Populares

Ver todos →

Descubre las herramientas más usadas por nuestra comunidad.

Explora todas las herramientas

Explora nuestra colección de herramientas

Ver todas las herramientas →
Compartir

Lil Pwny

Python 2.7 and 3 compatible PyPI version License: MIT

Auditoría offline rápida de contraseñas de Active Directory usando Python.

Acerca de Lil Pwny

Lil Pwny es una aplicación en Python para realizar una auditoría offline de hashes NTLM de contraseñas de usuarios, recuperados de Active Directory, contra contraseñas comprometidas conocidas de Have I Been Pwned. Los resultados se mostrarán en formato JSON que contiene el nombre de usuario, el hash coincidente (se puede ofuscar) y cuántas veces se ha visto la contraseña coincidente en HIBP.

Más información sobre Lil Pwny se puede encontrar en mi blog

Características

  • Auditoría de contraseñas personalizadas: Capacidad de proporcionar una lista de tus propias contraseñas personalizadas para verificar contra los usuarios de AD. Esto te permite verificar las contraseñas de los usuarios contra contraseñas relevantes para tu organización que sospeches que la gente pueda estar usando.
    • Pasa un archivo .txt con las contraseñas en texto plano que deseas buscar; luego estas se convierten a hash NTLM y los hashes de AD se comparan tanto con estos como con los hashes de HIBP.
  • Detectar duplicados: Devuelve una lista de cuentas que usan las mismas contraseñas. Útil para encontrar usuarios que usan la misma contraseña para sus cuentas administrativas y estándar.
  • Nombre de usuario como contraseña: Detecta usuarios que están usando su nombre de usuario, o variaciones del mismo, como contraseña.
  • Salida ofuscada: Ofusca los hashes en la salida, por si no deseas manejar o almacenar hashes NTLM de usuarios en vivo.

Mejora de la lista de contraseñas personalizadas

Lil Pwny proporciona la funcionalidad de mejorar tu lista de contraseñas personalizadas agregando variantes de uso común de tus contraseñas personalizadas. Estas incluyen:

  • Contraseñas con sustituciones comunes de 'leetspeak' (ej. P@ssw0rd)
  • Versiones en mayúsculas de la contraseña, y primer carácter en mayúscula (ej. PASSWORD, Password)
  • Contraseñas con caracteres especiales comunes añadidos al inicio o al final (ej. password!, !password)
  • Contraseñas rellenadas con caracteres alfanuméricos comunes, caracteres especiales y repeticiones de sí mismas para que cumplan una longitud mínima determinada (ej. password123!, !passwordabc, passwordpassword)
    • Pasas la longitud mínima deseada de la contraseña a Lil Pwny al seleccionar la opción de mejora de lista personalizada
  • Contraseñas con fechas añadidas desde el año 1950 hasta 10 años a partir de la fecha actual (ej. password1950, password2034)

Una lista de contraseñas personalizadas de 100 contraseñas en texto plano genera 49848660 variaciones.

Nombres de usuario en contraseñas

Lil Pwny busca usuarios que están usando variaciones de su nombre de usuario como contraseña.

Convierte el nombre de usuario del usuario en los siguientes formatos:

  • Todo mayúsculas
  • Todo minúsculas
  • Eliminar punto "."
  • camelCase (Ej. johnSmith)
  • PascalCase (Ej. JohnSmith)

Estos se convierten luego a hashes NTLM y se auditan contra los hashes de AD

Recursos

Esta aplicación ha sido desarrollada para aprovechar al máximo el multiprocesamiento en Python, con el objetivo de que funcione lo más rápido posible en hardware de nivel de consumo.

Debido a que usa multiprocesamiento, cuantos más núcleos tengas disponibles, más rápido debería ejecutarse Lil Pwny. Aún así he obtenido muy buenos resultados con un número bajo de núcleos lógicos:

  • Entorno de prueba de ~8500 cuentas AD y lista HIBP de 613,584,246 hashes:
    • 6 núcleos lógicos - 0:05:57.640813
    • 12 núcleos lógicos - 0:04:28.579201

Salida

Lil Pwny mostrará los resultados ya sea en stdout:

o en JSON:

root@kitploit:~
{"localtime": "2021-00-00 00:00:00,000", "level": "NOTIFY", "source": "Lil Pwny", "match_type": "hibp", "detection_data": {"username": "RICKON.STARK", "hash": "32ED87BDB5FDC5E9CBA88547376818D4", "matches_in_hibp": "24230577", "obfuscated": "True"}}

Puedes redirigir la salida JSON de Lil Pwny a un archivo:

root@kitploit:~
lil-pwny -ad ... > lil-pwny-results.json 

Este registro en formato JSON puede ser fácilmente ingerido en un SIEM u otra herramienta de análisis de registros, y puede ser alimentado a otros scripts o plataformas para acciones de resolución automatizadas.

Instalación

Instalar mediante pip

root@kitploit:~
pip install lil-pwny

Uso

Lil-pwny se instalará como un comando global, úsalo de la siguiente manera:

root@kitploit:~
usage: lil-pwny [-h] -hibp HIBP [-v] [-c CUSTOM] [-custom-enhance CUSTOM_ENHANCE] -ad AD_HASHES [-d] [-output {file,stdout,json}] [-o] [--verbose]

Auditoría offline rápida de contraseñas de Active Directory usando Python

opciones:
  -h, --help            muestra este mensaje de ayuda y sale
  -hibp HIBP, --hibp HIBP
                        El archivo .txt que contiene los hashes NTLM de HIBP
  -v, --version         muestra el número de versión del programa y sale
  -c CUSTOM, --custom CUSTOM
                        Archivo .txt que contiene contraseñas personalizadas adicionales para verificar
  -custom-enhance CUSTOM_ENHANCE, --custom-enhance CUSTOM_ENHANCE
                        genera una lista de contraseñas personalizadas mejorada basada en la lista proporcionada. Debe usarse con el flag -c/--custom. La lista mejorada se almacenará en memoria y no se
                        escribirá en disco. Proporciona la longitud mínima de las contraseñas que deseas. El valor predeterminado es 8
  -ad AD_HASHES, --ad-hashes AD_HASHES
                        El archivo .txt que contiene los hashes NTLM de los usuarios de AD
  -d, --duplicates      Muestra una lista de usuarios con contraseñas duplicadas
  -output {file,stdout,json}, --output {file,stdout,json}
                        Dónde enviar los resultados
  -o, --obfuscate       Ofusca los hashes de las coincidencias encontradas aplicándoles un hash con una sal aleatoria
  --verbose             Activa el registro detallado

Ejemplo:

root@kitploit:~
lil-pwny -hibp ~/hibp_hashes.txt -ad ~/ad_user_hashes.txt -c ~/custom_passwords.txt -output stdout -do

Obtención de archivos de entrada

Paso 1: Obtener un volcado de base de datos IFM de AD

En un controlador de dominio usa ntdsutil para generar un volcado IFM de tu dominio AD. Ejecuta lo siguiente en una ventana de PowerShell elevada:

root@kitploit:~
ntdsutil
activate instance ntds
ifm
create full **ruta de salida**

Paso 2: Recuperar los hashes NTLM de esta salida

Para recuperar los hashes NTLM de los datos IFM de AD, se requiere el módulo de PowerShell DSInternals.

Una vez instalado, usa el hive SYSTEM en los datos IFM para recuperar los hashes en el formato usuario:hash y guárdalos en el archivo ad_ntlm_hashes.txt

root@kitploit:~
$bootKey = Get-BootKey -SystemHivePath '.\registry\SYSTEM'
Get-ADDBAccount -All -DBPath '.\Active Directory\ntds.dit' -BootKey $bootKey | Format-Custom -View HashcatNT | Out-File ad_ntlm_hashes.txt -Encoding ASCII

Paso 3: Descargar el archivo de hashes HIBP más reciente

El archivo se puede descargar desde la API de HIBP usando una utilidad .net aquí

Paso opcional: Filtrar cuentas AD no deseadas

El script de PowerShell en el directorio scripts se puede usar para eliminar cuentas no deseadas de la salida IFM antes de procesar. Estas incluyen:

  • Cuentas deshabilitadas
  • Cuentas de equipo

Recursos

  • ntdsutil e IFM
Descargar herramienta