
Una herramienta multihilo diseñada para identificar si las credenciales son válidas, inválidas o credenciales de administrador local válidas dentro de una red a gran escala a través de SMB, además ahora con un cazador de usuarios.
Esta herramienta está diseñada para evaluadores de penetración que quieran realizar un engagement de manera rápida y eficiente. Si bien esta herramienta puede usarse para operaciones más encubiertas (incluyendo algunas adiciones más abajo), realmente brilla cuando se usa a escala de una red grande.
En esencia, le proporcionas una lista de credenciales que has extraído (o hashes, puede pasar el hash) y una lista de sistemas en el dominio (sugiero escanear primero el puerto 445, o puedes usar "--scan"). Te indicará si las credenciales que extrajiste son válidas en el dominio y si tienes acceso de administrador local a un host. Consulta más abajo para funciones adicionales, como búsqueda de usuarios y enumeración de detalles del host.
Está pensada para ejecutarse en Kali Linux
.d8888b. 888 888b 888 d8b d8b
d88P Y88b 888 8888b 888 Y8P Y8P
888 888 888 88888b 888
888 888d888 .d88b. .d88888 888Y88b 888 888 88888b. 8888 8888b.
888 888P" d8P Y8b d88" 888 888 Y88b888 888 888 "88b "888 "88b
888 888 888 88888888 888 888 888 Y88888 888 888 888 888 .d888888
Y88b d88P 888 Y8b. Y88b 888 888 Y8888 888 888 888 888 888 888
"Y8888P" 888 "Y8888 "Y88888 888 Y888 888 888 888 888 "Y888888
888
d88P
888P"
v2.3 (Construido 26/1/2018) - Chris King (@raikiasec)
Para ayuda: ./CredNinja.py -h
uso: CredNinja.py -a cuentas_a_probar.txt -s sistemas_a_probar.txt [-t HILOS] [--ntlm] [--valid] [--invalid] [-o SALIDA] [-p DELIMITADOR_PASS] [--delay SEGUNDOS %JITTER] [--timeout TIMEOUT] [--stripe] [--scan] [--scan-timeout TIMEOUT_SCANEO] [-h] [--no-color] [--os] [--domain] [--users] [--users-time TIEMPO_USUARIOS]
Comprueba rápidamente la validez de múltiples credenciales de usuario en múltiples servidores y te notifica si ese usuario tiene derechos de administrador local en cada servidor.
Argumentos requeridos: -a cuentas_a_probar.txt, --accounts cuentas_a_probar.txt Una palabra o archivo de credenciales de usuario a probar. Los nombres de usuario se aceptan en la forma "DOMINIO\USUARIO:CONTRASEÑA" -s sistemas_a_probar.txt, --servers sistemas_a_probar.txt Una palabra o archivo de servidores a probar. Puede ser un solo sistema, un nombre de archivo que contiene una lista de sistemas, un archivo gnmap o direcciones IP en notación cidr. Cada credencial se probará contra cada uno de estos servidores intentando navegar C$ a través de SMB
Argumentos opcionales: -t HILOS, --threads HILOS Número de hilos a usar. Por defecto 10 --ntlm Trata las contraseñas como hashes NTLM e intenta pasar el hash --valid Solo imprime credenciales válidas/admin local --invalid Solo imprime credenciales inválidas -o SALIDA, --output SALIDA Imprime los resultados en un archivo -p DELIMITADOR_PASS, --passdelimiter DELIMITADOR_PASS Cambia el delimitador entre el nombre de usuario de la cuenta y la contraseña. Por defecto ":" --delay SEGUNDOS %JITTER Retrasa cada solicitud por hilo los segundos especificados con jitter (ejemplo: --delay 20 10, 20 segundos de retraso con 10% de jitter) --timeout TIMEOUT Cantidad de segundos a esperar por datos antes de agotar el tiempo. Por defecto 15 segundos --stripe Solo prueba una credencial en un host para evitar spam de múltiples intentos de inicio de sesión en un solo sistema (usado para comprobar la validez de las credenciales). Esto seleccionará hosts aleatoriamente del archivo de hosts proporcionado. --scan Realiza una comprobación rápida para ver si el puerto 445 está disponible en el host antes de ponerlo en cola para ser procesado --scan-timeout TIMEOUT_SCANEO Establece el tiempo de espera para el escaneo especificado por el argumento --scan. Por defecto 2 segundos -h, --help Obtén ayuda sobre el uso de este script --no-color Desactiva el color en la salida. El archivo escrito siempre es incoloro
Recuperación de información adicional: --os Muestra el SO del sistema si está disponible (no se envía ninguna solicitud extra) --domain Muestra el dominio principal del sistema si está disponible (no se envía ninguna solicitud extra) --users Lista los usuarios que han iniciado sesión en el sistema en los últimos 6 meses (requiere ADMIN LOCAL). Devuelve nombres de usuario con el número de días desde que se modificó su directorio home. Esto envía una solicitud extra a cada host --users-time TIEMPO_USUARIOS Modifica --users para buscar usuarios que hayan iniciado sesión en los últimos días suministrados (por defecto 100 días)
Registro de cambios:
v2.3 - Actualizado con algunas funciones adicionales
* Se agregó análisis de archivos gnmap. El archivo proporcionado al argumento --systems (-s)
ahora puede ser un archivo gnmap (terminado en .gnmap)
* Se agregó análisis de notación cidr. La dirección IP proporcionada al argumento --systems (-s)
ahora puede estar en notación cidr y expandirá adecuadamente el rango
y probará todos los sistemas dentro del espacio IP (asegúrate de proporcionar --scan para
escanear los sistemas de antemano)
* Se hizo que --scan sea multihilo para que se ejecute MUCHO más rápido
v2.0 - Lanzamiento inicial de CredNinja desde su predecesor CredSwissArmy:
* Misma capacidad que el anterior CredSwissArmy (usar credenciales y lista de hosts
para buscar acceso de Administrador Local a través de una red mediante SMB)
* ¡Completamente multihilo! Es 8 veces más rápido que el antiguo CredSwissArmy
* Maneja errores y contraseñas complejas mucho mejor
* Todavía puede pasar el hash con la opción "--ntlm"
* Todavía tiene los mismos argumentos que antes
* Se agregó "--timeout", que permite que los escaneos se completen más rápido si lo deseas
* Se agregó "--scan", que realiza un escaneo rápido del puerto 445 de los hosts para asegurarse de
que sean conectables antes de intentar credenciales en ellos
* Se agregó "--stripe", que prueba cada credencial una vez en un sistema aleatorio
(usado para validar credenciales sin parecer sospechoso en el registro de eventos de un solo sistema)
* Se agregó "--delay", que permite especificar un retraso entre escaneos de hosts
para ser más encubierto. "--delay 10 20" retrasará 10 segundos con un 20% de
jitter (por lo tanto, entre 8 y 10 segundos)
* Se agregó salida en color para que sea más obvio cuando tienes éxito
Y AHORA LAS ADICIONES INTERESANTES
* Se agregó "--os", que muestra el sistema operativo de cada sistema que puede
identificar (no se envía ningún paquete adicional al host objetivo)
* Se agregó "--domain", que muestra el dominio principal del que es miembro el sistema
(no se envía ningún paquete adicional al host objetivo)
* Se agregó "--users", que muestra una lista de usuarios cuyos directorios home han
sido modificados en X cantidad de días (X es modificable con "--users-days", por defecto
100). Básicamente un Buscador de Usuarios SMB que muestra dónde los usuarios han iniciado sesión o
han iniciado sesión (se envía 1 paquete adicional a cada host objetivo)
* Próximamente: detector de antivirus para notificar sobre posible antivirus en ejecución
en el sistema