
Herramienta de evasión de antivirus basada en Python que genera ejecutables indetectables a partir de payloads de msfvenom con técnicas avanzadas como inyección de código basura, cifrado, suplantación de certificados y múltiples métodos de ejecución.
Phantom-Evasion es una herramienta de evasión de antivirus escrita en Python (compatible tanto con Python como con Python3) capaz de generar ejecutables (casi) totalmente indetectables incluso con los payloads más comunes de x86 msfvenom.
Los siguientes SOs soportan oficialmente la configuración automática:
Los siguientes SOs probablemente soporten la configuración automática, pero requieren la instalación manual de metasploit-framework:
Los siguientes SOs requieren configuración manual:
Simplemente clona el repositorio con git o descarga y descomprime la carpeta de Phantom-Evasion.
Configuración automática, abre una terminal y ejecuta:
python3 phantom-evasion.py --setup
o:
chmod +x ./phantom-evasion.py
./phantom-evasion.py --setup
o inicia phantom-evasion en modo interactivo y selecciona la opción 7.
python3 phantom-evasion.py
o:
./phantom-evasion.py
python3 phantom-evasion.py --help
o:
./phantom-evasion.py --help
-Cada módulo C de payload de Windows puede compilarse (soporta tanto x86 como x64) como EXE o DLL/ReflectiveDLL.
-Inyección de código basura aleatorio (se puede configurar la intensidad, frecuencia y probabilidad de reinyección) y técnicas de evasión de antivirus de Windows (se puede configurar la frecuencia).
-Se soporta cifrado de shellcode/archivo con Xor/Vigenere multibyte tanto en módulos de inyección de shellcode como de descarga y ejecución.
-Se soporta la técnica de unhookapi de Ntdll y el enmascaramiento de proceso PEB.
-Amplia gama de modos de ejecución soportados (tanto local como remoto).
-Amplia gama de modos de asignación de memoria para payload (Virtual_RWX, Virtual_RW/RX, Virtual_RW/RWX, Heap_RWX).
-Se puede configurar la carga dinámica de las API de Windows.
-Se soporta suplantación y firma de certificados.
-Ejecutable strip (https://en.wikipedia.org/wiki/Strip_(Unix))
Se soportan payloads de Windows de msfvenom y shellcode personalizado. El shellcode se puede almacenar como recurso y recuperar en tiempo de ejecución con la API FindResource.
Cifrado de shellcode soportado:
1.none
2.Multibyte-Xor
3.Double-key Multibyte-Xor
4.Vigenere
5.Double-key Vigenere
El método de ejecución local puede ser uno de los siguientes:
Thread
APC
El modo de asignación de memoria local puede ser uno de los siguientes:
Virtual_RWX
Virtual_RW/RX
Virtual_RW/RWX
Heap_RWX
El método de ejecución remota puede ser uno de los siguientes:
ThreadExecutionHijack (abreviado TEH)
Processinject (abreviado PI)
APCSpray (abreviado APCS)
EarlyBird (abreviado EB)
EntryPointHijack (abreviado EPH)
El modo de asignación de memoria remota puede ser uno de los siguientes:
Virtual_RWX
Virtual_RW/RX
Virtual_RW/RWX
Módulos de stager de meterpreter en C puro (TCP/HTTP/HTTPS) compatibles con msfconsole y cobalt strike beacon. (reverse_tcp/reverse_http/reverse_https)
Usando el modo línea de comandos:
reverse_tcp c stager es WRT
reverse_http c stager es WRH
reverse_https c stager es WRS
El método de ejecución local puede ser uno de los siguientes:
Thread
APC
El modo de asignación de memoria local puede ser uno de los siguientes:
Virtual_RWX
Virtual_RW/RX
Virtual_RW/RWX
Heap_RWX
Descarga exe/dll desde una URL proporcionada en memoria y ejecuta/carga en un proceso remoto (sin escribir en disco).
Descarga cifrada de EXE/DLL soportada:
1.none
2.Multibyte-Xor
3.Double-key Multibyte-Xor
4.Vigenere
5.Double-key Vigenere
El DLL/EXE cifrado se guardará como nombre_original + "crypt" + ".dll" o ".exe", este es el que se descargará.
Windows DownloadExecExe NoDiskWrite (WDE usando modo línea de comandos):
El método de ejecución remota puede ser uno de los siguientes:
ProcessHollowing (abreviado PH)
Windows DownloadExecDll NoDiskWrite (WDD usando modo línea de comandos):
El método de carga remota puede ser uno de los siguientes:
ReflectiveDll (abreviado RD)
RDAPC (ReflectiveDllAPC)
ManualMap (abreviado MM) ---> solo x86
Se soportan payloads de Linux de msfvenom y shellcodes personalizados.
Backdoor Ofuscado con Msfvenom para Android:
Ofusca payloads de msfvenom y reconstruye (smali/baksmali) con apktool. El payload ofuscado se puede usar para backdoor de archivos apk benignos.
Persistencia en Windows RegCreateKeyExW Agregar Clave de Registro (C) El ejecutable compilado debe cargarse en la máquina objetivo y ejecutarse especificando la ruta completa al archivo para agregar al inicio como argumento.
Persistencia en Windows REG Agregar Clave de Registro (CMD) Este módulo genera payloads de línea de comandos de persistencia (Agregar Clave de Registro mediante REG.exe).
Persistencia en Windows Mantener Proceso Vivo (C) El ejecutable compilado debe cargarse en la máquina objetivo y ejecutarse. Utiliza CreateToolSnapshot, ProcessFirst y ProcessNext para comprobar si el proceso especificado está vivo cada X segundos (si no, crea un nuevo proceso usando la API WinExec).
Persistencia en Windows Schtasks (CMD)
Este módulo genera payloads de línea de comandos de persistencia (usando Schtasks.exe).
Persistencia en Windows Crear Servicio (CMD)
Este módulo genera payloads de línea de comandos de persistencia (usando sc.exe).