Брутфорс учетной записи администратора Windows

Брутфорс учетной записи администратора Windows

В этой статье я познакомлю вас с интересным инструментом для локальных атак повышения привилегий в Windows. Инструмент называется localbrute.ps1 и представляет собой простую тулзу, написанную на PowerShel для брутфорса локальной учетной записи администратора Windows.

Еще по теме: Рабочие техники повышения привилегий в Windows

Инструмент не требует каких-либо сторонних модулей и мало весит, что делает его отличным дополнением к традиционным методам повышения привилегий, применимым к различным сценариям тестирования на проникновение.

Брутфорс учетной записи администратора Windows

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

Мы можем попробовать столько попыток входа в систему, сколько захотим. Если удастся подобрать пароль, получим полный контроль над системой и сможем:

  • Отключить любые средства защиты и безопасности в системе.
  • Извлечь учетные данные.
  • Создать необработанные сетевые пакеты и запускать эксплойты для атак на другие системы локальной сети..
  • Получить доступ к защищенным областям системы, чтобы найти конфиденциальную информацию

Инструмент localbrute PowerShell выполняет брутфорс локально в самой целевой системе, поэтому его использование весьма специфично.

Этот инструмент может быть полезен в тех случаях, когда есть учетные данные пользователя с низким уровнем привилегий и когда есть возможность запускать команды — например, через сеанс RDP или через терминал.

Мы также можем использовать этот инструмент при тестировании какой-то ограниченной или изолированной среды — например, VDI, где есть доступ только на уровне пользователя.

Во всех этих случаях инструмент localbrute.ps1 может помочь повысить привилегии.

Особенности localbrute.ps1

localbrute.ps1 выполняет попытки входа в систему локально в системе, используя встроенные функции Windows. Вот основные особенности инструмента:

  • Выполняет атаки входа в систему против любой выбранной локальной учетной записи, используя предоставленный список слов.
  • Написан на чистом PowerShell — дополнительных модулей не требуется.
  • Не является вредоносным — не обнаруживается антивирусами и EDR.
  • Маленький размер.

В настоящее время в репозитории GitHub доступны две версии localbrute.ps1 — мини и обычная версия. Единственное отличие состоит в том, что обычная версия немного длиннее и имеет следующие дополнительные функции:

  • Поддерживает возобновление перебора паролей.
  • Находит уже взломанные учетные записи пользователей.

Давайте разбираться, как использовать и как работает тулза.

Использование LocalBrute.ps1

Первое, что надо сделать, это определить учетные записи администраторов в системе. Обычно к ним относятся:

  • Члены локальной группы администраторов
  • Сама учетная запись локального администратора

Вот как мы можем найти учетные записи локальной группы администраторов:

Список пользователей локальных администраторов

Теперь, запустите localbrute:

Использование:

Пример:

Брутфорс локальной учетной записи loginbrute.ps1

Учтите, что перебор пароля может занять много времени.

Как это работает?

Инструмент просто перебирает  методом брутфорс предоставленный список слов словаря и пытается аутентифицироваться. Он использует внутренние функции Windows DirectoryServices.AccountManagement в контексте локального компьютера. Фактически, это позволяет тестировать аутентификацию для любой локальной учетной записи.

Вот фрагмент кода PowerShell для локальной проверки учетных данных:

Расширенная (более длинная) версия имеет некоторые дополнительные функции для повышения удобства использования при работе с большими списками слов. А именно, он хранит файл состояния (localbrute.state) в текущем рабочем каталоге, чтобы отслеживать прогресс.

После прерывания ( ^ C) тулза запишет последний найденный пароль из заданного списка слов для данного имени пользователя. Это позволяет продолжить (возобновить) атаку после перезапуска.

В файле состояния также хранятся записи об уже взломанных учетных записях.

Вы можете включить режим отладки, чтобы увидеть процесс перебора:

Брутфорс пароля Windows loginbrute.ps1 в режиме отладки

Скорость перебора паролей учетной записи администратора Windows

Скорость около 100-200 попыток входа в систему в секунду, в зависимости от производительности системы.

Конечно, это не быстро, но все же намного быстрее, чем другие подобные инструменты.

Скорость перебора:

Продолжительность работы Количество попыток входа в систему
1 секунда 100 – 200
1 минута 6k – 12k
1 час 360k – 720k
1 день 8.6M – 17.3M

Т.е. мы могли бы, например, перебрать весь список слов из популярного словаря rockyou.txt (14,3 млн записей) за 19,9–39,8 часов (1-2 дня). Это не так уж и плохо.

Обратите внимание! При включении режима отладки, скорость снижается примерно на 20-30%.

Параллельно запускаете localbrute

Параллельное запуск нескольких экземпляров сценария localbrute не увеличит скорость перебора. Не запускайте сценарий параллельно, потому, что только один процесс может вызывать ValidateCredentials ().

Заключение

Сценарий localbrute.ps1 представляет собой простой инструмент для брутфорса локальной учетной записи администратора Windows.

Из-за отсутствия политики блокировки учетных записей для локальных учетных записей мы можем использовать его для проверки надежности пароля локально привилегированных учетных записей и обнаружения учетных записей, настроенных со слабыми паролями.

Еще по теме: Поиск учетных записей и служб в сетях Windows

ВКонтакте
OK
Telegram
WhatsApp
Viber

2 комментария

  1. yuxo

    у меня после комманды Import-Module .\localbrute.ps1 пишет:
    Import-Module : Указанный модуль «.\localbrute.ps1» не был загружен, так как ни в одном из каталогов модулей не был обнаружен действительный файл модуля.
    строка:1 знак:1
    + Import-Module .\localbrute.ps1
    + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    + CategoryInfo : ResourceUnavailable: (.\localbrute.ps1:String) [Import-Module], FileNotFoundException
    + FullyQualifiedErrorId : Modules_ModuleNotFound,Microsoft.PowerShell.Commands.ImportModuleCommand

    что делать?

    • Проверь, что файл находится в том же каталоге, в котором запускаешь команду, и убедись в правильности указания имени файла и расширения. Если файл находится в другом каталоге, укажи полный путь к файлу в команде Import-Module.

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *