Что нового?

Аудит wi-fi с kali nethunter и внешним wi-fi адаптером

Tartuga

Знающий
PR-group
ПРОВЕРЕННЫЙ ПРОДАВЕЦ
PREMIUM USER

Tartuga

Знающий
PR-group
ПРОВЕРЕННЫЙ ПРОДАВЕЦ
PREMIUM USER
Регистрация
7 Фев 2020
Сообщения
389
Реакции
66
Репутация
131
eRub
3,370
Поскольку Android базируется на ядре Linux, в нем вполне могут работать утилиты из традиционных дистрибутивов Linux (в том числе специализированные программы для тестов на проникновение). Надо всего лишь параллельно запустить привычный дистрибутив (например, Kali Linux ARM) в изолированной среде.

Решается эта задача с помощью системной утилиты chroot и приложений, использующих ее возможности. Она создает отдельный корневой каталог и позволяет запустить две ОС одновременно — например, Android и Kali Linux, каждую в своем окружении. Однако дальше пентестера ждут неприятные сюрпризы. Все программы, требующие использования внешних устройств и патчей уровня ядра, откажутся работать. К примеру, ты без проблем запустишь на смартфоне Aircrack-ng, Reaver или тот же Wifite через

Пожалуйста Авторизуйтесь или Зарегистрируйтесь для просмотра скрытого текста.

, но не сможешь ничего сделать с ними «в прямом эфире» — только анализировать ранее перехваченные хендшейки с черепашьей скоростью.

Происходит так потому, что на встроенный в смартфоны модуль Wi-Fi обычно нет открытых спецификаций и написание драйвера с поддержкой режима мониторинга для него максимально затруднено. Любой внешний адаптер (даже из списка заведомо подходящих) тоже вряд ли заведется в дистрибутиве Linux, запущенном на смартфоне с использованием chroot. Мешают этому разные причины — отсутствие драйверов и прошивок на нужный чипсет, отсутствие поддержки USB OTG или невозможность загрузить сторонний драйвер в ядро.


Запуск программы — только полдела!
Поэтому, если ты хочешь использовать Kali Linux на первом попавшемся смартфоне, простым монтированием образа в Linux Deploy не обойтись. Необходимо также найти драйверы, выполнить их кросс-компиляцию, пропатчить ядро и совершить прочие увлекательные действия с довольно высоким уровнем красноглазия.

Я же предлагаю пойти более простым путем и воспользоваться готовой сборкой Kali Linux, специально созданной для мобильных устройств. Она называется NetHunter и уже содержит все необходимые компоненты.

NetHunter.

Пожалуйста Авторизуйтесь или Зарегистрируйтесь для просмотра скрытого текста.

— это облегченный Kali Linux для смартфонов, который можно установить поверх обычной прошивки устройства. Кроме самих утилит Kali, NetHunter содержит набор драйверов для беспроводных адаптеров, а также модифицированное ядро Linux с поддержкой модулей ядра и патчами для корректной работы Aircrack-ng.


Дополнительные драйверы и прошивки Wi-Fi-модулей в NetHunter
Официально работа NetHunter гарантируется на следующих устройствах:

  • смартфонах и планшетах серии Nexus (Nexus 4 (mako), 5 (hammerhead), 5x (bullhead), 6 (shamu), 6P (angler), 7 2013 (flo), 9 (flounder), 10 (manta));
  • смартфонах OnePlus (OnePlus One (oneplusl), 2 (oneplus2), 3 и 3T (oneplus3), X (oneplusx));
  • смартфонах Samsung серии Galaxy (Note 3 (hlte), S5 (kite), S7 (herolte), S7 edge (hero2lte));
  • смартфонах LG (G5 T-Mobile (h830), G5 International (h850), V20T-Mobile(h918), V20 US Unlocked (us996))
  • смартфонах HTC One M7GPE (onem7gpe) и HTC 10 (htc.pmewl);
  • смартфонах Sony Xperia ZR (dogo) и Sony Xperia Z (yuga);
  • планшетах Nvidia SHIELD (shieldtablet) и SHIELD tablet K1;
  • смартфоне ZTE Axon 7 (ailsa_ii).
Также на xda-developers.com встречаются любительские порты NetHunter. Искать их удобнее по типовому запросу в Google:

[модель_устройства] kali nethunter site:forum.xda-developers.com
Однако с любительскими портами надо быть осторожнее. Например,

Пожалуйста Авторизуйтесь или Зарегистрируйтесь для просмотра скрытого текста.

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

Поэтому лучше раздобыть проверенный смартфон с официальной поддержкой Kali NetHunter. Например, Nexus 5 — отличный аппарат стоимостью 5–8 тысяч рублей. Я использовал именно его и дальнейший рассказ буду вести с оглядкой на Nexus 5, однако для других моделей последовательность действий будет аналогичной.

Установка.
NetHunter следует устанавливать поверх стандартной прошивки смартфона или CyanogenMod. В данный момент NetHunter поддерживает стоковые прошивки Android 5.1.1 и 6.0.1 и CyanogenMod/LineageOS разных версий. Узнать, изменилась ли ситуация после выхода статьи, можно в

Пожалуйста Авторизуйтесь или Зарегистрируйтесь для просмотра скрытого текста.

.

Сами сборки NetHunter для разных смартфонов и планшетов можно найти на

Пожалуйста Авторизуйтесь или Зарегистрируйтесь для просмотра скрытого текста.

.

Также тебе понадобится инструмент fastboot и драйверы для ADB. В Windows и то и другое можно установить с помощью простого

Пожалуйста Авторизуйтесь или Зарегистрируйтесь для просмотра скрытого текста.

. В Linux можно установить пакет android-platform-tools.

Еще проще использовать утилиту

Пожалуйста Авторизуйтесь или Зарегистрируйтесь для просмотра скрытого текста.

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


Пошаговые инструкции в NRT
Есть еще два необходимых компонента:

Когда все необходимые файлы будут на руках, можно приступить к установке кастомного рекавери и рутингу. Во время этого процесса ты лишишься всех данных на устройстве, поэтому предварительно сохрани их.

Сначала выключаем смартфон и включаем его с зажатой клавишей увеличения громкости. Он перейдет в режим fastboot. Подключаем смартфон к компу с помощью кабеля и выполняем следующую команду в ADB:

Эта команда разблокирует загрузчик, попутно стирая все данные со смартфона. Теперь устанавливаем TWRP:

$ fastboot flash recovery образ-twrp.img
Если операция прошла успешно, выключаем смартфон и включаем его снова с зажатой клавишей уменьшения громкости. После перезагрузки должен появиться интерфейс TWRP. Записываем на смартфон SuperSU с помощью ADB:

$ adb push путь\к\SuperSU.zip /sdcard/
Нажав кнопку Install, прошиваем SuperSU. По окончании установки перезагружаем смартфон, делаем первичную настройку и устанавливаем

Пожалуйста Авторизуйтесь или Зарегистрируйтесь для просмотра скрытого текста.

в /system/bin (путь установки важен!).

Далее снова перезагружаемся в TWRP и записываем на смартфон архив с NetHunter:

$ adb push путь\к\nethunter.zip /sdcard/
Прошиваем и перезагружаемся.


Установка NetHunter на Nexus 5
Установка может зависать на 90%, но при этом выполняется корректно. Просто убедись, что в отображаемом на экране логе есть строка успешного обнаружения BusyBox, и подожди еще минут десять. После можешь перезагрузить смартфон вручную, если он не сделает этого сам.

Во время установки NetHunter предложит установить несколько дополнительных приложений. Не отказывайся от установки

Пожалуйста Авторизуйтесь или Зарегистрируйтесь для просмотра скрытого текста.

. На этой клавиатуре есть клавиши Ctrl, Alt, Shift, Break, F1–F12 и другие, без которых в консоли как без рук. Теоретически можно обойтись и встроенной клавиатурой, имитируя нажатие функциональных клавиш кнопками управления громкости, но это не так удобно, да и порой они просто не срабатывают.



Эмуляция дополнительных клавиш в стандартной клавиатуре (слева) и выбор Hacker’s Keyboard (справа)

Первичная настройка.
При первом запуске NetHunter запросит права суперпользователя и разные разрешения десяток раз. Если ты ошибся и не предоставил какое-то из них, то открой разрешения для программ в SuperSU и добавь их вручную. Иначе NetHunter просто не будет работать.

Затем проверь наличие обновлений. После этого перейди в раздел Kali Chroot Manager и скачай образ диска kalifs-minimal.tar.xz (можно и full, на Nexus 5 он влезает, но для вардрайвинга хватит minimal). NetHunter автоматически распакует и смонтирует его.



Обновление сразу после установки (слева), установка Kali в chroot (справа)На заключительном этапе тапни Update Kali metapackages из меню Custom commands либо просто набери apt-get update && apt-get upgrade в терминале.

Всё! Осталось подключить внешний USB Wi-Fi-адаптер, и можно приступать к аудиту.

Wi-Fi-донглы и другое оборудование.
Любая рыбалка начинается с выбора снастей, а вардрайвинг — с подходящей оснастки. Основным инструментом у нас будет смартфон (в этом главное отличие данной статьи) и Wi-Fi-адаптер (донгл) с интерфейсом USB. Такая связка буквально помещается в кармане или небольшой сумке, не привлекая внимания.

О том, как выбрать подходящий донгл, написано тут «

Пожалуйста Авторизуйтесь или Зарегистрируйтесь для просмотра скрытого текста.

». Обрати внимание, что она описывает универсальную методику подбора адаптеров — старых, новых и даже еще не поступивших в продажу. Если же тебе нужен простой ответ на вопрос «что брать?», то вот список проверенных:

  • Alfa AWUS036H (Realtek 8187L, 802.11b/g, 2,4 ГГц, дальнобойный);
  • Alfa AWUS036NH (Ralink RT3070);
  • Alfa AWUS036NEH (RT3070);
  • Alfa AWUS036NHA (AR9271 (802.11b/g/n, 2,4 ГГц, рекомендуется для WPS-атак);
  • Alfa AWUS051NH (Rev. 1 и Rev. 2; 2,4/5 ГГц);
  • Alfa AWUS052NH (RT3572).
Более доступные варианты:

  • TP-LINK TL-WN722N (AR9271);
  • Netsys 9000WN (RT3070, с панельной антенной).
Проверенные в NetHunter чипы: Realtek 8187L, Ralink RT2070, RT2571W, RT2671, RT2770, RT2870, RT3070, RT3071, RT3072, RT3370, RT3572, Atheros AR7010, AR9170, AR9271.

Обрати внимание, что в списке рекомендованных донглов одни «Альфы». Это не случайно. У них не только более высокая мощность (о том, как хитро она достигается, читай в следующей статье), но и очень качественное экранирование и хорошие фильтры помех. Поэтому с «Альфой» ты получаешь не просто мощный передатчик, а еще и очень чувствительный приемник, что более важно для вардрайвинга. Подходят далеко не все адаптеры производства Alfa Networks, а только указанные в списке. Работа остальных не гарантируется.

Помимо смартфона и Wi-Fi-адаптера, потребуется кабель USB OTG. Желательно сразу брать Y-образный, чтобы во второй порт подключить внешний аккумулятор. Во время вардрайвинга встроенная батарея смартфона будет разряжаться очень быстро, поэтому для продолжительного аудита необходим Powerbank на 5000 мА ⋅ ч или более емкий.

Приступаем к аудиту.
Наконец мы готовы использовать Kali NetHunter и приступить к атакам на точки доступа. В меню приложения NetHunter есть кнопки быстрого вызова популярных команд и даже отдельная секция Wardriving с очень скудным наполнением. Предполагается, что опытный пентестер сам заполнит ее шорткатами на свой вкус.

Пока мы этого делать не будем, поскольку шорткаты — это просто кнопки, передающие заранее записанные команды в терминал. Можно вообще не открывать приложение NetHunter, а сразу запустить эмулятор терминала и выбрать в нем Kali.

Настраиваем донгл.
Первым делом необходимо определить и задействовать донгл. Обычно внешний Wi-Fi-адаптер получает имя интерфейса wlan1, однако имя может быть любым. Стоит проверить (и при необходимости изменить) его перед дальнейшими действиями.

Для начала узнаем список доступных сетевых интерфейсов:

Чтобы посмотреть подробности о сетевых адаптерах и их параметрах, используем другую команду:

В ответ она выводит довольно громоздкий перечень, поэтому обычно удобнее использовать более прицельные запросы. Например, следующий запрос позволяет узнать, какие частотные диапазоны поддерживает твой Wi-Fi-адаптер:

![Определяем название интерфейса донгла и поддерживаемые донглом частоты](iw_dev.png, iw_freq.png)

Перед началом эфирных изысканий необходимо переключить Wi-Fi-модуль в режим мониторинга. Желательно также изменить его MAC-адрес. Это нужно для того, чтобы меньше светиться в логах. Смена MAC-адреса также понадобится, если ты захочешь выполнить атаку «Злой двойник». Ее мы подробно разберем в одной из следующих статей.

Включить режим мониторинга можно разными способами. Например, так:

# iwconfig wlan1 mode monitor
или с помощью утилиты Airmon-ng:

Поменять MAC-адрес можно с помощью ifconfig:

# ifconfig wlan1 hw ether XX:XX:XX:XX:XX:XX
(здесь вместо знаков вопроса необходимо задать желаемый MAC-адрес в hex-формате).

Если захочешь посмотреть текущий MAC-адрес своего Wi-Fi-модуля (например, проверить, заменился ли он), то введи команду:

Эта же утилита умеет изменять MAC-адрес на случайный (удобно для автоматизации):

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

# ifconfig wlan1 down
# ifconfig wlan1 hw ether XX:XX:XX:XX:XX:XX
# iwconfig wlan1 mode monitor
# ifconfig wlan1 up
Сканируем эфир.
Любая атака начинается со сбора информации. Просканировать эфир из консоли проще всего с помощью Airodump-ng:

Но гораздо удобнее для этого использовать скрипт Wifite. Некоторые считают его не труЪ-хакерской утилитой, но на

Пожалуйста Авторизуйтесь или Зарегистрируйтесь для просмотра скрытого текста.

его любят и замечают, что ][-инструмент — это тот, который позволяет быстрее добиться результата. Не стоит пренебрегать «нубскими» программами, если они информативны и экономят время.

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



Список AP и их параметровДальше нужно выбрать точку доступа, записать ее параметры (ESSID и/или MAC-адрес, номер канала, тип шифрования, наличие/отсутствие WPS) и выбрать наиболее рациональный вариант атаки.

Обрати внимание, что в NetHunter предустановлен Wifite r87. На GitHub доступна вторая версия, в которой есть поддержка режима 5 ГГц, гораздо эффективнее выполняется деавторизация и постоянно отображается текущий уровень сигнала выбранной точки доступа. Установить Wifite 2.00 в Kali NetHunter можно следующей командой:

# git clone

Пожалуйста Авторизуйтесь или Зарегистрируйтесь для просмотра скрытого текста.

Дальше переходим в каталог wifite2 и запускаем скрипт Wifite.py. Обрати внимание на регистр.

# cd wifite2
# ./Wifite.py
Универсальная атака.
Простейшие атаки по дефолтным WPS PIN мы уже разбирали в прошлой

Пожалуйста Авторизуйтесь или Зарегистрируйтесь для просмотра скрытого текста.

. Они дают практически мгновенный результат, но срабатывают только на уязвимых точках доступа. Сейчас же мы разберем максимально универсальный метод, работающий с любым типом авторизации (WEP/WPA/WPA2) и никак не связанный с WPS.

Атака называется «захват рукопожатий», то есть сессий авторизации клиентских устройств на точке доступа Wi-Fi. Выполнять его можно как в пассивном режиме, так и в активном.

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

# airodump-ng wlan1 --channel 5 -w captured.cap
Это пример для пятого номера канала и имени файла с хендшейком captured.cap. Для надежности лучше захватить несколько рукопожатий и спокойно анализировать их на стационарном компьютере (или вовсе загрузить на специализированные онлайн-сервисы подбора паролей по хендшейкам, об этом позже).

К точке доступа могут подолгу не подключаться новые «клиенты». Если ждать надоело, то можно ускорить процесс, перейдя в активный режим. Так ты получишь существенную прибавку к скорости ценой утраты маскировки.

Для этого понадобится утилита aireplay-ng, которая (помимо прочего) умеет выполнять принудительное отсоединение беспроводных клиентов от выбранной точки доступа.

# aireplay-ng -0 1 -a XX:XX:XX:XX:XX:XX -c XX:XX:XX:XX:XX:XX wlan1
Параметр -0 задает режим деаутентификации, а единица — число отправляемых подряд команд отключения. Обычно используют от одного до пяти пакетов в зависимости от уровня сигнала и скорости отклика (подсказка: не спеши сразу ставить пять; пока ты DDoS’ишь AP лавиной deauth’ов, прослушаешь хендшейк, и все будет зря). Параметр -a служит для указания MAC-адреса точки доступа, а параметр -c — подключенного к ней клиента. Если MAC-адрес клиента не указан, то будет отправлен широковещательный запрос и команду деавторизации получат все клиенты выбранной AP.

Вместо MAC-адреса AP можно указать ее имя с ключом -e (ESSID). Пример:

# aireplay-ng -0 1 -e MarsHotel wlan1
Aireplay отправит через твой Wi-Fi-донгл команды деавторизации всем устройствам, подключенным к точке доступа с именем MarsHotel. Они разорвут соединение и вскоре начнут соединяться повторно. Так эфир быстро наполнится свежими хендшейками.

Примечание: устройство не удастся принудительно рассоединить с AP, если твой сигнал слишком слабый или если админ включил опцию шифрования фреймов (IEEE 802.11w-2009). Последнее часто встречается в корпоративных сетях, особенно с маршрутизаторами Cisco уровня Enterprise.

Более грубое отключение иногда удается выполнить утилитой

Пожалуйста Авторизуйтесь или Зарегистрируйтесь для просмотра скрытого текста.

:

# mdk3 wlan1 d -c 1,2,3,4,5,6,7,8,9,10,11
Здесь wlan1 — имя беспроводного интерфейса, d — команда деаутентификации, -c 1, ..., 11 — команда отсылки пакетов deauth по всем основным каналам диапазона 2,4 ГГц.

Скрипт Wifite также выполняет деавторизацию обнаруженных клиентов (если ты не отменил ее отдельной командой). Вторая версия проделывает такую атаку полностью автоматически и очень быстро.



Скоростной захват хендшейка в Wifite 2.00Среднее время ожидания перехвата «рукопожатия» в активном режиме составляет пару минут, а в засаде можно просидеть несколько часов. Минус — ты полностью лишаешься маскировки и светишься в логах. Если это точка доступа в какой-то компании, то наверняка админ получит тревожные сообщения от систем обнаружения вторжений.

Если на точке доступа включен режим фильтрации по MAC-адресу, а ни одного легитимного клиента не подключено, то брутфорс MAC-адреса из «белого списка» можно выполнить утилитой MDK3:

# mdk3 wlan1 f -t XX:XX:XX:XX:XX:XX
Вместо знаков вопроса подставь MAC-адрес атакуемой точки доступа.

Вычисление пароля по хендшейку.
Файл с перехваченными пакетами авторизации клиентов записывался с определенного канала, поэтому он может содержать данные радиообмена с разными точками доступа. Программы анализа .cap-файлов обычно самостоятельно определяют сохраненные ESSID и предлагают выбрать нужный идентификатор. Одна из первых утилит для подбора пароля из перехваченных хендшейков — программа Aircrack-ng. Команда перебора паролей по словарю выглядит так:

# aircrack-ng -w [путь_до_словаря].lst [путь_до_файла_с_хендшейком].cap
Перебор по словарю и радужным таблицам.
Стандарт WPA2 требует использовать пароли длиной от восьми символов. Поэтому многие рекомендуют обработать файл словаря, исключив из него более короткие слова. Казалось бы, верное решение, ведь они только отнимают время. Однако среди паролей встречаются повторы и всякие премутации, которые невозможно проверить без короткой основы. Например, test паролем быть не может, а вот testtest или test1234 — запросто.

Если пароль не удалось подобрать атакой по словарю или он изначально предполагается несловарный, то можно использовать радужные таблицы (БД с парами хеш — пароль). Их можно сгенерировать с помощью утилиты airolib-ng (или найти

Пожалуйста Авторизуйтесь или Зарегистрируйтесь для просмотра скрытого текста.

) и скормить Aircrack-ng той же командой, только с ключом -r вместо -w.

# aircrack-ng -r rainbow_table.db captured_hs.pcap
Здесь rainbow_table.db — файл радужных таблиц, а captured_hs.pcap — сохраненный хендшейк.

Есть множество других утилит для вычисления пароля из данных файла рукопожатия. Наиболее популярны Pyrit (она уже есть в составе NetHunter) и

Пожалуйста Авторизуйтесь или Зарегистрируйтесь для просмотра скрытого текста.

, а точнее — oclHashcat. Это программа с поддержкой ускорения перебора паролей на нескольких процессорах и видеокартах. Поддерживаются как ГП AMD, так и Nvidia. Hashcat использует файлы собственного формата .hccap. Преобразовать в него исходный файл .cap поможет утилита cap2hccapx, входящая в набор

Пожалуйста Авторизуйтесь или Зарегистрируйтесь для просмотра скрытого текста.

.
 
Сверху