Una contraseña se define técnicamente como una cadena secreta de caracteres que se utiliza para autenticarse u obtener acceso a los recursos. Debe mantenerse en secreto y ocultarse de otras personas a las que no se les permite acceder a esos recursos. Las contraseñas se han utilizado con las computadoras desde los primeros días de la informática. Uno de los primeros sistemas para compartir, se introdujo en 1961. Tenía un comando de inicio de sesión que solicitaba una contraseña de usuario. Después de escribir CONTRASEÑA, el sistema apaga el mecanismo de impresión, si es posible, para que el usuario pueda ingresar su contraseña con privacidad.
La solidez de una contraseña depende de la longitud, la complejidad y la imprevisibilidad. Mide la efectividad para resistirse a adivinarlo o romperlo. Las contraseñas débiles, por otro lado, acortan el tiempo necesario para adivinar y obtener acceso a correos electrónicos personales / corporativos, datos confidenciales como información financiera, información comercial, tarjetas de crédito, etc.
Hay muchas formas en que una contraseña puede ser débil en correspondencia con el poder de las fortalezas de varios esquemas de ataque. El más popular de este tipo de ataque de credenciales es la fuerza bruta. Es un método de prueba y error como adivinar, intentar decodificar datos cifrados, como contraseña o cifrado de datos utilizado por el programa de aplicación o la herramienta de piratería.
Hydra es el cracker de inicio de sesión de red más rápido que admite numerosos protocolos de ataque. Es muy rápido y flexible, y los nuevos módulos son fáciles de agregar. Esta herramienta permite a los investigadores y consultores de seguridad mostrar lo fácil que sería obtener acceso no autorizado a un sistema de forma remota. Hydra fue escrita por van Hauser y también fue apoyada por David Maciejak. En la última actualización, el desarrollo de hydra se mueve al repositorio público de github en: https://github.com/vanhauser-thc/thc-hydra.
Hydra se probó para compilar en Linux, Windows / Cygwin, Solaris 11, FreeBSD 8.1, OpenBSD, OSX, QNX / Blackberry, y está disponible bajo GPLv3 con una expansión de licencia especial OpenSSL.
THC Hydra admite estos protocolos: Cisco AAA, Cisco auth, Cisco enable, CVS, FTP, HTTP (S) -FORM-GET, HTTP (S) -FORM-POST, HTTP (S) -GET, HTTP (S) -HEAD , HTTP-Proxy, ICQ, IMAP, IRC, LDAP, MS-SQL, MySQL, NNTP, Oracle Listener, Oracle SID, PC-Anywhere, PC-NFS, POP3, PostgreSQL, RDP, Rexec, Rlogin, Rsh, SIP, SMB (NT), SMTP, SMTP Enum, SNMP v1 + v2 + v3, SOCKS5, SSH (v1 y v2), SSHKEY, Subversion, Teamspeak (TS2), Telnet, VMware-Auth, VNC y XMPP.
COMPARACIÓN DE HYDRA CON OTRAS HERRAMIENTAS DE CRACKING
También hay muchas herramientas de cracker de inicio de sesión además de hydra, sin embargo, ninguna admite una gran lista de protocolos y soporte de cracker de inicio de sesión paralelizado como lo hace Hydra. Las tablas a continuación muestran el resultado de las funciones, los servicios y la comparación de velocidades con medusa y ncrack.
Características
Característica | Hidra | Medusa | Ncrack |
Licencia | AGPLv3 | GPLv2 | Términos de GPLv2 + Nmap |
Soporte IPv6 | sí | No | No |
Interfaz gráfica de usuario | sí | sí | No |
Soporte internacionalizado (RFC 4013) | sí | No | No |
Soporte de proxy HTTP | sí | sí | No |
Soporte de proxy SOCKS | sí | No | No |
Protocolos admitidos | 51 | 22 | 7 |
Servicios
Servicio | Detalles | Hidra | Medusa | Ncrack |
ADAM-6500 | sí | No | No | |
AFP | sí | sí | No | |
Asterisco | sí | No | No | |
Contraseña de Cisco | sí | No | No | |
Cisco Habilitar | sí | No | No | |
CVS | sí | sí | No | |
Pájaro de fuego | sí | No | No | |
FTP | sí | sí | sí | |
Soporte SSL | AUTH TLS y FTP sobre SSL | AUTH TLS y FTP sobre SSL | No | |
HTTP | Métodos) | OBTENER, DIRIGIR, PUBLICAR | OBTENER | OBTENER |
Autenticación básica | sí | sí | sí | |
Formulario HTTP | Métodos) | OBTENER, PUBLICAR | OBTENER, PUBLICAR | No |
Soporte SSL | HTTPS | HTTPS | No | |
Proxy HTTP | Autenticación básica | sí | No | No |
Autenticación DIGEST-MD5 | sí | No | No | |
Autenticación NTLM | sí | No | No | |
Soporte SSL | HTTPS | No | No | |
Enumeración de URL HTTP PROXY | sí | No | No | |
ICQ | v5 | sí 1 | No | No |
IMAP | Soporte LOGIN | sí | sí | No |
Soporte AUTH LOGIN | sí | No | No | |
Soporte AUTH PLAIN | sí | sí | No | |
Soporte AUTH CRAM-MD5 | sí | No | No | |
Soporte AUTH CRAM-SHA1 | sí | No | No | |
Soporte AUTH CRAM-SHA256 | sí | No | No | |
Compatibilidad con AUTH DIGEST-MD5 | sí | No | No | |
Soporte AUTH NTLM | sí | sí | No | |
Soporte AUTH SCRAM-SHA1 | sí | No | No | |
Soporte SSL | IMAPS Y STARTTLS | IMAPS Y STARTTLS | No | |
IRC | Contraseña general del servidor | sí | No | No |
Contraseña del modo OPER | sí | No | No | |
LDAP | v2, soporte simple | sí | No | No |
v3, soporte simple | sí | No | No | |
v3, compatibilidad con AUTH CRAM-MD5 | sí | No | No | |
Compatibilidad con AUTH DIGEST-MD5 | sí | |||
Soporte AUTH NTLM | sí | sí | ||
Soporte AUTH SCRAM-SHA1 | sí | |||
Soporte SSL | IMAPS Y STARTTLS | IMAPS Y STARTTLS | ||
IRC | Contraseña general del servidor | sí | ||
Contraseña del modo OPER | sí | |||
LDAP | v2, soporte simple | sí | ||
v3, soporte simple | sí | |||
v3, compatibilidad con AUTH CRAM-MD5 | sí | |||
v3, compatibilidad con AUTH DIGEST-MD5 | sí | |||
MS-SQL | sí | sí | ||
MySQL | v3.x | sí | sí | |
v4.x | sí | sí | ||
v5.x | sí | sí | ||
NCP | sí | sí | ||
NNTP | Soporte al usuario | sí | sí | |
Soporte AUTH LOGIN | sí | |||
Soporte AUTH PLAIN | sí | |||
Soporte AUTH CRAM-MD5 | sí | |||
Compatibilidad con AUTH DIGEST-MD5 | sí | |||
Soporte AUTH NTLM | sí | |||
Soporte SSL | STARTTLS y NNTP sobre SSL | |||
Oráculo | Base de datos | sí | sí | |
Oyente de TNS | sí | |||
Enumeración de SID | sí | |||
PC-NFS | sí | |||
pcAnywhere | Autenticación nativa | sí | sí | |
Autenticación basada en SO (MS) | sí | |||
POP3 | Soporte al usuario | sí | sí | sí |
Soporte APOP | sí | |||
Soporte AUTH LOGIN | sí | sí | ||
Soporte AUTH PLAIN | sí | sí | ||
Soporte AUTH CRAM-MD5 | sí | |||
Soporte AUTH CRAM-SHA1 | sí | |||
Soporte AUTH CRAM-SHA256 | sí | |||
Compatibilidad con AUTH DIGEST-MD5 | sí | |||
Soporte AUTH NTLM | sí | sí | ||
Soporte SSL | POP3S Y STARTTLS | POP3S Y STARTTLS | POP3S | |
PostgreSQL | sí | sí | ||
Asterisco | sí | |||
RDP | Estación de trabajo de Windows | sí | sí | sí |
Servidor de windows | sí | sí | ||
Autenticación de dominio | sí | sí | ||
REDIS | sí | No | ||
REXEC | sí | sí | ||
RLOGIN | sí | sí | ||
RPCAP | sí | No | ||
RSH | sí | sí | ||
RTSP | sí | No | ||
SAP R / 3 | sí | |||
Siemens S7-300 | sí | |||
sorbo | sí | |||
Soporte SSL | SIP sobre SSL | |||
SMB | Modo NetBIOS | sí | sí | No |
Modo nativo W2K | sí | sí | sí | |
Modo hash | sí | sí | No | |
Autenticación de texto claro | sí | sí | ||
Autenticación LMv1 | sí | sí | sí | |
Autenticación LMv2 | sí | sí | sí | |
Autenticación NTLMv1 | sí | sí | sí | |
Autenticación NTLMv2 | sí | sí | sí | |
SMTP | Soporte AUTH LOGIN | sí | sí | |
Soporte AUTH PLAIN | sí | sí | ||
Soporte AUTH CRAM-MD5 | sí | |||
Compatibilidad con AUTH DIGEST-MD5 | sí | |||
Soporte AUTH NTLM | sí | sí | ||
Soporte SSL | SMTPS y STARTTLS | SMTPS y STARTTLS | ||
Enumeración de usuario SMTP | VRFY cmd | sí | sí | |
EXPN cmd | sí | sí | ||
RCPT a cmd | sí | sí | ||
SNMP | v1 | sí | sí | |
v2c | sí | sí | ||
v3 | (Solo autenticación MD5 / SHA1) | |||
CALCETINES | v5, autenticación de contraseña | sí | ||
SSH | v1 | sí | ||
v2 | sí | sí | sí | |
Llaves SSH | v1, v2 | sí | ||
Subversión (SVN) | sí | sí | ||
TeamSpeak | TS2 | sí | ||
Telnet | sí | sí | sí | |
XMPP | Soporte AUTH LOGIN | sí | ||
Soporte AUTH PLAIN | sí | |||
Soporte AUTH CRAM-MD5 | sí | |||
Compatibilidad con AUTH DIGEST-MD5 | sí | |||
Soporte AUTH SCRAM-SHA1 | sí | |||
Demonio de autenticación de VMware | v1.00 / v1.10 | sí | sí | |
Soporte SSL | sí | sí | ||
VNC | Soporte de contraseña RFB 3.x | sí | sí | |
Soporte de usuario + contraseña RFB 3.x | (Solo UltraVNC) | |||
Soporte de contraseña RFB 4.x | sí | sí | ||
Soporte de usuario + contraseña RFB 4.x | (Solo UltraVNC) |
Comparación de velocidad
Velocidad (en s) | Hidra | Medusa | Ncrack |
1 módulo de tarea / FTP | 11.93 | 12.97 | 18.01 |
4 Tareas / módulo FTP | 4.20 | 5.24 | 9.01 |
Módulo de 16 tareas / FTP | 2.44 | 2.71 | 12.01 |
1 módulo Task / SSH v2 | 32.56 | 33.84 | 45.02 |
4 tareas / módulo SSH v2 | 10.95 | Roto | Omitido |
16 tareas / módulo SSH v2 | 5.14 | Roto | Omitido |
Esa fue una breve y sencilla introducción a Hydra. Ahora pasemos a la instalación.
INSTALACIÓN DE HYDRA
Hydra está preinstalado en kali linux, sin embargo, si tiene un sistema operativo diferente, puede compilarlo e instalarlo en su sistema. Actualmente, el soporte de hydra en diferentes plataformas:
- Todas las plataformas UNIX (Linux, * bsd, Solaris, etc.)
- MacOS (básicamente un clon de BSD)
- Windows con Cygwin (tanto IPv4 como IPv6)
- Sistemas móviles basados en Linux, MacOS o QNX (por ejemplo, Android, iPhone, Blackberry 10, Zaurus, iPaq)
Para descargar, configurar, compilar e instalar hydra, simplemente escriba en la terminal:
|_+_|Si tiene Ubuntu / Debian, necesitará algunas bibliotecas de dependencia:
|_+_|Si no pudo encontrar esas bibliotecas en su repositorio, debe descargarlas e instalarlas manualmente.
CÓMO USAR HYDRA
Felicitaciones, ahora ha logrado instalar hydra en su sistema. En realidad, Hydra viene con dos sabores, GUI-gtk y mi versión CLI favorita. y además hydra también tiene una versión guiada por CLI, se llama hydra-wizard. Se le guiará paso a paso en lugar de escribir todos los comandos o argumentos manualmente en la terminal. Para ejecutar hydra, desde su terminal escriba:
Para CLI:
|_+_|Para el asistente CLI:
|_+_|Para GUI:
|_+_|Después de escribir 'hydra', se mostrarán comandos de ayuda como este:
|_+_|Inicio de sesión basado en web de fuerza bruta con hydra
Hydra admite algunos servicios de fuerza bruta como mencioné anteriormente, uno de ellos se utiliza para inicios de sesión basados en web de fuerza bruta, como el formulario de inicio de sesión de redes sociales, el formulario de inicio de sesión de banca de usuario, el inicio de sesión de su enrutador basado en la web, etc. Ese http [s] -get-form que manejará esta solicitud. En este tutorial, le mostraré cómo utilizar la fuerza bruta para los inicios de sesión web vulnerables. Antes de encender Hydra, debemos conocer algunos argumentos necesarios, como los siguientes:
- Objetivo : http://testasp.vulnweb.com/Login.asp?RetURL=%2FDefault%2Easp%3F
- Nombre de usuario de inicio de sesión : admin (si no está seguro, fuerza bruta esto)
- Lista de contraseñas : La ubicación de la lista de archivos de diccionario que contiene posibles contraseñas.
- Parámetros de formulario : en general, utilice datos de manipulación o proxy para obtener la forma de los parámetros de solicitud. Pero aquí estoy usando iceweasel, basada en Firefox, barra de herramientas para desarrolladores de red.
- Módulo de servicio : http-post-formulario
Obtención de parámetros de publicación usando el navegador, iceweasel / firefox
En su navegador Firefox, presione las teclas ' CTRL + MAYÚS + Q '. Luego abra la página de inicio de sesión webhttp://testasp.vulnweb.com/Login.asp?RetURL=%2FDefault%2Easp%3F, notará que aparece un texto en la pestaña del desarrollador de la red. Le dice qué archivos se nos transfieren. Vea el método, todos son GET, ya que aún no hemos publicado ningún dato.
Para obtener los parámetros del formulario posterior, escriba lo que sea en el formulario de nombre de usuario o contraseña. Notará un nuevo método POST en la pestaña de desarrollador de red. Haga doble clic en esa línea, en la pestaña Encabezados haga clic en el botón Editar y reenviar en el lado derecho. En el cuerpo de la solicitud, copie la última línea, como tfUName = asu & tfUPass = raimu . los tfUName y tfUPass son los parámetros que necesitamos. Como se ve a continuación:
Kali linux tiene un montón de listas de palabras, elija la lista de palabras apropiada o simplemente use el lugar rockyou.txt en / usr / share / wordlists / como se ve a continuación:
Muy bien, ahora tenemos todos los argumentos que necesitamos y estamos listos para encender Hydra. Aquí está el patrón de comando:
|_+_|Analicemos los comandos:
- los : es una palabra que contiene el nombre de usuario cuenta, use -L para hacer referencia a la lista de posibles nombres de usuario en un archivo.
- PAG : es una lista de archivos de posibles contraseñas, use -p para usar literalmente una palabra contraseña en lugar de adivinarla.
- testapp.vunlwebapp.com : es un nombre de host o destino
- http-post-formulario : es el módulo de servicio que usamos
- /Login.asp?RetURL=%2FDefault%2Easp%3F:tfUName=^USER^&tfUPass=^PASS^:S=logout = los 3 parámetros necesarios, la sintaxis es:
{URL de la página}: {Solicitar parámetros del formulario del cuerpo de la publicación}: S = {Encontrar lo que sea en la página después de iniciar sesión correctamente} - v = Modo detallado
- V = mostrar inicio de sesión: pase para cada intento
- F = Terminar el programa si se encuentra el inicio de sesión por pares: se encuentra la contraseña
Ahora dejemos que Hydra intente descifrar la contraseña por nosotros, necesita tiempo ya que es un ataque de diccionario. Una vez que haya logrado encontrar un par de login: password, hydra terminará inmediatamente el trabajo y mostrará la credencial válida.
Hydra podría hacer muchas cosas, ya que en este tutorial acabamos de aprender cómo hacer un inicio de sesión basado en web de fuerza bruta usando hydra, solo aprendemos un protocolo, que es el protocolo http-post-form. También podemos usar hydra contra otro protocolo como ssh, ftp, telnet, VNC, proxy, etc.