Назад к обновлениям
New releaseSep 5, 2026

emp3r0r v4.15.0

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

Поделиться
emp3r0r

emp3r0r

Самовосстанавливающийся C2, работающий только в памяти, для Linux и Windows — агенты, которые выживают при разрыве связей, никогда не касаются диска и программируют свой путь через Win32 API.


Discord GitHub Sponsors

GitHub go.mod Go version Tests GitHub License GitHub release


emp3r0r-readme

Что такое emp3r0r?

emp3r0r — это фреймворк постэксплуатации и C2, созданный для сред Linux и Windows, где скрытность и устойчивость не являются опцией. Вместо того чтобы полагаться на надёжное соединение с одним сервером, агенты образуют самовосстанавливающуюся mesh-сеть, которая продолжает работать при разрыве связей. Вместо того чтобы требовать от цели Python или PowerShell, они выполняют всё в памяти. И вместо того чтобы ограничивать вас приёмами одной платформы, emp3r0r запускает Windows BOF, Linux-объекты и скрипты Starlark — всё без файлов, всё в процессе.


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

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

Каждый агент несёт собственный скриптовый движок, поэтому вы можете добавлять новую логику постэксплуатации без компиляции и доставки бинарников.

  • Скрипты выполняются полностью в памяти — на цели не требуются Python, Bash или PowerShell, и не порождаются интерпретаторы команд.
  • Полный набор встроенных API покрывает файловый ввод-вывод, HTTP, выполнение команд и многое другое — прямо из кода скрипта.
  • В Windows скрипты могут напрямую вызывать нативные функции Win32 — агент проксирует вызовы прямо в системные DLL.
  • Модули — это обычные файлы Starlark с небольшим JSON-манифестом, поэтому добавлять свои легко и без файлов.

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


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

Агенты привязывают свою идентичность к криптографическому ключу при первом обращении к вам — и эта привязка никогда не меняется.

  • Повторная регистрация с другими учётными данными расценивается как самозванец и отклоняется.
  • Удаление агента — это явное решение оператора, а не то, что украденный ключ может сделать незаметно.

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


🔒 Perfect Forward Secrecy (PFS)

Каждая связь C2 и peer-связь использует эфемерные ключи ECDH с производными от сессии ключами шифрования.

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


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

Агенты обнаруживают друг друга и ретранслируют трафик через gossip mesh, поэтому операция не рушится при исчезновении одной связи или одного сервера.

  • Пиры соединяются через камуфляжный mTLS 1.3 или надёжный UDP (KCP), при этом каждый хоп зашифрован.
  • Трафик автоматически обходит мёртвые релеи — никаких ручных манипуляций с прокси посреди операции.
  • Сегменты без прямого доступа к C2 остаются достижимыми через своих соседей.

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


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

Файлы перемещаются между агентами напрямую, а не только через C2.

  • Передачи идут по зашифрованным peer-to-peer туннелям, поэтому внутренние сети не создают узкое место на вашем сервере.
  • Файлы кэшируются в памяти агента как зашифрованные блобы и предоставляются пирам по запросу.
  • Если ни у одного пира нет файла, агент автоматически забирает его с C2.

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


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

Доставка агента на цель воспринимается так же серьёзно, как и поддержание его жизни.

  • Слушатели HTTP, TCP и UDP с надёжным фреймингом и настраиваемыми HTTP-профилями.
  • Стейджер размером примерно 2 КБ, построенный на прямых системных вызовах Linux — без libc, без тулчейна на цели.
  • Подключаемые транспорты стейджера и самораспаковывающиеся упаковщики позволяют вписать первоначальный доступ в любой канал, который допускает ваша цель, и попутно обойти сопоставление со статическими сигнатурами.
  • Код стейджера и агента соблюдает дисциплину чтение/запись/выполнение — никогда RWX.

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


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

Запускайте скомпилированные C-модули в процессе на любой из платформ:

  • Бинарники Windows COFF/BOF с типизированной упаковкой аргументов.
  • Перемещаемые объекты Linux ELF, загружаемые прямо в память агента.
  • Модули Crystal-Kit PICO со спуфингом стека вызовов SilentMoonwalk.
  • Kerbeus-BOF, Remote-OPs и набор для оценки обстановки (Situational Awareness) поставляются готовыми к использованию.

Почему это важно: BOF хороши настолько, насколько хорош их загрузчик — emp3r0r запускает их в процессе без нового процесса и без оставленных следов, как в Linux, так и в Windows.


🧬 Загрузчик библиотек в памяти (memmod)

Нативные библиотеки отображаются в собственное адресное пространство агента и вызываются там — никакого LoadLibrary, никакого dlopen, ни один файл не касается диска.

  • memmod загружает PE DLL в Windows и ELF .so в Linux, обрабатывая перемещения, импорты и вызовы экспортов в процессе.
  • Он основан на проверенных наработках: загрузчике PE memmod от WireGuard и загрузчике ELF и механизме вызовов из Sliver C2 / sliverarmory/reflektor.
  • Над ним находится memdeps: объявленная зависимость разрешается из зашифрованной memfs/C2, отображается только для операции, которой она нужна, и выгружается при возврате.

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


🐧 Модули Linux и eBPF

Модули Linux — это скрипты Starlark, которые могут дотянуться прямо до ядра. Агент отображает libbpf по требованию и предоставляет его API скриптам как встроенные функции на Go, поэтому модуль может перечислять, присоединять и снимать объекты eBPF без компилятора и без дочернего процесса.

Категории