Атакуем локального администратора Windows

Атакуем локального администратора Windows

Dark Net
Зарабатываем от 2000₽ за 5 минут + бонус 10к — ВТБ ИНВЕСТИЦИИ
ФАРМИМ БАБЛО - Канал о проверенных способах заработка в интернете

ПОЛЕТЕЛИ

Данная статья написана только для образовательных целей. Мы никого ни к чему не призываем, только в целях ознакомления! Автор не несёт ответственности за ваши действия

В этой статье мы представим новый минималистичный инструмент для локальных атак повышения привилегий в системах Microsoft Windows. Инструмент называется localbrute.ps1 и представляет собой простой инструмент грубой силы для локальной учетной записи Windows, написанный на чистом PowerShell. Он не требует каких-либо сторонних модулей и очень мал по размеру, что делает его жизнеспособным дополнением к традиционным атакам повышения привилегий, применимым к различным сценариям тестирования на проникновение. 

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

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

Если нам это удастся, мы получим полный контроль над системой и сможем делать все интересные вещи, которые нам нравятся как пентестеры, например:

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

Все это может помочь нам продвинуться дальше в инфраструктуру и продемонстрировать влияние на клиента.

В атаке на локальные учетные записи Windows нет ничего нового, но здесь мы НЕ стремимсяделать это удаленно, используя типичные инструменты тестирования на проникновение, такие как Metasploit smb_login scanner, Nmap smb-brute script, CrackMapExec или любые другие аналогичные инструменты.

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

Куда подходит этот инструмент?

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

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


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

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

Особенности инструмента

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

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

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

  • Поддерживает возобновление, если его прервали
  • Обнаруживает уже взломанные учетные записи пользователей

В следующих разделах подробно описано, как использовать инструмент и как он работает.

Использование инструмента LocalBrute.ps1

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

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

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

net localgroup administrators

List of local Administrator group members


2) Теперь, чтобы запустить инструмент localbrute, просто выполните:

Import-Module .\localbrute.ps1 

# Usage: 

localbrute <username> <path-to-wordlist> [debug]

# Example: 

localbrute Administrator .\rockyou.txt

Вот пример:

Local account login bruteforce with loginbrute.ps1


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

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

Инструмент просто перебирает предоставленный список слов (список паролей) построчно и пытается аутентифицироваться как указанная учетная запись пользователя локально в системе.

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

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

$u = 'Administrator'

$p = 'Pa$$w0rd!'

Add-Type -AssemblyName System.DirectoryServices.AccountManagement

$t = [DirectoryServices.AccountManagement.ContextType]::Machine

$a = [DirectoryServices.AccountManagement.PrincipalContext]::new($t)

$a.ValidateCredentials($u,$p)

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

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

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

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

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

Local account login bruteforce with loginbrute.ps1 in debug mode


Ограничения скорости

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

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

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

Runtime durationNumber of login attempts1 second100 – 2001 minute6k – 12k1 hour360k – 720k1 day8.6M – 17.3M 

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

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

 Запускаете параллельно localbrute?

ВНИМАНИЕ: параллельный запуск нескольких экземпляров сценария localbrute НЕ увеличит скорость. Фактически, очень скоро это приведет к следующему исключению:

Исключение, вызывающее «ValidateCredentials» с аргументом (ами) «2»: «Множественные подключения к серверу или общему ресурсу одним и тем же пользователем с использованием более одного имени пользователя не разрешены. Отключите все предыдущие подключения к серверу или общему ресурсу и попробуй снова.

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

Вывод

Представленный сценарий localbrute.ps1 представляет собой простой инструмент грубой силы при входе в систему, который может предложить дополнительный метод атак повышения привилегий в системах Windows.

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

Благодаря своему компактному размеру, он может пригодиться во время различных тестов на проникновение и наступательных симуляций, так же, как и другие минималистичные инструменты, выпущенные ранее:

Надеюсь, вы найдете это иногда полезным!

Если вам нравятся наши инструменты и вы хотите большего, пожалуйста, подпишитесь на наш список рассылки и подпишитесь на нас в Twitter, Facebook или Github, чтобы не пропустить никаких новых дополнений!

Наши статьи

Получаем акцию до 30.000₽ + Абуз — БКС (Тинькофф 2.0)
Получаем 20.000 рублей — Альфа-Инвестиции
Получаем 50$ от биржи Okcoin
Зарабатываем 1000₽ за 5 минут + бонус 10к — ВТБ
Зарабатываем до 25.000 рублей от Тинькофф!
Бесплатные Промокоды и Скидки для наших подписчиков!

Наши проекты

💀 NIGHT ROOM - канал с интересными подборками различных сервисов на все случаи жизни, СМС - Бомберы, слив полезного софта



Report Page