16 dic 2013

Metasploit: FreeFTPd 1.10 Overflow

En Agosto se descubrió una nueva vulnerabilidad sobre los productos de FreeSSHd, en este caso le tocó el turno a FreeFTPd en su versión 1.0.10 e inferiores. La aplicación contiene un buffer overflow el cual puede ser explotado cuando un usuario no es correctamente validado en la utilización del comando PASS. Este hecho puede permitir que un atacante remoto desborde el buffer y ejecute código arbitrario, como vamos a ver aquí una shellcode que nos interese. 

Hace un par de meses se migró el exploit a un módulo de Metasploit, y lo podemos encontrar por ejemplo en Exploit-db. Para llevar a cabo la prueba de concepto descargaremos el módulo y lo importaremos al framework, tal y como podemos ver en la siguiente imagen.


Una vez arrancado msfconsole accedemos al módulo que acabamos de importar, y visualizamos las opciones del módulo de tipo exploit. El parámetro que debemos rellenar es RHOST, la máquina destino con la que tenemos que tener conectividad.


La máquina víctima debe tener la versión 1.0.10 o inferior instalada, y disponer de un usuario con posibilidad de anonymous activada. En la siguiente imagen se puede visualizar el aspecto que tiene FreeFTPd instalado en un sistema operativo Windows.


Tras configurar el módulo de exploit, seleccionamos el payload que queremos configurar, en este caso el famoso Meterpreter de tipo inverso. Configuramos el parámetro LHOST, con la dirección IP donde la shellcode devolverá el control de la máquina. Además, configuramos el parámetro avanzado InitialAutoRunScript para que cuando la shellcode se ejecute en la máquina remota realice la migración de proceso automática. ¿Por qué? Cuando explotamos una vulnerabilidad en un proceso utilizamos dicha memoria, y si este proceso se cierra la shellcode muere también, por ello realizamos la migración a otro proceso automáticamente, en este caso a un notepad.exe (esto se puede modificar buscando el archivo migrate.rb en el framework).


Por último, al ejecutar el comando exploit logramos la sesión inversa y podemos visualizar que una vez explotada la vulnerabilidad y la shellcode comienza a ejecutarse se produce la migración automática de proceso.


Este es un pequeño truco a tener en cuenta para nuestras auditorías, ya sean internas o externas, ya que este tipo de software lo podemos encontrar en entornos públicos y privados. Para más información podéis consultar libros como Metasploit para pentesters o Pentesting con Kali.

No hay comentarios:

Publicar un comentario