Dynamic PE Infector — Primeiro injetor verdadeiramente dinamico de shellcode
Shellter e um injetor dinamico de shellcode em PEs. Diferente de injetores tradicionais, ele NAO usa code caves estaticos nem adiciona novas secoes PE. Em vez disso, traca o fluxo de execucao real do executavel alvo e injeta shellcode em pontos descobertos dinamicamente dentro do caminho legitimo de execucao.
Um executavel legitimo (ex: PuTTY, 7zip) que roda normalmente mas executa shellcode silenciosamente em background. O app original continua funcionando.
shellter/Patch/ ├── ShellterElite32.exe — Engine 32-bit (8.1MB) ├── ShellterElite64.exe — Engine 64-bit (8.4MB) ├── ShellterEliteGUI.exe — Interface grafica (4.4MB) ├── lib32.dll / lib64.dll — Engine de tracing/injecao └── license.dat — Licenca
Shellter lanca o PE alvo usando Windows Debug API. Traca a execucao instrucao por instrucao, logando APENAS instrucoes dentro da imagem do PE (ignora DLLs de sistema). Detecta codigo auto-modificavel.
Baseado no fluxo tracado, identifica pontos viaveis. O ponto NAO e um code cave — e dentro do codigo executado. Em modo Manual, apresenta opcoes para escolher.
Examina Import Address Table do PE. Identifica APIs importadas uteis: VirtualAlloc, VirtualProtect, LoadLibrary, GetProcAddress, CreateFileMapping, etc.
NAO adiciona novas secoes PE. NAO muda permissoes de secao. NAO cria secoes RWX. Preserva estrutura original do PE.
Encoder dinamico proprietario: XOR, ADD, SUB, NOT combinados aleatoriamente (1-12 operacoes). Decoder gerado dinamicamente. Payload comprimido + AES-128 CBC.
| Feature | Descricao |
|---|---|
| Polymorphic Junk Code | Gera codigo-lixo variavel entre entry point e payload |
| Polymorphic IAT Handlers | Randomiza codigo dos handlers de IAT |
| Polymorphic Decoder | Decoder muda a cada injecao — cada build e unico |
| Payload Compression + AES-128 | Compressao + criptografia AES-128 CBC |
| Code Signing | Gera cert self-signed e assina o binario |
| Multi-Payload | Multiplos payloads num unico PE |
| Feature | Descricao |
|---|---|
| Unhooking | Remapeia ntdll.dll limpa (2 metodos: NtCreateSection ou KnownDLLs) |
| AMSI Evasion | 2 metodos: patching in-memory + corrupcao CLSID_Antimalware |
| ETW Evasion | Desabilita Event Tracing for Windows |
| Memory Scan Evasion | Funcoes encoded/decoded on-the-fly, nunca em plaintext |
| CallStack Evasion | Tampera callstack para evadir deteccao baseada em kernel ETW |
| Force Preload Modules | Carrega DLLs de sistema antes do shellcode (backing pro callstack) |
| Anti-DLL Load Monitoring | Remove callbacks de monitoramento de DLL loading |
| Indirect Syscalls | Trampolines para syscall limpa em ntdll |
| Feature | Descricao |
|---|---|
| Debugger Detection | Kernel + user mode |
| Hypervisor Detection | Type 1 e Type 2 |
| Decoy Payloads | Payload falso ativa se debugger/VM detectada |
| Ambush | Payload hiberna ate DLL especifica ser carregada |
| Remote Payloads | Payload encrypted armazenado em servidor remoto |
| Remote AES Keys | Chave AES buscada de servidor remoto |
| Stealth Mode | App original continua funcionando normalmente |
BRC4 Commander: 1. Click direito no listener 2. Stageless → x64 Arch (Stealth/Userland Hooks) 3. Shellcode (bin): RtlExitUserThread 4. Salvar como badger.bin (~145KB)
1. Abrir ShellterEliteGUI.exe 2. Choose PE → selecionar executavel legitimo (putty.exe, 7zFM.exe) 3. Custom Payload → selecionar badger.bin 4. Habilitar: Stealth Mode, IAT Handler, Encode Payload 5. Habilitar: Polymorphic IAT + Polymorphic Decoder 6. Habilitar: Large Payload Support (BRC4 e ~145KB) 7. Runtime: Memory Scan Evasion, CallStack Evasion, Preload Modules 8. Click Inject → aguardar ~30 segundos
ShellterElite64.exe --pe putty.exe -s --handler IAT --encode {x!+-} --polyIAT --polyDecoder --evadeAMSI --evadeETW
| Aspecto | Advanced New Loader | Shellter Elite |
|---|---|---|
| Abordagem | Gera EXE/DLL novo a partir do shellcode | Injeta shellcode em PE legitimo existente |
| Resultado | Binario novo (nao parece nada conhecido) | Programa real que funciona + executa payload |
| Aparencia | Binario desconhecido | putty.exe, 7zip.exe, etc. |
| Anti-sandbox | PoW (minutos de calculo) | Nenhum equivalente |
| Criptografia | AES-256-CBC | AES-128-CBC |
| Junk Code | Ate 1 milhao de funcoes | Polymorphic mas menos massivo |
| CrowdStrike | Invisivel (PoW>=2000) | Detectado |
| Defender | Invisivel (PoW>=700) | Invisivel |
| Cenario | Melhor Opcao | Motivo |
|---|---|---|
| Alvo com CrowdStrike | Loader | Shellter e detectado pelo CS |
| Alvo com EDR avancado | Loader | PoW evade melhor que runtime evasion |
| Phishing (alvo abre arquivo) | Shellter | Parece app real, confiavel |
| Upload via C2 (ja tem acesso) | Loader | Mais simples, nao precisa PE host |
| Social engineering (USB, email) | Shellter | Aparencia legitima |
| Alvo so com Defender | Ambos | Os dois passam |
| Execucao rapida necessaria | Shellter | Loader com PoW alto demora ~15min |