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

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

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

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

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

Категории

Все категории
Loading categories
Remote-BOF-Runner — Remote BOF Runner — это фреймворк расширения Havoc для удалённого выполнения Beacon Object Files (BOFs) с использованием PIC-загрузчика, созданного с помощью Crystal Palace. | Kitploit
Инструменты/GitHubGitHub/pard0p/remote-bof-runner
Фреймворки для пентестаПовышение привилегийФреймворки для эксплойтовЛатеральное перемещениеШелл-кодПост-эксплуатацияКомандование и УправлениеОбучение и ОбразованиеRed TeamingРазработка Полезной НагрузкиЭксплуатация Бинарных Файлов
10257 месяцев назадПроверено Kitploit

Популярное

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

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

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

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

Смотреть все инструменты →
Поделиться
GitHub
pard0p/remote-bof-runner

Remote-BOF-Runner

Remote BOF Runner — это фреймворк расширения Havoc для удалённого выполнения Beacon Object Files (BOFs) с использованием PIC-загрузчика, созданного с помощью Crystal Palace.

Репозиторий

Remote BOF Runner

Фреймворк расширения Havoc для удалённого выполнения Beacon Object Files (BOFs) с использованием PIC-загрузчика, созданного с помощью Crystal Palace.

Обзор

Remote BOF Runner обеспечивает безопасное выполнение BOF в произвольных процессах за счёт использования PIC-загрузчика Crystal Palace. Этот фреймворк реализует сложный механизм межпроцессного взаимодействия (IPC) через именованные каналы (named pipes) для прозрачной пересылки вывода beacon из внедрённых процессов обратно на сервер управления (C2).

Установка и настройка

Установка расширения

Убедитесь, что расширение установлено в каталог расширений Havoc:

root@kitploit:~
YOUR_HAVOC_FOLDER + /data/extensions/

Зависимости

Для компиляции PIC-загрузчика на вашей системе должны быть установлены следующие инструменты и библиотеки:

  • MinGW-w64: кросскомпилятор для сборки под Windows
  • Make: инструмент автоматизации сборки
  • OpenJDK 11: Java Development Kit (требуется для компиляции Crystal Palace)
  • Zip: утилита сжатия

Подробные инструкции по настройке приведены в руководстве по настройке WSL.

Команды установки

root@kitploit:~
sudo apt-get update
sudo apt-get install mingw-w64
sudo apt-get install make
sudo apt-get install openjdk-11-jdk
sudo apt-get install zip

Архитектура

Компоненты

1. Инжектор BOF

Компонент BOF отвечает за:

  • создание и приостановку dummy-процесса;
  • внедрение загрузчика Crystal Palace и целевого BOF в dummy-процесс;
  • установку IPC-канала (именованного канала) для передачи вывода;
  • получение и агрегирование вывода от удалённого выполнения BOF.

2. PIC-загрузчик (Crystal Palace)

PIC-загрузчик состоит из:

  • Загрузчик Crystal Palace: управляет выделением памяти, секцией BSS и безопасной инициализацией контекста выполнения.
  • Удалённая BOF-нагрузка: непосредственно код BOF для выполнения (whoami, ipconfig, cacls, reg-query и т. д.).
  • Маршалинг аргументов: сериализованные аргументы, передаваемые через загрузчик для удалённого выполнения BOF.

Схема выполнения

root@kitploit:~
┌───────────────────────────────────────────────────────────────────┐
│ 1. Beacon Process (Havoc)                                         │
│    ├─ Execute BOF Injector                                        │
│    ├─ Create dummy process (suspended)                            │
│    ├─ Inject PIC Loader + Remote BOF                              │
│    └─ Create IPC named pipe                                       │
└────────────┬──────────────────────────────────────────────────────┘
             │
             ▼
┌───────────────────────────────────────────────────────────────────┐
│ 2. PIC Loader Execution                                           │
│    ├─ Crystal Palace loader                                       │
│    ├─ Performs BSS section allocation                             │
│    ├─ Initializes UI context (for .NET compatibility)             │
│    └─ Hooks beacon functions (BeaconPrintf, BeaconOutput, etc.)   │
└────────────┬──────────────────────────────────────────────────────┘
             │
             ▼
┌───────────────────────────────────────────────────────────────────┐
│ 3. Remote BOF Execution                                           │
│    ├─ Execute target BOF (whoami, ipconfig, etc.)                 │
│    ├─ BOF calls hooked beacon functions                           │
│    ├─ Hooked functions redirect output to IPC pipe                │
│    └─ Output accumulates in beacon process via pipe               │
└────────────┬──────────────────────────────────────────────────────┘
             │
             ▼
┌───────────────────────────────────────────────────────────────────┐
│ 4. Output Collection & Transmission                               │
│    ├─ Beacon waits for remote process termination                 │
│    ├─ Accumulates all output from IPC pipe                        │
│    ├─ Aggregates fragmented messages (8KB buffer)                 │
│    ├─ Filters protocol delimiters (@START@, @END@)                │
│    └─ Transmits consolidated output to Team Server                │
└───────────────────────────────────────────────────────────────────┘

Ключевые возможности

1. Изоляция процессов

  • Выполнение BOF происходит в отдельном изолированном процессе.
  • Минимизирует влияние на стабильность процесса beacon.
  • Обеспечивает выполнение в контекстах произвольных процессов.

2. Пересылка вывода через IPC

  • Канал связи на основе именованных каналов (named pipes).
  • Прозрачное перенаправление вывода из удалённого BOF.
  • Обработка фрагментации сообщений (накопительный буфер 8 КБ).
  • Фильтрация разделителей протокола.

3. Выполнение в .NET-процессах

Основной вариант использования — выполнение BOF в нативных .NET-процессах:

Почему прямая загрузка CLR в beacon рискованна:

Прямая загрузка .NET-сборок в процесс beacon по своей сути небезопасна и легко обнаруживается:

  • Процесс beacon (обычно нативный исполняемый файл, например cmd.exe или rundll32.exe) в обычных условиях не порождает среду CLR.
  • Когда CLR загружается в процесс, не являющийся .NET-процессом, это немедленно вызывает срабатывание EDR/XDR-оповещений.

Возможное решение: внедрение в нативный .NET-процесс:

Вместо загрузки CLR в beacon мы внедряем и выполняем наш BOF inline-execute-assembly в процессе, который уже является нативным .NET:

root@kitploit:~
// ❌ DETECTABLE: Direct execution in beacon
beacon.exe (native) → load ClrCreateInstance → load .NET assembly → EDR ALERT

// ✅ STEALTHY: Execution in native .NET process
dotnet.exe (native .NET) → inject BOF → inline-execute-assembly → 
execute .NET assembly in already-CLR context → normal behavior

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

4. Интеграция с Crystal Palace

  • Выполнение позиционно-независимого кода.
  • Динамическое разрешение API с помощью поиска функций по хешам.
  • Отсутствие зависимостей от таблицы адресов импорта.
  • Подходит для сценариев глубокого внедрения.

Режимы выполнения

Локальное выполнение

root@kitploit:~
remote-bof-runner whoami
remote-bof-runner ipconfig
remote-bof-runner cacls C:\Windows\System32

Выполнение на удалённом хосте

root@kitploit:~
remote-bof-runner reg-query DC01 HKLM SYSTEM\CurrentControlSet

Запросы к реестру

root@kitploit:~
remote-bof-runner reg-query HKLM SYSTEM\CurrentControlSet\Control\Lsa
remote-bof-runner reg-query HKLM SYSTEM\CurrentControlSet\Control\Lsa RunAsPPL

Выполнение .NET-сборок

root@kitploit:~
remote-bof-runner execute-assembly --dotnetassembly "/Payloads/Rubeus.exe" --assemblyargs "triage"

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

execute-assembly

Доступные BOF

  • whoami — отображает информацию о текущем пользователе и группах (CS-Situational-Awareness-BOF).
  • ipconfig — показывает конфигурацию сетевых адаптеров (CS-Situational-Awareness-BOF).
  • cacls — выводит список разрешений для файлов (CS-Situational-Awareness-BOF).
  • reg-query — выполняет запросы к реестру Windows (CS-Situational-Awareness-BOF).
  • execute-assembly — загружает .NET-сборку в реальный процесс (https://github.com/VoldeSec/PatchlessInlineExecute-Assembly).
  • bof — выполняет пользовательские BOF-бинарные файлы.

Вопросы операционной безопасности (OPSEC)

⚠️ Важно: этот проект является Proof-of-Concept и по умолчанию НЕ уделяет приоритетного внимания OPSEC.

Рекомендуемые доработки

Как инжектор BOF, так и PIC-загрузчик требуют значительного усиления для симуляции действий противника:

Усиление инжектора BOF

  • Реализуйте собственные методы создания процессов (не CreateProcessW).
  • Используйте альтернативные техники внедрения помимо стандартного WriteProcessMemory.
  • Обфусцируйте имена IPC-каналов (рандомизируйте идентификаторы).

Усиление PIC-загрузчика

  • Зашифруйте протокол связи (сообщения канала).
  • Реализуйте обход YARA-правил для известных сигнатур.
  • Добавьте метод обхода хуков процессов (непрямые syscalls, методы unhooking и т. д.).
  • Добавьте метод шифрования для хранения целевого BOF + аргументов.

Ссылки

  • Crystal Palace
  • LibIPC — общая библиотека Crystal Palace для межпроцессного взаимодействия на основе именованных каналов (Named Pipes).
  • PatchlessInlineExecute-Assembly — BOF InlineExecute-Assembly для загрузки .NET-сборки в процесс с обходом AMSI и ETW без патчинга (patchless) с использованием аппаратных точек останова (hardware breakpoint).
  • CS-Situational-Awareness-BOF — команды ситуационной осведомлённости (Situational Awareness), реализованные с помощью Beacon Object Files.

Отказ от ответственности

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

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