Линукс инструменты для взлома

Brute-force атаки с использованием Kali Linux

Brute-force (атака полным перебором) – метод решения математических задач, сложность которого зависит от количества всех возможных решений. Сам же термин brute-force обычно используется в контексте хакерских атак, когда злоумышленник пытается подобрать логин/пароль к какой-либо учетной записи или сервису.

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

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

Brute-force SSH

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

Patator
Для подбора пароля средствами 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’ — команда не выводить на экран строку, имеющую данное сообщение. Параметр фильтрации подбирается индивидуально.

Hydra
Для подбора пароля используя 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
Произведем поиск инструмента для проведения brute-force атаки по SSH:
search ssh_login и получили ответ:

Для просмотра необходимых параметров, воспользуемся командой show options . Для нас это:
rhosts – IP-адрес жертвы
rport – порт
username – логин SSH
userpass_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

Указав необходимые параметры набираем команду «run» и ждем.

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

Ограничить количество устанавливаемых соединений с использованием межсетевого экрана. Пример настройки 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 соединения в секунду, значительно усложнив перебор. Также эффективным решением может быть использование двухфакторной аутентификации (например, используя eToken) или аутентификации с использованием ключевой пары, а также использование ACL на основе IP-адресов.

Brute-force WordPress

Рассмотрим другой пример — подбор пароля окна авторизации веб-формы.

Для примера будем подбирать пароль от учетной записи администратора wordpress.

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

Читайте также:  Как измерить скорость компьютера windows 10

Отлично, мы увидели POST запрос для авторизации с ним мы и будем работать.
В BODY указано какой логин и пароль проверялись, а значит, мы можем попробовать самостоятельно подставить нужные нам значения.
Передаем этот запрос в Intruder и там выбираем необходимые параметры для атаки. В пункте Payload Positions тип атаки оставляем sniper, но для проверки оставляем только параметр pwd. Таким образом, при атаке будет изменяться только этот параметр.

Загружаем необходимый словарь и начинаем атаку.

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

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

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

hydra -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»

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

Patator
Как мы уже знаем, при неудачной авторизации возвращается код 200, а при удачной – 302. Будем использовать тот же принцип, что и с Hydra:
Запуск производится командой:

patator http_fuzz url=http://192.168.60.50/wp-login.php method=POST body=’log=admin&pwd=FILE0&wp-submit=Log+In&redirect_to=http%3A%2F%2F192.168.60.50%2Fwp-admin%2F&testcookie=1′ 0=/root/wordlist -t 4 before_urls=http://192.168.60.50/wp-login.php -x ignore:code=200 accept_cookie=1

http_fuzz – модуль для brute-force атаки http
url – адрес страницы с авторизацией
FILE0 — путь до словаря с паролями
body – информация, которая передается в POST запросе при авторизации
-t — количество потоков
-x – В данном случае мы указали команду не выводить на экран сообщения строки, содержащие параметр с кодом 200
accept_cookie – сохранение параметра cookie и передачи его в следующий запрос
Как итог – нам удалось подобрать пароль.

Nmap
Утилита Nmap позволяет в том числе производить подбор паролей для веб-форм авторизации, если использовать скрипт http-wordpress-brute с соответствующими аргументами:
—script-args – добавление аргументов
user или userdb – логин или файла с логинами
pass или passdb — указание пароля или словаря
thread – количество потоков
firstonly=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’

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

Ограничить (усложнить) brute-force атаки на web-приложения можно средствами 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).

Читайте также:  Cinema grade plugin windows

Заключение

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

Подобные рекомендации (как и рекомендации по безопасной веб-разработке) мало кто соблюдает, поэтому необходимо использовать различные программные решения, позволяющие:
— ограничить подключение по IP-адресу, или, если это невозможно, ограничить одновременное количество соединений с сервисом (средствами iptables, nginx и прочими);
— использовать двухфакторную аутентификацию;
— выявлять и блокировать подобные атаки средствами SIEM, WAF или другими (например, fail2ban).

Источник

Лучшие инструменты Kali Linux

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

В этой статье мы рассмотрим лучшие инструменты Kali Linux, которые используются профессиональными специалистами по информационной безпоасности. Когда вы узнаете какие существуют хакерские утилиты и методы взлома, то сможете сделать свою систему более безопасной. Вы сможете проверить свою систему на подверженность той или иной атаке. Сейчас в интернете никто не застрахован, даже такие крупные сайты как Twitter и Facebook. А теперь перейдем к списку.

1. John The Ripper

John The Ripper — это инструмент с открытым исходным кодом для взлома паролей методом перебора. Изначально он был разработан для Unix, но сейчас доступен на всех Unix подобных платформах, в том числе и Linux. Программа также известна как JTR или John. Она наиболее часто используется для перебора паролей по словарю.

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

2. Aircrack-ng

Это набор программ для тестирования безопасности WiFi сетей. Утилиты Aircrack-ng позволяют перехватывать ключи WEP, выполнять мониторинг трафика, перебирать ключи WPA-PSK, и захватывать ключи установки соединения WiFi. Утилиты Aircrack-ng — это инструменты Kali Linux 2.0, которые используются чаще всего.

Утилиты позволяют осуществлять FMS атаки, с некоторыми оптимизациями, например, KoreK или PTW, что делает их более мощными. Вы можете получить пароль от сети с шифрованием WEP за несколько минут или попытаться перебрать ключ к WPA.

3. THC Hydra

THC Hydra — это программное обеспечение для взлома аутентификации с помощью перебора. Программа позволяет выполнять атаки перебора по словарю на более чем 50 протоколов, среди которых Telnet, FTP, HTTP, HTTPS, SMB, SSH, VNC, базы данных и многие другие. По сути это простой и быстрый инструмент Kali Linux для взлома входа.

Если John The Ripper можно использовать для проверки надежности паролей офлайн, то Hydra аналогичный инструмент, только работающий онлайн.

4. Burp Suite

Burp Suite — это инструмент для поиска уязвимостей на сайтах интернета и в веб-приложениях, который может работать как по HTTP, так и по HTTPS. Он используется многими специалистами для поиска ошибок и тестирования веб-приложений на проникновение. Программа позволяет объединить ручные методы со своими средствами автоматизации, чтобы выполнить тестирование как можно эффективнее. Burp Suite написана на Java и распространяется в формате Jar.

Читайте также:  Что значит подключить сетевой диск windows

5. WireShark

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

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

6. OWASP Zed

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

7. Maltego

Maltego — это инструмент скорее не для тестирования на проникновение, а для аналитики. Он позволяет найти связи между различными субъектами и объектами. Вы можете выполнять поиск на основе открытых источников, комбинировать данные для анализа и автоматически строить между ними зависимости.

Программа может устанавливать возможные зависимости между людьми, сайтами, доменами, компаниями, IP адресами, факторами и файлами. Все это можно визуализировать.

8. Metasploit

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

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

9. Nmap

Namp или Network Mapper — это утилита Kali Linux с открытым исходным кодом, которая может использоваться для аудита безопасности сетей и сканирования портов. Множество администраторов используют Nmap для просмотра устройств, подключенных к локальной сети, проверки открытых портов или мониторинга бесперебойной работы серверов.

С помощью Nmap любой пользователь может определить доступны ли его локальные программы из сети. Также эта программа показывалась почти во всех фильмах про хакеров.

10. Nikto Website Vulnerability Scanner

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

11. Social-Engineer Toolkit

Social-Engineer Toolkit — это инструмент, который позволяет выполнять различные атаки социального инжиниринга. Эта программа на Python позволяет выполнять различные социальные атаки, автоматизировать выполнение атак, генерировать сообщения электронной почты, маскировать вредоносные веб-страницы и многое другое. Без этой программы наш список лучшие утилиты kali linux был бы неполным.

12. Hashcat

Это ещё одна программа, похожая на John The Ripper. Пароли в Linux принято хранить не в открытом виде, а в виде зашифрованного хэша. С помощью этой утилиты можно проверять надёжность паролей в вашей системе. Утилита может использовать как словарь для перебора пролей, так и все допустимые значения по указанной маске.

Выводы

В этой статье мы сделали небольшой обзор программ kali linux, которые можно использовать для тестирования безопасности компьютерных систем. Если вы знаете другие отличные программы Kali Linux, которые были упущены но заслуживают места в этой статье, напишите в комментариях!

Источник

Оцените статью