NetHunter

NetHunter

https://telega.at/blackhat25
Если вы хотите использовать Kali Linux на первом попавшемся смартфоне, простым монтированием образа в Linux Deploy не обойтись. Также необходимо раздобыть драйверы, выполнить их кросс-компиляцию, пропатчить ядро и совершить прочие «увлекательные действия».

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


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

Установка NetHunter. Дополнительные драйверы и прошивки Wi-Fi-модулей в NetHunter

На сайте xda-developers встречаются любительские порты NetHunter. Искать их удобнее по типовому запросу в Google:

[модель_устройства] kali nethunter site:forum.xda-developers.com

Но предупреждаю с любительскими портами надо быть поосторожнее. К примеру, сборка для Samsung I9300 оказалась кривой. НэтХантер установился, запустился, но в какой-то момент внезапно выпал в осадок. Теоретически можно было отловить и исправить ошибки или сделать более удачный порт NetHunter самостоятельно, однако это неопределенно большие затраты времени.

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

Установка Kali NetHunter

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

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

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

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

NetHunter установка. Пошаговые инструкции в NRT

Есть еще два необходимых компонента:

  • кастомный рекавери TWRP для твоего смартфона, его можно найти на сайте twrp.me;
  • SuperSU, он нужен в форме ZIP-архива, то есть Recovery Flashable.zip.

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

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

$ fastboot oem unlock

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

$ fastboot flash recovery образ-twrp.img

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

$ adb push путькSuperSU.zip /sdcard/

Нажав кнопку Install, прошиваем SuperSU. По окончании установки перезагружаем смартфон, делаем первичную настройку и устанавливаем BusyBox в /system/bin (путь установки важен!).

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

$ adb push путькnethunter.zip /sdcard/

Прошиваем и перезагружаемся.

Установка. Установка NetHunter на Nexus 5

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

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

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

Первичная настройка NetHunter

При первом запуске 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-адаптер

Доработка Kali NetHunter

На данный момент доступны две версии Кали НэтХантер:

  • Sana (с ядром 3.1) для совсем старых устройств на Android 5.1 (например, Nexus 7 2012);
  • Kali Rolling (с ядром 3.2 и выше) для более свежих девайсов.

Они используют разные репозитории. Сайты обновлений для Kali Sana в настоящее время недоступны. Поэтому, если у вас Kali Sana, добавьте в список репозиториев (/etc/apt/sources.list) следующую строку:

deb http://old.kali.org/kali-security sana/updates main contrib non-free

В новой версии Kali Rolling тоже стоит добавить такую строку:

deb http://http.kali.org/kali kali-rolling main contrib non-free

Чтобы узнать, какое ядро в вашем Kali NetHunter, просто запустите терминал и прочтите первые строки.

WiFi-донглы и другое оборудование для NetHunter

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

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

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


Использование NetHunter

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

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

Статья носит исследовательский характер и преднозначена для специалистов информационной безопасности. При ее написании использовалась общедоступная информация. Применение описываемых техник или методик, или их частей в противозаконных и противоправных действиях запрещено. Соблюдайте законодательство. Ни администрация сайта www.spy-soft.net, ни автор статьи не несет никакой ответственности за любой ущерб в следствии незаконного использования NetHunter.


Настраиваем донгл

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

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

# iw dev

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

# iw list

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

# iwlist wlan1 frequency

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

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

# iwconfig wlan1 mode monitor

или с помощью утилиты Airmon-ng:

# airmon-ng start wlan1

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

# ifconfig wlan1 hw ether ??:??:??:??:??:??

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

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

# macchanger -s wlan1

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

# macchanger -r wlan1

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

# ifconfig wlan1 down

# ifconfig wlan1 hw ether ??:??:??:??:??:??

# iwconfig wlan1 mode monitor

# ifconfig wlan1 up


Сканирование эфира

Начинаем со сбора информации. Просканировать эфир из консоли проще всего с помощью Airodump-ng:

# airodump-ng wlan1

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

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

Использование NetHunter. Список AP и их параметров

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

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

# git clone https://github.com/derv82/wifite2.git

Дальше переходим в каталог 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 ??: ??: ??: ??: ??: ?? -c ??: ??: ??: ??: ??: ?? wlan1


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

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

# aireplay-ng -0 1 -e MarsHotel wlan1

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

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

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

# mdk3 wlan1 d -c 1,2,3,4,5,6,7,8,9,10,11

Здесь wlan1 — имя беспроводного интерфейса, d — команда деаутентификации, -c 1, …, 11 — команда отсылки пакетов deauth по всем основным каналам диапазона 2,4 ГГц.

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

Использование NetHunter. Скоростной захват хендшейка в Wifite 2.00

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

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

# mdk3 wlan1 f -t ??:??:??:??:??:??

Вместо знакoв вопроса подставь MAC-адрес атакуемой точки доступа.


Вычисление пароля по хендшейку

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

# aircrack-ng -w [путь_до_словаря].lst [путь_до_файла_с_хендшейком].cap

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


Перебор по словарю и радужным таблицам

Стандарт WPA2 требует использовать пароли длиной от восьми символов. Поэтому многие рекомендуют обработать файл словаря, исключив из него более короткие слова. Казалось бы, вeрное решение, ведь они только отнимают время. Однако среди паролей встречаются повторы и всякие премутации, которые невозможно проверить без короткой основы. Например, 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) и Hashcat, а точнее — oclHashcat. Это программа с поддержкой ускорения перебора паролей на нескольких процессорах и видеокартах. Поддерживаются как ГП AMD, так и Nvidia. Hashcat использует файлы собственного формата .hccap. Преобразовать в него исходный файл .cap поможет утилита cap2hccapx, входящая в набор hashcat-utils.

Также есть онлайн-сервисы для конвертации и анализа .cap/.pcap-файлов. Например, Hash.co.uk.


Лайфхак

Есть сумки небольшого объема с прозрачным окошком для смартфона. Такую можно повесить на руку (косплeить Fallout) или на руль велосипеда и выполнять разведку эфира, просто гуляя вокруг. Смартфон лежит в сумке, на экране отображаются обычные программы Android, а лог со всеми обнаруженными точками доступа и их параметрами записывается в файл командой:

# wifite -i wlan1 -mac > ListOfAPs.txt

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

Активный аудит тоже возможен без извлечения смартфона из сумки. Сенсорный экран легко воспринимает команды через пленку.

Почему именно велосипед? У него нет номеров государственной регистрации, и он не привлекает внимания. В ходе эксперимента я спокойно проезжал за шлагбаумы и катался мимо охраны. Она вообще не воспринимает велосипедиста как потенциального нарушителя. Охранники старой закалки воспитывались на столь же старых фильмах, герои которых вели слежку непременно из большого фургона с огромным количеством антенн и маскирующей надписью «Доставка пиццы».


Заключение

NetHunter предлагает множество инструментов, и описать их в рамках одной статьи невозможно. В следующих статьях мы рассмотрим ускоренные техники пентеста, узнаем секрет «Альфы», добавим мощности нашему донглу, научимся проводить аудит скрытых сетей, обходить фильтрацию по MAC-адреcам и найдем управу на корпоративные AP, шифрующие фреймы.



Report Page