Skip to content
KitploitKITPLOIT
FerramentasBlog
Log in
Enviar
FerramentasBlog
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
Ferramentas/GitHubGitHub/boku7/bokuloader
Frameworks de Testes de PenetraçãoFrameworks de ExploraçãoShellcodeAnálise de BináriosRed TeamingDesenvolvimento de Payloads
GitHubboku7/bokuloader

BokuLoader

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

Ver Repositório
1.4k27522há 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 : Carregador Reflexivo do Cobalt Strike

Uma prova de conceito de Carregador Reflexivo Definido pelo Usuário (UDRL) que visa 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 Carregador Reflexivo
Chris Spehn@ConsciousHackerScripts do Aggressor
Joshua Magri@passthehashbrwnHooking de IAT
Dylan Tran@d_tranmanSpoofing de Pilha de Chamadas Reflexivo
James Yeung@5cript1diotChamadas de Sistema Indiretas

Considerações de Uso do UDRL

O carregador reflexivo embutido do Cobalt Strike é robusto, lidando com todos os recursos de evasão de PE Malleable 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 imediatamente.

O objetivo do projeto público BokuLoader é auxiliar equipes vermelhas na criação de seu próprio UDRL interno do Cobalt Strike. O projeto visa suportar todos os recursos de evasão de PE Malleable do CS que valem a pena. Alguns recursos de evasão aproveitam a integração com o CS, outros foram recriados completamente 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 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 de pilha de chamadas reflexivo via frames sintéticos.
  • Código de carregador reflexivo personalizado ASM/C
  • Chamadas de sistema NT indiretas via técnicas HellsGate e HalosGate
    • Todas as alterações de proteção de memória para todas as opções de alocação são feitas via chamada de sistema indireta para NtProtectVirtualMemory
  • obfuscate "true" com implementação de script Aggressor UDRL personalizado.
  • NOHEADERCOPY
    • O carregador não copiará os cabeçalhos da DLL beacon bruta para a DLL beacon virtual. Os primeiros 0x1000 bytes serão nulos.
  • XGetProcAddress para resolução de símbolos
    • Não usa Kernel32.GetProcAddress
  • xLoadLibrary para resolver o endereço base da DLL e carregamento de DLL
    • Para DLLs carregadas, obtém o endereço base da DLL de TEB->PEB->PEB_LDR_DATA->InMemoryOrderModuleList
    • Não usa Kernel32.LoadLibraryA
  • Cifra de César para ofuscação de strings
  • Tamanho 100k do UDRL
  • Os nomes de DLL de importação e strings de nome de entrada de importação são sobrescritas na DLL beacon virtual.

Recursos de Evasão Malleable PE Suportados

ComandoOpção(ões)Suportado
allocatorHeapAlloc, MapViewOfFile, VirtualAllocTodos suportados via implementação do BokuLoader
module_x64string (Nome da DLL)Suportado via implementação do BokuLoader. Os mesmos requisitos de sobrescrita de DLL 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. Aceitando ajuda se puder consertar :)
entry_pointRVA como número decimalSuportado via implementação do BokuLoader
cleanuptrueSuportado via integraçã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 CS
magic_pestring de 2 caracteresSuportado via integraçã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 DLL beacon. Os primeiros 0x1000 bytes da DLL beacon virtual são 0x00
checksumnúmeroExperimental. Modificação do script Aggressor BokuLoader.cna
compile_timestring 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

  • (22/02/23) Todos os 4 métodos de alocador testados com threatexpress/malleable-c2/master/jquery-c2.4.7.profile

Origens do Projeto

  • Baseado no incrível projeto de Carregador Reflexivo de Stephen Fewer:
    • https://github.com/stephenfewer/ReflectiveDLLInjection
  • Inicialmente criado enquanto trabalhava nos vídeos de DLL Reflexiva de Renz0h do Curso Intermediário de Desenvolvimento de Malware Sektor7 (MDI)

Uso

  1. Compile o arquivo Objeto BokuLoader com make
  2. Inicie 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 Console de Scripts para garantir que o BokuLoader foi implementado na construção do beacon
  • Não suporta a opção x86. O bin x86 é o arquivo objeto do Carregador Reflexivo original.
  • Gerar beacons RAW funciona imediatamente. Ao usar o Artifact Kit para o carregador de beacon, a variável stagesize deve ser maior que o padrão.
  • Consulte a documentação do Carregador Reflexivo Definido pelo Usuário do Cobalt Strike para informações adicionais

Orientação de Detecção

Strings Codificadas

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

Alocadores de Memória

Sobrescrita de Módulo DLL

  • A função Kernel32.LoadLibraryExA é chamada 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 escaneando a memória do processo com a ferramenta pe-sieve

Alocação de Heap

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