Grandpa [EASY🟢]

Dificultad: Fácil

1- Reconocimiento y escaneo

1.1 Ping

Podemos notar que se trata de una maquina Windows, debido al TTL:

1.2 Nmap

Solo tenemos el puerto 80 abierto donde corre un servidor web de Microsoft IIS en su versión 6.0

1.3 whatweb

Vemos tecnologías como:

1.4 Revisión del código fuente

Vamos a revisar el código fuente de la pagina web alojada en el puerto 80(Microsoft IIS httpd 6.0):

CTRL + U:

Dentro del codigo fuente no encontramos nada interesante

1.5 Fuzzing

En este caso el Fuzzing lo vamos a realizar con la herramienta "wfuzz" :

Ejecutamos:

2- Explotación

2.1 Reverse shell exploit para Microsoft IIS 6.0

Si volvemos al escaneo de Nmap, este servidor web se trata de un Microsoft IIS en su versión 6.0, realizando una búsqueda en internet, veremos que es una versión antigua de Microsoft IIS, por lo que podríamos utilizar un exploit de GitHub, en mi caso utilizare el siguiente:

Créditos al creador del repositorio

Repositorio de GitHub

Se trata de un script que explota un buffer overflow para obtener una reverse shell

Vamos a bajarnos el script con wget:

Este script esta hecho en Python 2, no en Python 3, por que veremos que en el código del script, las funciones "print" integradas del propio lenguaje Python, no tienen comillas dobles, asi que vamos a ejecutarlo, pero antes vamos a abrir una nueva consola en Kali y ponernos en escucha con netcat por el puerto 443:

Y el comando para ejecutar el script se estructura de la siguiente manera:

Ejecutamos:

Ahora vamos a irnos a la consola donde teniamos netcat en escucha por el puerto 443:

Para obtener la flag de usuario, tenemos que primeramente escalar privilegios, ya que no es accesible o no tenemos permisos para acceder a los usuarios que se encuentran dentro de la maquina Windows

3- Escalado de privilegios

3.1 Permisos para usuarios en Windows

Para verificar los permisos que tenemos dentro de este usuario que acabamos de obtener con la reverse shell, utilizaremos el comando "whoami /priv":

Esto que estamos viendo, son privilegios de Windows, concretamente nos interesa el permiso "SeImpersonatePrivilege", ya que con este permiso, tenemos vulnerabilidades para escalado de privilegios

3.2 churrasco.exe

Para el escalado de permisos explotando alguna vulnerabilidad del permiso "SeImpersonatePrivilege", utilizaremos un software llamado "churrasco.exe" :)

Respositorio de GitHub

Creditos al creador del repositorio

Vamos a bajarnos el software con "wget", con el siguiente comando:

Y ahora para pasar el archivo "churrasco.exe" a la maquina objetivo, utilizaremos "impacket-smbserver", para pasarlo por SMB

Para eso, utilizaremos el siguiente comando:

En mi caso el recurso se llamara "recurso", ejecutamos:

Ahora desde la reverse shell obtenida, nos vamos a ir a un directorio dentro de Windows donde tengamos permisos de escritura y lectura, para eso vamos a dirigirnos al directorio "Temp", concretamente en la ruta absoluta "C:\WINDOWS\Temp"

Y para bajarnoslo desde la shell que obtuvimos de la maquina objetivo, utilizaremos el siguiente comando:

Ejecutamos:

Y vamos a ejecutar "churrasco.exe", especificandole el parametro "cmd.exe", que nos obtenga un CMD pero como Administrador, de la siguiente manera:

Si hacemos un "whoami", veremos que somos NT AUTHORITY\SYSTEM, ósea usuario Administrador:

3.3 Obtención de la flag usuario

La flag de usuario se encuentra dentro de la ruta absoluta "C:\Documents and Settings\Harry\Desktop\user.txt", vamos a visualizarlo con el comando "type":

3.4 Obtención de la flag root

Y por ultimo la flag de usuario se encuentra dentro de la ruta absoluta "C:\Documents and Settings\Administrator\Desktop\root.txt", vamos a visualizarlo con el comando "type":

Con esto, concluimos la maquina "Grandpa" de Hack The Box

Espero te haya sido de ayuda este Write Up :)

Si tuviste alguna dificultad a la hora de resolverlo, no olvides contactarme en mis redes sociales

Última actualización