Buscar

16 febrero 2021

Solución máquina Vulnhub (NullBite)


Hola de nuevo. Vamos con la solución al reto de VulnHub “NullBite”.





Según su autor, va de nivel principiante a intermedio y nos dice que debemos usar el pensamiento lateral y quizá tengamos que escribir algo de código. Es por eso que me decido a coger este reto, a ver si soy capaz de realizarlo.









Para variar, voy a empezar con un escaneo con nmap xD.









De momento me vale con este escaneo, luego si creo necesario ampliarlo lo haré hacia todos los puertos.





Bueno, ya vemos que tenemos abierto el puerto 80, así que vamos a ver que hay.









“Si buscar las leyes de la harmonía, encontrarás el conocimiento”. Bonita frase. Haciendo una búsqueda rápida, parece ser que es un proverbio egipcio.





Revisando el código no encuentro nada, lo único que veo que me llama la atención, es que pone que es el nivel 1, lo cual me hace pensar que puede que haya más niveles jeje.









Por si acaso me guardo la imagen y la paso en un momento por exiftool a ver si saca algo.









Pues mira por donde sí que había algo, he obtenido kzMb5nVYJw que a bote pronto tiene pinta de contraseña.





Vamos a tirarle un poco con dirbuster a ver si sale algo.









He encontrado un directorio de subidas, veamos que hay.









Pues mi gozo en un pozo xD. Dándole un poco a la cabeza, y recordando otro de los retos, quizá lo que pienso que es una contraseña en realidad no lo es. Voy a probar a ver si fuese un directorio.









Estaba en lo cierto, es un directorio y nos pide una key, ¿será el mismo valor que el directorio?









Pues no ha habido suerte. Pero revisando la respuesta de Burp, me encuentro con esto.









Nos dice que el formulario no está conectado a Mysql y que la contraseña no es tan complicada.





Recuerdo que una de las pruebas de Mutillidae o de DVWA (no recuerdo cual) era saltarse un “formulario” como el que me encuentro ahora. Voy a probar con hydra a ver si lo saco.





Después de un rato mirando la ayuda y de probar varias formas consigo encontrarlo.









Hydra nos dice que la key es elite vamos a ver si es cierto.













Nos dice que ha cogido los datos de forma exitosa, pero no veo nada más.





Lo que sí que encuentro, tras revisar de nuevo Dirbuster, es que ha encontrado un panel de phpMyAdmin.









No consigo acceder como root/elite y mirando Burp veo que en la petición va un token, pero este nunca cambia. Vamos a tirarle con el intruder a ver si sacamos algo, mientras continúo investigando.





Mira tú por donde, jugando con el parámetro de la URL donde nos pedía una key, me percato que tiene una SQLi.









Vamos a profundizar algo más con SQLmap.





sqlmap -u http://192.168.1.142/kzMb5nVYJw/420search.php?usrtosearch=culo --dbs





Lo que me devuelve este resultado.









Ahora le paso





sqlmap -u http://192.168.1.142/kzMb5nVYJw/420search.php?usrtosearch=culo -D seth,phpmyadmin --tables









Continuo con





sqlmap -u http://192.168.1.142/kzMb5nVYJw/420search.php?usrtosearch=culo -D seth -T users  --columns









Y por último, le pido el id, users y pass.





sqlmap -u http://192.168.1.142/kzMb5nVYJw/420search.php?usrtosearch=culo -D seth -T users -C id,users,pass --dump









Bien, ya tenemos al menos el hash de la password del usuario ramses: YzZkNmJkN2ViZjgwNmY0M2M3NmFjYzM2ODE3MDNiODE





Si pasamos de Base64 a texto el anterior hash obtenemos





c6d6bd7ebf806f43c76acc3681703b81





Pensaba que sería un código en hexadecimal, pero no me devuelve ningún resultado, así que se lo pasaré a hashcat a ver si saca algo. Mientras sigo mirando con SQLmap la parte de phpMyAdmin a ver si saco algo.









Pues ya lo tenemos, como he dicho siempre, gran herramienta el hashcat este xD.





c6d6bd7ebf806f43c76acc3681703b81:omega  





Hora de volver a lanzar nmap a todos los puertos a ver que encuentro.









Pues parece que hay un ssh en el puerto 777 que la primera vez nmap no nos dijo.









Ya estamos dentro de la máquina con el usuario ramses. Lo primero es ver que tiene este usuario.









Veamos el bash_history por si nos da alguna pista.









Parece que el usuario previamente ejecutó un binario llamado procwatch situado en el directorio /var/www/backup. Vamos a ver qué pasa con él.









Encuentro un fichero .txt que dice “tengo que arreglar este lío”. El binario es propiedad de root y esto me suena bastante del reto del otro día. Me voy a copiar el binario a mi Kali y voy a ver que saco.









Igual que en el reto de “The Wall” que hice anteriormente, decido ir por el camino rápido.









La primera vez que ejecutas el binario nos devuelve lo que vemos en la imagen anterior; procwatch genera una shell que llama a ps y como pasaba en el reto que mencionaba hace unas líneas, la llamada se hace con system y sin una ruta explícita, y ahí está la vulnerabilidad. Solo tengo que modificar mi path para que cuando ejecute de nuevo procwatch llame a ps y eleve privilegios.









Pues ahí está el flag, hemos terminado, pero no se porque me da la sensación de que algo me dejo en el camino, así que me vuelvo a la parte del SQLmap a ver si saco la pass del phpMyAdmin.









Pues parece ser que no hay nada, pero no hay que darse por vencido.





Veamos, tengo el usuario root y la petición que hago pasada por Burp, así que, vamos a por ello.









Ahora también tengo el error que da con un login erróneo. A darle caña con el intruder.









Ahí está, la password del phpMyAdmin es sunnyvale.









Pues después de subir una shell y probar varias cosas, al final llego al mismo punto y obtengo el mismo flag, así que, o no hay más, o no lo veo.





Nos vemos en la siguiente.


0 comentarios:

Publicar un comentario