Kali Linux NetHunter на Android Ч.2: атаки на беспроводные сети
И снова здравствуй, мой любознательный друг! Как ты, наверняка, помнишь, в прошлой статье мы говорили об установке NetHunter на Android устройство. Сейчас мы займемся практической частью и обзором возможностей NetHunter. В этой статье рассмотрим некоторые атаки на беспроводные сети, с использованием исключительно Android-устройства с установленным NetHunter, с оглядкой на практический смысл для начинающего пентестера/специалиста ИБ. Вся информация представлена исключительно в ознакомительных целях, и автор не несет никакой ответственности за ее использование.
Для удобства работы с NetHunter в домашних условиях советую использовать microUSB-USB-хаб с возможностью подведения внешнего питания (например, Ginzzu OTG USB hub), внешнюю USB клавиатуру, мышь и дополнительный USB WiFi-адаптер из списка поддерживаемых (понадобится для некоторых атак, если твоя сетевая карта на устройстве не имеет режима мониторинга). Я использовал TP-Link TLWN722N. Если нет возможности подключить физическую клавиатуру, используй приложение “Hacker`s keyboard”, эта клавиатура гораздо больше подходит для работы с терминалом. А еще загляни в магазин приложений NetHunter, он небольшой, но там все очень нужное.
Подмена MAC
или
когда на интернет не осталось денег
Некоторое время назад был принят ряд законов, который предусматривает обязательную авторизацию при использовании общедоступных беспроводных сетей. Самая популярная схема авторизации: подключаешься к открытому WiFi, тебя перенаправляет на страницу авторизации, вводишь номер телефона (привязан к твоим паспортным данным), вводишь код из СМС, маршрутизатор авторизует тебя по MAC-адресу, пользуешься Интернетом. Похожая схема может работать и в сетях с платным доступом в Интернет. В общем случае маршрутизатор распознает авторизованного пользователя именно по MAC-адресу. Теме авторизации в общедоступных сетях посвящено несколько интересных статей (статья 1, статья 2, статья 3).
Следовательно, если прослушивая эфир, поймать MAC-адрес авторизованного пользователя и подменить им свой MAC, а затем подключиться к этой сети, когда уже авторизованный пользователь отключился, то получится сидеть в Интернете без регистрации и СМС. Это один из возможных сценариев. Еще с помощью подмены MAC-адреса можно обходить фильтрацию по MAC на роутерах. Относительно простая и достаточно полезная штука, поэтому давай посмотрим, как это работает.
Первым делом надо узнать интерфейс WiFi-адаптера. Заходим в Терминал (предустановленное приложение Nethunter), выбираем shell “Kali” и набираем команду:
Беспроводные сетевые интерфейсы
Помимо прочего, видно 2 интерфейса: wlan0 — встроенная сетевая карта, wlan1 — подключенная сетевая карта.
Будем пользоваться внешней сетевой картой, так как встроенная у моего гаджета (Nexus 10) не поддерживает режим мониторинга сети.
После начала мониторинга имя интерфейса может поменяться. А может и не поменяться, у меня и такое было 🙂
Aircrack-ng. Список найденных сетей.
А вот и тренировочная сеть “Asus”. Определим клиентов этой сети:
airodump-ng -c CHANEL --bssid F4:**:**:**:**:A4 wlan1mon
Aircrack-ng. Клиенты выбранной сети
Мы получили MAC-адреса подключенных устройств. Чтобы не отключать уже имеющиеся устройства от сети, упростим задачу: подключимся к сети с произвольным MAC. Если мы смогли подключиться с выбранным нами MAC, то сможем подключиться и с MAC-адресом жертвы.
В сети мы обнаружили MAC 20:**:**:**:**:7B, подключимся с MAC 20:**:**:**:**:7C.
Смена MAC-адреса обычно требует наличия root-прав (на некоторых устройствах данная операция возможна и без root). У нас же root установлен и есть приложение NetHunter с пунктом в меню “MAC Changer”, воспользуемся им.
Установим на интерфейс wlan0 (для подключения к сети через графический интерфейс), выберем пункт Custom MAC и введем нужное нам значение.
Скриншот со старым MAC-адресом интерфейса wlan0
Скриншот с новым MAC-адресом интерфейса wlan0
И теперь подключаемся к нашей тестовой сети.
Проверка смены MAC-адреса через терминал
Ты великолепен! MAC сменен, и мы даже получили новый IP.
- MAC возвращается на исходный после перезагрузки устройства.
- После смены MAC у меня возникли проблемы с подключением в защищенные сети. К сетям без пароля устройство подключается на раз. Возможно, у тебя данной проблемы не будет, не могу протестировать работу на других устройствах.
Взлом WiFi сети
Предисловие: сразу оговорюсь, если будешь экспериментировать в деревне у бабушки, где мобильный Интернет ловит только с ближайшей сосны, а соседский Wi-Fi так и манит, стоит сразу запастись хорошим словарем типа rockyou.
Wifite
Консольная утилита, которая “делает все сама”. Тебе остается только запустить ее, выбрать интерфейс и сеть для атаки. В случае, если в словаре присутствует пароль, программа сообщит нам об успешном взломе и покажет пароль.
wifite. Доступные сети
wifite. Взлом пароля сети
Aircrack-ng + wpaclean
“Ручной способ” взлома WiFi помогает глубже окунуться в механику работы волшебных волн. Дальше мы будем мониторить эфир, найдем интересующую сеть, посмотрим ее клиентов и отключим кого-нибудь, чтобы перехватить заветный handshake при повторном подключении жертвы. Дальше с помощью словаря и утилиты aircrack-ng будем локально его взламывать. Итак, приступим.
Открываем приложение терминала, запускаем Kali shell и начинаем работать. Переводим карту в режим мониторинга и ищем жертву:
airmon-ng start wlan1 airodump-ng wlan1mon
Aircrack-ng. Список доступных сетей
Определившись с целью, начинаем прослушивать эфир с целью поиска и записи “хендшейка”.
airodump-ng wlan1 --bssid F4:**:**:**:**:A4 --channel 4 --write handshake --wps
Он передается, когда кто-нибудь пытается заново подключиться к точке доступа. Поэтому поможем одному из клиентов это сделать, отправив запрос на деаутентификацию в соседнем окне терминала:
aireplay-ng -0 10 –a F4:**:**:**:**:A4 –c 20:**:**:**:**:7B wlan1mon
Если все сделано правильно, то в первом окне получим запись о пойманном хендшейке.
Aircrack-ng. Перехват хендшейка
Файлы перехвата сохраняются в корневой директории root с маской handshake-**.cap. Скопируем для удобства в другую папку:
mkdir work cp handshake-01.cap work/wpa.cap cd work
Очищаем файл для дальнейшего брутфорса:
wpaclean wpaclean.cap wpa.cap
И поиск пароля через брутфорс:
aircrack-ng wpa.cap –w /usr/share/dict/wordlist.txt
Aircrack-ng. Пароль от WiFi-сети
Hijacker
На моем устройстве (Nexus 10) это приложение работало крайне нестабильно, поэтому его использование для данной задачи пришлось прервать. Кое-как получилось просканировать сети с использованием внешней сетевой карты и все.
Данная программа имеет графический интерфейс и предназначена для атак на WiFi, работает на основе пакета aircrack-ng, дополнительно устанавливает утилиту Nexmon, которая на некоторых встроенных сетевых картах устройств добавляет режим мониторинга (например: Nexus 5, Nexus 6, Nexus 6P и другие).
Сбор информации
Итак, мы получили пароль и подключились к сети. Что дальше? Нужно понять, куда мы попали и начать искать новую жертву. Тут вариантов масса:
- zAnti — просканирует, да еще и эксплойты подберет;
- cSploit — схожий с zAnti функционал;
- nmap — любимый сетевой сканер, куда ж без него;
- и другие.
zAnti. Пример интерфейса
cSploit. Пример интерфейса
nmap. Пример интерфейса
Bruteforce (взлом админки)
Если сосед твоей бабушки немного пытался в информационную безопасность и настроил фильтрацию по MAC или еще почему-то, но тебе понадобилось попасть в админку роутера, не зная пароль, то тебе пригодятся атаки перебора (bruteforce). Для этого нам нужно:
Поэтому я советую Debug Proxy. К нему необходимо отдельно установить сертификат приложения, выбрать отслеживаемые приложения и нажать на треугольник Play для запуска прокси. Приложение перенаправляет трафик с выбранных приложений на ваш прокси (поднимается на устройстве) с помощью фейкового VPN-соединения. И все тайное становится явным, (я про HTTPS). Правда, приложения со встроенным сертификатом (SSL pinning), такие как Facebook и Instagram работать через этот прокси не будут.
Чаще всего встречаются аутентификация через HTTP Basic и HTTP Post (Get) Request, их и разберем.
Так как у нас есть в наличии терминал Kali, мы можем использовать почти любые инструменты для брутфорса, которые работают на этой платформе. Я выбрал Patator.
HTTP Basic auth
Приблизительно так выглядит аутентификация HTTP Basic для пользователя:
Пример аутентификации HTTP Basic
Запрос аутентификации выглядит следующим образом:
Debug Proxy. Запрос HTTP Basic аутентификации
Команда для Patator выглядит следующим образом:
python patator.py http_fuzz auth_type=basic url=http://192.168.2.1 user_pass=FILE0:FILE1 -x ignore:code=401 0=/usr/share/dict/users.txt 1=/usr/share/dict/wordlist.txt
Результат успешной атаки — полученные учетные данные администратора роутера.
Patator. Подобранные логин и пароль
Аутентификация через POST-запрос
Пример формы POST
Debug Proxy. Запрос HTTP POST аутентификации
В нем есть все необходимые данные для проведения атаки.
Команда для Patator:
python patator.py http_fuzz url="http://192.168.1.139/dvwa/" method=POST body="username=FILE0&password=FILE1&Login=Login" accept_cookie=1 header="Cookie: security=low; PHPSESSID=***" 0=/usr/share/dict/users.txt 1=/usr/share/dict/wordlist.txt -x ignore:fgrep="login.php"
И снова успех, учетные данные получены.
Patator. Подобранные логин и пароль
Подитог
NetHunter обеспечивает достаточно большой функционал, мало чем уступая полноценному дистрибутиву Kali Linux. Комбинация из приложений для Android, терминала Kali Linux и большой мобильности открывает, мой любознательный друг, интересные возможности.
Позже мы рассмотрим другие атаки, которые можно провести с помощью NetHunter, будет интересно 🙂