Skip to content
KitploitKITPLOIT
ИнструментыЭксплойтыБлог
Log in
Отправить
ИнструментыЭксплойтыБлог
Отправить

Инструменты для хакинга, пентеста и кибербезопасности — ваш арсенал защиты!

Kitploit — это каталог инструментов для хакинга, кибербезопасности и пентестинга. Находите последние обновления проектов для поиска уязвимостей, анализа систем, автоматизации тестирования и усиления вашей безопасности.

ЛентыКонтактыКонфиденциальность© 2026 Kitploit

Каталог инструментов

Категории

Все категории
Loading categories
CnaEmulator — Автономный стенд для эмуляции и тестирования Aggressor Scripts (.cna) Cobalt Strike, который проверяет синтаксис, эмулирует Beacon API и выполняет BOF через COFFLoader без teamserver. | Kitploit
Инструменты/GitHubGitHub/iterat0r/cnaemulator
Динамический анализ (песочница)ЭксплуатацияСкриптинг и автоматизацияПост-эксплуатацияТестирование на ПроникновениеКомандование и УправлениеУтилиты и фреймворкиОбучение и ОбразованиеRed TeamingРазработка Полезной Нагрузки
GitHub
2219628 дней назадПроверено Kitploit
iterat0r/cnaemulator

CnaEmulator

Автономный стенд для эмуляции и тестирования Aggressor Scripts (.cna) Cobalt Strike, который проверяет синтаксис, эмулирует Beacon API и выполняет BOF через COFFLoader без teamserver.

Репозиторий

Популярное

Смотреть все →

Откройте для себя самые используемые инструменты нашего сообщества.

Изучить все инструменты

Просмотрите нашу коллекцию инструментов

Смотреть все инструменты →
Поделиться

CnaEmulator — эмулятор Aggressor Script для Cobalt Strike и тестовый стенд

CnaEmulator — это автономный универсальный стенд для разработки, эмуляции и тестирования Aggressor Scripts (.cna) для Cobalt Strike. Он позволяет исследователям в области безопасности, разработчикам инструментов и авторам BOF проверять синтаксис скриптов, имитировать псевдонимы команд консоли Beacon и выполнять Beacon Object Files (BOF) в памяти напрямую через COFFLoader64.exe без запуска teamserver или GUI-клиента.


[!WARNING] Отказ от ответственности: Этот код был полностью сгенерирован с помощью Antigravity и ещё не прошёл проверку.

Возможности

  1. Проверка синтаксиса (check):
    • Компилирует скрипты .cna с использованием базового движка Sleep 2.1.
    • Точно обнаруживает незакрытые строки, неэкранированные символы, синтаксические ошибки парсера и отсутствующие разделители с указанием точных номеров строк в файле.
  2. Эмуляция функций Aggressor:
    • Эмулирует официальные функции Cobalt Strike Beacon из документации HelpSystems/Fortra по Aggressor Script.
    • Предоставляет реалистичные фиктивные значения или положительные (не ошибочные) возвращаемые значения для API инъекции процессов, манипуляции токенами, файловой системы, сети и GUI-колбэков.
  3. Реальная упаковка бинарных данных BOF (bof_pack):
    • Реализует нативную Little-Endian сериализацию, соответствующую бинарному формату datap в Cobalt Strike:
      • 'i': 4-байтовое целое
      • 's': 2-байтовое короткое целое
      • 'z': строка с префиксом длины и нулевым терминатором (префикс strlen + 1)
      • 'Z': широкая строка UTF-16LE с префиксом длины
      • 'b': бинарный буфер с префиксом длины
  4. Мост выполнения COFFLoader (beacon_inline_execute):
    • Автоматически перехватывает beacon_inline_execute($bid, $bof_data, "go", $packed_args).
    • Преобразует упакованные аргументы в шестнадцатеричный формат.
    • Запускает COFFLoader64.exe go <bof_path> <hex_args> как дочерний подпроцесс.
    • Передаёт вывод консоли BOF в реальном времени напрямую в stdout.
  5. Универсальные сопутствующие наборы тестов и автоматическая проверка (test):
    • Автоматически обнаруживает и выполняет сопутствующие сценарии <script>.cna.tests или <script>.tests.
    • Поддерживает целевое тестирование сценариев через CLI и автоматическую проверку защитных условий псевдонимов.
  6. Интерактивная консоль Beacon (console):
    • Интерактивная командная строка (beacon> ) с поддержкой зарегистрированных псевдонимов, аргументов, справки и живого выполнения.

Структура каталогов

.
├── .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

Требования и предварительная настройка

ТребованиеОписание и настройка
Java JDK (17+)Бинарные файлы java и javac. Установите JAVA_HOME в путь к вашему JDK и убедитесь, что %JAVA_HOME%\bin присутствует в PATH.
Sleep 2.1 (sleep.jar)Движок скриптов для Aggressor Scripts. Скачайте с Sleep 2.1 или скопируйте из Cobalt Strike. Задайте SLEEP_JAR (например, set "SLEEP_JAR=C:\path\to\sleep.jar") или поместите sleep.jar в корневую папку либо в CnaEmulator\.
Загрузчик в памяти (COFFLoader64.exe)Автономный бинарный загрузчик (например, скомпилированный из trustedsec/COFFLoader). Размещается в корневом каталоге или переопределяется через COFFLOADER_PATH.

Быстрая настройка окружения (cmd.exe):

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

Руководство по использованию

1. Компиляция из исходного кода

Перед запуском скомпилированных классов или JAR скомпилируйте CnaEmulator.java:

Использование скрипта сборки:

CnaEmulator\build.bat

Или ручная компиляция и упаковка:

:: 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. Способы запуска

Вы можете запустить CnaEmulator любым из следующих способов из корневого каталога проекта:

Способ A: Запуск через batch-скрипт (рекомендуется)

Скрипт-лаунчер автоматически выполняет поиск JDK, настройку classpath и разрешение путей:

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

Способ B: Скомпилированный исполняемый JAR

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

Способ C: Прямой запуск байт-кода класса

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

3. Основные действия и примеры использования

A. Проверка синтаксиса скрипта (check)

Проверяет синтаксис Aggressor Script и компилирует AST-деревья через Sleep 2.1 без выполнения кода:

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

Пример со встроенным фикстуром:

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

Пример вывода:

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

B. Выполнение команд с живой отправкой BOF (run)

Выполняет объявленный псевдоним Aggressor, упаковывает аргументы в бинарный формат (bof_pack), разрешает путь к объектному файлу (script_resource) и вызывает COFFLoader64.exe для выполнения BOF в памяти вызывающего процесса:

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

Пример со встроенным фикстуром:

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

Пример вывода:

[*] 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. Автоматизированный набор тестов и регрессионное тестирование (test)

CnaEmulator test обеспечивает автоматизированное выполнение тестов:

cna_emulator.bat test <path\to\script.cna> [alias] [arguments...]
Скачать инструмент