¿Qué es FTP?
FTP (File Transfer Protocol) es un procolo de red estándar utilizado para tranferir archivos entre un cliente y un servidor de una red. FTP permite a los usuarios cargar, eliminar, descargar, renombrar, copiar y mover archivos en un servidor a traves de una conexion de red.
Enumerando FTP
Comenzamos con un escaneo -sV en Nmap. Esto nos permitirá encontrar servicios abiertos en el objetivo.
En este caso vemos que el sistema está corriendo un servicio FTP en el puerto 21.
¿Tendrá alguna vulnerabilidad? ¿Estará bien configurado?
Intentamos loguearnos como "anonymous" (Ya que no conocemos ningún usuario). No ponemos contraseña y el servidor nos deja entrar.
Hay un claro error de configuración, no deberiamos poder acceder.
Listamos, entonces, el contenido de la carpeta. Vemos un fichero ".txt"
Descargamos la nota.
Abrimos la nota y nos encontramos con una nota que explica que el servidor FTP no estará en funcionamiento durante el fin de semana por mantenimiento. ¿Será allì donde ocurrió la desconfiguración? No lo sabemos, pero esa no es la informaciòn util de esta nota.
Si leemos detenidamente, tenemos un dato mucho más importante, obtuvimos un posible nombre de usuario:
mike
Podemos entonces utilizar una herramienta de crackeo. En este caso Hydra.
Fe de erratas: El comando de la imagen está mal colocado, veamos como sería correctamente:
sudo hydra -t 4 -l <Usurario> -P /usr/share/wordlists/rockyou.txt -vV <IP> ftp
Hydra intentará encontrar la contraseña para Mike utilizando el diccionario Rockyou (un compendio de millones de millones de contraseñas).
¡Funcionó! Hemos colocado el comando -vV para qué Hydra nos informe que contraseñas está probando.
En este caso la contraseña del usuario "mike" era muy debil.
Repetimos el proceso de entrar al servidor FTP, esta vez entramos como mike y colocamos la contraseña.
Listamos los archivos con el comando "ls" y bajamos la unica nota: ftp.txt.
Lo abrimos y ¡Listo!
Tenemos la bandera.
Hay que estar atentos a las malas configuraciones de protocolos de red. Sobre todo a sistemas facilmente vulnerables como ciertas versiones de FTP. Tambien es importante configurar un limite de intentos de ingreso con contraseñas erroneas.
NOTA: Todas estas pruebas fueron realizado en la página TryHackMe, un sitio que ofrece entornos controlados para practicar pentesting..
Estos procedimientos no deben realizarse a equipos ajenos sin una previa autorización.