Walkthrough Vm USV Vulnhub

No Comments
Antes de todo tenemos la máquina vulnerable en el siguiente enlace de VulbHUB.


URL: USV: 2016


Primero necesitamos identificar el equipo dentro de la red, así que teniendo ambas VMs en NAT, busqué hosts activos con nmap -sn segmento de red. 192.168.17.135 es el target en este caso.
Como la red está compuesta sólo por victima y atacante y muy probablemente el target no tenga ids o firewall que pueda bloquearme, realicé un descubrimiento de puertos y servicios bastante agresivo.

Cabe destacar, que si no colocaba el parámetro -p- algunos puertos no podían visibilizarse.


Con los puertos y servicios ya identificados, procedí a inspeccionar manualmente cada uno para ver que hacer.

Comiencé con el puerto 22 en busca de una sesión por ssh.




Gratamente, en lugar de pedir password directamente, arrojó un dragón con un extraño string en la parte inferior.

Tras algunas pruebas, logré identificar en la parte superior del dragón las letras A, E y S, y en el medio E, C y B. Entonces comprobé que se trataba de AES y que la key es el string de la cola xxxxx0000000xxxxx.


Primera flag identificada. Italy Flag: 0047449b33fbae830d833721edaef6f1

Luego de buscar varias formas de ingresar al ssh y no obtener resultados decidí comenzar a explorar el puerto 80.

Al ingresar directamente mostraba forbiden, lo cual tiene lógica ya que ésta vm posee el puerto 3129 abierto donde corre un proxy http.

Al analizar encabezados, la flag X-XSS Protection posee un base64.



Al decodificar ese string encontré la segunda flag.



Croatia Flag: 0c326784214398aeb75044e9cd4c0ebb

Configuré el proxy http para seguir descubriendo. En firefox: opciones->Avanzadas->configuración->configuración manual de proxy.



Al refrescar apareció una imagen de games of thrones (no tenía ni idea de que trataba,nunca vi esa serie).




Tras buscar en el código, en la imagen, analizar el tráfico, encabezados y demás sin éxito, decidí tirar un nikto para ver si encontraba por dónde seguir.



Afortunadamente, nikto me facilitó algunos directorios. En /blog hay un wordpress con algunos post, la enumeración de users es bastante útil para un paso posterior pero no imprescindible.

Luego de varias pruebas, idas y vueltas encontré en el directorio /blog/hodor un archivo zip.


El zip contenía una imagen con un string en base 64.




Tras decodificar el string, la tercer flag.




Portugal Flag: a2663b23045de56c7e96a406429f733f


El último post del blog está protegido con password, busque bypassear, sqli, xss y nada.




Entonces decidí armar un diccionario custom con cewl, hay que tener en cuenta el proxy.




Utilicé el intruder de Burp para realizar el bruteforce, podría haber usado hydra que es más veloz, pero con el tema del proxy no logré hacerlo funcionar.
Configuré burp para que escuche localhost puerto 8080



Ahora el proxy para poder visualizar el puerto 80 en el host remoto.



Modifiqué el proxy en el browser.




Coloqué 1234 en el campo password para poder identificarlo y poder llevarlo al intruder.




Utilcé el sniper como tipo de ataque sobre el label post_password, seleccioné el diccionario armado con cewl y esperé un buen rato.
Cabe destacar que en Burp, en la opción redirections hay que seleccionar always, sino solo entregará como resultado 302.


Por si gustas conocer mas sobre BurpSuite se tiene la Guia No Oficial en Español como tambien la Guia realizada por mi persona de OWASP ZAP con ambos es viable realizar este ataque.

Al analizar las respuestas, la palabra Westerosi obtuvo un string en base 64. Al colocarlo como password en el blog, se hizo visible el post protegido.



Paraguay Flag: 4761b65f20053674657c7e6186628a29


Aquí es lo que comentaba antes sobre listar los users, mother_of_dragon es el autor del primer post del blog.
Luego un largo rato buscando donde podía usar el user y buscando combinaciones para la password que “estába frente a mi ojos”, logré acceder por FTP.



Solo un archivo txt que al abrirlo dice que como suele olvidar la contraseña usa el nombre de sus niños.





 
Esta parte me costó bastante, puede ser que al no haber visto la serie y no conocer sobre la historia tenía pocos recursos para resolverlo. De todos modos siempre hay amigos que ven todas las series y google para acudir.
En éste link fue donde encontré de que trataba, al final era el nombre de unos dragones. http://gameofthrones.wikia.com/wiki/Dragons
Armé un listado con los nombres encontrados en distintos órdenes y tiré bruteforce contra el wp-login del wordpress.

Una vez dentro del CMS, edité el 404.php de uno de los templates que trae por defecto wordpress colocando una shell reversa en php.




El código de la shell lo copié del siguiente link. Pentestmonkey - php-reverse-shell
En la máquina atacante levanté un netcat escuchando el puerto 1234.


Al acceder a  /wp-content/theme/nombre del template/404.php levantó la shell y el acceso.

Tras un poco de reconocimiento y búsquedas con find, locate y whereis, di con reward_flag.txt, con otro base64 y una nueva flag.






Mongolia Flag: 6b49c13cccd91940f09d79e142108394


Escalé privilegios para poder visualizar más archivos.




Es mejor una shell en bash que en sh.




La flag.txt en root estaba oculta.




Al visualizar el archivo, hay un simpático perrito y más abajo la flag.



Somalia Flag: 4a64a575be80f8ffab26b06a958bcf34
Hasta aquí todo genial, encontré la flag.txt en root luego de escalar privilegios, sin embargo solo obtuve 6 de las 7 flags que menciona la descripción.  Luego de unas cuantas horas, haciendo, deshaciendo, reiniciando la vm, escalando privilegios, tirando exploits, buscando en los servicios mysql, ftp, ssh, dumpear shadow y passwd y muchas otras cosas más, la flag que me faltaba estaba en la descripción del perfil en el wordpress, al que llegué casi por accidente.






Thailand Flag: 6ad7965d1e05ca98b3efc76dbf9fd733



Conclusión:

Bastante simple, divertida. Ideal para poner en práctica los conocimientos sin quemarse demasiado las neuronas, salvo que dejes pasar una flag y después te vuelvas loco buscándola por un lugar donde ya pasaste.

¿Qué aprendí? Que games of thrones tiene dragones y que hay que ser totalmente minucioso en la búsqueda en cada paso que se avanza.


Saludos

@balderramaeric

0 comentarios

Publicar un comentario