Skip to content
KitploitKITPLOIT
HerramientasExploitsBlog
Log in
Enviar
HerramientasExploitsBlog
Enviar

¡Herramientas de Hacking, PenTest y Ciberseguridad para tu Arsenal de Seguridad!

Kitploit es un directorio de herramientas de hacking, ciberseguridad y pentesting. Descubre las últimas actualizaciones de proyectos para encontrar vulnerabilidades, analizar sistemas, automatizar pruebas y fortalecer tu seguridad.

··Feeds·Contacto·Privacidad·© 2026 Kitploit

Directorio de Herramientas

Categorías

Ver todas las categorías
Loading categories
BokuLoader — ¡Un cargador reflectante de Cobalt Strike como prueba de concepto que busca recrear, integrar y mejorar las características de evasión de Cobalt Strike! | Kitploit
Herramientas/GitHubGitHub/boku7/bokuloader
Frameworks de Pruebas de PenetraciónFrameworks de ExploitsShellcodeAnálisis de BinariosRed TeamingDesarrollo de Payloads
GitHubboku7/bokuloader

BokuLoader

¡Un cargador reflectante de Cobalt Strike como prueba de concepto que busca recrear, integrar y mejorar las características de evasión de Cobalt Strike!

Ver Repositorio
1.4k27520hace 2 añosRevisado por Kitploit

Más Populares

Ver todos →

Descubre las herramientas más usadas por nuestra comunidad.

Explora todas las herramientas

Explora nuestra colección de herramientas

Ver todas las herramientas →
Compartir

BokuLoader : Cargador Reflexivo de Cobalt Strike

Una prueba de concepto de Cargador Reflexivo Definido por el Usuario (UDRL) que tiene como objetivo recrear, integrar y mejorar las funciones de evasión de Cobalt Strike!

Contribuidores:

ContribuidorTwitterContribuciones Notables
Bobby Cooke@0xBokuAutor original y mantenedor del proyecto
Santiago Pecin@s4ntiago_pMejoras importantes del Cargador Reflexivo
Chris Spehn@ConsciousHackerScripting del Aggressor
Joshua Magri@passthehashbrwnEnganche de IAT
Dylan Tran@d_tranmanSuplantación de pila de llamadas reflexiva
James Yeung@5cript1diotLlamadas al sistema indirectas

Consideraciones de uso del UDRL

El cargador reflexivo integrado de Cobalt Strike es robusto, manejando todas las características de evasión Malleable PE que Cobalt Strike tiene para ofrecer. La principal desventaja de usar un UDRL personalizado es que las características de evasión Malleable PE pueden o no ser compatibles de manera predeterminada.

El objetivo del proyecto público BokuLoader es ayudar a los equipos rojos a crear su propio UDRL de Cobalt Strike interno. El proyecto tiene como objetivo apoyar todas las características de evasión Malleable PE que valen la pena de CS. Algunas características de evasión aprovechan la integración con CS, otras han sido recreadas completamente, y algunas no son compatibles.

Antes de usar este proyecto, en cualquier forma, debe probar adecuadamente que las funciones de evasión funcionan como se espera. Entre el código C y el script Aggressor, la compilación con diferentes versiones de sistemas operativos, compiladores y Java puede dar resultados diferentes.

Funciones de Evasión

Funciones de Evasión Específicas de BokuLoader

  • Suplantación de pila de llamadas reflexiva mediante marcos sintéticos.
  • Código de cargador reflexivo personalizado en ASM/C
  • Llamadas al sistema NT indirectas mediante técnicas HellsGate y HalosGate
    • Todos los cambios de protección de memoria para todas las opciones de asignación se realizan mediante una llamada al sistema indirecta a NtProtectVirtualMemory
  • obfuscate "true" con implementación personalizada del script Aggressor UDRL.
  • NOHEADERCOPY
    • El cargador no copiará las cabeceras del beacon DLL sin procesar al beacon DLL virtual. Los primeros 0x1000 bytes serán nulos.
  • XGetProcAddress para resolver símbolos
    • No usa Kernel32.GetProcAddress
  • xLoadLibrary para resolver la dirección base de DLL y carga de DLL
    • Para las DLL cargadas, obtiene la dirección base de la DLL desde TEB->PEB->PEB_LDR_DATA->InMemoryOrderModuleList
    • No usa Kernel32.LoadLibraryA
  • Cifrado César para ofuscación de cadenas
  • Tamaño UDRL de 100k
  • Los nombres de las DLL de importación y las cadenas de nombres de entrada de importación se sobrescriben en el beacon DLL virtual.

Funciones de evasión Malleable PE compatibles

ComandoOpción(es)Compatible
allocatorHeapAlloc, MapViewOfFile, VirtualAllocTodos compatibles mediante implementación BokuLoader
module_x64string (DLL Name)Compatible mediante implementación BokuLoader. Se aplican los mismos requisitos de pisoteo de DLL que en la implementación de CS
obfuscatetrue/falseBeacons HTTP/S compatibles mediante implementación BokuLoader. SMB/TCP actualmente no es compatible para obfuscate true. Detalles en el issue. Se acepta ayuda si puedes corregirlo :)
entry_pointRVA as decimal numberCompatible mediante implementación BokuLoader
cleanuptrueCompatible mediante integración CS
userwxtrue/falseCompatible mediante implementación BokuLoader
sleep_mask(true/false) or (Sleepmask Kit+true)Compatible. Cuando se usa "sleepmask true" predeterminado (sin sleepmask kit) establezca "userwx true". Cuando se usa sleepmask kit que soporta memoria RX beacon.text (src47/Ekko) establezca "sleepmask true" && "userwx false".
magic_mz_x644 char stringCompatible mediante integración CS
magic_pe2 char stringCompatible mediante integración CS
transform-x64 prependescaped hex stringModificación del script Aggressor BokuLoader.cna
transform-x64 strrepstring stringModificación del script Aggressor BokuLoader.cna
stomppetrue/falseNo compatible. BokuLoader no copia las cabeceras del beacon DLL. Los primeros 0x1000 bytes del beacon DLL virtual son 0x00
checksumnumberExperimental. Modificación del script Aggressor BokuLoader.cna
compile_timedate-time stringExperimental. Modificación del script Aggressor BokuLoader.cna
image_size_x64decimal valueNo compatible
namestringExperimental. Modificación del script Aggressor BokuLoader.cna
rich_headerescaped hex stringExperimental. Modificación del script Aggressor BokuLoader.cna
stringwstringNo compatible
stringstringNo compatible

Prueba

  • (22/2/23) Todos los 4 métodos de asignación probados con threatexpress/malleable-c2/master/jquery-c2.4.7.profile

Orígenes del Proyecto

  • Basado en el increíble proyecto Reflective Loader de Stephen Fewer:
    • https://github.com/stephenfewer/ReflectiveDLLInjection
  • Creado inicialmente mientras se trabajaba con los videos de Reflective DLL de Renz0h del Curso Intermedio de Desarrollo de Malware Sektor7 (MDI)

Uso

  1. Compile el archivo objeto de BokuLoader con make
  2. Inicie su Team Server de Cobalt Strike
  3. Dentro de Cobalt Strike, importe el script Aggressor BokuLoader.cna
  4. Genere el beacon x64 (Attacks -> Packages -> Windows Executable (S))
  5. Use la Script Console para asegurarse de que BokuLoader se implementó en la compilación del beacon
  • No soporta la opción x86. El binario x86 es el archivo objeto original de Reflective Loader.
  • Generar beacons RAW funciona de inmediato. Cuando se usa el Artifact Kit para el cargador de beacons, la variable stagesize debe ser mayor que la predeterminada.
  • Consulte la documentación del Cargador Reflexivo Definido por el Usuario de Cobalt Strike para obtener información adicional.

Guía de Detección

Cadenas Hardcodeadas

  • BokuLoader cambia algunas cadenas comúnmente detectadas a nuevos valores hardcodeados. Estas cadenas se pueden usar para firmar BokuLoader:
Cadena Original de Cobalt StrikeCadena de BokuLoader de Cobalt Strike
ReflectiveLoaderBokuLoader
Microsoft Base Cryptographic Provider v1.012367321236742382543232341241261363163151d
(admin)(tomin)
beaconbacons

Asignadores de Memoria

Descargar herramienta