HackMyVM - Art
Last updated
Last updated
En la maquina de hoy estaremos tocando los siguientes temas:
Web Enumeration
Esteganografía (steghide)
Escalada abusando permisos sudo archivo /bin/wtfutil config.yml"
Comprobamos que tengamos conexión con la máquina victima.
Con el TTL podemos saber que nos enfrentamos a una máquina Linux, ya que es ttl=63, así que es lo más cercano al 64 que es de Linux.
Linux --> 64
Windows --> 128
Solaris/AIX --> 254
-sS
Escaneo SYN Port scan, agiliza el escaneo
-sC
Para que envíe unos scripts básicos de reconocimiento que tiene Nmap en lua
-sV
Para que los puertos que encuentre abiertos nos muestre las versiones
-p-
Escanee todo el rango de puertos, que en total hay 65535
--open
Solo los puertos abiertos
--min-rate
Que no envíe paquetes más lentos que X
-v
Verbose, que muestre por pantalla los puertos que vaya encontrando antes de acabar el escaneo
-n
Para que no haga resolución DNS
-Pn
Para que no haga Host Discovery
-oN
Que el escaneo actual lo ponga en X archivo en formato normal (nmap).
22 --> OpenSSH 8.4p1
80 --> nginx 1.18.0
En el código fuente encontramos lo siguiente en un comentario
Hacemos fuzzing con dirsearch a ver si encontramos algun directorio
Realizamos fuzzing al index.php ya que es la única ruta que encontramos, vamos a ver si encuentra algun archivo en index.php?FUZZ.
-c
Formato coloreado
--hc
Que no muestre el código que le establezcas [Ej: --hc=404,403)
-t
Numero de hilos
-w
Wordlist
-u
URL
Y encontramos justamente lo que salía en el código fuente -->
tag
Ahora realizamos fuzzing pero en el parámetro "tag"
-c
Formato coloreado
--hc
Que no muestre el código que le establezcas [Ej: --hc=404,403)
-t
Numero de hilos
-w
Wordlist
-u
URL
Encontramos 2 imagens en el "tag=":
Beauty
beauty
Ambas imagenes salen lo siguiente:
Nos descargamos la imagen para ver si tiene algo oculto en la imagen, en este caso vamos a utilizar la herramienta steghide.
extract
La herramienta tiene 2 opciones, embed y extract, este caso queremos extraer, si quisiéramos incrustar deberíamos utilizar embed
-sf
Especifique el nombre del archivo stego que se creará.
Es un usuario y una contraseña, sabemos que hay el puerto 22 abierto, vamos a hacer login a ver si son credenciales correctas.
Ha funcionado, así que ahora solo toca enumerar el sistema para encontrar el vector de escalada.
Por ahora nada interesante que podamos abusar.
Encontramos 2 usuarios validos
root
lion
No hay ningún binario SUID que podamos abusar
Parece que nuestro usuario actual puede ejecutar como sudo sin tener que poner credenciales el binario /bin/wtfutil
Vamos a ejecutar el binario a ver que es
Arriba a la izquierda vemos que hay un archivo de configuración, vamos a analizarlo bien a ver si podemos abusar.
Igualmente ya vemos que en el propio programa hay una pestaña que ejecuta el comando "uptime"
Leyendo el archivo de configuración veo que podemos cambiar el comando uptime a otro comando, en esta caso nos daremos una reverse shell para que tengamos una shell como root.
Cambiamos el args y cmd por los siguientes parámetros:
Quedaría así
Nos ponemos en escucha:
Pero ahora si ejecutamos el wtfutil no nos dará la reverse shell ya que como ejecuta el programa como root, ejecutará el config.yml de root, y nosotros hemos cambiado el del usuario Lion.
Al hacer wtfutil --help vemos que se puede establecer con que config.yml queremos que se ejcute el programa
Así que solamente debemos establecer que ejecute como root pero con el archivo de config de Lion
Y nos da la shell
La verdad es que está máquina me gusto muchisimo ya que nunca habia tocado esteganografía y me ayudo a aprender mucho del tema.
¡Espero que hayais disfrutado de la máquina!