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.

··Feeds·Contato·Privacidade·© 2026 Kitploit

Diretório de Ferramentas

Categorias

Ver todas as categorias
Loading categories
CnaEmulator — Ambiente autônomo de emulação e teste para Cobalt Strike Aggressor Scripts (.cna) que valida a sintaxe, simula as APIs do Beacon e executa BOFs via COFFLoader sem um teamserver. | Kitploit
Ferramentas/GitHubGitHub/iterat0r/cnaemulator
Análise Dinâmica (Sandboxing)ExploraçãoScripting e AutomaçãoPós-ExploraçãoTestes de PenetraçãoComando e ControleUtilitários e FrameworksAprendizado e EducaçãoRed TeamingDesenvolvimento de Payloads
GitHub
21313há 7 diasAinda não revisado

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 →
iterat0r/cnaemulator

CnaEmulator

Ambiente autônomo de emulação e teste para Cobalt Strike Aggressor Scripts (.cna) que valida a sintaxe, simula as APIs do Beacon e executa BOFs via COFFLoader sem um teamserver.

Ver Repositório
Compartilhar

CnaEmulator - Emulador de Cobalt Strike Aggressor Script e Harness de Simulação

CnaEmulator é um harness de desenvolvimento, emulação e teste autônomo e de propósito geral para Cobalt Strike Aggressor Scripts (.cna). Ele permite que pesquisadores de segurança, desenvolvedores de ferramentas e autores de BOF validem a sintaxe de scripts, simulem comandos de alias do console do Beacon e executem Beacon Object Files (BOFs) em memória diretamente via COFFLoader64.exe sem iniciar um teamserver ou cliente GUI.


[!WARNING] Aviso Legal: Este código foi totalmente gerado com Antigravity e ainda não foi revisado.

Capacidades

  1. Validação de Sintaxe (check):
    • Compila scripts .cna usando o motor subjacente Sleep 2.1.
    • Detecta com precisão strings não finalizadas, caracteres não escapados, erros de sintaxe do parser e delimitadores ausentes com números de linha exatos do arquivo.
  • Emulação de Funções Aggressor:
    • Emula funções oficiais do Cobalt Strike Beacon da Documentação de Aggressor Script HelpSystems/Fortra.
    • Fornece valores simulados realistas ou valores de retorno positivos sem erro para APIs de injeção de processo, manipulação de token, sistema de arquivos, rede e callback de GUI.
  • Empacotamento Real de Binários BOF (bof_pack):
    • Implementa serialização nativa Little-Endian compatível com o formato binário datap do Cobalt Strike:
      • 'i': inteiro de 4 bytes
      • 's': short de 2 bytes
      • 'z': string terminada em nulo com prefixo de comprimento (prefixo strlen + 1)
      • 'Z': string UTF-16LE larga com prefixo de comprimento
      • 'b': buffer binário com prefixo de comprimento
  • Ponte de Execução COFFLoader (beacon_inline_execute):
    • Intercepta automaticamente beacon_inline_execute($bid, $bof_data, "go", $packed_args).
    • Converte os argumentos empacotados em formato hexadecimal.
    • Executa COFFLoader64.exe go <bof_path> <hex_args> como subprocesso filho.
    • Transmite a saída do console do BOF ao vivo diretamente para stdout em tempo real.
  • Suítes de Teste Complementares Universais e Verificação Automatizada (test):
    • Descobre e executa automaticamente suítes de cenários complementares <script>.cna.tests ou <script>.tests.
    • Suporta testes de cenários direcionados via CLI e verificação automática de cláusulas de guarda de alias.
  • Console Interativo do Beacon (console):
    • Prompt de comando interativo (beacon> ) com suporte a aliases registrados, argumentos, documentação de ajuda e execução ao vivo.

  • Estrutura de Diretórios

    root@kitploit:~
    .
    ├── .gitignore                # Git ignore rules for compiled binaries & bytecode
    ├── COFFLoader64.exe          # 64-bit Standalone in-memory COFF relocator and loader
    ├── cna_emulator.bat          # Convenient CLI launcher script
    ├── README.md                 # Comprehensive documentation and usage guide
    ├── TESTING.md                # Component verification report & quality gates
    ├── TEST_SPEC.md              # 48-scenario 7-category test specification
    └── CnaEmulator/              # Java CNA Emulator component
        ├── .gitignore            # Git ignore rules for CnaEmulator subfolder
        ├── CnaEmulator.java      # Emulator source code and Sleep engine bridge
        ├── CnaEmulator.class     # Compiled bytecode
        ├── CnaEmulator.jar       # Packaged bytecode JAR
        ├── build.bat             # Build script to compile and package CnaEmulator
        ├── test.bat              # Standalone test runner script (48 scenarios)
        └── tests/                # Test suite and fixtures
            ├── TestCnaEmulator.java  # 48-scenario test harness
            └── fixtures/             # Universal test fixtures
                ├── sample_bof.cna        # Standalone sample Aggressor Script
                ├── sample_bof.cna.tests  # Companion test suite
                ├── multi_alias.cna       # Multi-alias sample script
                └── multi_alias.cna.tests # Multi-alias companion test suite
    

    Requisitos e Pré-requisitos

    RequisitoDescrição e Configuração
    Java JDK (17+)Binários java e javac. Defina JAVA_HOME para o caminho do seu JDK e garanta que %JAVA_HOME%\bin esteja no PATH.
    Sleep 2.1 (sleep.jar)Motor de scripting para Aggressor Scripts. Baixe de Sleep 2.1 ou copie do Cobalt Strike. Defina SLEEP_JAR (por exemplo, set "SLEEP_JAR=C:\path\to\sleep.jar"), ou coloque sleep.jar na pasta raiz ou em CnaEmulator\.
    Carregador em Memória (COFFLoader64.exe)Binário de carregamento autônomo (por exemplo, compilado de trustedsec/COFFLoader). Colocado no diretório raiz ou substituído via COFFLOADER_PATH.

    Configuração Rápida do Ambiente (cmd.exe):

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

    Guia de Uso

    1. Compilando a Partir do Código-Fonte

    Antes de executar as classes compiladas ou o JAR, compile CnaEmulator.java:

    Usando o Script de Build:

    root@kitploit:~
    CnaEmulator\build.bat
    

    Ou Compilação e Empacotamento Manual:

    root@kitploit:~
    :: 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 Execução

    Você pode invocar CnaEmulator usando qualquer um dos seguintes métodos a partir do diretório raiz do projeto:

    Método A: Launcher de Script em Lote (Recomendado)

    O script launcher lida automaticamente com a descoberta do JDK, configuração do classpath e resolução de caminhos:

    root@kitploit:~
    cna_emulator.bat <action> [arguments...]
    

    Método B: JAR Executável Compilado

    root@kitploit:~
    java -cp "CnaEmulator\CnaEmulator.jar;%SLEEP_JAR%" CnaEmulator <action> [arguments...]
    

    Método C: Bytecode de Classe Direto

    root@kitploit:~
    java -cp "CnaEmulator;%SLEEP_JAR%" CnaEmulator <action> [arguments...]
    

    3. Ações Principais e Exemplos de Uso

    A. Validar Sintaxe do Script (check)

    Valida a sintaxe do Aggressor Script e compila árvores AST via Sleep 2.1 sem executar código:

    root@kitploit:~
    cna_emulator.bat check <path\to\script.cna>
    

    Exemplo com fixture incluída:

    root@kitploit:~
    cna_emulator.bat check CnaEmulator\tests\fixtures\sample_bof.cna
    

    Saída de Exemplo:

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

    B. Executar Comandos com Despacho de BOF ao Vivo (run)

    Executa um alias Aggressor declarado, empacota argumentos em formato binário (bof_pack), resolve o arquivo objeto (script_resource) e invoca COFFLoader64.exe para executar o BOF na memória do chamador:

    root@kitploit:~
    cna_emulator.bat run <path\to\script.cna> <alias_name> [arguments...]
    

    Exemplo com fixture incluída:

    root@kitploit:~
    cna_emulator.bat run CnaEmulator\tests\fixtures\sample_bof.cna sample_bof run test_target
    

    Saída de Exemplo:

    root@kitploit:~
    [*] 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. Bateria de Testes Automatizados e Testes de Regressão (test)

    CnaEmulator test fornece execução automatizada de testes:

    root@kitploit:~
    cna_emulator.bat test <path\to\script.cna> [alias] [arguments...]
    

    Modos de Execução:

    1. Execução de Cenário Direcionado: Se <alias> e [arguments...] forem especificados na linha de comando, apenas esse cenário específico é executado.
    2. Descoberta de Arquivo de Teste Complementar: Se nenhum argumento for fornecido, CnaEmulator verifica a existência de um arquivo de teste complementar adjacente ao script:
      • <script_dir>\<script_name>.cna.tests
      • <script_dir>\<script_name>.tests Se encontrado, todas as linhas de cenário no arquivo complementar são executadas sequencialmente.
    3. Inspeção Dinâmica de Alias e Teste de Guarda: Se nenhum arquivo de teste complementar existir, CnaEmulator inspeciona todos os aliases de comando registrados e executa um teste de cláusula de guarda para garantir que contagens de argumentos inválidas produzam erros de uso sem lançar exceções não tratadas.

    Exemplos:

    root@kitploit:~
    :: Run automated tests on the bundled sample script (executes sample_bof.cna.tests)
    cna_emulator.bat test CnaEmulator\tests\fixtures\sample_bof.cna
    
    :: Run automated tests on the bundled multi-alias script (executes multi_alias.cna.tests)
    cna_emulator.bat test CnaEmulator\tests\fixtures\multi_alias.cna
    
    :: Run a targeted scenario directly via CLI
    cna_emulator.bat test CnaEmulator\tests\fixtures\sample_bof.cna sample_bof query
    

    Criando Arquivos de Teste Complementares (<script>.cna.tests): Crie um arquivo de texto simples adjacente ao seu script .cna. Cada linha não vazia e não comentada especifica um alias e seus parâmetros:

    root@kitploit:~
    # Sample BOF Companion Test Suite
    # Format: <alias> [arguments...]
    sample_bof run test_target
    sample_bof query
    

    D. Console Interativo Simulado do Beacon (console)

    Inicia um prompt interativo beacon> com suporte a aliases registrados, histórico de comandos e execução simulada:

    root@kitploit:~
    cna_emulator.bat console <path\to\script.cna>
    

    Exemplo de Sessão Interativa:

    root@kitploit:~
    ====================================================================
      CnaEmulator Interactive Beacon Console
      Loaded Script: sample_bof.cna
    ====================================================================
    Type 'help' to see registered commands, or 'exit' to quit.
    
    beacon> help
    Registered Beacon Commands:
      - sample_bof : Sample BOF execution command
    
    beacon> sample_bof run local_target
    [*] Tasked beacon: Executing sample_bof with action: run
    [+] [COFFLoader Bridge] Executing: COFFLoader64.exe go sample_bof.o
    ...
    beacon> exit
    

    4. Testando Projetos BOF Externos

    CnaEmulator é completamente de propósito geral e pode testar Aggressor Scripts e binários BOF localizados em qualquer diretório ou repositório externo em seu sistema de arquivos:

    root@kitploit:~
    :: Validate any external script syntax
    cna_emulator.bat check C:\Projects\CustomBof\my_bof.cna
    
    :: Execute external BOF alias commands with live arguments
    cna_emulator.bat run C:\Projects\CustomBof\my_bof.cna my_command target_argument
    
    :: Run companion test suites for external scripts
    cna_emulator.bat test C:\Projects\CustomBof\my_bof.cna
    
    :: Open interactive console with external script
    cna_emulator.bat console C:\Projects\CustomBof\my_bof.cna
    

    5. Executando a Suíte de Auto-Teste do CnaEmulator

    Para executar a suíte completa de testes de conformidade de especificação de 48 cenários para CnaEmulator:

    root@kitploit:~
    CnaEmulator\test.bat
    

    Resultado Esperado:

    root@kitploit:~
    ====================================================================
      Execution Summary
    ====================================================================
      Total Scenarios : 48
      Passed          : 48
      Failed          : 0
      Assertions      : 172
      Elapsed Time    : ~2800 ms
    ====================================================================
    [+] ALL 48 TEST SCENARIOS PASSED CLEANLY (100% SPECIFICATION CONFORMANCE)
    

    Catálogo de Funções Emuladas

    Implementações Reais (Motor Funcional e Ponte de Subprocesso)

    Função / Palavra-chaveDescrição
    bof_packEmpacota argumentos binários Little-Endian (i, s, z, Z, b) com prefixo de comprimento de buffer de 4 bytes.
    beacon_inline_executeGera subprocesso COFFLoader64.exe go <bof.o> <hex_args> e transmite stdout ao vivo.
    script_resourceResolve caminhos de recursos relativos no diretório do script, bin/, ../bin/ e caminhos relativos.
    openf, readb, closefI/O nativo do sistema de arquivos para ler arquivos .o BOF locais em buffers de bytes.
    btask, berror, blog, blog2Formata e envia mensagens de tarefa, status e erro para stdout/stderr.
    beacon_command_registerRegistra aliases, resumos e detalhes de ajuda no catálogo de comandos ao vivo.
    beacon_commands, beacon_command_detailConsulta listagens de comandos registrados e texto de ajuda para uso interativo/console.
    barchRetorna "x64".
    bdata, beacon_infoRetorna hash de metadados simulado do Beacon (id: 1, pid: 13020, user: SYSTEM, arch: x64).
    beacons, beacon_idsRetorna array de beacons simulados ativos (["1"]).
    alias,

    [!NOTE] Implementações Fictícias / Stub: Todas as outras APIs do Cobalt Strike—incluindo execução/injeção de processo (bshell, bpowershell, bexecute, bspawn, binject), manipulação de token (bsteal_token, brev2self, bgetuid), navegação no sistema de arquivos (bpwd, bls, bupload, bdownload), pivoting (socks, rportfwd), prompts de UI (prompt_text, prompt_confirm) e hooks de GUI (popup, menu, item, on)—são implementadas como stubs fictícios retornando valores positivos sem erro (1, "NT AUTHORITY\SYSTEM", "C:\Windows\System32", true) ou blocos no-op para que os scripts executem offline sem falhas.

    Baixar ferramenta
    command
    Vincula blocos de comando como closures executáveis para despacho interativo ou CLI.