Skip to content
KitploitKITPLOIT
StrumentiExploitsBlog
Log in
Invia
StrumentiExploitsBlog
Invia

Strumenti di Hacking, PenTest e Cybersecurity per il tuo Arsenale di Sicurezza!

Kitploit è una directory di strumenti di hacking, cybersecurity e pentesting. Scopri gli ultimi aggiornamenti dei progetti per trovare vulnerabilità, analizzare sistemi, automatizzare i test e rafforzare la tua sicurezza.

··Feed·Contatto·Privacy·© 2026 Kitploit

Directory degli strumenti

Categorie

Vedi tutte le categorie
Loading categories
CnaEmulator — Ambiente di emulazione e testing standalone per Cobalt Strike Aggressor Scripts (.cna) che convalida la sintassi, simula le API di Beacon ed esegue BOF tramite COFFLoader senza un teamserver. | Kitploit
Strumenti/GitHubGitHub/iterat0r/cnaemulator
Analisi Dinamica (Sandboxing)ExploitScripting e AutomazionePost-ExploitPenetration TestingCommand and ControlUtilità e FrameworkApprendimento e FormazioneRed TeamingSviluppo Payload
GitHub
213137 giorni faNon ancora revisionato

Più Popolari

Vedi tutti →

Scopri gli strumenti più utilizzati dalla nostra community.

Esplora tutti gli strumenti

Sfoglia la nostra collezione di strumenti

Vedi tutti gli strumenti →
iterat0r/cnaemulator

CnaEmulator

Ambiente di emulazione e testing standalone per Cobalt Strike Aggressor Scripts (.cna) che convalida la sintassi, simula le API di Beacon ed esegue BOF tramite COFFLoader senza un teamserver.

Vedi Repository
Condividi

CnaEmulator - Emulatore di Cobalt Strike Aggressor Script e Mock Harness

CnaEmulator è un harness di sviluppo, emulazione e testing standalone e general-purpose per Cobalt Strike Aggressor Scripts (.cna). Consente a ricercatori di sicurezza, sviluppatori di tool e autori di BOF di validare la sintassi degli script, simulare comandi alias della console Beacon ed eseguire Beacon Object Files (BOF) in-memory direttamente tramite COFFLoader64.exe senza avviare un teamserver o un client GUI.


[!WARNING] Disclaimer: Questo codice è stato interamente generato con Antigravity e non è ancora stato revisionato.

Capacità

  1. Validazione della Sintassi (check):
    • Compila gli script .cna utilizzando il motore sottostante Sleep 2.1.
    • Rileva accuratamente stringhe non terminate, caratteri non escapati, errori di sintassi del parser e delimitatori mancanti con numeri di riga esatti del file.
  • Emulazione delle Funzioni Aggressor:
    • Emula le funzioni ufficiali di Cobalt Strike Beacon dalla Documentazione HelpSystems/Fortra Aggressor Script.
    • Fornisce valori mock realistici o valori di ritorno positivi non-errore per API di process injection, manipolazione di token, filesystem, rete e callback GUI.
  • Packing Binario Reale dei BOF (bof_pack):
    • Implementa la serializzazione nativa Little-Endian corrispondente al formato binario datap di Cobalt Strike:
      • 'i': intero a 4 byte
      • 's': short a 2 byte
      • 'z': stringa null-terminated con prefisso di lunghezza (prefisso strlen + 1)
      • 'Z': stringa wide UTF-16LE con prefisso di lunghezza
      • 'b': buffer binario con prefisso di lunghezza
  • Bridge di Esecuzione COFFLoader (beacon_inline_execute):
    • Intercetta automaticamente beacon_inline_execute($bid, $bof_data, "go", $packed_args).
    • Converte gli argomenti impacchettati in formato hex.
    • Esegue COFFLoader64.exe go <bof_path> <hex_args> come sottoprocesso figlio.
    • Trasmette l'output live della console BOF direttamente su stdout in tempo reale.
  • Suite di Test Companion Universali e Verifica Automatizzata (test):
    • Scopre ed esegue automaticamente le suite di scenari companion <script>.cna.tests o <script>.tests.
    • Supporta il testing mirato di scenari da CLI e la verifica automatica delle guard clause degli alias.
  • Console Beacon Interattiva (console):
    • Prompt dei comandi interattivo (beacon> ) che supporta alias registrati, argomenti, documentazione di help ed esecuzione live.

  • Struttura delle Directory

    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
    

    Requisiti e Prerequisiti

    RequisitoDescrizione e Configurazione
    Java JDK (17+)Binari java e javac. Imposta JAVA_HOME al percorso del tuo JDK e assicurati che %JAVA_HOME%\bin sia nel PATH.
    Sleep 2.1 (sleep.jar)Motore di scripting per Aggressor Scripts. Scarica da Sleep 2.1 o copia da Cobalt Strike. Imposta SLEEP_JAR (es. set "SLEEP_JAR=C:\path\to\sleep.jar"), oppure posiziona sleep.jar nella cartella root o in CnaEmulator\.
    Loader In-Memory (COFFLoader64.exe)Binario loader standalone (es. compilato da trustedsec/COFFLoader). Posizionato nella directory root o sovrascritto tramite COFFLOADER_PATH.

    Setup Rapido dell'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"
    

    Guida all'Uso

    1. Compilazione dal Sorgente

    Prima di eseguire le classi compilate o il JAR, compila CnaEmulator.java:

    Usando lo Script di Build:

    root@kitploit:~
    CnaEmulator\build.bat
    

    Oppure Compilazione e Packaging Manuale:

    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. Metodi di Esecuzione

    Puoi invocare CnaEmulator utilizzando uno dei seguenti metodi dalla directory root del progetto:

    Metodo A: Launcher Batch Script (Consigliato)

    Lo script launcher gestisce automaticamente il rilevamento del JDK, il setup del classpath e la risoluzione dei percorsi:

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

    Metodo B: JAR Eseguibile Compilato

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

    Metodo C: Bytecode della Classe Diretta

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

    3. Azioni Principali ed Esempi d'Uso

    A. Validare la Sintassi dello Script (check)

    Valida la sintassi dell'Aggressor Script e compila gli AST tree tramite Sleep 2.1 senza eseguire il codice:

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

    Esempio con fixture inclusa:

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

    Output di Esempio:

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

    B. Eseguire Comandi con Dispatch BOF Live (run)

    Esegue un alias Aggressor dichiarato, impacchetta gli argomenti in formato binario (bof_pack), risolve l'object file (script_resource) e invoca COFFLoader64.exe per eseguire il BOF nella memoria del chiamante:

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

    Esempio con fixture inclusa:

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

    Output di Esempio:

    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. Batteria di Test Automatizzati e Regression Testing (test)

    CnaEmulator test fornisce l'esecuzione automatizzata dei test:

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

    Modalità di Esecuzione:

    1. Esecuzione di Scenario Mirato: Se <alias> e [arguments...] sono specificati sulla riga di comando, viene eseguito solo quello specifico scenario.
    2. Scoperta del File di Test Companion: Se non vengono forniti argomenti, CnaEmulator cerca un file di test companion adiacente allo script:
      • <script_dir>\<script_name>.cna.tests
      • <script_dir>\<script_name>.tests Se trovato, tutte le righe di scenario nel file companion vengono eseguite sequenzialmente.
    3. Ispezione Dinamica degli Alias e Guard Testing: Se non esiste un file di test companion, CnaEmulator ispeziona tutti gli alias di comando registrati ed esegue un test di guard clause per assicurarsi che conteggi di argomenti non validi producano errori di utilizzo senza lanciare eccezioni non gestite.

    Esempi:

    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
    

    Creazione di File di Test Companion (<script>.cna.tests): Crea un file di testo semplice adiacente al tuo script .cna. Ogni riga non vuota e non di commento specifica un alias e i suoi parametri:

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

    D. Console Beacon Simulata Interattiva (console)

    Avvia un prompt interattivo beacon> che supporta alias registrati, cronologia dei comandi ed esecuzione simulata:

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

    Esempio di Sessione Interattiva:

    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. Testare Progetti BOF Esterni

    CnaEmulator è completamente general-purpose e può testare Aggressor Scripts e binari BOF situati in qualsiasi directory o repository esterno sul tuo filesystem:

    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. Eseguire la Suite di Self-Test di CnaEmulator

    Per eseguire la suite completa di test di conformità alla specifica a 48 scenari per CnaEmulator:

    root@kitploit:~
    CnaEmulator\test.bat
    

    Risultato Atteso:

    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)
    

    Catalogo delle Funzioni Emulate

    Implementazioni Reali (Motore Funzionale e Bridge di Sottoprocesso)

    Funzione / KeywordDescrizione
    bof_packImpacchetta argomenti binari Little-Endian (i, s, z, Z, b) con prefisso di lunghezza del buffer a 4 byte.
    beacon_inline_executeGenera il sottoprocesso COFFLoader64.exe go <bof.o> <hex_args> e trasmette stdout live.
    script_resourceRisolve percorsi di risorse relativi attraverso la dir dello script, bin/, ../bin/ e percorsi relativi.
    openf, readb, closefI/O nativo del filesystem per leggere file .o BOF locali in buffer di byte.
    btask, berror, blog, blog2Formatta e restituisce messaggi di tasking, stato ed errore su stdout/stderr.
    beacon_command_registerRegistra alias, riepiloghi e dettagli di help nel catalogo dei comandi live.
    beacon_commands, beacon_command_detailInterroga gli elenchi di comandi registrati e il testo di help per uso interattivo/console.
    barchRestituisce "x64".
    bdata, beacon_infoRestituisce un hash di metadati Beacon mock (id: 1, pid: 13020, user: SYSTEM, arch: x64).
    beacons, beacon_idsRestituisce un array di beacon simulati attivi (["1"]).
    alias,

    [!NOTE] Implementazioni Dummy / Stub: Tutte le altre API di Cobalt Strike—inclusi esecuzione/iniezione di processi (bshell, bpowershell, bexecute, bspawn, binject), manipolazione di token (bsteal_token, brev2self, bgetuid), navigazione del filesystem (bpwd, bls, bupload, bdownload), pivoting (socks, rportfwd), prompt UI (prompt_text, prompt_confirm) e hook GUI (popup, menu, item, on)—sono implementate come stub dummy che restituiscono valori positivi non-errore (1, "NT AUTHORITY\SYSTEM", "C:\Windows\System32", true) o blocchi no-op in modo che gli script vengano eseguiti offline senza fallire.

    Scarica lo strumento
    command
    Associa blocchi di comando come closure eseguibili per il dispatch interattivo o da CLI.