Metasploitable – VSFTP Parte II

Este post es el post 3 de 3 en la serie Serie Metasploitable

Continuamos con nuestra serie de Metasploitable, en concreto con el servidor vsftpd que encontramos en la anterior entrega.

En el último post aprendimos como detectar la versión de los servicios que estaban corriendo en la máquina metasploitable y como usar metasploit para buscar y utilizar exploits ya configurados en la herramienta.

En este post vamos a realizar el mismo ataque pero de forma manual. Adelanto ya que es una backdoor muy fácil de explotar pero estamos empezando y lo mas importante es el proceso en si más que la vulnerabilidad.

Entendiendo la vulnerabilidad

Habíamos visto que el servicio que corría era un vsftp 2.3.4, de modo que lo primero que vamos a hacer es preguntar a nuestro querido amigo google

vsftpd5

Bueno, pues parece que tenemos mucha información a simple vista. En el primer enlace, nuestros amigos de SecurityByDefault se hicieron eco de la noticia. Al parecer, alguien logró acceder al repositorio de código y sustituyó el codigo fuente original por uno que incluía una backdoor. No fué nada demasiado sofisticado, el atacante modificó el codigo para que, si el usuario introducido en el login acababa con :) abriera un socket en el puerto 6200 enganchado a una shell y esperara conexión.

Comprobando la vulnerabilidad en metasploitable

Vamos a realizar la prueba. Lo primero que hacemos es lanzar un nmap al metasploitable para verificar que el puerto 6200 esta cerrado:

nmap con el atributo -p contra metasploitable

Ahora nos logamos con un usuario cuyo nombre acabe en :) y dejamos la pass en blanco:

conectando al ftp de metasploitable

Vamos a verificar si efectivamente se nos ha abierto la puerta trasera:

comprobando la vulnerabilidad en metasploitable

Vaya, pues parece que si funciona. Abrimos una nueva terminal y lanzamos un netcat al puerto 6200 y ¡voilà! tenemos una shell con permisos de root:

tomando el control de metasploitable

Conclusiones

Ahora que sabemos como funciona el exploit podemos sacar varias conclusiones que con el simple uso de metasploit no podríamos sacar:

  1. En realidad, como hemos visto, no hay un escalado de privilegios ni nada similar de modo que, dependiendo de los permisos que tuviera el usuario con el que se ejecutara el servicio, así tendriamos los permisos en la shell.
  2. Al tener que realizarse una conexión a un puerto relativamente poco común (6200) este backdoor no sería efectivo en redes wan ya que los routers/firewall no permitirían el acceso (en la mayoria de los casos) a este nuevo puerto. En redes Lan su efectividad dependería de los accesos que tuvieran los usuarios al servidor a nivel de red.
  3. Segun he podido investigar, la versión backdoorizada del software se mantuvo online varios días, por lo que todas las personas que descargaron esa versión y la pusieron en producción estarían afectados. No obstante, el bug es del 2011, la mayoría deberían estar sustituidas por nuevas versiones.
  4. He aquí un ejemplo claro de la ventaja de publicar tu código fuente. El creador de software fue alertado por un tercero que, al revisar el código observó algo extraño. ¿Cuánto hubiera tardado el creador en descubrir el backdoor si el código solo lo tuviera él?
  5. Con esto aprendemos una valiosa lección: actualiza. Eso de «Si funciona no lo toques» es la excusa del vago o del poco profesional, al que le da miedo no poder volver a levantarlo. Actualiza, cuanto antes mejor.

En los próximos post veremos como seguir explotando el servidor ftp pero por otro medios, sin usar esta backdoor a la que ya le hemos extraido todo el jugo.

Bye, bye

Series Navigation<< Metasploitable – VSFTP Parte I

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

Este sitio usa Akismet para reducir el spam. Aprende cómo se procesan los datos de tus comentarios.