Posted in

Metasploitable 3 – Solución (Parte 1 – FTP)

En esta serie de artículos, resolveremos la máquina Metasploitable 3, la cual instalamos en previamente. Para conocer detalles acerca de la instalación en Windows 10, puedes ver la publicación anterior http://labitacoradelhacker.com/instalar-metasploitable-3-en-windows-10-2020/

Lo primero que tenemos que hacer es identificar la dirección IP de nuestra máquina objetivo, en este caso, Metasploitable, entonces lanzaremos un ping scan con Nmap:

Nuestra máquina objetivo está en la 192.168.1.16, entonces ejecutaremos un escaneo completo:

Vemos el servicio Microsoft ftpd en ejecución, intentaremos conectarnos utilizando una autenticación anónima (aunque hoy en día ya no es tan frecuente encontrar este tipo de permiso, es conveniente siempre probar este tipo de acceso):

Bueno, era de esperar que no funcionara. Por lo tanto, buscamos la forma de realizar fuerza bruta sobre el servicio, para ello, podemos identificar palabras claves relacionadas a la máquina victima, que nos permita generar un diccionario de contraseñas. Si visitamos el repositorio de Metasploitable 3, podemos identificar ciertas palabras que podrían ayudar:

Podemos observar palabras como vagrant, packer, linux, etc. A partir de esta información generaremos un diccionario de contraseñas potenciales. Vamos a extraer algunas palabras relacionadas de rockyou:

Ahora, utilizaremos un script en Python que permita realizar fuerza bruta sobre el servicio FTP. Podemos construir uno personalizado o descargar alguno desde Github, por ejemplo: https://github.com/arjnklc/FTP-Brute-Forcer.

Lo descargaremos y ejecutaremos sobre el servicio FTP:

Tal como se puede ver, se encontró al usuario vagrant con contraseña vagrant. Utilizamos estas credenciales para acceder al servicio:


Usando Metasploit:

Si queremos realizar fuerza bruta sobre el servicio Microsoft FTP, usando Metasploit, debemos seleccionar el exploit auxiliar ftp_login:

Cualquiera sea el mecanismo que decidas usar, en un proceso de pentesting real, es importante asegurarnos que el servicio no tenga mecanismos de bloqueo ante intentos fallidos, ya que podríamos bloquear a un usuario real o afectar la disponibilidad de los servicios.

En las siguientes entradas, realizaremos la evaluación de los demás servicios.


BONUS

Después de acceder al servicio FTP, encontramos algunos archivos adicionales en la carpeta:

Vemos un archivo llamado seven_of_hearts.html, lo abriremos en un navegador:

Aquí podemos ver que la imagen no se muestra, sin embargo, el response es una cadena larga en base64, la cual no se puede renderizar:

Tomamos la URL y guardamos el contenido base64 dentro de un archivo:

Y convertimos el documento a imagen, decodificando el contenido:

Y podemos ver la siguiente imagen:

Otro de los archivos que vemos dentro de la carpeta es six_of_diamonds.zip, procedemos a descargarlo:

Sin embargo, el contenido está protegido con contraseña:

Utilizando la herramienta zip2john, convertiremos el zip en un formato legible para ser crackeado con John the Ripper:

zip2john six_of_diamonds.zip > hash_six_diamonds
john hash_six_diamonds --wordlist=./passwords.txt

La contraseña es vagrant. Procedemos a extraer el archivo y la imagen que nos muestra es la siguiente:

Hemos obtenido dos flags:

  • seven_of_hearts.png
  • six_of_diamonds.png