Una contraseña se define técnicamente como una cadena secreta de caracteres utilizados para autenticar o obtener acceso a los recursos. Debe mantenerse en secreto y oculto a otros a los que no se les permite acceder a esos recursos. Las contraseñas se han utilizado con computadoras desde los primeros días de computación. Uno de los sistemas de compartir la primera vez, 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 escribir su contraseña con privacidad.
La fuerza de una contraseña es una función de longitud, complejidad e imprevisibilidad. Mide la efectividad para resistirlo o romperla. 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 maneras en que una contraseña puede ser débil correspondiente al poder de las fortalezas de varios esquemas de ataque. El más popular de este tipo de ataque de credencial es, la fuerza bruta. Es un método de prueba y error como adivinar, intentar decodificar datos cifrados dicha contraseña o cifrado de datos utilizado por el programa de aplicación o la "herramienta de piratería".
Hydra es la galleta de inicio de sesión de red más rápida que admite numerosos protocolos de ataque. Es muy rápido y flexible, y los nuevos módulos son fáciles de agregar. Esta herramienta hace posible que los investigadores y consultores de seguridad muestren cuán fácil sería obtener acceso no autorizado a un sistema de forma remota. Hydra fue escrita por Van Hauser y también respaldada por David Maciejak. En la última actualización, Hydra Development se traslada 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 especial de licencia 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-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 agrietamiento
También hay muchas herramientas de inicio de sesión de inicio de sesión al lado de Hydra, sin embargo, ninguno admite una gran lista de protocolos y soporte de galletas de inicio de sesión paralelo como Hydra. Las tablas a continuación muestran el resultado de características, servicios y comparación de velocidad contra Medusa y Ncrack.
Características
Característica | Hidra | Medusa | Nuco |
---|---|---|---|
Licencia | AGPLV3 | GPLV2 | Términos GPLV2 + NMAP |
Soporte de IPv6 | Sí | No | No |
Interfaz gráfica de usuario | Sí | Sí | No |
Apoyo internacionalizado (RFC 4013) | Sí | No | No |
Soporte proxy http | Sí | Sí | No |
Soporte de proxy de calcetines | Sí | No | No |
Protocolos compatibles | 51 | 22 | 7 |
Servicios
Página de inicio de sesión basada en la web de crack con
Servicio | Detalles | Hidra | Medusa | Nuco | |
---|---|---|---|---|---|
Adam-6500 | Sí | No | No | ||
AFP | Sí | Sí | No | ||
Asterisco | Sí | No | No | ||
Contraseña de Cisco | Sí | No | No | ||
Cisco Enable | 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, cabeza, publicar | CONSEGUIR | CONSEGUIR | |
Autenticación básica | Sí | Sí | Sí | ||
Forma http | Métodos) | Conseguir, publicar | Conseguir, publicar | No | |
Soporte SSL | Https | Https | No | ||
Proxy http | Autenticación básica | Sí | No | No | |
Auth Digest-MD5 | Sí | No | No | ||
Autenticación NTLM | Sí | No | No | ||
Soporte SSL | Https | No | No | ||
Enumeración de url proxy http | Sí | No | No | ||
ICQ | v5 | Sí 1 | No | No | |
IMAP | Soporte de inicio de sesión | Sí | Sí | No | |
Soporte de inicio de sesión de autenticación | Sí | No | No | ||
Auth Plain Support | Sí | Sí | No | ||
Auth Cram-MD5 Soporte | Sí | No | No | ||
Auth Cram-Sha1 Soporte | Sí | No | No | ||
Auth CRAM-SHA256 Soporte | Sí | No | No | ||
Auth Digest-MD5 Soporte | Sí | No | No | ||
Auth NTLM Support | Sí | Sí | No | ||
Auth Scram-Sha1 Soporte | Sí | No | No | ||
Soporte SSL | IMaps & starttls | IMaps & starttls | No | ||
IRC | Contraseña del servidor general | Sí | No | No | |
Contraseña de modo operativo | Sí | No | No | ||
Ldap | V2, soporte simple | Sí | No | No | |
V3, soporte simple | Sí | No | No | ||
V3, Auth Cram-MD5 Soporte | Sí | No | No | ||
Auth Digest-MD5 Soporte | Sí | ||||
Auth NTLM Support | Sí | Sí | |||
Auth Scram-Sha1 Soporte | Sí | ||||
Soporte SSL | IMaps & starttls | IMaps & starttls | |||
IRC | Contraseña del servidor general | Sí | |||
Contraseña de modo operativo | Sí | ||||
Ldap | V2, soporte simple | Sí | |||
V3, soporte simple | Sí | ||||
V3, Auth Cram-MD5 Soporte | Sí | ||||
V3, Auth Digest-MD5 Soporte | 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 de inicio de sesión de autenticación | Sí | ||||
Auth Plain Support | Sí | ||||
Auth Cram-MD5 Soporte | Sí | ||||
Auth Digest-MD5 Soporte | Sí | ||||
Auth NTLM Support | Sí | ||||
Soporte SSL | Starttls y nntp sobre SSL | ||||
Oráculo | Base de datos | Sí | Sí | ||
Oyente de TNS | Sí | ||||
Enumeración sid | Sí | ||||
PC-NFS | Sí | ||||
en el lugar | Autenticación nativa | Sí | Sí | ||
Autenticación basada en el sistema operativo (MS) | Sí | ||||
Pop3 | Soporte al usuario | Sí | Sí | Sí | |
Soporte APOP | Sí | ||||
Soporte de inicio de sesión de autenticación | Sí | Sí | |||
Auth Plain Support | Sí | Sí | |||
Auth Cram-MD5 Soporte | Sí | ||||
Auth Cram-Sha1 Soporte | Sí | ||||
Auth CRAM-SHA256 Soporte | Sí | ||||
Auth Digest-MD5 Soporte | Sí | ||||
Auth NTLM Support | Sí | Sí | |||
Soporte SSL | POP3S & STARTTLS | POP3S & 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í | |||
Rehacer | 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 de W2K | Sí | Sí | Sí | ||
Modo hash | Sí | Sí | No | ||
Auth de texto claro | Sí | Sí | |||
Auth LMV1 | Sí | Sí | Sí | ||
Auth lmv2 | Sí | Sí | Sí | ||
Auth ntlmv1 | Sí | Sí | Sí | ||
Auth ntlmv2 | Sí | Sí | Sí | ||
Smtp | Soporte de inicio de sesión de autenticación | Sí | Sí | ||
Auth Plain Support | Sí | Sí | |||
Auth Cram-MD5 Soporte | Sí | ||||
Auth Digest-MD5 Soporte | Sí | ||||
Auth NTLM Support | Sí | Sí | |||
Soporte SSL | SMTPS & STARTTLS | SMTPS & STARTTLS | |||
Usuario de SMTP enum | Vrfy CMD | Sí | Sí | ||
Expn CMD | Sí | Sí | |||
RCPT a CMD | Sí | Sí | |||
SNMP | V1 | Sí | Sí | ||
V2C | Sí | Sí | |||
v3 | (Auth Md5/Sha1 solamente) | ||||
MEDIAS | v5, autenticación de contraseña | Sí | |||
Ssh | V1 | Sí | |||
V2 | Sí | Sí | Sí | ||
Llaves ssh | V1, V2 | Sí | |||
Subversión (SVN) | Sí | Sí | |||
Espíritu de equipo | TS2 | Sí | |||
Telnet | Sí | Sí | Sí | ||
XMPP | Soporte de inicio de sesión de autenticación | Sí | |||
Auth Plain Support | Sí | ||||
Auth Cram-MD5 Soporte | Sí | ||||
Auth Digest-MD5 Soporte | Sí | ||||
Auth Scram-Sha1 Soporte | Sí | ||||
VMware Auth Daemon | V1.00 / v1.10 | Sí | Sí | ||
Soporte SSL | Sí | Sí | |||
VNC | RFB 3.X Soporte de contraseña | Sí | Sí | ||
RFB 3.x usuario+soporte de contraseña | (UltraVNC solamente) | ||||
RFB 4.X Soporte de contraseña | Sí | Sí | |||
RFB 4.x usuario+soporte de contraseña | (UltraVNC solamente) |
Comparación de velocidad
Velocidad (en s) | Hidra | Medusa | Nuco |
---|---|---|---|
1 Tarea / Módulo FTP | 11.93 | 12.97 | 18.01 |
4 tareas / módulo FTP | 4.20 | 5.24 | 9.01 |
16 Tareas / Módulo FTP | 2.44 | 2.71 | 12.01 |
1 Tarea / Módulo 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 introducción simple a Hydra. Ahora pasemos a la instalación.
Instalación de Hydra
Hydra está preinstalada 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:
Para descargar, configurar, compilar e instalar Hydra, simplemente escriba en terminal:
Git clon https: // github.com/vanhauser-thc/thc-hydra.git
CD THC-HYDRA
./Configurar
hacer
hacer instalar
Si tiene Ubuntu/Debian, necesitará algunas bibliotecas de dependencia:
APT instalar libssl-dev Libssh-dev Libidn11-Dev libpCre3-Dev libgtk2.0-Dev libmysqlClient-Dev libpq-dev libbsvn-dev firebird-dev libncp-devev
Si no pudo encontrar esas bibliotecas en su repositorio, entonces 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 favorita de CLI. y además Hydra también tiene una versión guiada de CLI, se llama "Hydra-Wizard". Será guiado paso a paso en lugar de escribir todos los comandos o argumentos manualmente en el terminal. Para ejecutar Hydra, desde su tipo de terminal:
Para CLI:
hidra
Para CLI-Wizard:
hydra-wizard
Para la GUI:
xhydra
Después de escribir 'Hydra', mostrará comandos de ayuda como este:
root@kali: ~# hidra -h
Hydra V8.6 (c) 2017 por Van Hauser/THC y David Maciejak - Solo para fines legales
Sintaxis: Hydra [[[-L Login | -L archivo] [-p pase | -p archivo]] | [-C archivo]] [-e nsr] [-o archivo] [-t tareas] [-m archivo [-t tareas]] [-w time] [-w time] [-f] [-s puerto] [-x min: max: charset] [-suvv46] [servicio: // servidor [: puerto] [/opt]]
Opciones:
-R Restaurar una sesión previa abortada/bloqueada
-S Realice una SSL Connect
-S Puerto Si el servicio está en un puerto predeterminado diferente, defina aquí
-l Iniciar sesión o -l Inicio de sesión de archivo con nombre de inicio de sesión, o cargar varios inicios de sesión desde el archivo
-P pase o -p archivo intente pase de contraseña, o cargue varias contraseñas desde el archivo
-X min: Max: Contraseña Charset Generación BruteForce, escriba "-x -h" para obtener ayuda
-e nsr intenta "n" contraseña nula, "s" inicio de sesión como pase y/o "r" invertido inicio de sesión
-u recorre a los usuarios, no a las contraseñas (efectivas! implícito con -x)
-C archivo colon separado "inicio de sesión: pasar" formato, en lugar de opciones -l/-p
-M Lista de archivos de servidores a ser atacados en paralelo, una entrada por línea
-o El archivo escribe pares de inicio de sesión/contraseña encontrados en el archivo en lugar de stdout
-F / -f Salida Cuando se encuentra un par de inicio de sesión / pase (-m: -f por host, -f global)
-T Tareas Ejecute Tareas Número de conectaciones en paralelo (por host, predeterminado: 16)
-W / -W Time Waittime para respuestas (32s) / Entre Connects por hilo
-4 / -6 prefiere las direcciones IPv4 (predeterminadas) o IPv6
-V / -V / -D Modo verboso / Mostrar inicio de sesión+pase para cada intento / modo de depuración
-U Detalles de uso del módulo de servicio u
servidor del servidor de destino (use esta o la opción -m)
Servicio del servicio a Crack (ver más abajo para obtener protocolos compatibles)
OPT algunos módulos de servicio admiten entrada adicional (-U para ayuda del módulo)
Servicios compatibles: AFP AFP CISCO CISCO CVS CVS Firebird ftp ftps http [s]-head | get http [s]-get | post -Form http-prooxy http-prooxy-urlenum icq imap [s] irc ldap22 [s] ldap3 [-cram | digest md5] [s] mssql mysql ncp nntp oracle-listener oracle-sid pcanywhere pcnfs pop3 [s] postgres rdp rexec rlogin rsh s7-300 sip smb smtp [s] smtp-fra. SOCKS5 SSH SSHKEY SVN Teamspeak Telnet [S] VMAUTHD VNC XMPP
Hydra es una herramienta para adivinar/descifrar los pares de inicio de sesión/contraseñas válidos: el uso solo se permite para fines legales. Esta herramienta tiene licencia bajo AGPL V3.0.
La versión más reciente siempre está disponible en http: // www.THC.org/thc-hydra
Estos servicios no fueron compilados en: SAPR3 Oracle.
Use HYDRA_PROXY_HTTP o HYDRA_PROXY, y si es necesario, Hydra_Proxy_auth - entorno para una configuración proxy.
mi.gramo.: % Export Hydra_Proxy = Socks5: // 127.0.0.1: 9150 (o calcetines4: // o conectar: //)
% Export hydra_proxy_http = http: // proxy: 8080
% Export Hydra_Proxy_Auth = Usuario: pase
Ejemplos:
Lista de aprobación del usuario de Hydra -L -P.txt ftp: // 192.168.0.1
Hydra -l Lista de usuarios.txt -p defaultpw imap: // 192.168.0.1/simple
Predeterminados de Hydra -C.txt -6 pop3s: // [Fe80 :: 2C: 31ff: Fe12: AC11]: 143/TLS: Digest -MD5
Hydra -L admin -p contraseña ftp: // [192.168.0.0/24]/
Hydra -L inicios de sesión.txt -p pws.TXT -M Targets.txt ssh
Inicio de sesión basado en la web de Bruteforce con Hydra
Hydra admite algún servicio de fuerza bruta Como mencioné anteriormente, uno de ellos se utiliza para inicios de sesión en la web de Bruteforce, 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 basado en la web de su enrutador, etc. Que "http [s]-get | post -form" que manejará esta solicitud. En este tutorial les voy a mostrar cómo Bruteforce Inictos web vulnerables. Antes de encender Hydra, deberíamos saber algunos argumentos necesarios a continuación:
Ayuda para el módulo HTTP-Post-Form:
El módulo HTTP-Post-Form requiere la página y los parámetros para el formulario web. Por defecto, este módulo está configurado para seguir un máximo de 5 redirecciones seguidas. Siempre recopila una nueva cookie de la misma URL sin variables, los parámetros toman tres valores separados ":" más valores opcionales. (Nota: Si necesita un colon en la cadena de opción como valor, escúchelo con "\:", pero no escape de un "\" con ""\\"".)
Sintaxis:
[url]: [parámetros de formulario]: [cadena de condición] [:( opcional) [:( opcional)]
Aquí es donde la mayoría de la gente se equivoca. Tienes que verificar la aplicación web cómo se ve una cadena fallida y ponerla en este parámetro!
Los siguientes parámetros son opcionales:
C =/página/uri para definir una página diferente para recopilar cookies iniciales de (h | h) = my-hdr \: foo para enviar un encabezado HTTP definido por el usuario con cada solicitud ^ usuario ^ y ^ pase ^ también se puede poner en estos encabezados!
Nota: 'H' agregará el encabezado definido por el usuario al final, independientemente de que ya esté siendo enviado por Hydra o no. 'H' reemplazará el valor de ese encabezado si existe, por el que suministra el usuario, o agregará el encabezado al final.
Tenga en cuenta que si va a poner colons (:) en sus encabezados, debe escapar de ellos con una barra insegura (\). Todos los colones que no son separadores de opciones deben ser escapados (ver los ejemplos arriba y abajo). Puede especificar un encabezado sin escapar de los colons, pero de esa manera no podrá poner los colons en el valor del encabezado en sí, ya que Hydra interpretará como separadores de opciones.
Obtener parámetros de publicación utilizando el navegador, Iceweasel/Firefox
En su navegador Firefox, presione las teclas 'Ctrl + Shift + Q'. Luego abra la página de inicio de sesión web http: // testasp.vulnweb.com/inicio de sesión.áspid?Returl =%2FDefault%2easp%3F, notará que aparece algún texto en la pestaña Desarrollador de red. Le dice qué archivos se nos transfieren. Consulte el método que se obtienen, ya que aún no hemos publicado ningún dato.
Para obtener los parámetros posteriores a la forma, escriba lo que sea en el nombre de usuario o formulario de contraseña. Notará un nuevo método de publicación en la pestaña 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 solicitud copia la última línea, como ""Tfuname = asu & tfupass = raimu"". el ""Tfuname"" y ""Tfupass"" son 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 Rockyou.txt lugar en /usr/share/listas de palabras/ Como se ve a continuación:
Muy bien, ahora tenemos todos los argumentos que necesitamos y listos para encender Hydra. Aquí está el patrón de comando:
hidra -l-PAG
Finalmente, según la información que hemos reunido, nuestros comandos deberían verse algo así:
Hydra -l admin -p/usr/share/wordlists/rockyou.txt testasp.vulnweb.com http-post-forma ""/inicio de sesión.áspid?Returl =%2fDefault%2easp%3f: tfuname =^user^& tfupass =^pase^: s = logrout ""-vv -f
Desglosemos los comandos:
Ahora dejemos que Hydra intente romper la contraseña para nosotros, necesita tiempo ya que es un ataque de diccionario. Una vez que haya logrado encontrar un par de inicio de sesión: la contraseña Hydra finalizará inmediatamente el trabajo y mostrará la credencial válida.
Hay tanto que Hydra podría hacer, ya que en este tutorial acabamos de aprender a hacer un inicio de sesión basado en la web de Bruteforce usando Hydra, solo aprendemos un protocolo, es decir, el protocolo de forma http-post. También podemos usar Hydra contra otro protocolo como SSH, FTP, Telnet, VNC, proxy, etc.
"