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.

FeedsContactoPrivacidad© 2026 Kitploit

Directorio de Herramientas

Categorías

Ver todas las categorías
Loading categories
CnaEmulator — Arnés de emulación y pruebas independiente para Cobalt Strike Aggressor Scripts (.cna) que valida la sintaxis, simula las APIs de Beacon y ejecuta BOFs mediante COFFLoader sin un teamserver. | Kitploit
Herramientas/GitHubGitHub/iterat0r/cnaemulator
Análisis Dinámico (Sandboxing)ExplotaciónScripting y AutomatizaciónPost-ExplotaciónPruebas de PenetraciónComando y ControlUtilidades y FrameworksAprendizaje y EducaciónRed TeamingDesarrollo de Payloads
GitHub
22196hace 28 díasRevisado por Kitploit
iterat0r/cnaemulator

CnaEmulator

Arnés de emulación y pruebas independiente para Cobalt Strike Aggressor Scripts (.cna) que valida la sintaxis, simula las APIs de Beacon y ejecuta BOFs mediante COFFLoader sin un teamserver.

Ver Repositorio

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

CnaEmulator - Emulador de Cobalt Strike Aggressor Script y Arnés de Simulación

CnaEmulator es un arnés de desarrollo, emulación y pruebas independiente y de propósito general para Cobalt Strike Aggressor Scripts (.cna). Permite a investigadores de seguridad, desarrolladores de herramientas y autores de BOF validar la sintaxis de scripts, simular comandos alias de la consola de Beacon y ejecutar Beacon Object Files (BOFs) en memoria directamente a través de COFFLoader64.exe sin necesidad de lanzar un teamserver o un cliente GUI.


[!WARNING] Descargo de responsabilidad: Este código fue generado completamente con Antigravity y aún no ha sido revisado.

Capacidades

  1. Validación de Sintaxis (check):
    • Compila scripts .cna utilizando el motor subyacente Sleep 2.1.
    • Detecta con precisión cadenas sin cerrar, caracteres sin escapar, errores de sintaxis del analizador y delimitadores faltantes con números de línea exactos del archivo.
  2. Emulación de Funciones Aggressor:
    • Emula funciones oficiales de Cobalt Strike Beacon de la Documentación de HelpSystems/Fortra Aggressor Script.
    • Proporciona valores simulados realistas o valores de retorno positivos sin error para APIs de inyección de procesos, manipulación de tokens, sistema de archivos, red y callbacks de GUI.
  3. Empaquetado Real de Binarios BOF (bof_pack):
    • Implementa serialización nativa Little-Endian que coincide con el formato binario datap de Cobalt Strike:
      • 'i': entero de 4 bytes
      • 's': short de 2 bytes
      • 'z': cadena terminada en nulo con prefijo de longitud (prefijo strlen + 1)
      • 'Z': cadena UTF-16LE ancha con prefijo de longitud
      • 'b': búfer binario con prefijo de longitud
  4. Puente de Ejecución COFFLoader (beacon_inline_execute):
    • Intercepta automáticamente beacon_inline_execute($bid, $bof_data, "go", $packed_args).
    • Convierte los argumentos empaquetados a formato hexadecimal.
    • Ejecuta COFFLoader64.exe go <bof_path> <hex_args> como subproceso hijo.
    • Transmite la salida de consola del BOF en vivo directamente a stdout en tiempo real.
  5. Suites de Pruebas Complementarias Universales y Verificación Automatizada (test):
    • Descubre y ejecuta automáticamente suites de escenarios complementarias <script>.cna.tests o <script>.tests.
    • Soporta pruebas de escenarios específicos por CLI y verificación automática de cláusulas de guarda de alias.
  6. Consola Interactiva de Beacon (console):
    • Indicador de comandos interactivo (beacon> ) que soporta alias registrados, argumentos, documentación de ayuda y ejecución en vivo.

Estructura de Directorios

.
├── .gitignore                # Reglas de Git ignore para binarios compilados y bytecode
├── COFFLoader64.exe          # Relocalizador y cargador COFF en memoria independiente de 64 bits
├── cna_emulator.bat          # Script lanzador de CLI conveniente
├── README.md                 # Documentación completa y guía de uso
├── TESTING.md                # Informe de verificación de componentes y puertas de calidad
├── TEST_SPEC.md              # Especificación de pruebas de 48 escenarios y 7 categorías
└── CnaEmulator/              # Componente Java CNA Emulator
    ├── .gitignore            # Reglas de Git ignore para la subcarpeta CnaEmulator
    ├── CnaEmulator.java      # Código fuente del emulador y puente del motor Sleep
    ├── CnaEmulator.class     # Bytecode compilado
    ├── CnaEmulator.jar       # JAR de bytecode empaquetado
    ├── build.bat             # Script de compilación para compilar y empaquetar CnaEmulator
    ├── test.bat              # Script ejecutor de pruebas independiente (48 escenarios)
    └── tests/                # Suite de pruebas y fixtures
        ├── TestCnaEmulator.java  # Arnés de pruebas de 48 escenarios
        └── fixtures/             # Fixtures de prueba universales
            ├── sample_bof.cna        # Aggressor Script de ejemplo independiente
            ├── sample_bof.cna.tests  # Suite de pruebas complementaria
            ├── multi_alias.cna       # Script de ejemplo multi-alias
            └── multi_alias.cna.tests # Suite de pruebas complementaria multi-alias

Requisitos y Prerrequisitos

RequisitoDescripción y Configuración
Java JDK (17+)Binarios java y javac. Configure JAVA_HOME con la ruta de su JDK y asegúrese de que %JAVA_HOME%\bin esté en PATH.
Sleep 2.1 (sleep.jar)Motor de scripting para Aggressor Scripts. Descárguelo de Sleep 2.1 o cópielo de Cobalt Strike. Configure SLEEP_JAR (por ejemplo, set "SLEEP_JAR=C:\path\to\sleep.jar"), o coloque sleep.jar en la carpeta raíz o en CnaEmulator\.
Cargador en Memoria (COFFLoader64.exe)Binario cargador independiente (por ejemplo, compilado de trustedsec/COFFLoader). Colocado en el directorio raíz o sobrescrito mediante COFFLOADER_PATH.

Configuración Rápida del Entorno (cmd.exe):

set "JAVA_HOME=C:\path\to\jdk-17"
set "PATH=%JAVA_HOME%\bin;%PATH%"
set "SLEEP_JAR=C:\path\to\sleep.jar"

Guía de Uso

1. Compilación desde el Código Fuente

Antes de ejecutar las clases compiladas o el JAR, compile CnaEmulator.java:

Usando el Script de Compilación:

CnaEmulator\build.bat

O Compilación y Empaquetado Manual:

:: Compile source to bytecode
javac -cp "%SLEEP_JAR%" -d CnaEmulator CnaEmulator\CnaEmulator.java

:: Package into executable bytecode JAR
cd CnaEmulator
jar cfe CnaEmulator.jar CnaEmulator *.class
cd ..

2. Métodos de Ejecución

Puede invocar CnaEmulator usando cualquiera de los siguientes métodos desde el directorio raíz del proyecto:

Método A: Lanzador de Script por Lotes (Recomendado)

El script lanzador maneja automáticamente el descubrimiento del JDK, la configuración del classpath y la resolución de rutas:

cna_emulator.bat <action> [arguments...]

Método B: JAR Ejecutable Compilado

java -cp "CnaEmulator\CnaEmulator.jar;%SLEEP_JAR%" CnaEmulator <action> [arguments...]

Método C: Bytecode de Clase Directo

java -cp "CnaEmulator;%SLEEP_JAR%" CnaEmulator <action> [arguments...]

3. Acciones Principales y Ejemplos de Uso

A. Validar Sintaxis de Script (check)

Valida la sintaxis de Aggressor Script y compila árboles AST mediante Sleep 2.1 sin ejecutar código:

cna_emulator.bat check <path\to\script.cna>

Ejemplo con fixture incluido:

cna_emulator.bat check CnaEmulator\tests\fixtures\sample_bof.cna

Salida de Ejemplo:

[*] Checking syntax of: CnaEmulator\tests\fixtures\sample_bof.cna
[+] sample_bof.cna syntax OK

B. Ejecutar Comandos con Despacho BOF en Vivo (run)

Ejecuta un alias Aggressor declarado, empaqueta argumentos en formato binario (bof_pack), resuelve el archivo objeto (script_resource) e invoca COFFLoader64.exe para ejecutar el BOF en la memoria del invocador:

cna_emulator.bat run <path\to\script.cna> <alias_name> [arguments...]

Ejemplo con fixture incluido:

cna_emulator.bat run CnaEmulator\tests\fixtures\sample_bof.cna sample_bof run test_target

Salida de Ejemplo:

[*] Invoking: sample_bof 1 run test_target
[*] Tasked beacon: Executing sample_bof with action: run

[+] [COFFLoader Bridge] Executing: COFFLoader64.exe go sample_bof.o
    | Got contents of COFF file
    | Running/Parsing the COFF file
    | Ran/parsed the coff
    | Outdata Below:
    | ...
[+] [COFFLoader Bridge] Completed with exit code: 0

C. Batería de Pruebas Automatizadas y Pruebas de Regresión (test)

Descargar herramienta