Skip to content
KitploitKITPLOIT
ToolsExploitsBlog
Log in
Einreichen
ToolsExploitsBlog
Einreichen

Hacking-, PenTest- und Cybersicherheits-Tools für Ihr Sicherheitsarsenal!

Kitploit ist ein Verzeichnis von Hacking-, Cybersicherheits- und Pentesting-Tools. Entdecken Sie die neuesten Projekt-Updates, um Schwachstellen zu finden, Systeme zu analysieren, Tests zu automatisieren und Ihre Sicherheit zu stärken.

··Feeds·Kontakt·Datenschutz·© 2026 Kitploit

Tool-Verzeichnis

Kategorien

Alle Kategorien anzeigen
Loading categories
CnaEmulator — Eigenständige Emulations- und Testumgebung für Cobalt Strike Aggressor Scripts (.cna), die die Syntax validiert, Beacon-APIs simuliert und BOFs über COFFLoader ohne Teamserver ausführt. | Kitploit
Tools/GitHubGitHub/iterat0r/cnaemulator
Dynamische Analyse (Sandboxing)ExploitationScripting & AutomatisierungPost-ExploitationPenetrationstestsCommand and ControlDienstprogramme & FrameworksLernen & BildungRed TeamingPayload-Entwicklung
GitHub
21313vor 7 TagenNoch nicht geprüft

Beliebteste

Alle anzeigen →

Entdecken Sie die meistgenutzten Tools unserer Community.

Alle Tools erkunden

Durchsuchen Sie unsere Tool-Sammlung

Alle Tools anzeigen →
iterat0r/cnaemulator

CnaEmulator

Eigenständige Emulations- und Testumgebung für Cobalt Strike Aggressor Scripts (.cna), die die Syntax validiert, Beacon-APIs simuliert und BOFs über COFFLoader ohne Teamserver ausführt.

Repository anzeigen
Teilen

CnaEmulator - Cobalt Strike Aggressor Script Emulator & Mock Harness

CnaEmulator ist ein eigenständiges, universell einsetzbares Entwicklungs-, Emulations- und Test-Harness für Cobalt Strike Aggressor Scripts (.cna). Es ermöglicht Sicherheitsforschern, Tool-Entwicklern und BOF-Autoren, die Skriptsyntax zu validieren, Beacon-Konsolen-Alias-Befehle zu simulieren und In-Memory Beacon Object Files (BOFs) direkt über COFFLoader64.exe auszuführen, ohne einen Teamserver oder GUI-Client zu starten.


[!WARNING] Haftungsausschluss: Dieser Code wurde vollständig mit Antigravity generiert und wurde noch nicht überprüft.

Fähigkeiten

  1. Syntaxvalidierung (check):
    • Kompiliert .cna-Skripte mit der zugrunde liegenden Sleep 2.1-Engine.
    • Erkennt präzise ausufernde Strings, nicht maskierte Zeichen, Parser-Syntaxfehler und fehlende Trennzeichen mit exakten Dateizeilennummern.
  • Aggressor-Funktionsemulation:
    • Emuliert offizielle Cobalt Strike Beacon-Funktionen aus der HelpSystems/Fortra Aggressor Script Documentation.
    • Stellt realistische Mock-Werte oder positive fehlerfreie Rückgabewerte für Prozessinjektion, Token-Manipulation, Dateisystem-, Netzwerk- und GUI-Callback-APIs bereit.
  • Echtes BOF-Binary-Packing (bof_pack):
    • Implementiert native Little-Endian-Serialisierung, die dem datap-Binärformat von Cobalt Strike entspricht:
      • 'i': 4-Byte-Integer
      • 's': 2-Byte-Short
      • 'z': längenpräfixierter nullterminierter String (strlen + 1-Präfix)
      • 'Z': längenpräfixierter breiter UTF-16LE-String
      • 'b': längenpräfixierter Binärpuffer
  • COFFLoader-Ausführungsbrücke (beacon_inline_execute):
    • Fängt automatisch beacon_inline_execute($bid, $bof_data, "go", $packed_args) ab.
    • Konvertiert die gepackten Argumente in das Hex-Format.
    • Führt COFFLoader64.exe go <bof_path> <hex_args> als Kind-Subprozess aus.
    • Streamt die Live-BOF-Konsolenausgabe direkt in Echtzeit nach stdout.
  • Universelle Companion-Testsuiten & automatisierte Verifikation (test):
    • Entdeckt und führt automatisch Companion-<script>.cna.tests- oder <script>.tests-Szenariosuiten aus.
    • Unterstützt gezieltes CLI-Szenariotesting und automatische Alias-Guard-Clause-Verifikation.
  • Interaktive Beacon-Konsole (console):
    • Interaktive Eingabeaufforderung (beacon> ) mit Unterstützung für registrierte Aliase, Argumente, Hilfedokumentation und Live-Ausführung.

  • Verzeichnisstruktur

    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
    

    Anforderungen & Voraussetzungen

    AnforderungBeschreibung & Einrichtung
    Java JDK (17+)java- und javac-Binärdateien. Setzen Sie JAVA_HOME auf Ihren JDK-Pfad und stellen Sie sicher, dass %JAVA_HOME%\bin im PATH enthalten ist.
    Sleep 2.1 (sleep.jar)Skripting-Engine für Aggressor Scripts. Herunterladen von Sleep 2.1 oder aus Cobalt Strike kopieren. Setzen Sie SLEEP_JAR (z. B. set "SLEEP_JAR=C:\path\to\sleep.jar"), oder platzieren Sie sleep.jar im Stammordner oder in CnaEmulator\.
    In-Memory Loader (COFFLoader64.exe)Eigenständige Loader-Binärdatei (z. B. kompiliert aus trustedsec/COFFLoader). Im Stammverzeichnis platziert oder über COFFLOADER_PATH überschrieben.

    Schnelle Umgebungseinrichtung (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"
    

    Nutzungsanleitung

    1. Kompilieren aus dem Quellcode

    Bevor Sie die kompilierten Klassen oder das JAR ausführen, kompilieren Sie CnaEmulator.java:

    Mit dem Build-Skript:

    root@kitploit:~
    CnaEmulator\build.bat
    

    Oder manuelle Kompilierung & Paketierung:

    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. Ausführungsmethoden

    Sie können CnaEmulator mit einer der folgenden Methoden aus dem Projektstammverzeichnis aufrufen:

    Methode A: Batch-Skript-Launcher (Empfohlen)

    Das Launcher-Skript übernimmt automatisch die JDK-Erkennung, das Classpath-Setup und die Pfadauflösung:

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

    Methode B: Kompiliertes ausführbares JAR

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

    Methode C: Direkter Klassen-Bytecode

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

    3. Kernaktionen & Nutzungsbeispiele

    A. Skriptsyntax validieren (check)

    Validiert die Aggressor-Skriptsyntax und kompiliert AST-Bäume über Sleep 2.1, ohne Code auszuführen:

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

    Beispiel mit mitgeliefertem Fixture:

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

    Beispielausgabe:

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

    B. Befehle mit Live-BOF-Dispatch ausführen (run)

    Führt einen deklarierten Aggressor-Alias aus, packt Argumente in das Binärformat (bof_pack), löst die Objektdatei auf (script_resource) und ruft COFFLoader64.exe auf, um das BOF im Speicher des Aufrufers auszuführen:

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

    Beispiel mit mitgeliefertem Fixture:

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

    Beispielausgabe:

    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. Automatisierte Testbatterie & Regressionstests (test)

    CnaEmulator test bietet automatisierte Testausführung:

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

    Ausführungsmodi:

    1. Gezielte Szenarioausführung: Wenn <alias> und [arguments...] auf der Kommandozeile angegeben werden, wird nur dieses spezifische Szenario ausgeführt.
    2. Erkennung von Companion-Testdateien: Wenn keine Argumente angegeben werden, prüft CnaEmulator auf eine Companion-Testdatei neben dem Skript:
      • <script_dir>\<script_name>.cna.tests
      • <script_dir>\<script_name>.tests Wenn gefunden, werden alle Szenariozeilen in der Companion-Datei sequenziell ausgeführt.
    3. Dynamische Alias-Inspektion & Guard-Testing: Wenn keine Companion-Testdatei existiert, inspiziert CnaEmulator alle registrierten Befehlsaliase und führt einen Guard-Clause-Test aus, um sicherzustellen, dass ungültige Argumentanzahlen Nutzungsfehler ausgeben, ohne unbehandelte Ausnahmen zu werfen.

    Beispiele:

    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
    

    Erstellen von Companion-Testdateien (<script>.cna.tests): Erstellen Sie eine reine Textdatei neben Ihrem .cna-Skript. Jede nicht leere, nicht kommentierte Zeile gibt einen Alias und seine Parameter an:

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

    D. Interaktive simulierte Beacon-Konsole (console)

    Startet eine interaktive beacon> -Eingabeaufforderung mit Unterstützung für registrierte Aliase, Befehlsverlauf und simulierte Ausführung:

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

    Beispiel einer interaktiven Sitzung:

    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. Testen externer BOF-Projekte

    CnaEmulator ist vollständig universell einsetzbar und kann Aggressor Scripts und BOF-Binärdateien testen, die sich in beliebigen Verzeichnissen oder externen Repositories auf Ihrem Dateisystem befinden:

    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. Ausführen der CnaEmulator-Selbsttestsuite

    Um die vollständige 48-Szenario-Spezifikationskonformitätstestsuite für CnaEmulator auszuführen:

    root@kitploit:~
    CnaEmulator\test.bat
    

    Erwartetes Ergebnis:

    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)
    

    Katalog emulierter Funktionen

    Echte Implementierungen (Funktionale Engine & Subprozess-Brücke)

    Funktion / SchlüsselwortBeschreibung
    bof_packPackt Little-Endian-Binärargumente (i, s, z, Z, b) mit 4-Byte-Pufferlängenpräfix.
    beacon_inline_executeStartet COFFLoader64.exe go <bof.o> <hex_args>-Subprozess und streamt Live-stdout.
    script_resourceLöst relative Ressourcenpfade über Skriptverzeichnis, bin/, ../bin/ und relative Pfade auf.
    openf, readb, closefNativer Dateisystem-I/O zum Einlesen lokaler .o-BOF-Dateien in Byte-Puffer.
    btask, berror, blog, blog2Formatiert und gibt Tasking-, Status- und Fehlermeldungen nach stdout/stderr aus.
    beacon_command_registerRegistriert Aliase, Zusammenfassungen und Hilfedetails im Live-Befehlskatalog.
    beacon_commands, beacon_command_detailFragt registrierte Befehlslisten und Hilfetexte für interaktive/Konsolennutzung ab.
    barchGibt "x64" zurück.
    bdata, beacon_infoGibt Mock-Beacon-Metadaten-Hash zurück (id: 1, pid: 13020, user: SYSTEM, arch: x64).
    beacons, beacon_idsGibt aktives simuliertes Beacon-Array zurück (["1"]).
    alias, command

    [!NOTE] Dummy-/Stub-Implementierungen: Alle anderen Cobalt Strike-APIs – einschließlich Prozessausführung/-injektion (bshell, bpowershell, bexecute, bspawn, binject), Token-Manipulation (bsteal_token, brev2self, bgetuid), Dateisystemnavigation (bpwd, bls, bupload, bdownload), Pivoting (socks, rportfwd), UI-Prompts (prompt_text, prompt_confirm) und GUI-Hooks (popup, menu, item, on) – sind als Dummy-Stubs implementiert, die positive fehlerfreie Werte (1, "NT AUTHORITY\SYSTEM", "C:\Windows\System32", true) oder No-Op-Blöcke zurückgeben, damit Skripte offline ohne Fehler ausgeführt werden können.

    Tool herunterladen
    Bindet Befehlsblöcke als ausführbare Closures für interaktiven oder CLI-Dispatch.