Skip to content
KitploitKITPLOIT
FerramentasExploitsBlog
Log in
Enviar
FerramentasExploitsBlog
Enviar

Ferramentas de Hacking, PenTest e Cibersegurança para o seu Arsenal de Segurança!

Kitploit é um diretório de ferramentas de hacking, cibersegurança e pentesting. Descubra as últimas atualizações de projetos para encontrar vulnerabilidades, analisar sistemas, automatizar testes e fortalecer sua segurança.

FeedsContatoPrivacidade© 2026 Kitploit

Diretório de Ferramentas

Categorias

Ver todas as categorias
Loading categories
BokuLoader — Uma prova de conceito de Reflective Loader do Cobalt Strike que visa recriar, integrar e aprimorar os recursos de evasão do Cobalt Strike! | Kitploit
Ferramentas/GitHubGitHub/xforcered/bokuloader
Frameworks de Testes de PenetraçãoEvasão de IDS/IPSPós-ExploraçãoComando e ControleRed TeamingDesenvolvimento de PayloadsAtaque Adversário
GitHubxforcered/bokuloader

BokuLoader

Uma prova de conceito de Reflective Loader do Cobalt Strike que visa recriar, integrar e aprimorar os recursos de evasão do Cobalt Strike!

Ver Repositório
3352537há 2 anosRevisado pelo Kitploit

Mais Populares

Ver todos →

Descubra as ferramentas mais usadas pela nossa comunidade.

Explore todas as ferramentas

Navegue pela nossa coleção de ferramentas

Ver todas as ferramentas →
Compartilhar

BokuLoader : Reflective Loader para Cobalt Strike

Uma prova de conceito Reflective Loader Definido pelo Usuário (UDRL) que tem como objetivo recriar, integrar e aprimorar os recursos de evasão do Cobalt Strike!

Contribuidores:

ContribuidorTwitterContribuições Notáveis
Bobby Cooke@0xBokuAutor original e mantenedor do projeto
Santiago Pecin@s4ntiago_pPrincipais aprimoramentos do Reflective Loader
Chris Spehn@ConsciousHackerScripts Aggressor
Joshua Magri@passthehashbrwnHooking da IAT
Dylan Tran@d_tranmanSpoofing reflexivo de pilha de chamadas
James Yeung@5cript1diotSyscalls indiretos

Considerações de Uso do UDRL

O reflective loader nativo do Cobalt Strike é robusto e lida com todos os recursos de evasão Malleable PE que o Cobalt Strike oferece. A principal desvantagem de usar um UDRL personalizado é que os recursos de evasão Malleable PE podem ou não ser suportados nativamente.

O objetivo do projeto público BokuLoader é auxiliar red teams na criação de seus próprios UDRLs internos para Cobalt Strike. O projeto visa suportar todos os recursos de evasão Malleable PE do CS que valem a pena. Alguns recursos de evasão aproveitam a integração com o CS, outros foram recriados por completo, e alguns não são suportados.

Antes de usar este projeto, de qualquer forma, você deve testar adequadamente se os recursos de evasão estão funcionando conforme o esperado. Entre o código C e o script Aggressor, a compilação com diferentes versões de sistemas operacionais, compiladores e Java pode retornar resultados diferentes.

Recursos de Evasão

Recursos de Evasão Específicos do BokuLoader

  • Spoofing reflexivo de pilha de chamadas via quadros sintéticos.
  • Código de reflective loader personalizado em ASM/C
  • Syscalls NT indiretos via técnicas HellsGate & HalosGate
    • Todas as alterações de proteção de memória para todas as opções de alocação são feitas via syscall indireto para NtProtectVirtualMemory
  • obfuscate "true" com implementação personalizada do script Aggressor para UDRL.
  • NOHEADERCOPY
    • O loader não copiará os cabeçalhos da beacon DLL bruta para a beacon DLL virtual. Os primeiros 0x1000 bytes serão nulos.
  • XGetProcAddress para resolver símbolos
    • Não usa Kernel32.GetProcAddress
  • xLoadLibrary para resolver o endereço base da DLL e o carregamento da DLL
    • Para DLLs carregadas, obtém o endereço base da DLL a partir de TEB->PEB->PEB_LDR_DATA->InMemoryOrderModuleList
    • Não usa Kernel32.LoadLibraryA
  • Cifra de César para ofuscação de strings
  • Tamanho do UDRL de 100k
  • Os nomes das DLLs de importação e as strings dos nomes das entradas de importação são sobrescritos na beacon DLL virtual.

Recursos de Evasão Malleable PE Suportados

ComandoOpção(ões)Suportado
allocatorHeapAlloc, MapViewOfFile, VirtualAllocTodos suportados via implementação do BokuLoader
module_x64string (DLL Name)Suportado via implementação do BokuLoader. Os mesmos requisitos de DLL stomping da implementação do CS se aplicam
obfuscatetrue/falseBeacons HTTP/S suportados via implementação do BokuLoader. SMB/TCP atualmente não é suportado para obfuscate true. Detalhes na issue. Aceito ajuda se você puder corrigir :)
entry_pointRVA como número decimalSuportado via implementação do BokuLoader
cleanuptrueSuportado via integração com o CS
userwxtrue/falseSuportado via implementação do BokuLoader
sleep_mask(true/false) ou (Sleepmask Kit+true)Suportado. Ao usar o padrão "sleepmask true" (sem sleepmask kit), defina "userwx true". Ao usar o sleepmask kit que suporta memória RX beacon.text (src47/Ekko), defina "sleepmask true" && "userwx false".
magic_mz_x64string de 4 caracteresSuportado via integração com o CS
magic_pestring de 2 caracteresSuportado via integração com o CS
transform-x64 prependstring hex escapadaModificação do script Aggressor BokuLoader.cna
transform-x64 strrepstring stringModificação do script Aggressor BokuLoader.cna
stomppetrue/falseNão suportado. O BokuLoader não copia os cabeçalhos da beacon DLL. Os primeiros 0x1000 bytes da beacon DLL virtual são 0x00
checksumnumberExperimental. Modificação do script Aggressor BokuLoader.cna
compile_timestring de data-horaExperimental. Modificação do script Aggressor BokuLoader.cna
image_size_x64valor decimalNão suportado
namestringExperimental. Modificação do script Aggressor BokuLoader.cna
rich_headerstring hex escapadaExperimental. Modificação do script Aggressor BokuLoader.cna
stringwstringNão suportado
stringstringNão suportado

Teste

  • (2/22/23) Todos os 4 métodos de alocação testados com threatexpress/malleable-c2/master/jquery-c2.4.7.profile

Origens do Projeto

  • Baseado no incrível projeto Reflective Loader de Stephen Fewer:
    • https://github.com/stephenfewer/ReflectiveDLLInjection
  • Criado inicialmente enquanto eu percorria os vídeos de Reflective DLL do Renz0h do curso Malware Developer Intermediate (MDI) da Sektor7

Uso

  1. Compile o arquivo de objeto BokuLoader com make
  2. Inicie o seu Team Server do Cobalt Strike
  3. No Cobalt Strike, importe o script Aggressor BokuLoader.cna
  4. Gere o beacon x64 (Attacks -> Packages -> Windows Executable (S))
  5. Use o Script Console para garantir que o BokuLoader foi implementado na compilação do beacon
  • Não suporta a opção x86. O binário x86 é o arquivo de objeto original do Reflective Loader.
  • Gerar beacons RAW funciona nativamente. Ao usar o Artifact Kit para o loader do beacon, a variável stagesize deve ser maior que o padrão.
    • Consulte a documentação do User-Defined Reflective Loader do Cobalt Strike para obter informações adicionais

Orientação de Detecção

Strings Hardcoded

  • O BokuLoader altera algumas strings comumente detectadas para novos valores hardcoded. Essas strings podem ser usadas para criar assinaturas do BokuLoader:
String Original do Cobalt StrikeString do Cobalt Strike com BokuLoader
ReflectiveLoaderBokuLoader
Microsoft Base Cryptographic Provider v1.012367321236742382543232341241261363163151d
(admin)(tomin)
beaconbacons

Alocadores de Memória

DLL Module Stomping

  • O Kernel32.LoadLibraryExA é chamado para mapear a DLL do disco
  • O 3º argumento de Kernel32.LoadLibraryExA é DONT_RESOLVE_DLL_REFERENCES (0x00000001)
    • o sistema não chama DllMain
  • Não resolve endereços na entrada LDR do PEB, conforme detalhado por MDSec aqui
  • Detectável ao escanear a memória do processo com a ferramenta pe-sieve

Alocação em Heap

  • Memória executável RX ou RWX existirá no heap se o sleepmask kit não for usado.
Baixar ferramenta