
emp3r0r v4.8.0
Самовосстанавливающаяся Gossip Mesh C2 с поддержкой обнаружения пиров, кроссплатформенное выполнение BOF и скриптовые агенты.
emp3r0r
Самовосстанавливающийся C2, работающий только в памяти, для Linux и Windows — агенты, которые выживают при разрыве связей, никогда не касаются диска и программируют свой путь через Win32 API.
Что такое 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
Агенты привязывают свою идентичность к криптографическому ключу при первом обращении к вам — и эта привязка никогда не меняется.
- Повторная регистрация с другими учётными данными расценивается как самозванец и отклоняется.
- Удаление агента — это явное решение оператора, а не то, что украденный ключ может сделать незаметно.
Почему это важно: перехват сессии и клонирование агентов просто не происходят; каждый агент, с которым вы общаетесь, — это тот, которого вы зарегистрировали.
🔒 Совершенная прямая секретность (PFS)
Каждый канал C2 и одноранговый канал использует эфемерные ключи ECDH с сессионно-производными ключами шифрования.
Почему это важно: даже если долгосрочный ключ будет скомпрометирован позже, его нельзя использовать для расшифровки трафика, который уже прошёл.
🕸️ Автономная P2P gossip mesh-сеть
Агенты обнаруживают друг друга и ретранслируют трафик через gossip mesh, поэтому операция не рушится при исчезновении одной связи или одного сервера.
- Пиры соединяются через камуфляжный mTLS 1.3 или надёжный UDP (KCP), при этом каждый хоп зашифрован.
- Трафик автоматически обходит мёртвые ретрансляторы — никаких ручных манипуляций с прокси посреди операции.
- Сегменты без прямого доступа к C2 всё равно остаются достижимыми через своих соседей.
Почему это важно: сеть делает пивотинг за вас. Обрежьте связь, потеряйте машину или заблокируйте C2 — агенты перенаправляются сами.
📂 P2P-файловая система
Файлы перемещаются между агентами напрямую, а не только через C2.
- Передачи идут по зашифрованным одноранговым туннелям, поэтому внутренние сети не создают узкое место на вашем сервере.
- Файлы кэшируются в памяти агента в виде зашифрованных блобов и предоставляются пирам по запросу.
- Если ни у одного пира нет файла, агент автоматически забирает его из 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 и набор для ситуационной осведомлённости поставляются готовыми к использованию.
Почему это важно: BOF хороши настолько, насколько хорош их загрузчик — emp3r0r запускает их в процессе без нового процесса и без оставленных следов, как на Linux, так и на Windows.
🔑 Токены Windows, сессии netonly и билеты Kerberos (PTT)
Оказавшись на хосте Windows, emp3r0r позволяет вам стать пользователями на нём — не сбрасывая при этом ни одного инструмента.
- Украдите токен доступа из любого запущенного процесса и используйте его везде: модули Go, Starlark, BOF.
- Создавайте одноразовые сессии netonly с флагом
--userмодуля: они сохраняют собственную идентичность вашего агента и лишь заимствуют идентичность целевого пользователя для исходящего доступа — подойдёт любой пароль, ничего никогда не проверяется. - Импортируйте билеты Kerberos с флагом
--ticketдля полноценного pass-the-ticket: ваша сетевая идентичность становится идентичностью билета (скажем, Domain Admin), тогда как ваша локальная идентичность никогда не меняется. - Каждый модуль, учитывающий токены, принимает
--token,--userи--ticket, поэтому смена идентичности — на расстоянии одного флага, включая создание сессии и загрузку билета одной командой. - Билеты живут в рамках сеанса входа, поэтому материал DA остаётся изолированным в одноразовой сессии, которую можно очистить, а сам процесс агента остаётся чистым.
Почему это важно: боковое перемещение на машины, где вообще нет агента — SMB-ресурсы, управление службами, CIFS — становится обычной частью вашего рабочего процесса, аутентифицированного как заимствованный пользователь, а не как инструмент на диске.