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

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

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

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

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

Категории

Все категории
Loading categories
emp3r0r — Самовосстанавливающаяся Gossip Mesh C2 с поддержкой обнаружения пиров, кроссплатформенное выполнение BOF и скриптовые агенты. | Kitploit
Инструменты/GitHubGitHub/jm33-m0/emp3r0r
Фреймворки для пентестаПовышение привилегийКартирование сетиМеханизмы персистентностиОбход IDS/IPSЛатеральное перемещениеПост-эксплуатацияКомандование и УправлениеRed TeamingРазработка Полезной НагрузкиАнти-Бот
1.7k2804 дней назадПроверено Kitploit

Популярное

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

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

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

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

Смотреть все инструменты →
Поделиться
GitHub
jm33-m0/emp3r0r

emp3r0r

Самовосстанавливающаяся Gossip Mesh C2 с поддержкой обнаружения пиров, кроссплатформенное выполнение BOF и скриптовые агенты.

РепозиторийСайт
emp3r0r

emp3r0r

Самовосстанавливающаяся C2-сеть на базе gossip-mesh с ассистируемым обнаружением пиров, кроссплатформенным выполнением BOF и скриптуемыми агентами.


Discord GitHub Sponsors

GitHub go.mod Go version Tests GitHub License GitHub release


Скриншот от 2026-08-10 19-37-20

Что такое emp3r0r?

emp3r0r — это продвинутый постэксплуатационный фреймворк с моделью нулевого доверия и система управления и контроля (C2), предназначенная для целевых сред Linux и Windows. Созданный с нуля для работы в высокозащищённых средах, emp3r0r сочетает автономную gossip-mesh сеть, бесфайловое выполнение только из памяти, кроссплатформенную загрузку BOF, передачу файлов между агентами и скриптуемые агенты, работающие в памяти, обеспечивая превосходную скрытность, операционный контроль и операционную безопасность (OPSEC).


Ключевые возможности и уникальные особенности

🐍 Скриптуемые агенты (встроенный движок Starlark и прокси Win32 API)

Агенты emp3r0r включают встроенный скриптовый движок Starlark (диалект Python, реализованный полностью на Go). Скрипты выполняются бесфайлово в памяти, без необходимости установки Python, Bash или PowerShell на целевой системе.

  • Ноль зависимостей на хосте: Выполняет автономные скрипты без запуска командных интерпретаторов (/bin/sh, powershell.exe) и без опоры на установленные среды выполнения.
  • Встроенные Go API агента: Доступны функции для работы с файловой системой (read_file, write_file, list_dir, mkdir, remove, exists), HTTP-сетью (http_get, http_post), выполнения команд (exec_cmd) и хеширования (crypto_hash).
  • Динамический прокси Win32 API: На целевых системах Windows скрипты Starlark могут динамически загружать системные DLL и выполнять нативные Win32 API (win_call, , , ) напрямую из скриптового кода без компиляции нативного C-кода.

Почему это важно: Традиционные скриптовые модули C2 требуют интерпретаторов на хосте или порождения процессов, оставляя заметные следы на диске или в командной строке. Скриптуемые агенты emp3r0r выполняют сложную логику полностью в памяти с нативным взаимодействием с системой.


🔐 Криптографическое закрепление идентичности TOFU

emp3r0r применяет Trust-On-First-Use (TOFU) со строгим закреплением UUID и открытого ключа при регистрации агента.

  • Неизменяемая привязка: После регистрации UUID агента закрепляется за его криптографическим открытым ключом. Повторная регистрация с изменёнными учётными данными отклоняется как попытка подмены.
  • Контролируемый сброс: Снятие с регистрации требует явного разрешения оператора через forget_agent.

Почему это важно: Предотвращает перехват сессий, клонирование агентов и незаметный дрейф идентичности в разных операционных средах.


🔒 Совершенная прямая секретность (PFS)

Все каналы связи C2 и между пирами используют обмен ключами ECDH с сеансовыми ключами, полученными через HKDF.

  • Эфемерные ключи: Каждая сессия генерирует уникальные ключи шифрования.
  • Независимая безопасность: Компрометация долговременных ключей или отдельного агента не может скомпрометировать прошлые или параллельные коммуникации.

Почему это важно: Предотвращает ретроспективную расшифровку перехваченного сетевого трафика.


🕸️ Автономная P2P gossip-mesh сеть

Агенты в сегментах сети с ограниченным исходящим трафиком или в изолированных сетях автономно обнаруживают пиров и туннелируют трафик через mesh-сеть на основе gossip-протокола (Memberlist).

  • Подключаемые пировые транспорты: Поддержка маскирующегося mTLS 1.3 (с использованием эфемерных сертификатов) и KCP (надёжный UDP).
  • Сквозное шифрование: Все хопы mesh-сети между агентами оборачиваются шифрованием AES-GCM.
  • Низкий сетевой след: Прямая ретрансляция между агентами устраняет лишний широковещательный шум и централизованные узкие места подключений к C2.

Почему это важно: Пивотинг между сегментированными сетями происходит автономно, без постоянного вмешательства оператора или настройки статических прокси.


📂 P2P-файловая система

Прямой обмен файлами между агентами через P2P-ретрансляцию (mTLS/KCP) для ускорения доставки файлов во внутренних сетях.

  • Зашифрованные P2P-туннели: Туннелируют передачу между пирами через mTLS/KCP, обходя ограничения исходящего трафика и снижая заторы центральной полосы пропускания C2.
  • Умное кэширование файлов в памяти: Файлы кэшируются в памяти агента в виде зашифрованных блобов и могут легко раздаваться другим агентам для загрузки по требованию. При запросе файла агенты проверяют локальную memfs, затем других пиров и, наконец, C2.
  • Автоматический резерв через C2-ретрансляцию: Если у целевого пира нет запрошенного файла, он динамически получает и передаёт его с C2-сервера по запросу.

Почему это важно: Прямой обмен файлами между агентами максимизирует скорость передачи, обходит сетевые узкие места и уменьшает заметность прямого трафика к C2.


📡 Мультипротокольные слушатели и стейджеры

Гибкие стейджеры-загрузчики для Stage 0 и протокольные слушатели для начального доступа и доставки полезной нагрузки.

  • Мультипротокольные слушатели: Встроенные и автономные HTTP-, TCP- и UDP-слушатели с надёжным кадрированием на основе подтверждения последовательности и настраиваемыми HTTP-профилями.
  • Автономный C-стейджер-загрузчик: Построен на прямых системных вызовах Linux, не зависящих от libc, для совместимости с разными дистрибутивами без ошибок символов.
  • Минимальный размер полезной нагрузки: Хотя бинарные файлы агентов emp3r0r имеют размер ~20 МБ без сжатия, этот стейджер меньше 1.5 КБ; получаемая им от слушателя emp3r0r полезная нагрузка в стиле sRDI составляет ~8 МБ (сжата из бинарного файла агента в формате ELF shared object).
  • Гибкие форматы: Компилируется в сырой позиционно-независимый shellcode (.bin), автономные ELF-исполняемые файлы или shared objects (.so).
  • Защита выполнения в памяти: Выделяет память для стейджа с правами чтения-записи, деобфусцирует полезную нагрузку и перед рефлексивным выполнением Stage 1 переключает её в режим чтения-исполнения.

🧩 Нативная кроссплатформенная поддержка BOF (COFF и ELF)

Выполнение бинарных модулей в памяти как на Windows, так и на Linux:

  • Загрузчики Windows COFF: Запускают BOF-бинарники Windows бесфайлово с типизированной упаковкой параметров (int, short, cstr, wstr, binary).
  • Загрузчики объектных файлов ELF для Linux: Загружают перемещаемые объектные файлы ELF (.o) напрямую в память агента в Linux.
  • Встроенные наборы BOF: Встроенная поддержка коллекций модулей Kerbeus-BOF, Remote-OPs и Situational Awareness (SA).

Почему это важно: Устраняет накладные расходы на создание процессов и обходит мониторинг командной строки, запуская скомпилированные C-модули внутри процесса.


🔑 Манипуляция токенами Windows по требованию

Агенты на Windows могут похищать, кэшировать и использовать токены доступа запущенных процессов — полностью внутри процесса, с помощью косвенных NT-сисколов.

  • Похищение и кэширование: steal_token --pid <PID> дублирует токен процесса через NtOpenProcess + NtDuplicateToken и сохраняет его в памяти по SID. При желании можно выстроить цепочку имперсонаций с --token <sid>, чтобы перейти от одной похищенной учётной записи к другой.
  • Перечисление: list_tokens отображает все кэшированные токены с именами вида DOMAIN\User (SID).
  • Универсальная имперсонация: Используйте кэшированный токен по SID (--token <sid>) в любом модуле — Go, Starlark, COFF/BOF. Имперсонация на уровне потока (NtSetInformationThread) применяется при чувствительных операциях.
  • Starlark с поддержкой токенов: Встроенные функции (read_file, write_file, exec_cmd, прокси Win32 API и др.) автоматически выполняют имперсонацию для каждого системного вызова, когда установлен токен, а может запускать дочерние процессы под похищенной учётной записью через .

Почему это важно: Никаких внешних инструментов, артефактов на диске и шума от создания процессов. Похищение и повторное использование токенов происходит полностью внутри процесса через косвенные сисколы, а похищенные токены сразу доступны всем встроенным модулям.


🎭 Подключаемый C2-транспорт, обход JA3 через uTLS и протокол CBOR

  • Подключаемые режимы C2: Гибкий beaconing (http_poll) с настраиваемыми HTTP-профилями и стриминг (h2conn) поверх HTTP/2.
  • Рандомизация сигнатуры JA3: Использует uTLS для рандомизации отпечатков TLS Client Hello, обходя статические сетевые сигнатуры.
  • Бинарный протокол передачи данных: Использует CBOR (Concise Binary Object Representation) для всех управляющих данных и сериализации в канале, сокращая размер сетевых данных на 30–40% по сравнению с JSON.

💾 Зашифрованное хранилище с приоритетом памяти

  • Зашифрованная виртуальная файловая система в памяти: Все файловые операции агента используют виртуальную файловую систему AES-GCM в памяти. Большие данные автоматически выгружаются в зашифрованное дисковое хранилище без идентифицируемых заголовков или расширений.
  • Умное кэширование на основе P2P: Каждый агент с поддержкой P2P кэширует файлы, полученные от C2, в memfs, а затем делает их доступными другим пирам, минимизируя объём трафика к C2 и используя быстрые соединения между агентами.

Быстрый старт

1. Установка C2-сервера

Для сборки emp3r0r требуются Docker или Podman на хосте. Локальный инструментарий Go не требуется.

root@kitploit:~
# Clone repository
git clone --depth=1 https://github.com/jm33-m0/emp3r0r.git && cd emp3r0r

# Build inside a container and install locally
./install.sh

Установщик компилирует основные бинарные файлы во временном контейнере, создаёт предварительно собранный emp3r0r-operator-kit.tar.zst, настраивает требуемые Linux-возможности (setcap) и готовит системные каталоги времени выполнения.

Параметры:

root@kitploit:~
./install.sh [--debug] [--disable-garble] [--prefix /usr/local] [--skip-build]

Запуск C2-сервера:

root@kitploit:~
emp3r0r server --c2-hosts 1.2.3.4 --http-port 12345 --operator-port 13377

Примечание: Если установка выполнялась от пользователя root, а не через стандартный sudo, ваш текущий пользователь может не суметь запустить emp3r0r, поскольку установщик не сможет корректно выставить права. Это также относится к машинам операторов.


2. Настройка машины оператора

Перенесите сгенерированный emp3r0r-operator-kit.tar.zst на машину оператора и запустите установщик:

root@kitploit:~
tar --zstd -xpf emp3r0r-operator-kit.tar.zst
cd ./emp3r0r-operator-kit && ./install.sh

Подключите клиент оператора к C2-серверу, используя учётные данные WireGuard-туннеля, выводимые сервером:

root@kitploit:~
emp3r0r client --c2-port 13377 \
  --server-wg-key '<SERVER_WG_KEY>' \
  --server-wg-ip '<SERVER_WG_IP>' \
  --operator-wg-ip '<OPERATOR_WG_IP>' \
  --operator-wg-key '<OPERATOR_WG_KEY>' \
  --c2-host 1.2.3.4

3. Генерация полезных нагрузок агентов

Используйте команду generate в интерфейсе оператора emp3r0r для создания полезных нагрузок.

Агент с прямым подключением к C2:

root@kitploit:~
generate --type linux_executable --arch amd64 --cc your.domain.com

Агент-шлюз mesh:

root@kitploit:~
generate --type linux_executable --arch amd64 --cc your.domain.com \
  --p2p --direct-c2 --p2p-transport mtls

Промежуточный пир mesh:

root@kitploit:~
generate --type linux_executable --arch amd64 --cc your.domain.com \
  --p2p --p2p-transport mtls --peers 1.2.3.4

Документация и ресурсы

  • 📝 Политика безопасности: SECURITY.md
  • 📜 Журнал изменений: CHANGELOG.md
  • 🛠️ Руководство по разработке модулей: core/modules/module_development_guide.md

Поддержка разработки

Если emp3r0r оказался полезным в ваших исследованиях и тестировании безопасности, поддержите его дальнейшее развитие через GitHub Sponsors.

Скачать инструмент
win_alloc
win_free
win_read_mem
  • Модульная интеграция: Скрипты Starlark описываются с помощью JSON-манифестов (config.json) для бесшовного разбора параметров CLI и распространения.
  • exec_cmd
    CreateProcessWithTokenW