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

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

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

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

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

Категории

Все категории
Loading categories
Spartacus — Spartacus — инструментарий для перехвата DLL/COM | Kitploit
Инструменты/GitHubGitHub/accenture/spartacus
Оборонительные ИнструментыГенерация полезной нагрузкиАнализ КодаЭксплуатацияОбратная инженерияТестирование на ПроникновениеАнализ Бинарных ФайловRed TeamingArchived
GitHubaccenture/spartacus

Spartacus

Spartacus — инструментарий для перехвата DLL/COM

1.1k153292 лет назадПроверено Kitploit

Популярное

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

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

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

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

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

[!CAUTION] Этот репозиторий не поддерживается, посетите https://github.com/sadreck/Spartacus для последней версии.

Spartacus DLL/COM Hijacking Toolkit version

Почему «Spartacus»?

Если вы видели фильм «Спартак» 1960 года, вы помните сцену, где римляне просят Спартака сдаться. В тот момент, когда настоящий Спартак встал, многие другие также встали и заявили, что они — Спартак, используя фразу «I AM SPARTACUS».

Когда процесс, уязвимый для DLL-хиджакинга, запрашивает загрузку DLL, это похоже на вопрос «КТО ТАКОЙ VERSION.DLL?», и случайные каталоги начинают заявлять: «Я — VERSION.DLL» и «НЕТ, Я — VERSION.DLL». И так появился Спартак.

Чем этот инструмент отличается от всех других инструментов хиджакинга?

  • Spartacus автоматизирует большую часть процесса. Он парсит необработанные журналы SysInternals Process Monitor, и вы можете оставить ProcMon работать часами, чтобы обнаружить уязвимости DLL/COM-хиджакинга второго и третьего уровня (т.е. приложение, которое загружает другую DLL, которая загружает еще одну DLL при использовании определенной функции родительского приложения).
  • Автоматически генерирует решения Visual Studio для уязвимых DLL.
  • Способен обрабатывать большие PML-файлы и сохранять все интересующие события в CSV-файл. В локальном тесте обработан файл размером 3 ГБ с 8 миллионами событий за 45 секунд.
  • Поддерживает сканирование уязвимостей как DLL-, так и COM-хиджакинга.
  • Поддерживает создание самоподписанных сертификатов и подписание DLL-файлов.
  • Используя функционал Ghidra, извлекайте сигнатуры экспортируемых функций и выполняйте полезную нагрузку через отдельные прокси-функции, а не запуская всё из DllMain. Этот метод был вдохновлён и реализован на основе руководства по адресу https://www.redteam.cafe/red-team/dll-sideloading/dll-sideloading-not-by-dllmain, автор Shantanu Khandelwal.
  • [Защита] Режим мониторинга, пытающийся выявить запущенные приложения, которые проксируют вызовы, как в случае «DLL-хиджакинг в процессе». Это сделано для быстрого обнаружения очевидных уязвимостей, и на него не следует полагаться.

Содержание

  • Установка
  • Поддерживаемый функционал
    • DLL-хиджакинг
      • Использование
    • COM-хиджакинг
      • Использование
    • Генерация прокси- DLL
      • Использование
    • Подписание DLL-файлов
      • Использование
    • Обнаружение DLL-хиджакинга
  • Аргументы командной строки
  • Вклад
  • Благодарности

Установка

Найдите и загрузите последнюю версию Spartacus в разделе Releases. В противном случае просто клонируйте этот репозиторий и соберите из исходников.

Поддерживаемый функционал

Ниже приведено описание каждого из режимов, поддерживаемых Spartacus.

Примечание: Аргументы командной строки значительно изменились с v1 на v2.

DLL-хиджакинг

Исходная функциональность Spartacus заключалась исключительно в поиске уязвимостей DLL-хиджакинга. Принцип работы:

  1. Создаёт на лету конфигурационный файл ProcMon (PMC) на основе переданных аргументов. Будут установлены следующие фильтры:
    • Операция — CreateFile.
    • Путь заканчивается на .dll.
    • Имя процесса не procmon.exe или procmon64.exe.
    • Включить Drop Filtered Events для минимизации размера выходного PML.
    • Отключить Auto Scroll.
  2. Запускает Process Monitor и ждёт, пока пользователь нажмёт ENTER.
  3. Пользователь запускает/завершает процессы или оставляет его работать столько, сколько нужно.
  4. Завершает Process Monitor после нажатия пользователем ENTER.
  5. Анализирует выходной файл журнала событий (PML).
    1. Создаёт CSV-файл со всеми DLL, которые вернули NAME_NOT_FOUND и PATH_NOT_FOUND.
    2. Сравнивает DLL из предыдущего шага и пытается определить DLL, которые были фактически загружены.
    3. Для каждой «найденной» DLL генерирует решение Visual Studio для проксирования всех экспортируемых функций этой DLL.

Использование DLL-хиджакинга

Соберите все события и сохраните их в C:\Data\logs.pml. Все уязвимые DLL будут сохранены в C:\Data\VulnerableDLLFiles.csv, а все решения для прокси- DLL — в C:\Data\Solutions.

--mode dll --procmon C:\SysInternals\Procmon.exe --pml C:\Data\logs.pml --csv C:\Data\VulnerableDLLFiles.csv --solution C:\Data\Solutions --verbose

Проанализируйте существующий выходной файл PML, сохраните результаты в CSV и создайте решения Visual Studio для прокси- DLL.

--mode dll --existing --pml C:\MyData\SomeBackup.pml --csv C:\Data\VulnerableDLLFiles.csv --solution C:\Data\Solutions --verbose

Скриншоты

DLL Runtime

CSV Output

COM-хиджакинг

Новая функция Spartacus — выявление уязвимостей локального COM-хиджакинга. Принцип работы:

  1. Создаёт на лету конфигурационный файл ProcMon (PMC) на основе переданных аргументов. Будут установлены следующие фильтры:
    • Операция — RegOpenKey.
    • Имя процесса не procmon.exe или procmon64.exe.
    • Включить Drop Filtered Events для минимизации размера выходного PML.
    • Отключить Auto Scroll.
  2. Запускает Process Monitor и ждёт, пока пользователь нажмёт ENTER.
  3. Пользователь запускает/завершает процессы или оставляет его работать столько, сколько нужно.
  4. Завершает Process Monitor после нажатия пользователем ENTER.
  5. Анализирует выходной файл журнала событий (PML).
    1. Определяет все отсутствующие ключи реестра, заканчивающиеся на InprocServer32 и с результатом NAME_NOT_FOUND.
    2. Если найденный ключ находится в HKEY_CURRENT_USER, ищет его GUID в HKEY_CLASSES_ROOT и включает его детали в экспортный CSV (если найден).
    3. Создаёт CSV-вывод со всей собранной информацией.
  6. Spartacus не создаёт автоматически решение Visual Studio для COM-хиджакинга, однако при необходимости создать прокси- DLL можно использовать режим proxy.

Для COM-хиджакинга Spartacus также поддерживает сканирование локальной системы на предмет некорректно настроенных COM-записей:

  1. Перечисляет все HKEY_CLASSES_ROOT, HKEY_CURRENT_USER и HKEY_LOCAL_MACHINE.
  2. Ищет ключи реестра с именами InProcServer, InProcServer32, LocalServer или LocalServer32.
  3. Выявляет отсутствующие расположения EXE/DLL, а также любые некорректные настройки ACL, такие как возможность изменения или удаления файла текущим пользователем.

Использование COM-хиджакинга

Соберите все события и сохраните их в C:\Data\logs.pml. Вся информация об уязвимых COM-объектах будет сохранена в C:\Data\VulnerableCOM.csv.

--mode com --procmon C:\SysInternals\Procmon.exe --pml C:\Data\logs.pml --csv C:\Data\VulnerableCOM.csv --verbose

Обработайте существующий файл PML для выявления уязвимых COM-записей.

--mode com --existing --pml C:\Data\logs.pml --csv C:\Data\VulnerableCOM.csv --verbose

Перечислите реестр локальной системы для выявления отсутствующих/некорректно настроенных COM-библиотек и исполняемых файлов.

--mode com --acl --csv C:\Data\VulnerableCOM.csv --verbose

Скриншоты

COM Runtime

CSV Output

Генерация прокси- DLL

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