Руководство по проведению атаки Password Spraying

Дата: 08.09.2020. Автор: Игорь Б. Категории: Статьи по информационной безопасности

В данной статье пойдет речь об атаке, которая, на первый взгляд, очень похожа на брутфорс, но все-таки немного отличается от нее. Она называется Password Spraying. Читатели смогут понять разницу между двумя атаками и познакомятся с реальными скриптами. Они также откроют для себя множество инструментов, с помощью которых пользователи способны провести Password Spraying.

Знакомство с Password Spraying

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

Brute-force и Password Spraying

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

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

Password Spraying на практике в жизни

Расследования ФБР подчеркивают, что существует очень высокий рост использования данной атаки против известных организаций по всему миру. В феврале 2018 года Министерство юстиции Нью-Йорка предъявило обвинения 9 гражданам Ближнего Востока, которые были связаны с Институтом Mabna за преступления, связанные с компьютерным вторжением. Они выполнили много различных атак, которые можно классифицировать как Password Spraying. Это красноречиво говорит о реальных рисках для организаций. Хакеры используют атаку для получения доступа к конфиденциальной информации, связанной с личными и деловыми данными сотрудников. Еще одним таким инцидентом стала компания Citrix, для тех, кто не знает, это компания, которая занимается выпуском ПО и предоставляет заказчикам возможность получить виртуализацию серверов, приложений и настольных компьютеров, а также услуги SAAS. Организация стала жертвой Password Spraying, при том что она была настолько слепа, что даже понятия не имела, что на нее напали, пока ФБР не сообщило об этом.

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

Настройки и параметры, используемые в практической части:

  • Машина атакующего:
    • ОС: Kali Linux 2020.1;
    • IP-адрес: 168.1.112.
  • Машина цели (сервер)
    • ОС: Windows Server 2016;
    • IP-адрес: 168.1.105;
    • ОС: Ubuntu 18 (BWAPP);
    • IP-адрес: 192.168.1.109.
  • Машина цели (клиент):
    • Операционная система: Windows 10;
    • IP-адрес: 168.1.106.

Атаки Password Spraying

Читатели познакомятся с последовательностью атак, каждая из которых использует различные инструменты, а некоторые из них – даже вариативные протоколы. Если быть точнее, будут рассмотрены скрипты Рython, PowerShell, BurpSuite, Shell Script, модули Metasploit и многое другое.

RDPassSpray.py

Это скрипт python, который пользователь обнаружил, когда исследовал что-то другое. С помощью него можно провести Password Spraying. Ну технически это будет связано с именами пользователей, но не стоит вдаваться в номенклатуру. Был создан специальный словарь с кучей имен пользователей, как показано на рисунке ниже.

cat /root/Desktop/user.txt

Пользователь решил использовать пароль 123 как самый распространенный в мире. Он увидит, что у него есть пользователи raj, aarti, Yashika и pavan с одним и тем же паролем. Человек также заметит, что эти пользователи имеют права администратора.

Скачать RDPassSpray.py можно, перейдя по ссылке.

python3 RDPassSpray.py -U /root/Desktop/user.txt -p 123 -t 192.168.1.106

Обычно пользователь ведет журналы для этого раздела статьи, но этот конкретный журнал был очень специфичен, если говорить о данном инструменте. Поэтому человек и захотел его показать. Он относится к событию ID 1158. Был также открыт RDPassSpray и человек обнаружил, что он создал журнал для этого события. Здесь можно увидеть, что уже был получен IP-адрес злоумышленника.

DomainPasswordSpray.ps1

Теперь нужно воспользоваться PowerShell. Это был сценарий, который пользователь уже скачал. С помощью него человек атакует аутентификацию паролей домена. Нужно убедиться, что пользователь находится в среде, контролируемой доменом, чтобы провести эту атаку.  Это вовсе не проблема, ведь есть куча пользователей в тестовой среде. Также пользователь находит некоторые из этих имен в своем словаре. Необходимо попробовать пароль «Password@1».

Import-Module C:\Users\kavish\Desktop\DomainPasswordSpray.ps1
type .\user.txt
Invoke-DomainPasswordSpray -Userlist .\user.txt -Domain ignite.local -Password Password@1

Теперь пользователь видит, что есть куча пользователей с тем же паролем, что и «Password@1».

BurpSuite

Password Spraying может быть проведена и в веб-приложениях. Чтобы показать, что это возможно, пользователь решает использовать BWAPP. Это позволяет ему создавать пользователей, так как для этого нужно несколько юзеров. Теперь, после создания пользователей, человек переходит на страницу входа в систему BWAPP, вводит учетные данные и фиксирует запрос для BurpSuite. Затем следует щелкнуть правой кнопкой мыши на захваченном запросе и отправить его злоумышленнику.

На вкладке «Positions» нужно будет добавить анкоры для имени пользователя, как показано на рисунке ниже. Человек делает это для того, чтобы BurpSuite мог нацелиться на имена пользователей для осуществления итерационных атак, которые злоумышленник будет проводить.

Теперь необходимо перейти на вкладку «Payload». Здесь пользователь будет устанавливать параметры полезной нагрузки или имена пользователей, которые будут помещены в словарь для предыдущих атак. Человек может непосредственно вставить эти данные из словаря или добавить имена пользователей по одному, введя их в диалоговом окне и нажав на кнопку «Add».

После добавления достаточного количества имен пользователей следует нажать на кнопку «Start Attack». При этом появится новое окно, как показано на рисунке ниже. Здесь пользователь увидит разницу между длинами запроса, который говорит о том, что пароль «bug» подходит для некоторых пользователей. Таким образом, читатели теперь знают как выполняется Password Spraying в веб-приложениях с помощью BurpSuite.

Spray.sh

Spray.sh это довольно известный скрипт Shell, который используется для проведения Password Spraying. Прежде чем человек продолжит, нужно создать еще один словарь с именами пользователей, как показано на рисунке ниже. Хакер будет применять брут-форс в отношении пользователей SMB. Также будет создан аналогичный словарь с вероятными паролями. Но пользователь сохранит пароли в списках максимум до 2, чтобы это не вызвало никаких подозрений для политик безопасности.

cat users.txt

Теперь стоит создать команду, которую человек будет использовать для проведения Password Spraying. Во-первых, он поставит протокол SMB в качестве параметра. Затем человек предоставит IP-адрес контроллера домена. Далее следует применить словарь пользователей, а также сами пароли.

./spray.sh -smb '192.168.1.105' users.txt passwords.txt 10 1 IGNITE skipuu

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

Crackmapexec

Crackmapexec, один из инструментов, который никогда не перестает удивлять. Но что именно он делает? Password Spraying является одной из тех вещей, на которые способен этот инструмент. Работа с ним довольно проста. Все, что пользователю нужно сделать, это предоставить используемый протокол, диапазон IP-адресов, которые он хочет атаковать, кучу имен пользователей и единственный пароль. Инструмент же сделает все остальное. В мгновение ока утилита сообщила нам, что администратором является учетная запись с паролем Ignite@987.

crackmapexec smb 192.168.1.0/24 -u "Kavish" "Administrator" -p "Ignitea987"

Предположим, у пользователя есть больше имен пользователей, чем просто пара, тогда он может поместить их в словарь и выполнить Password Spraying. Все, что нужно было сделать, это заменить имена пользователей словарем, содержащим имя пользователя, как показано на рисунке ниже.

cat /root/Desktop/user.txt
crackmapexec smb 192.168.1.106 -u /root/Desktop/user.txt -p 'Password@1' --continue-on-success

Hydra

Hydra – это один из самых известных инструментов для проведения брутфорс атаки. Он оставался в тени в течение очень долгого времени. Но очень немногие люди знают, что инструмент можно использовать и для проведения Password Spraying. В принципе, человек предоставляет несколько имен пользователей и один пароль при этой атаке. Именно это пользователь и собирается сделать. Здесь следует ориентироваться на протокол SMB, но это можно сделать практически с любым другим протоколом.

hydra -L /root/Desktop/user.txt -p Password@1 192.168.1.105 smb

Medusa

Во время работы с Hydra пользователь вспомнил о том, что существует инструмент, который очень похож на нее, но имеет не столь распространенное греческое название. Просматривая свои записи, человек понял о чем он подумал. Это была Medusa. Не совсем понятно, почему он не был так популярен, может быть, потому что не поддерживает так много протоколов, как Hydra. Каковой бы ни была причина, пользователь попытался выполнить Password Spraying с помощью Medusa, предоставив словарь имен пользователей вместо имен пользователей. Честно говоря, инструмент работал без каких-либо сбоев. Таким образом, это хорошая альтернатива для той же Hydra.

medusa -h 192.168.1.105 -U /root/Desktop/user.txt -p Password@1 -M smbnt

Metasploit: SMB Login

Работая так много с SMB, пользователь подумал о том, что можно использовать Metasploit для Password Spraying. Это не так невозможно, так как Metasploit содержит модуль, который выполняет вход в систему SMB с помощью брутфорс. Итак, после загрузки этого модуля пользователь проверил параметры и обнаружил, что он может предоставить имена пользователей в словаре, но после нескольких попыток стало ясно, что для использования имен пользователей в словаре также придется предоставить пароль. Итак, человек добавил единственный пароль в словарь паролей и запустил модуль, как показано на рисунке.

use auxiliary/scanner/smb/smb_login
set rhosts 192.168.1.105
set user_file /root/Desktop/user.txt
set pass_file /root/Desktop/pass.txt
exploit

Patator

После обсуждения и использования стольких методов, которыми пользователь можем выполнить атаку Password Spraying, пора поговорить об инструменте, о котором многие из читателей, возможно, слышат впервые. Это один из наименее известных братьев Hydra. Его название Patator. Пользователь забыл о том, что его можно использовать и для осуществления Password Spraying. Это очень простой инструмент, который позволяет предоставить уникальный пароль со словарем имен пользователей.

patator smb_login host=192.168.1.105 user=FILE0 0=/root/Desktop/user.txt password=Password@1

Обнаружение

  • Большое количество попыток входа в корпоративный портал с единого входа или веб-приложения;
  • Используя автоматизированные инструменты, злоумышленники пытаются за короткий промежуток времени выполнить тысячи входов в систему против нескольких учетных записей пользователей в учетных записях пользователей-жертв, происходящих с одного IP-адреса или компьютера;
  • Входы сотрудников с IP-адресов осуществляются в местах, отличных от их обычных местоположений.

Митигирование

  • Следует включить многофакторную аутентификацию и просмотреть ее параметры, чтобы обеспечить покрытие активных протоколов, подключенных к Интернету;
  • Необходимо просмотреть политики паролей, чтобы убедиться, что они соответствуют последним рекомендациям NIST и ограничивают использование простых в угадывании вариантов;
  • Нужно применить политику паролей, которая запрещает устанавливать легко угадываемые пароли;
  • Надо внедрить список запрещенных паролей;
  • Важно следить за своими учетными записями администраторов и пользователей на предмет необычных действий.

Автор переведенной статьи: Pavandeep Singh.

Важно! Информация исключительно в учебных целях. Пожалуйста, соблюдайте законодательство и не применяйте данную информацию в незаконных целях.

Если вы нашли ошибку, пожалуйста, выделите фрагмент текста и нажмите Ctrl+Enter.

Поделиться ссылкой

Игорь Б

Об авторе Игорь Б

Автор на портале cisoclub.ru. Добавляйте ваш материал на сайт в разделе "Разместить публикацию".
Читать все записи автора Игорь Б

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

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

12 − шесть =