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

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

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

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

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

Категории

Все категории
Loading categories
SynthAPT — Среда моделирования противника на основе плейбуков, которая компилирует пути атак, определённые в JSON, в позиционно-независимые полезные нагрузки шеллкода для проверки продвинутых средств обнаружения и AI-агентов расследования. | Kitploit
Инструменты/GitHubGitHub/acedef/synthapt
Фреймворки для пентестаПовышение привилегийФреймворки для эксплойтовГенерация полезной нагрузкиЛатеральное перемещениеШелл-кодПост-эксплуатацияКомандование и УправлениеRed TeamingБезопасность ИИСостязательная Атака
23147155 месяцев назадПроверено Kitploit
GitHubacedef/synthapt

SynthAPT

Среда моделирования противника на основе плейбуков, которая компилирует пути атак, определённые в JSON, в позиционно-независимые полезные нагрузки шеллкода для проверки продвинутых средств обнаружения и AI-агентов расследования.

Репозиторий

Популярное

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

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

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

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

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

SynthAPT

Обзор

SynthAPT — это фреймворк для симуляции противника, основанный на плейбуках, предназначенный для воспроизведения сложных путей атак. Он разработан для проверки расширенных детекций и агентов расследования на основе ИИ. Основная идея заключается в том, что поведение вредоносного ПО может быть выражено в JSON и скомпилировано в функциональное вредоносное ПО, что позволяет быстро разрабатывать реалистичные сценарии с использованием LLM.

Основной имплант представляет собой шеллкод-нагрузку, управляемую интерпретатором плейбуков. Плейбук предопределяет полный путь атаки, и имплант следует ему, перемещаясь по среде через внедрение процессов, боковое перемещение и т.д. Каждый имплант запускается как независимый поток с собственной системой команд, поэтому многоэтапные атаки (например, начальный доступ → повышение привилегий → боковое перемещение → эксфильтрация) выражаются в виде графа взаимодействующих имплантов, все из которых определены заранее в плейбуке. Это имеет три основных преимущества:

  1. Нагрузки могут имитировать реальное вредоносное ПО без C2-инфраструктуры — полный путь атаки встроен в нагрузку, а взаимодействия с C2 могут быть смоделированы.
  2. Нагрузки воспроизводимы — они выполняют весь путь атаки идентично каждый раз, что делает их подходящими для регрессионного тестирования детекций.
  3. LLM могут переводить отчеты и блоги по угрозам напрямую в рабочие нагрузки, без необходимости в экспертизе по атакам или создании вредоносного ПО с нуля.

Возможности

  • Позиционно-независимый шеллкод — имплант полностью PIC и может быть встроен в любой загрузчик или инжектор.
  • Богатая библиотека опкодов — выполнение, манипуляция токенами, внедрение в процессы, замена процесса, боковое перемещение, перечисление и изменение AD, реестр, службы и многое другое.
  • Самовоспроизводящиеся нагрузки — имплант может сбросить себя как EXE или DLL с другим набором задач, что позволяет многоэтапную доставку без C2.
  • Гибкие форматы вывода — скомпилируйте плейбук в сырой шеллкод, PE EXE или PE DLL.
  • Python в памяти — интерпретатор Python может быть рефлексивно загружен во время выполнения, предоставляя все возможности импланта в виде модуля Python для гибкого скриптинга.
  • Симуляция NPC — опкоды 'explorer' позволяют автоматически распаковывать и запускать нагрузки таким образом, что автоматически воспроизводятся артефакты взаимодействия с пользователем (при внедрении в Explorer.exe).
  • TUI-редактор с LLM-агентом — терминальный редактор плейбуков со встроенным агентом Claude, который может генерировать и редактировать плейбуки из естественного языка или данных об угрозах.
  • Загрузчик BOF — функциональность может быть расширена с помощью стандартных Beacon Object Files.

Сборка из исходников

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

  1. cargo
  2. rustup
  3. binutils-mingw-w64-x86-64```bash cargo install cargo-make rustup toolchain install nightly rustup target add x86_64-pc-windows-gnu --toolchain nightly
    sudo apt install gcc-mingw-w64-x86-64
Сборка с помощью cargo make:```bash
cargo make build
./target/release/synthapt

Это скомпилирует shellcode и редактор.

Use

Запуск SynthAPT без команд поместит вас в редактор. Вы можете предоставить Claude API key и просматривать изменения по мере ввода запросов.```bash SynthAPT playbook editor and compiler

Usage: synthapt [COMMAND]

Commands: edit Open the TUI editor with a playbook loaded from PATH validate Validate a playbook JSON file and print any errors export-skill Export the agent system prompt as a Claude Code slash command skill compile Compile a playbook to a payload

Если вы хотите использовать другую LLM или подписку, вы можете запустить `synthapt export-skill` и использовать это с любой средой разработки.

Он должен выдать JSON-плейбук. Скомпилируйте его в полезную нагрузку с помощью команды компиляции:```bash
Compile a playbook to a payload

Usage: synthapt compile [OPTIONS] <PLAYBOOK> [OUTPUT]

Arguments:
  <PLAYBOOK>  Path to the playbook JSON file
  [OUTPUT]    Output file path (default: payload.bin / payload.exe / payload.dll)

Options:
  -e, --exe          Compile to PE EXE
  -d, --dll          Compile to PE DLL
  -b, --base <BASE>  Override the embedded base shellcode with a custom binary
  -h, --help         Print help

Справочник опкодов

Константы могут быть определены как строки, hex-объекты или base64-объекты:```json "constants": [ "c:\windows\temp\file.txt", { "hex": "deadbeef" }, { "base64": "SGVsbG8=" } ]

---

### end (0x00)
Конец набора задач. Автоматически добавляется компилятором — вам не нужно добавлять его.

---

### store_result (0x01)
Сохранить результат последней операции в переменную.

| Field | Type | |
|-------|------|-|
| var | u16 | **обязательно** |```json
{ "op": "store_result", "var": 0 }

get_shellcode (0x02)

Возвращает текущие байты shellcode с опционально вставленными идентификатором задачи и/или магическим значением.

FieldType
tasku8необязательно
magicu32 hex string or numberнеобязательно
{ "op": "get_shellcode" }
{ "op": "get_shellcode", "task": 5, "magic": "0x18181818" }
---

### sleep (0x03)
Сон на указанное количество миллисекунд.

| Field | Type | |
|-------|------|-|
| ms | u32 | **обязательно** |```json
{ "op": "sleep", "ms": 5000 }

run_command (0x04)

Выполнить команду через cmd.exe.

ПолеТип
commandstringобязательно
{ "op": "run_command", "command": "whoami /all" }
---

### get_cwd (0x05)
Получить текущую рабочую директорию. Без аргументов.```json
{ "op": "get_cwd" }

read_file (0x06)

Читает файл и возвращает его содержимое.

ПолеТип
pathstringобязательно
{ "op": "read_file", "path": "c:\users\public\data.txt" }
{ "op": "read_file", "path": "%0" }
---

### write_file (0x07)
Записать байты в файл.

| Поле | Тип | |
|-------|------|-|
| path | string | **обязательно** |
| content | bytes | *необязательно* (пустой файл, если опущено) |```json
{ "op": "write_file", "path": "c:\\temp\\out.txt", "content": "hello" }
{ "op": "write_file", "path": "%0", "content": "$1" }

check_error (0x08)

Вывести код состояния переменной (0 = успех, не 0 = ошибка).

ПолеТип
varu16обязательно
{ "op": "check_error", "var": 0 }
---

### условный (0x09)
Переход к разным индексам задач в зависимости от состояния переменной.

| Поле | Тип | |
|------|-----|-|
| mode | `"data"` или `"error"` | **обязательно** |
| var1 | u16 | **обязательно** |
| var2 | u16 | *необязательно* (сравнение двух переменных вместо одиночной проверки) |
| true | u16 | **обязательно** (индекс задачи, если условие истинно) |
| false | u16 | **обязательно** (индекс задачи, если условие ложно) |

`true_target` и `false_target` принимаются как псевдонимы для `true` и `false`.

Режимы с одной переменной:
- `"data"` — истинно, если var1 имеет непустые данные
- `"error"` — истинно, если статус var1 равен 0 (успех)

Режимы с двумя переменными (при наличии var2):
- `"data"` — истинно, если данные var1 равны данным var2
- `"error"` — истинно, если код ошибки var1 равен коду ошибки var2```json
{ "op": "conditional", "mode": "error", "var1": 0, "true": 3, "false": 5 }
{ "op": "conditional", "mode": "data", "var1": 0, "var2": 1, "true": 3, "false": 5 }

Скачать инструмент