
PrivKit — это простой beacon object file, который обнаруживает уязвимости повышения привилегий, вызванные неверными конфигурациями в ОС Windows.
Набор Beacon Object Files (BOF) для проверок локального повышения привилегий в Windows.

PrivKit — это инструмент с открытым исходным кодом, который позволяет командам red team и пентестерам быстро выявлять распространенные векторы локального повышения привилегий в Windows с помощью Beacon Object Files (BOF) Cobalt Strike.
Информацию об использовании в командной строке и примеры см. в разделе Использование.
Если вы обнаружите какие-либо ошибки, не стесняйтесь сообщить о них. Ваши отзывы ценны для улучшения качества этого проекта!
Авторы и участники этого проекта не несут ответственности за любое незаконное использование инструмента. Он предназначен только для образовательных и авторизованных целей тестирования безопасности. Пользователи несут ответственность за соблюдение законного использования.
Особая благодарность моему другу @nickvourd за все его вклады.
Особая благодарность команде TrustedSec за их отличный проект CS-Situational-Awareness-BOF, который послужил вдохновением для этого инструмента.
Выражаю признательность команде Cobalt Strike за их исчерпывающую документацию и примеры BOF.
PrivKit создан с ❤️ @merterpreter.
PrivKit предлагает комплексный набор проверок на повышение привилегий, включая:
PrivKit написан на C и скомпилирован как Beacon Object Files, что делает его совместимым с Cobalt Strike 4.x в среде Windows.
⚠️ Убедитесь, что MinGW-w64 установлен в вашей системе.
ℹ️ Для платформ Linux (Ubuntu/Debian) установите следующий пакет:
sudo apt update && sudo apt install mingw-w64 -y
ℹ️ Для платформ MacOS установите следующий пакет:
brew install mingw-w64
git clone https://github.com/mertdas/PrivKit.git
cd PrivKit
make_all.sh, который компилирует все BOF для обеих архитектур x64 и x86:./make_all.sh
Cobalt Strike -> Script Manager -> Load -> PrivCheck.cna
beacon> help
Выполните все проверки на повышение привилегий одновременно:
beacon> PrivCheck
Запускайте нужные проверки по мере необходимости:
beacon> AlwaysInstallElevatedCheck
beacon> AutologonCheck
beacon> CredentialManagerCheck
beacon> HijackablePathCheck
beacon> ModifiableAutorunCheck
beacon> ModifiableSVCCheck
beacon> TokenPrivilegesCheck
beacon> UnquotedSVCPathCheck
beacon> PowerShellHistoryCheck
beacon> UACStatusCheck
beacon> AlwaysInstallElevatedCheck
[*] BOF by @merterpreter && @nickvourd
[*] Проверка уязвимости повышения привилегий AlwaysInstallElevated...
=== AlwaysInstallElevated Проверка ===
[*] HKCU\...\Installer\AlwaysInstallElevated = 1
[*] HKLM\...\Installer\AlwaysInstallElevated = 1
[+] УЯЗВИМО: AlwaysInstallElevated установлен в HKCU и HKLM
beacon> UACStatusCheck
[*] BOF by @merterpreter && @nickvourd
[*] Проверка статуса UAC, уровня целостности и членства в администраторах...
=== UAC Status Check ===
[11/27 15:08:08] [+] received output:
[*] UAC включен (EnableLUA): Yes
[11/27 15:08:08] [+] received output:
[*] ConsentPromptBehaviorAdmin: 5
[11/27 15:08:08] [+] received output:
(Запрос согласия для не-Windows двоичных файлов)
[11/27 15:08:08] [+] received output:
[*] PromptOnSecureDesktop: Yes
[11/27 15:08:08] [+] received output:
[11/27 15:08:08] [+] received output:
[*] Уровень целостности:
[11/27 15:08:08] [+] received output:
Medium
[11/27 15:08:08] [+] received output:
[*] Член локальной группы администраторов: Yes
[11/27 15:08:08] [+] received output:
[*] Итог:
[11/27 15:08:08] [+] received output:
[+] Пользователь является локальным администратором, НО не имеет повышенных прав (токен с фильтром UAC)
[11/27 15:08:08] [+] received output:
[+] Возможен обход UAC
| Проверка | Описание |
|---|
| AlwaysInstallElevatedCheck | Проверяет неправильную конфигурацию AlwaysInstallElevated в HKCU и HKLM |
| AutologonCheck | Перечисляет сохраненные учетные данные Autologon в реестре Winlogon |
| CredentialManagerCheck | Извлекает учетные данные из диспетчера учетных данных Windows |
| HijackablePathCheck | Определяет доступные для записи каталоги в системном PATH |
| ModifiableAutorunCheck | Находит доступные для записи исполняемые файлы автозапуска в ключах Run/RunOnce |
| ModifiableSVCCheck | Находит службы с изменяемыми разрешениями (DACL) |
| TokenPrivilegesCheck | Перечисляет привилегии токена текущего процесса |
| UnquotedSVCPathCheck | Обнаруживает пути служб без кавычек, содержащие пробелы |
| PowerShellHistoryCheck | Проверяет файл истории PSReadLine PowerShell |
| UACStatusCheck | Проверяет статус UAC, уровень целостности и членство в группе администраторов |