
BOF для перечисления системных процессов, их уровней защиты и многого другого.
Этот BOF может использоваться для перечисления системных процессов и определения уровня защиты каждого из них. Также возвращается дополнительная информация, такая как связь со службой, пользователь, сессия и путь. Эту информацию в совокупности можно использовать для выявления хороших кандидатов для изучения с целью перехвата DLL на уровне SYSTEM. Идеальные процессы:

Этот инструмент написан без использования обычных объявлений BOF API (например, файла bofdefs.h). Как описано в этом посте в блоге от Мэтта Эрншвендера, можно использовать objcopy для исправления соответствующих символов формата DLL$API в BOF после компиляции. Makefile для этого инструмента вызывает objcopy, передавая инструменту файл imports_enumprotectionsXX.txt, содержащий правильные замены символов, что делает BOF пригодным к использованию.
Я написал инструмент под названием BOFPatcher, который автоматизирует этот процесс. Это позволяет пользователям писать BOF-файлы как обычный C-код, не беспокоясь о громоздких объявлениях API:

Этот инструмент доступен тем, кто приобретает мой курс BOF Development and Tradecraft.
Спасибо hasherezade за этот фрагмент кода, а также Габриэлю Ландау за NoFault.
Также благодарность многим талантливым людям, чьи работы были собраны ChatGPT и использованы мной.