Pull to refresh

Comments 17

Чтобы загрузить уязвимый драйвер, нужны права администратора. Но если у нас есть права администратора, то мы можем получить доступ к памяти lsass.exe через OpenProcess и ReadProcessMemory

Вы сможете сделать дамп процесса lsass, если будут права администратора и в системе не будет установлено средств защиты.

Если у нас есть права администратора, мы просто берём и выключаем/удаляем средства защиты.

Это слишком заметно.

У Вас с правами адина возникнут трудности с выключением/удалением средств защиты.(Microsoft Defender в расчет не беру)

Стандартный Uninstall не поможет?

Достаточно часто нужно вводить капчу при использовании стандартных Uninstall. Следовательно нужно иметь графическую оболочку(например RDP). Если она у Вас будет и будут права администратора ,то Вы сможете удалить стандартными Uninstall.

Для enterprise-инструментов стандартом является установка/удаление msi-пакетами. Если какой-то антивир это не умеет, он будет очень плохо вписываться в современное управление доменом.
В системах с Secure Boot часто используется LSA Protection (https://itm4n.github.io/lsass-runasppl/), который не дает доступ к памяти lsass даже с правами админа. После включения эта опция сохраняется в NVRAM.
Чтобы ее отключить, нужен физический доступ к машине, так как отключение нужно подтвердить до загрузки ОС в EFI-приложении (https://www.microsoft.com/en-us/download/details.aspx?id=40897).
Такая защита обходится только через драйвер.

В процессе разработки антивирус не триггерился? Или его отключили?

Стриггерит, только если дырявый драйвер у него добавлен в базу вредоносов. А так, с точки зрения системы ничего не происходит — никаких странных API не вызывается, только IOCTL стороннего драйвера, про который AV ничего сказать не может.

По идее KDU может и не понадобиться, похожий функционал из коробки есть в подписанном гигабайтовском GIO.sys. Ковырял их тут

KDU сам не нужен, у него в проекте есть некоторое количество драйверов, один из которых я извлек.

Patch guard возбудится на запись в ядро системы. Как это обходится?

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

github.com/everdox/InfinityHook
Sign up to leave a comment.