Atacar un Servicio FTP con una Lista de Palabras utilizando THC-Hydra

  • Posted on: 29 September 2021
  • By: ReYDeS

FTP (File Tranfer Protocol) es un protocolo de comunicación estándar ,utilizado para transferir archivos desde un servidor hacia un cliente sobre una red de computadoras. FTP se construye sobre una arquitectura cliente-servidor, utilizando un conexiones separadas de control y datos, entre el cliente y el servidor. Los usuarios FTP pueden autenticarse con un protocolo en texto plano, normalmente en la forma de un nombre de usuario y contraseña, pero pueden conectarse anónimamente si el servidor está configurado para permitirlo.

Hydra es una herramienta la cual permite realizar ataques para intentar adivinar las contraseñas, el cual funciona en paralelo con soporte de diversos protocolos. Actualmente soporta Asterisk, AFP, Cisco AAA, Cisco auth, Cisco enable, CVS, Firebird, FTP, HTTP-FORM-GET, HTTP-FORM-POST, HTTP-GET, HTTP-HEAD, HTTP-POST, HTTP-PROXY, HTTPS-FORM-GET, HTTPS-FORM-POST, HTTPS-GET, HTTPS-HEAD, HTTPS-POST, HTTP-Proxy, ICQ, IMAP, IRC, LDAP, MEMCACHED, MONGODB, MS-SQL, MYSQL, NCP, NNTP, Oracle Listener, Oracle SID, Oracle, PC-Anywhere, PCNFS, POP3, POSTGRES, Radmin, RDP, Rexec, Rlogin, Rsh, RTSP, SAP/R3, SIP, SMB, SMTP, SMTP Enum, SNMP v1+v2+v3, SOCKS5, SSH (v1 and v2), SSHKEY, Subversion, Teamspeak (TS2), Telnet, VMware-Auth, VNC and XMPP.

THC-Hydra es un código de prueba de concepto (PoC), para proporcionar a los investigadores y consultores en seguridad la posibilidad de mostrar cuan fácilmente se puede obtener acceso no autorizado remoto hacia un sistema.

Se ejecuta Hydra con la opción “-h” para visualizar un resumen de sus principales opciones.

$ hydra -h

Para la presente demostración se utilizará el archivo “/usr/share/wordlists/metasploit/unix_users.txt”
incluido en Metasploit Framework.

$ column /usr/share/wordlists/metasploit/unix_users.txt

Se ejecuta Hydra contra un servicio FTP ejecutándose en el puerto TCP 21.

$ hydra -t 3 -V -ensr -L /usr/share/wordlists/metasploit/unix_users.txt 192.168.0. 50 ftp

La opción “-t” ejecuta el número definido de conexiones en paralelo. En este caso se define a “3”. Por defecto es de 16.

La opción “-V” muestra la combinación de login y contraseña para cada intento realizado.

La opción “-L” define un archivo conteniendo LOGINs

La opción “-e nsr” realiza verificaciones adicionales, “n” para una contraseña nula, “s” para intentar el mismo login, “r” intenta el usuario invertido como contraseña.

La opción “ftp” define el servicio a atacar.

Hydra ha identificado un nombre de usuario y contraseña válidas. Se utiliza un cliente ftp para verificar la validez de estas credenciales.

$ ftp
ftp> open 192.168.0. 50
ftp> dir

Se verifica exitosamente el nombre de usuario “vagrant” y la contraseña “vagrant”, en el servicio FTP del servidor. Recordar estas credenciales pueden ser reutilizadas en otros servicios o en otros host en la red. Las cuales pueden ser utilizadas para un movimiento lateral, escalar privilegios, y en general en la etapa de post-explotación.

Fuentes:

https://github.com/vanhauser-thc/thc-hydra
https://www.systutorials.com/docs/linux/man/1-hydra/
https://en.wikipedia.org/wiki/File_Transfer_Protocol

Sobre el Autor


Alonso Eduardo Caballero Quezada - ReYDeS
Instructor y Consultor Independiente en Ciberseguridad
Correo Electrónico: ReYDeS@gmail.com
Twitter: https://twitter.com/Alonso_ReYDeS
LinkedIn: https://pe.linkedin.com/in/alonsocaballeroquezada/
Facebook: https://www.facebook.com/alonsoreydes
Youtube: https://www.youtube.com/c/AlonsoCaballero