
Spartacus — инструментарий для перехвата DLL/COM
[!CAUTION] Этот репозиторий не поддерживается, посетите https://github.com/sadreck/Spartacus для последней версии.
Если вы видели фильм «Спартак» 1960 года, вы помните сцену, где римляне просят Спартака сдаться. В тот момент, когда настоящий Спартак встал, многие другие также встали и заявили, что они — Спартак, используя фразу «I AM SPARTACUS».
Когда процесс, уязвимый для DLL-хиджакинга, запрашивает загрузку DLL, это похоже на вопрос «КТО ТАКОЙ VERSION.DLL?», и случайные каталоги начинают заявлять: «Я — VERSION.DLL» и «НЕТ, Я — VERSION.DLL». И так появился Спартак.
[Защита] Режим мониторинга, пытающийся выявить запущенные приложения, которые проксируют вызовы, как в случае «DLL-хиджакинг в процессе». Это сделано для быстрого обнаружения очевидных уязвимостей, и на него не следует полагаться.Найдите и загрузите последнюю версию Spartacus в разделе Releases. В противном случае просто клонируйте этот репозиторий и соберите из исходников.
Ниже приведено описание каждого из режимов, поддерживаемых Spartacus.
Примечание: Аргументы командной строки значительно изменились с v1 на v2.
Исходная функциональность Spartacus заключалась исключительно в поиске уязвимостей DLL-хиджакинга. Принцип работы:
CreateFile..dll.procmon.exe или procmon64.exe.Drop Filtered Events для минимизации размера выходного PML.Auto Scroll.ENTER.ENTER.NAME_NOT_FOUND и PATH_NOT_FOUND.Соберите все события и сохраните их в 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


Новая функция Spartacus — выявление уязвимостей локального COM-хиджакинга. Принцип работы:
RegOpenKey.procmon.exe или procmon64.exe.Drop Filtered Events для минимизации размера выходного PML.Auto Scroll.ENTER.ENTER.InprocServer32 и с результатом NAME_NOT_FOUND.HKEY_CURRENT_USER, ищет его GUID в HKEY_CLASSES_ROOT и включает его детали в экспортный CSV (если найден).proxy.Для COM-хиджакинга Spartacus также поддерживает сканирование локальной системы на предмет некорректно настроенных COM-записей:
HKEY_CLASSES_ROOT, HKEY_CURRENT_USER и HKEY_LOCAL_MACHINE.InProcServer, InProcServer32, LocalServer или LocalServer32.Соберите все события и сохраните их в 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

