Hack The Box Topology
Última actualización
Última actualización
Vulnerabilidades - Local File Inclusion - Code Injection - Directory Traversal
Bueno primeramente observamos los puertos que tenemos abiertos en la maquina en la cual observamos que son dos nada mas.
Ahora lanzamos una nmap para ver que versiones y servicios corren para estos puertos que encontramos abiertos.
Ahora si nos vamos a la web nos encontramos con una web simple y nos dan este dominio, el cual podemos añadir a nuestro /etc/hosts.
Si inspeccionamos el codigo fuente de la pagina igualmente nos encontramos con otro dominio que igualmente lo podemos añadir al /etc/hosts para que nuestra maquina sepa a donde apuntar.
Bueno haremos lo que deciamos anteriormente añadir los dominios a nuestro /etc/hosts, yo lo hago de esta forma, pero si no lo entiendes lo que puede hacer es la forma mas facil y mas manual que automatico y usar nano le dices nano /etc/hosts y ya los podras añadir manual.
Si nos vamos a uno de los dominios que añadimos al /etc/hosts nos encontramos con esto, unas formulas matematicas que no tengo ni idea que como se comen, pero tenemos un tipo panel donde podemos ingresar cosas.
Si habres bien los ojos puedes ver que en la parte de arriba dice Latex, lo cual nos podria dar una idea de hacer Latex Injection en este panel y es lo que haremos.
Antes de pasar a las Latex Injection si borramos el equation.php de la url nos topamos con esto que son imagenes pdf y mas cosas, nada interesante.
Antes de pasar a las Latex Injection. Si usamos wfuzz para tratar de enumerar directorios o subdominios en la web, intente buscar directorios nada, pues buscando subdominios esta este problema que seguro te lo topas, todas las respuestas dan un codigo de estado 200 hay que filtrar para ver lo que nos interesaria ver.
La solucion esta aca --hl=174 le decimos a wfuzz que todas las respuesta que tengan 174 lineas no las quiero ver y que me muestre solo respuestas diferentes, observamos que las respuestas son diferentes 5 14 y 174, tenemos un subdominio dev. Vamos a verlo.
Si nos vamos al subdominio observamos que necesitamos credenciales para entrar credenciales que no tenemos.
NOTA el dev es un subdominio asi que lo debes añadir al /etc/hosts, supongo que ya sabras como hacerlo de forma manual.
Bueno ahora volvemos a nuestro panel ahora si vamos a probar las Latex Injection, empezamos con lo mas tipico intentar leer el /etc/passwd.
La Latex Injection funciona y podemos leer el /etc/passwd. Siempre que puedo hacer esto leer el /etc/passwd siempre me fijo si hay usarios con directorios de trabajo en el /home o quien tiene asignado una bash, buscar informacion
Y bueno tenemos un usuario que esta asignado al directorio de trabajo el usuario vdaisley. Esto es informacion para intentar hacer ataques de fuerza bruta, hay que recordar que el ssh esta abierto.
Ahora vamos a intentar leer la info que haya en el subdominio al cual no tenemos acceso y que necesitamos credenciales, como se que esta ahi, pues normalmente todo se almacena por ahi esta es la ruta casi tipica donde se almacena todo para la exponer la web.
Lo hemos podido leer y observemos que tenemos un usuario y el has de su contraseña, a nivel de sistema ya sabiamos de ante-mano que este usuario existe, Ahora vamos a crackear su contraseña.
Primeramente metemos el has a un archivo usando echo, tambien lo puedes hacer de forma manual usando nano.
Ahora usando john lo ponemos a trabajar, y tenemos la contraseña del usuario en cuestion.
Usamos las credenciales que ya tenemos y nos conectamos al ssh y vamos por nuestra primera flag la de user.txt. AHORA SOLO FALTA ESCALAR PRIVILEGIOS.
Esto es una tarea cron que se ejecuta donde tenemos permisos de escritura, yo lo encontre usando pspy te lo transfieres a la maquina victima desde tu maquina de atacante le das permisos de ejecucion y lo ejecutas.
Ahora vamos a explicar la escalada de privilegios
Como tenemos permisos para crear archivos en el directorio /opt/gnuplot, creamos un archivo para que el programa nos convierta la BASH con permisos SUID.
PLT eso me suena a una libreria de python que se usa para el analisis de datos ahora busco
¿Qué es PyPlot? Pyplot es un módulo Matplotlib que propone varias funciones sencillas para añadir elementos tales como líneas, imágenes o textos a los ejes de un gráfico.
OK
Después de unos segundos la BASH cambia de permisos, pudiendo así convertirnos en root y leer la flag. En el punto dos si le hacemos un cat al archivo que hemos creado lo podemos ver.
Ahora solo hacemos un bash -p y somos root y ahora vamos por nuestra ultima flag la de root.txt YYYYYYY MAQUINA RESUELTA