miércoles, 4 de octubre de 2017

CTF: Proteus: 1: Vulnhub

Bueno, vamos a revisar el desafío Proteus 1 (Capture The Flag) de Vulnhub

Una vez con la VM del desafío y Kali, comenzamos a escanear la red para identificar el objetivo:

Buscamos los puertos disponibles:


Vemos que el acceso por SSH es solo vía claves públicas


Revisamos a través del navegador e identificamos los campos de entradas y datos importantes.

Probamos subiendo algún archivo binario


Probamos interceptar el request con burp y agregamos una secuencia de comandos



Ahora comenzamos a obtener información del sistema.

Preparamos un shell reverso y el comando en hexadecimal para enviarlo por POST


Una vez enviados los comandos, ejecutamos nc para esperar el shell reverso


Revisando los archivos, encontramos este binario con permisos especiales SUID. El cual se puede ejecutar y escribe en un fichero de log con permisos de root, los argumentos pasados.


Probamos ejecutarlo y vemos que se cae al pasarle un argumento demasiado largo


Vemos también que el binario cayó en el caracter 456; generó un archivo con la cadena desbordada a partir del caracter 456 y el archivo generado queda como root como propietario.


Con estos datos crearemos un exploit para escribir en el archivo /etc/passwd


Explotando la vulnerabilidad


Y el resultado


Y el Elliot como flag


Otra vía alternativa era haber encontrado la contraseña del usuario malwareadm codificada en formato URL en el archivo admin_login_request.js


:wq