-
Notifications
You must be signed in to change notification settings - Fork 3
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
- Loading branch information
monkeyhack
committed
Nov 24, 2023
1 parent
9a2824b
commit c905c14
Showing
23 changed files
with
254 additions
and
4 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,250 @@ | ||
--- | ||
layout: post | ||
title: Granny - Hack The Box | ||
date: 2023-11-23 | ||
categories: [htb, windows] | ||
tags: [web, iis, cve, buffer, easy] | ||
image: | ||
path: htb-writeup-granny/granny_logo.png | ||
alt: granny | ||
--- | ||
|
||
![logo](htb-writeup-granny/logo.png){: .right w="200" h="200" } | ||
|
||
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 | ||
|
||
```bash | ||
mkdir granny | ||
cd granny | ||
mkdir nmap content exploit | ||
``` | ||
{: .nolineno} | ||
|
||
### nmap | ||
|
||
```bash | ||
sudo nmap -p- --open -sS --min-rate 5000 -Pn -n -sCV 10.10.10.15 -oN version-port | ||
``` | ||
{: .nolineno} | ||
|
||
### version-port | ||
|
||
```ruby | ||
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 | ||
``` | ||
{: .nolineno} | ||
|
||
- 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 | ||
|
||
![](htb-writeup-granny/whatweb1.png) | ||
|
||
Listo ahora veamos cómo luce la página desde firefox | ||
|
||
### firefox | ||
|
||
![](htb-writeup-granny/web1.png) | ||
|
||
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` | ||
|
||
``` | ||
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 | ||
--------------------------------------------------------------------------------------------- --------------------------------- | ||
``` | ||
{: .nolineno} | ||
|
||
solo tenemos un script en python, y al parecer la vulnerabilidad tiene que ver con `WebDAV`, echemos un vistaso al `CVE` | ||
|
||
``` | ||
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 | ||
---------------------------------------------------------------------------------- -------------------------------------------- | ||
``` | ||
{: .nolineno} | ||
|
||
accediendo a esa dirección | ||
|
||
![](htb-writeup-grandpa/web2.png) | ||
|
||
![](htb-writeup-grandpa/web3.png) | ||
|
||
![](htb-writeup-grandpa/web4.png) | ||
|
||
y ejecutamos el script con python 2 | ||
|
||
![](htb-writeup-granny/web5.png) | ||
|
||
y ya estamos dentro del sistema | ||
|
||
![](htb-writeup-granny/web6.png) | ||
|
||
### método 2 | ||
|
||
en este punto, a diferencia del la máquian `grandpa` tenemos otra forma de ganar acceso | ||
|
||
![](htb-writeup-granny/shell1.png) | ||
|
||
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 | ||
|
||
![](htb-writeup-granny/shell2.png) | ||
|
||
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 | ||
|
||
![](htb-writeup-granny/shell3.png) | ||
|
||
y desde la web accedemos al archivo | ||
|
||
![](htb-writeup-granny/shell4.png) | ||
|
||
ahora buscamos un `.aspx` que nos permita ejecutar comandos en el sistema windows | ||
|
||
![](htb-writeup-granny/shell5.png) | ||
|
||
y me voy a quedar con este, ahora hay que cambiarle la extensión a `txt` y subirlo | ||
|
||
![](htb-writeup-granny/shell6.png) | ||
|
||
y desde la web se ve así | ||
|
||
![](htb-writeup-granny/shell7.png) | ||
|
||
es claro que no lo está interpretando, tenemos que volver a dejarlo con la extensión `aspx` | ||
|
||
![](htb-writeup-granny/shell8.png) | ||
|
||
y desde la web ya podemos ejecutar comandos como el mismo usuario que ganamos acceso con el script en python | ||
|
||
![](htb-writeup-granny/shell9.png) | ||
|
||
ahora tenemos que subir el `nc.exe` y mandarnos una revere shell | ||
|
||
![](htb-writeup-granny/shell10.png) | ||
|
||
y lo copiamos desde windows | ||
|
||
![](htb-writeup-granny/shell11.png) | ||
|
||
solo queda mandarnos la reverse shell con un cmd y listo | ||
|
||
![](htb-writeup-granny/shell12.png) | ||
|
||
![](htb-writeup-granny/shell13.png) | ||
|
||
lo bueno es que el binario de `nc.exe` nos va a servir para escalar privilegios en un momento | ||
|
||
|
||
![](htb-writeup-granny/flag1.png) | ||
|
||
no puedo acceder al directorio `Lakis` y ver la flag, creo que vamos a tener o convertirnos en `Lakis` o ser `Administrator` | ||
|
||
![](htb-writeup-grandpa/shell3.png) | ||
|
||
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. | ||
|
||
![](htb-writeup-grandpa/shell4.png) | ||
|
||
ya que el repositorio donde se encuentra el ejecutable no cuenta con soporte de `CLSIDs` para 2003 | ||
|
||
![](htb-writeup-grandpa/shell5.png) | ||
|
||
buscando un poco doy con un una interesante | ||
|
||
- [variante del Juicypotato](https://binaryregion.wordpress.com/2021/08/04/privilege-escalation-windows-churrasco-exe/) | ||
|
||
jejeje el ejecutable lleva de nombre `churrasco.exe`, me lo descargo y lo paso a la máquina víctima | ||
|
||
![](htb-writeup-grandpa/shell6.png) | ||
|
||
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 | ||
|
||
![](htb-writeup-grandpa/shell7.png) | ||
|
||
y ya tenemos una `cmd` como `nt authority\system`, me dirijo a ver la flag de `Lakis` | ||
|
||
![](htb-writeup-granny/flag2.png) | ||
|
||
y la de Administrador | ||
|
||
![](htb-writeup-grandpa/flag2.png) |
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.