Shellter Elite v11.1

Dynamic PE Infector — Primeiro injetor verdadeiramente dinamico de shellcode

← Voltar ao inicio

Indice

1. O que e

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.

Resultado

Um executavel legitimo (ex: PuTTY, 7zip) que roda normalmente mas executa shellcode silenciosamente em background. O app original continua funcionando.

Arquivos

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

2. Engine de Injecao

1
Tracing Dinamico (~30 segundos)

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.

2
Selecao do Ponto de Injecao

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.

3
Analise IAT

Examina Import Address Table do PE. Identifica APIs importadas uteis: VirtualAlloc, VirtualProtect, LoadLibrary, GetProcAddress, CreateFileMapping, etc.

4
Injecao

NAO adiciona novas secoes PE. NAO muda permissoes de secao. NAO cria secoes RWX. Preserva estrutura original do PE.

5
Encoding/Encryption

Encoder dinamico proprietario: XOR, ADD, SUB, NOT combinados aleatoriamente (1-12 operacoes). Decoder gerado dinamicamente. Payload comprimido + AES-128 CBC.

3. Features Exclusivas do Elite

Evasao Estatica

FeatureDescricao
Polymorphic Junk CodeGera codigo-lixo variavel entre entry point e payload
Polymorphic IAT HandlersRandomiza codigo dos handlers de IAT
Polymorphic DecoderDecoder muda a cada injecao — cada build e unico
Payload Compression + AES-128Compressao + criptografia AES-128 CBC
Code SigningGera cert self-signed e assina o binario
Multi-PayloadMultiplos payloads num unico PE

Evasao Runtime

FeatureDescricao
UnhookingRemapeia ntdll.dll limpa (2 metodos: NtCreateSection ou KnownDLLs)
AMSI Evasion2 metodos: patching in-memory + corrupcao CLSID_Antimalware
ETW EvasionDesabilita Event Tracing for Windows
Memory Scan EvasionFuncoes encoded/decoded on-the-fly, nunca em plaintext
CallStack EvasionTampera callstack para evadir deteccao baseada em kernel ETW
Force Preload ModulesCarrega DLLs de sistema antes do shellcode (backing pro callstack)
Anti-DLL Load MonitoringRemove callbacks de monitoramento de DLL loading
Indirect SyscallsTrampolines para syscall limpa em ntdll

Features Operacionais

FeatureDescricao
Debugger DetectionKernel + user mode
Hypervisor DetectionType 1 e Type 2
Decoy PayloadsPayload falso ativa se debugger/VM detectada
AmbushPayload hiberna ate DLL especifica ser carregada
Remote PayloadsPayload encrypted armazenado em servidor remoto
Remote AES KeysChave AES buscada de servidor remoto
Stealth ModeApp original continua funcionando normalmente

4. Integracao com BRC4/Cobalt Strike

Gerar Shellcode

BRC4 Commander:
1. Click direito no listener
2. Stageless → x64 Arch (Stealth/Userland Hooks)
3. Shellcode (bin): RtlExitUserThread
4. Salvar como badger.bin (~145KB)

No Shellter Elite

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

CLI

ShellterElite64.exe --pe putty.exe -s --handler IAT --encode {x!+-} --polyIAT --polyDecoder --evadeAMSI --evadeETW

5. Comparacao: Loader vs Shellter

AspectoAdvanced New LoaderShellter Elite
AbordagemGera EXE/DLL novo a partir do shellcodeInjeta shellcode em PE legitimo existente
ResultadoBinario novo (nao parece nada conhecido)Programa real que funciona + executa payload
AparenciaBinario desconhecidoputty.exe, 7zip.exe, etc.
Anti-sandboxPoW (minutos de calculo)Nenhum equivalente
CriptografiaAES-256-CBCAES-128-CBC
Junk CodeAte 1 milhao de funcoesPolymorphic mas menos massivo
CrowdStrikeInvisivel (PoW>=2000)Detectado
DefenderInvisivel (PoW>=700)Invisivel

Quando Usar Cada

CenarioMelhor OpcaoMotivo
Alvo com CrowdStrikeLoaderShellter e detectado pelo CS
Alvo com EDR avancadoLoaderPoW evade melhor que runtime evasion
Phishing (alvo abre arquivo)ShellterParece app real, confiavel
Upload via C2 (ja tem acesso)LoaderMais simples, nao precisa PE host
Social engineering (USB, email)ShellterAparencia legitima
Alvo so com DefenderAmbosOs dois passam
Execucao rapida necessariaShellterLoader com PoW alto demora ~15min
Importante: Shellter Elite e detectado pelo CrowdStrike. Para operacoes em ambientes com CS, usar exclusivamente o Loader com PoW >= 2000.

6. Boas Praticas para Maxima Evasao

Escolha do PE Host

Config Recomendada

Sempre Habilitar

  • Stealth Mode
  • IAT Handlers
  • Polymorphic IAT + Decoder
  • Encode Payload (3-5 iteracoes)
  • Memory Scan Evasion
  • CallStack Evasion
  • Force Preload Modules

Evitar

  • Junk Code contra EDRs (pode aumentar deteccao)
  • VM Detection se alvos sao VPS/cloud
  • Reutilizar mesmo binario injetado

Operacional