Атаки грубой силы с использованием Kali Linux

Атаки грубой силы с использованием Kali Linux

Fucker_vk

Brute-force -это математический метод, сложность которого зависит от ряда всех возможных решений. Определение «грубая сила» обычно используется в контексте хакерских атак, когда злоумышленник пытается найти действительный логин/пароль для учетной записи или службы.

Рассмотрим инструменты, которые можно использовать для атак грубой силы на SSH и веб-сервисы, доступные в Kali Linux (Patator, Medusa, THC Hydra, Metasploit) и BurpSuite.

Все материалы, приведенные в данной статье, предназначены для образовательных целей. Использование материалов в незаконных целях запрещено.

Brute-force SSH

В качестве примера возьмем тестовую машину 192.168.60.50 и попробуем найти тестовый пароль пользователя с помощью SSH. Мы будем использовать популярные пароли из стандартного словаря rockyou.txt


Patator

Чтобы найти пароль с картофелем используйте команду:

patator ssh_login host=192.168.60.50 user=test password=FILE0 0=/root/wordlist -x ignore:mesg=’Authentication failed’

где:

  • ssh_login-это необходимый модуль;
  • host — это наша цель;
  • user-это логин пользователя, для которого найден пароль, либо файл содержит множество Логинов для многократного поиска;
  • password — это словарь, содержащий пароли; X ignore: mesg=’Authentication failed’ — это команда не отображать строку, содержащую это сообщение. Параметр фильтрации выбирается индивидуально.

THC Hydra

Для майнинга паролей с помощью THC Hydra выполните команду:

hydra -V -f -t 4 -l test -P /root/wordlist ssh://192.168.60.50

где:

  • V-для отображения пары логин + пароль во время майнинга пароля;
  • f-это остановка, как только будет найден пароль для указанного логина;
  • P-это путь к словарю паролей;
  • ssh: / / 192.168.60.50-это IP-адрес жертвы.

Medusa

Для майнинга паролей с помощью Medusa выполните команду:

medusa -h 192.168.60.50 -u test -P /root/wordlist -M ssh -f -v 6

где:

  • h- его жертва IP-адрес;
  • u — это логин;
  • P — это путь к словарю;
  • M-это выбор модуля;
  • F-это остановка, как только будет найдена действительная пара логин/пароль;
  • v-это настройка отображения сообщения на мониторе во время майнинга паролей.

Metasploit

Найдите инструмент для атаки грубой силы с помощью SSH:

search ssh_login

Использовать модуль:

  • use auxiliary/scanner/ssh/ssh_login

Используйте команду Показать параметры для просмотра необходимых параметров. Для нас это:

  • rhosts-это IP адрес жертвы;
  • rport — это порт;
  • username-это SSH логин;
  • user pass_file-это путь к словарю;
  • stop_on_success-это остановка, как только будет найдена пара логин/пароль;
  • threads — количество потоков.

Индикация необходимых параметров осуществляется с помощью команды «set».

set rhosts 192.168.60.50
set username test
set userpass_file /root/wordlist
set stop_on_success yes
set threads 4
set rport 22

Когда будут указаны необходимые параметры, введите команду «Выполнить» и подождите.

Ограничьте количество установленных подключений с помощью брандмауэра. Пример настройки iptables в:

-A INPUT -i eth0 -p tcp --dport 22 -m connlimit --connlimit-above 1--connlimit-mask 32 -j REJECT --reject-with tcp-reset.

Это правило ограничит доступ к SSH для каждого IP-адреса до 1 соединения в секунду, что сделает грубую силу более сложной. Также эффективным решением может быть использование двухфакторной аутентификации (например, с помощью токена) или аутентификации с использованием инфраструктуры открытых ключей (PKI) и использование ACL на основе IP-адресов.

BurpSuite

Сначала необходимо разобраться в процессе авторизации. Для этого мы будем использовать Burp Suite. Чтобы проверить, какие запросы проходят через BurpSuite, мы должны попытаться авторизоваться с помощью любого пароля и логина.

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

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

Скачайте необходимый словарь и начните атаку:

По поведению веб-приложения мы видим, что неверный пароль возвращает код ответа 200. После словаря, грубой силы, мы видим, что один из паролей дал ответ код 302 — это пароль правильный.

Этот метод занимает гораздо больше времени, чем при использовании Patator, THC Hydra, Medusa и др. Даже с учетом того, что мы использовали небольшой словарь, Burp Suite искал пароль около 40 минут.

THC Hydra

Давайте попробуем найти пароль с помощью THC Hydra. Как мы знаем, если авторизация является неправильной код 200, если авторизация является правильной код 302. Попробуйте использовать эту информацию. Для начала используйте команду:

мydra -V -f -l admin -P /root/wordlist -t 4 http-post-form://192.168.60.50 -m “/wp-login.php:log=^USER^&pwd=^PASS^&wp-submit=Log+In&redirect_to=http%3A%2F%2F192.168.60.50%2Fwp-admin%2F&testcookie=1:S=302”

Здесь мы будем заполнять необходимые параметры:

  • I — это имя пользователя;
  • P-это словарь паролей;
  • t — это число потоков;
  • http-post-form — это тип формы (в нашем случае POST);
  • /wp-login.php-это URL страницы авторизации;
  • ^^USER^ — показывает, где должно быть заполнено имя пользователя;
  • ^PASS^ — показывает, где должен быть заполнен пароль из словаря;
  • S=302-это указание, к которому относится ответ THC Hydra. В нашем случае, если авторизация прошла успешно ответ 302.

Nmap

Утилита Nmap позволяет производить майнинг паролей для авторизации веб-форм при использовании http-wordpress-brute с соответствующими аргументами:

— script-args-это добавление аргументов;

user или userdb-это логин или файл, содержащий логины;

pass or passdb — это пароль или словарь признаков;

thread -это ряд потоков;

first only=true-для отображения результатов после первых правильных паролей.

nmap 192.168.60.50 --script http-wordpress-brute --script-args ‘user= admin,passdb= /root/wordlist, http-wordpress-brute.thread=3, brute.firstonly=true’

Противодействие

Ограничьте (усложните) атаки грубой силы на веб-приложения с использованием iptables (например, SSH) и инструментов Nginx:

…
limit_req_zone $binary_remote_addr zone=req_limits:10m rate=30r/s;
…
location / {
…
limit_req zone=req_limits burst=10;
limit_req_status 429;
…
}

Эти настройки позволят ограничить число запросов от одного IP-адреса до 40 в секунду. Чтобы запутать задачу интеллектуального анализа паролей, используйте следующий метод:

использование брандмауэра и другого программного обеспечения для ограничения количества запросов к защищенной службе;

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

Вывод

В этой статье мы поверхностно рассмотрели некоторые из популярных инструментов. Для снижения риска нападения грубой силы следуйте рекомендациям:

использовать жесткий для взлома паролей;

не создавать пароли с использованием личных данных, например дата рождения или имя+дата рождения или номер телефона;

регулярно меняйте пароль;

используйте разные пароли для каждой учетной записи.

Не так много людей следуют этим рекомендациям (а также рекомендациям по безопасной веб-разработке), поэтому необходимо использовать различные программные решения:

ограничить подключение по IP-адресу или, если это невозможно, ограничить одновременное количество подключений к серверу (используя iptables, Nginx и т. д.);

использование двухфакторной аутентификации;

обнаружение и блокировка этих атак с помощью SIEM, WAF или других инструментов (например fail2ban).




Report Page