Содержание статьи
WARNING
Согласно пункту 4.1.1 стандарта PCI DSS v. 2, требуется регулярно проводить аудит безопасности точек доступа Wi-Fi. Корректно это можно сделать только теми же инструментами, какие используются в реальных атаках. Статья носит информационный характер. Она адресована специалистам по ИБ и тем, кто собирается ими стать.
Введение
Поскольку Android базируется на ядре Linux, в нем вполне могут работать утилиты из традиционных дистрибутивов Linux (в том числе специализированные программы для тестов на проникновение). Надо всего лишь параллельно запустить привычный дистрибутив (например, Kali Linux ARM) в изолированной среде.
Решается эта задача с помощью системной утилиты chroot и приложений, использующих ее возможности. Она создает отдельный корневой каталог и позволяет запустить две ОС одновременно — например, Android и Kali Linux, каждую в своем окружении. Однако дальше пентестера ждут неприятные сюрпризы. Все программы, требующие использования внешних устройств и патчей уровня ядра, откажутся работать. К примеру, ты без проблем запустишь на смартфоне Aircrack-ng, Reaver или тот же Wifite через Linux Deploy, но не сможешь ничего сделать с ними «в прямом эфире» — только анализировать ранее перехваченные хендшейки с черепашьей скоростью.
Происходит так потому, что на встроенный в смартфоны модуль Wi-Fi обычно нет открытых спецификаций и написание драйвера с поддержкой режима мониторинга для него максимально затруднено. Любой внешний адаптер (даже из списка заведомо подходящих) тоже вряд ли заведется в дистрибутиве Linux, запущенном на смартфоне с использованием chroot. Мешают этому разные причины — отсутствие драйверов и прошивок на нужный чипсет, отсутствие поддержки USB OTG или невозможность загрузить сторонний драйвер в ядро.
Поэтому, если ты хочешь использовать Kali Linux на первом попавшемся смартфоне, простым монтированием образа в Linux Deploy не обойтись. Необходимо также найти драйверы, выполнить их кросс-компиляцию, пропатчить ядро и совершить прочие увлекательные действия с довольно высоким уровнем красноглазия.
Я же предлагаю пойти более простым путем и воспользоваться готовой сборкой Kali Linux, специально созданной для мобильных устройств. Она называется NetHunter и уже содержит все необходимые компоненты.
NetHunter
Kali NetHunter — это облегченный Kali Linux для смартфонов, который можно установить поверх обычной прошивки устройства. Кроме самих утилит Kali, NetHunter содержит набор драйверов для беспроводных адаптеров, а также модифицированное ядро Linux с поддержкой модулей ядра и патчами для корректной работы Aircrack-ng.
Официально работа 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
Однако с любительскими портами надо быть осторожнее. Например, сборка для Samsung I9300 оказалась кривой. NetHunter установился, запустился, но внезапно впал в маразм. Теоретически можно было отловить и пофиксить баги или сделать более удачный порт NetHunter самостоятельно, однако это неопределенно большие затраты времени.
Поэтому лучше раздобыть проверенный смартфон с официальной поддержкой Kali NetHunter. Например, Nexus 5 — отличный аппарат стоимостью 5–8 тысяч рублей. Я использовал именно его и дальнейший рассказ буду вести с оглядкой на Nexus 5, однако для других моделей последовательность действий будет аналогичной.
Установка
NetHunter следует устанавливать поверх стандартной прошивки смартфона или CyanogenMod. В данный момент NetHunter поддерживает стоковые прошивки Android 5.1.1 и 6.0.1 и CyanogenMod/LineageOS разных версий. Узнать, изменилась ли ситуация после выхода статьи, можно в wiki.
Сами сборки NetHunter для разных смартфонов и планшетов можно найти на этой странице.
Также тебе понадобится инструмент fastboot
и драйверы для ADB. В Windows и то и другое можно установить с помощью простого инсталлятора. В Linux можно установить пакет android-platform-tools
.
Еще проще использовать утилиту Nexus Rootkit Tool. Она сама скачает все необходимое и выполнит большую часть муторных операций, а если и застрянет на какой-то из них, то выдаст подробный мануал о том, что делать дальше.
Есть еще два необходимых компонента:
- кастомный рекавери 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/
Прошиваем и перезагружаемся.
Установка может зависать на 90%, но при этом выполняется корректно. Просто убедись, что в отображаемом на экране логе есть строка успешного обнаружения BusyBox, и подожди еще минут десять. После можешь перезагрузить смартфон вручную, если он не сделает этого сам.
Во время установки NetHunter предложит установить несколько дополнительных приложений. Не отказывайся от установки Hacker’s Keyboard. На этой клавиатуре есть клавиши Ctrl, Alt, Shift, Break, F1–F12 и другие, без которых в консоли как без рук. Теоретически можно обойтись и встроенной клавиатурой, имитируя нажатие функциональных клавиш кнопками управления громкости, но это не так удобно, да и порой они просто не срабатывают.
Продолжение доступно только участникам
Вариант 1. Присоединись к сообществу «Xakep.ru», чтобы читать все материалы на сайте
Членство в сообществе в течение указанного срока откроет тебе доступ ко ВСЕМ материалам «Хакера», позволит скачивать выпуски в PDF, отключит рекламу на сайте и увеличит личную накопительную скидку! Подробнее
Вариант 2. Открой один материал
Заинтересовала статья, но нет возможности стать членом клуба «Xakep.ru»? Тогда этот вариант для тебя! Обрати внимание: этот способ подходит только для статей, опубликованных более двух месяцев назад.
Я уже участник «Xakep.ru»