Guía Rápida de Ncrack en Kali
Guía Rápida de Ncrack en Kali
Ncrack es una herramienta de craqueo de autenticación de red de alta velocidad que viene preinstalada en Kali Linux. A diferencia de herramientas como Hydra, Ncrack está diseñada para ser extremadamente escalable y eficiente cuando necesitas auditar muchos hosts a la vez.
Aquí tienes una guía rápida para entender cómo funciona y cómo usarla.
¿Qué hace Ncrack?
Ncrack permite realizar ataques de fuerza bruta o de diccionario contra diversos protocolos. Su fuerte es la capacidad de gestionar conexiones dinámicas para no saturar los servicios ni ser bloqueado tan fácilmente por firewalls.
Protocolos compatibles comunes:
SSH, RDP, FTP, Telnet
HTTP(S), SMB, VNC
POP3, IMAP, SMTP
Sintaxis Básica
La estructura general de un comando en Ncrack es la siguiente:
ncrack [Opciones] <objetivo>:<puerto>
1. Ataque básico a un servicio (ej. FTP)
Si quieres probar un usuario y una contraseña específicos contra un servidor:
ncrack --user admin --pass 12345 192.168.1.50:21
2. Uso de diccionarios (El uso más común)
Lo normal es que no sepas la contraseña, por lo que usas listas de palabras (wordlists):
ncrack -p ssh --user root -P /usr/share/wordlists/rockyou.txt 192.168.1.10:22
-p ssh: Especifica el servicio (si no usas el puerto estándar).--user: Un solo usuario.-P: Ruta al archivo de contraseñas.
3. Ataque a múltiples objetivos
Puedes pasar un archivo con una lista de IPs o rangos enteros:
ncrack -p rdp --user Administrador -P passwords.txt 192.168.1.0/24
Opciones que debes conocer
| Opción | Descripción |
-U <file> | Lista de usuarios desde un archivo. |
-P <file> | Lista de contraseñas desde un archivo. |
-T<0-5> | Plantilla de velocidad (0 es paranoico/lento, 5 es agresivo). |
-f | Detener el ataque tras encontrar la primera credencial válida. |
-g <opciones> | Ajustes globales (tiempos de espera, reintentos). |
-oA <nombre> | Guarda los resultados en todos los formatos (normal, XML, grep). |
Ejemplo de flujo de trabajo realista
Imagina que estás en una red local y quieres auditar el servicio RDP de una máquina Windows:
Identifica el puerto: Asegúrate de que el puerto 3389 está abierto.
Lanza Ncrack:
Bashncrack -v -f --user invitado -P /usr/share/wordlists/fasttrack.txt rdp://192.168.1.105-v: Modo "verbose" (te muestra lo que está pasando en tiempo real).rdp://: Una forma alternativa de indicar el protocolo.
[!IMPORTANT]
Nota de seguridad: Utiliza Ncrack únicamente en entornos controlados o con autorización explícita. El uso de esta herramienta en sistemas ajenos sin permiso es ilegal.
Optimizar la velocidad en Ncrack es un arte de equilibrio: si vas demasiado rápido, el servidor te bloqueará o empezarás a recibir falsos negativos; si vas muy lento, podrías tardar semanas.
Para ajustar el rendimiento, Ncrack utiliza plantillas de tiempo y opciones de paralelismo. Aquí te explico cómo configurarlo como un experto.
1. Plantillas de Tiempo (-T)
La forma más sencilla de ajustar la velocidad es con el parámetro -T seguido de un número del 0 al 5.
-T0 / -T1: Muy lentos. Ideales para evadir sistemas de detección de intrusos (IDS).
-T2 / -T3: El estándar.
-T3es el valor por defecto y suele ser seguro para la mayoría de servicios.-T4: Agresivo. Aumenta significativamente el paralelismo. Útil en redes locales (LAN) modernas.
-T5: Modo "Locura". Muy rápido, pero puede saturar el servicio y causar que el servidor deje de responder.
2. Control Fino de Conexiones (-g)
Si las plantillas no son suficientes, puedes usar las opciones globales (-g) para micro-gestionar el rendimiento. Estas son las más importantes:
Conexiones en paralelo
Para definir cuántas conexiones simultáneas quieres intentar:
ncrack -g cl=10,at=5 192.168.1.1:22
cl(Connection Limit): Límite total de conexiones para ese servicio.at(Authentication Tries): Intentos de autenticación simultáneos por cada conexión.
Tiempo de espera (Timeouts)
Si la red está saturada o el servidor es lento, ajusta el tiempo que Ncrack espera una respuesta:
ncrack -g to=30s 192.168.1.1:21
to(Timeout): Tiempo máximo de espera por una respuesta (ej.30s,1m).
3. Optimización por Protocolo
Cada protocolo tiene sus propias reglas. No es lo mismo atacar SSH (que suele tener límites de reintentos) que HTTP. Puedes aplicar opciones específicas así:
ncrack -p ssh[connectionlimit=5],rdp[connectionlimit=20] 192.168.1.50
Tip: Para protocolos pesados como RDP, no subas demasiado el paralelismo, ya que Windows suele bloquear IPs o ralentizar las respuestas tras varios intentos fallidos rápidos.
4. Estrategia de "Fuerza Bruta" Inteligente
A veces, la velocidad no está en el software, sino en cómo lo usas:
Usa la opción
-f(First match): Detiene el ataque en cuanto encuentra una contraseña válida. No pierdas tiempo probando el resto del diccionario si ya tienes lo que buscabas.Filtra tus diccionarios: No uses
rockyou.txt(14 millones de líneas) para todo. Si sabes que el objetivo es un servidor web, usa listas específicas de usuarios comunes comoadmin,rootowebmaster.Reanudación: Si el ataque se detiene, Ncrack crea un archivo de sesión. Puedes retomarlo usando
--resume <archivo>en lugar de empezar de cero.
Ejemplo de comando optimizado para una LAN rápida:
Si estás en una red local estable y el servidor es robusto:
ncrack -v -T4 -g cl=20,at=2 -f -p ssh 192.168.1.10
Vamos a configurar un comando "a medida" para esos servidores que se ponen difíciles (los que dan errores de timeout o que cierran la conexión si vas muy rápido).
Cuando un servidor da problemas de conexión, la estrategia no es ir más rápido, sino ser más preciso y persistente.
Aquí tienes una configuración recomendada para un escenario de servidor inestable o protegido:
El Comando "Resistente"
ncrack -v -f --user admin -P pass.txt -g to=45s,at=1,cl=3,cd=2s,cr=3 ssh://192.168.1.10
¿Qué hace cada parte de este comando?
Para solucionar los problemas de conexión, hemos ajustado los parámetros globales (-g):
to=45s(Timeout): Le damos al servidor 45 segundos para responder. Si el servidor es lento o la red está saturada, esto evita que Ncrack dé por fallido un intento que solo estaba tardando en procesarse.at=1(Authentication Tries): Solo un intento de autenticación a la vez. Esto evita que el servidor se sature o detecte un ataque masivo inmediato.cl=3(Connection Limit): Solo abrimos 3 conexiones totales. Es un número bajo pero seguro para no disparar las alarmas de "Denegación de Servicio" (DoS) del servidor.cd=2s(Connection Delay): Introducimos un pequeño "respiro" de 2 segundos entre cada intento. Esto es clave para que el servidor no bloquee tu IP por ráfagas de tráfico.cr=3(Connection Retries): Si una conexión falla por un error de red, Ncrack lo reintentará hasta 3 veces antes de rendirse con esa contraseña.
Tres consejos extra para servidores difíciles:
Usa nombres de servicio en lugar de solo IPs: A veces ayuda especificar el protocolo al inicio para que Ncrack cargue sus módulos específicos correctamente:
rdp://192.168.1.10oftp://192.168.1.10.Verifica el MTU: Si estás en una VPN o red compleja y los paquetes grandes se pierden, los timeouts suelen ser constantes. Asegúrate de que tu conexión de red sea estable.
Guarda el progreso: Si el servidor es tan lento que el ataque va a tardar horas, añade
-oN auditoria.txt. Si se corta la luz o cierras la terminal, puedes volver con:ncrack --resume auditoria.txt