
Дамп LSASS через примитивы чтения физической памяти в уязвимых драйверах ядра
Извлечение учетных данных LSASS напрямую из физической памяти путем эксплуатации подписанных уязвимых драйверов с примитивами чтения физической памяти через MmMapIoSpace, обходя традиционные средства обнаружения на уровне пользователя.
Этот инструмент был разработан в сотрудничестве между Julian Peña и Eric Esquivel.
Этот выпуск GhostKatz использует драйверы, которые уже были публично раскрыты как уязвимые. Для достижения наилучших результатов GhostKatz предназначен для работы с драйверами ядра, которые предоставляют примитивные уязвимости чтения памяти и не блокируются при загрузке / не являются публично известными. Данный публичный релиз не включает эксплойты для ранее не раскрытых драйверов. Вместо этого проект спроектирован модульным и расширяемым, позволяя пользователям исследовать собственные драйверы и интегрировать их, расширяя функции примитива чтения памяти в utils.c. Внутренне мы автоматизировали процесс обнаружения и эксплуатации и поддерживаем несколько подписанных драйверов ядра с написанными эксплойтами.
Если вы хотите внести свой вклад, пожалуйста, ознакомьтесь с документацией по участию.
Мы хотели начать изучать эксплуатацию драйверов ядра и подумали, что это будет классный проект. Нас также вдохновил инструмент KernelKatz от Outflank, и мы хотели его использовать, но у нас нет Outflank, так как мы студенты. Поэтому мы сделали свой собственный.
Запустите make, чтобы скомпилировать BOF.
Загрузите Aggressor-скрипт ghostkatz.cna в ваш Script Manager.
Чтобы запустить GhostKatz, используйте команду ghostkatz [logonpasswords/wdigest] -prv <идентификатор провайдера>.
Вы можете выполнить команду помощи в консоли Beacon с помощью: help ghostkatz.
beacon> help ghostkatz
Synopsis: ghostkatz [logonpasswords/wdigest] -prv <provider id>
Description:
Dump credentials from LSASS by using signed kernel drivers to read physical memory.
Examples:
ghostkatz logonpasswords -prv 1
ghostkatz wdigest

Это только версии, которые мы вручную подвергали стресс-тестированию. Крупные версии, такие как 1607, не должны иметь критических изменений в рамках минорных обновлений сборки.
[!WARNING] Хотя GhostKatz был тщательно протестирован, следует проявлять осторожность при развертывании в производственной среде. GhostKatz использует уязвимые драйверы ядра. Возможны ошибки, которые могут привести к синему экрану смерти (BSOD).
Драйверы, которые могут быть эксплуатированы с помощью GhostKatz
| Id | Поставщик | Имя драйвера | SHA256 |
|---|---|---|---|
| 1 | Toshiba | TPwSav | 011df46e94218cbb2f0b8da13ab3cec397246fdc63436e58b1bf597550a647f6 |
| 2 | TechPowerUp | ThrottleStop | 16f83f056177c4ec24c7e99d01ca9d9d6713bd0497eeedb777a3ffefa99c97f0 |
Спасибо ch3rn0byl и Cedric за то, что уделили время и ответили на наши глупые вопросы по ядру, драйверам и Superfetch.