Granny - Hack The Box
Esta máquina no es tan complicada, en la primera parte, me aprovecho de un buffer overflow
que corre bajo el contexto de un iis 6.0
, con el cve pude dar con un script adecuado en python 2
para ganar acceso al sistema, también hay otra alternativa para ganar acceso, y es medianto los métodos que se aplican en el servidor web, una vez dentro viendo privilegios a nivel de sistema con el usuario con el que accedí, tenía el permiso SeImpersonatePrivilege
habilitado, por ende el Juicypotato
era lo adecuado, pero por problemas de versiones del sistema, terminé usando una variante del mismo, pero que se llamabá churrasco.exe
, y con eso pude ejecutar comando como nt authority\system
y hasta la cocina
Reconocimiento
Directorios de trabajo
1
2
3
mkdir granny
cd granny
mkdir nmap content exploit
nmap
1
sudo nmap -p- --open -sS --min-rate 5000 -Pn -n -sCV 10.10.10.15 -oN version-port
version-port
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
Nmap scan report for 10.10.10.15
Host is up (0.16s latency).
Not shown: 65534 filtered tcp ports (no-response)
Some closed ports may be reported as filtered due to --defeat-rst-ratelimit
PORT STATE SERVICE VERSION
80/tcp open http Microsoft IIS httpd 6.0
|_http-server-header: Microsoft-IIS/6.0
| http-methods:
|_ Potentially risky methods: TRACE DELETE COPY MOVE PROPFIND PROPPATCH SEARCH MKCOL LOCK UNLOCK PUT
| http-webdav-scan:
| Allowed Methods: OPTIONS, TRACE, GET, HEAD, DELETE, COPY, MOVE, PROPFIND, PROPPATCH, SEARCH, MKCOL, LOCK, UNLOCK
| WebDAV type: Unknown
| Server Date: Fri, 24 Nov 2023 05:10:46 GMT
| Public Options: OPTIONS, TRACE, GET, HEAD, DELETE, PUT, POST, COPY, MOVE, MKCOL, PROPFIND, PROPPATCH, LOCK, UNLOCK, SEARCH
|_ Server Type: Microsoft-IIS/6.0
|_http-title: Under Construction
Service Info: OS: Windows; CPE: cpe:/o:microsoft:windows
- 80: http
- Microsoft IIS httpd 6.0
- esta versión es vulnerable a un
buffer overflow
80: http
http
como dije, la versión actual del iis es la 10 y esa es 6.0 es decir tiene vulnerabilidades como una casa jejeje
whatweb
Listo ahora veamos cómo luce la página desde firefox
firefox
Con el plugin Wappalyzer podemos darnos idea de las cosas que funcionan tras el servidor web
intrusión
método 1
searchsploit
voy a buscar vulnerabilidades relacionadas con iis 6.0
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
searchsploit iis 6.0
--------------------------------------------------------------------------------------------- ---------------------------------
Exploit Title | Path
--------------------------------------------------------------------------------------------- ---------------------------------
Microsoft IIS 4.0/5.0/6.0 - Internal IP Address/Internal Network Name Disclosure | windows/remote/21057.txt
Microsoft IIS 5.0/6.0 FTP Server (Windows 2000) - Remote Stack Overflow | windows/remote/9541.pl
Microsoft IIS 5.0/6.0 FTP Server - Stack Exhaustion Denial of Service | windows/dos/9587.txt
Microsoft IIS 6.0 - '/AUX / '.aspx' Remote Denial of Service | windows/dos/3965.pl
Microsoft IIS 6.0 - ASP Stack Overflow Stack Exhaustion (Denial of Service) (MS10-065) | windows/dos/15167.txt
Microsoft IIS 6.0 - WebDAV 'ScStoragePathFromUrl' Remote Buffer Overflow | windows/remote/41738.py
Microsoft IIS 6.0 - WebDAV Remote Authentication Bypass | windows/remote/8765.php
Microsoft IIS 6.0 - WebDAV Remote Authentication Bypass (1) | windows/remote/8704.txt
Microsoft IIS 6.0 - WebDAV Remote Authentication Bypass (2) | windows/remote/8806.pl
Microsoft IIS 6.0 - WebDAV Remote Authentication Bypass (Patch) | windows/remote/8754.patch
Microsoft IIS 6.0/7.5 (+ PHP) - Multiple Vulnerabilities | windows/remote/19033.txt
--------------------------------------------------------------------------------------------- ---------------------------------
solo tenemos un script en python, y al parecer la vulnerabilidad tiene que ver con WebDAV
, echemos un vistaso al CVE
1
2
3
4
5
6
7
searchsploit -w windows/remote/41738.py
---------------------------------------------------------------------------------- --------------------------------------------
Exploit Title | URL
---------------------------------------------------------------------------------- --------------------------------------------
Microsoft IIS 6.0 - WebDAV 'ScStoragePathFromUrl' Remote Buffer Overflow | https://www.exploit-db.com/exploits/41738
---------------------------------------------------------------------------------- --------------------------------------------
accediendo a esa dirección
y ejecutamos el script con python 2
y ya estamos dentro del sistema
método 2
en este punto, a diferencia del la máquian grandpa
tenemos otra forma de ganar acceso
tenemos algunos métodos que podemos usar en la web, pero como digo , esto en la máquina grandpa, no podiamos usar el método que me interesa que es el PUT
,
eso lo podemos ver con una utilidad devtest
que lo que hace es intentar subir un archivo con diferentes extensiones y te reporta cual de ellas tiene éxito
esto en el equipo de grandpa
no funcionó, listo podemos ver las extensiones a subir, notamos que .asp
y .aspx
no nos deja subir, es la que me interesa ya que el servidor web es un iis
y sabemos que un iis
interpreta asp
y aspx
, ahora que hacemos? vale vamos a aplicar un truquito, y es , que pasa si a un archivo aspx
le cambiamos la extensión por ejemplo un txt
que sí es válido, y una vez lo hayamos subido, le volvemos a cambian la extensión con el método MOVE
- PUT
- nos permite subir un archivo al servidor
- MOVE
- aplica un renombramiento a un archivo
- es como si movieramos un archivo de un lucar a otro pero en el destino le cambiamos el nombre
- es decir cambiar el nombre
hagamos pruebas a ver que tal
y desde la web accedemos al archivo
ahora buscamos un .aspx
que nos permita ejecutar comandos en el sistema windows
y me voy a quedar con este, ahora hay que cambiarle la extensión a txt
y subirlo
y desde la web se ve así
es claro que no lo está interpretando, tenemos que volver a dejarlo con la extensión aspx
y desde la web ya podemos ejecutar comandos como el mismo usuario que ganamos acceso con el script en python
ahora tenemos que subir el nc.exe
y mandarnos una revere shell
y lo copiamos desde windows
solo queda mandarnos la reverse shell con un cmd y listo
lo bueno es que el binario de nc.exe
nos va a servir para escalar privilegios en un momento
no puedo acceder al directorio Lakis
y ver la flag, creo que vamos a tener o convertirnos en Lakis
o ser Administrator
uy esto se pone bueno, en esta parte, creo que se puede usar el Juicypotato
para ejecutar comandos como Administrador
el problema es que vamos a tener dificultad a la hora de ejecutar el Juicypotato
por la versión del sistema, y cuando intentemor recurrir al un CLSIDs
adecuado, llegamos a una sorpresa.
ya que el repositorio donde se encuentra el ejecutable no cuenta con soporte de CLSIDs
para 2003
buscando un poco doy con un una interesante
jejeje el ejecutable lleva de nombre churrasco.exe
, me lo descargo y lo paso a la máquina víctima
y solo tenemos que ejecutarlo y nos pide el comando a ejecutar como Administrador
para ganar un cmd como Administrador , solo ejecuto el binario de nc.exe
que ya subimos al equipo
y ya tenemos una cmd
como nt authority\system
, me dirijo a ver la flag de Lakis
y la de Administrador