Kali Linux NetHunter на Android: зачем и как установить
Здравствуй, мой любознательный друг. Наверняка тебя посещали мысли о том, как хакать все вокруг, не привлекая лишнего внимания санитаров службы безопасности и окружающих, быть похожим на героев фильмов, взламывающих системы просто с мобильного устройства, или как прокачать свою мобильность с минимальной потерей функционала? У меня для тебя хорошие новости.
Kali Linux NetHunter — проект Offensive Security. Той самой, что разрабатывает дистрибутив Kali Linux. Это набор программ и утилит из Kali с возможностью запуска на Android. Он позволит тебе по-другому посмотреть на свое любимое устройство на “зеленом роботе” и всегда быть если не во всеоружии, то с набором хорошо знакомых тебе отмычек.
NetHunter не является полноценной прошивкой для устройств, а представляет собой программную надстройку. Поддерживается многими девайсами: почти все из линейки Nexus, некоторые другие устройства от Sony, OnePlus, ZTE, Samsung. Полный список тут.
Устанавливается он на штатную прошивку поддерживаемых устройств и на некоторые кастомные прошивки (CyanogenMod и LineageOS). При этом ядро лучше использовать стандартное.
Но прежде чем начать брутить соседский wi-fi, давай поговорим детальнее об установке. У пользователей, которые никогда не занимались перепрошивкой устройств, могут возникнуть трудности.
Подготовительный этап установки
NetHunter устанавливается на рутованное устройство через кастомное рекавери. Следовательно, нам необходимо получить root и установить recovery (например, TWRP или CM). Перед началом установки стоит сделать backup, так как в процессе разблокировки загрузчика все личные данные удалятся.
Получение root-прав на устройстве — нетривиальная задача. Процесс сильно отличается в зависимости от девайса. Как именно это делается для твоего гаджета, стоит почитать на тематических форумах 4pda.ru и xda-developers.com. Есть случаи, когда разблокировка загрузчика и получение root невозможны или крайне сложны. Поэтому, при выборе устройства сразу обрати внимание на возможность этих действий.
Рассмотрим процесс установки на Nexus 10.
Нам нужно: качественный кабель, usb-порты прямо из материнской платы (чтобы минимизировать возможность получения “кирпича” из устройства), доступ в меню разработчика и само устройство с компьютером. Меню разработчика обычно открывается с помощью нескольких тапов на номер сборки в меню информации об устройстве. Там включаем отладку по USB. Появится всплывающее окно с разрешением на отладку — соглашаемся.
Разрешение на отладку по USB
Для разблокировки я использовал специальную программу Nexus Root Toolkit, где все происходит с помощью нескольких кликов.
1. Запускаем программу. Если все установлено корректно, то в окне лога появится наше устройство. Стоит обратить внимание на его кодовое название — “manta”. Оно нам пригодится. Кодовое название других устройств можно найти в Интернете.
Nexus Root Toolkit
2. Нажимаем кнопку “Unlock Bootloader — Unlock”, это удалит все данные на устройстве.
Лог программы сообщит нам об успешной разблокировке и перезагрузит устройство.
Nexus Root Toolkit v2.1.9
Masterlists:
- LatestToolkitFiles.ini 3135
- AndroidDeviceListFull.ini 3135
- AndroidDeviceListFlash.ini 3135
MANTARAY-MANTA: Android 5.1.1 - Build: LMY49J
Live log initiated [2019-07-01]:
Checking ADB/FASTBOOT Connectivity
adb devices
R32CA07P1YK device
fastboot devices
+ ADB Device Connected
Rebooting your device into bootloader mode...
adb reboot bootloader
Checking Fastboot Connectivity
fastboot devices
Retrying.. Checking Fastboot Connectivity
fastboot devices
Checking Fastboot Connectivity
fastboot devices
R32CA07P1YK fastboot
+ Fastboot Device Connected
+ Confirmed: Bootloader Unlocked.
Bootloader Already Unlocked. Rebooting your device.
3. Следующим действием получаем root и сразу же устанавливаем кастомный recovery (я ставил TWRP 3.0.2). Ставим галочку на “Custom Recovery” и нажимаем кнопку “Root”. Программа даст нам ссылку на свежую версию TWRP, переходим, скачиваем и указываем путь в программе на файл образа “twrp*.img”.
Masterlists:
- LatestToolkitFiles.ini 3135
- AndroidDeviceListFull.ini 3135
- AndroidDeviceListFlash.ini 3135
MANTARAY-MANTA: Android 5.1.1 - Build: LMY49J
Live log initiated [2019-07-01]:
Checking ADB/FASTBOOT Connectivity
adb devices
R32CA07P1YK device
fastboot devices
+ ADB Device Connected
Rebooting your device into bootloader mode...
adb reboot bootloader
Checking Fastboot Connectivity
fastboot devices
Retrying.. Checking Fastboot Connectivity
fastboot devices
Checking Fastboot Connectivity
fastboot devices
R32CA07P1YK fastboot
+ Fastboot Device Connected
+ Confirmed: Bootloader Unlocked.
Bootloader Already Unlocked. Rebooting your device.
Hashchecking...
Hash Verified!
Importing 'twrp-3.0.2-0-manta.img' into installer...
Checking ADB/FASTBOOT Connectivity
adb devices
R32CA07P1YK device
fastboot devices
+ ADB Device Connected
Rebooting your device into bootloader mode...
adb reboot bootloader
Checking Fastboot Connectivity
fastboot devices
R32CA07P1YK fastboot
+ Fastboot Device Connected
+ Confirmed: Bootloader Unlocked.
Flashing Custom Recovery to RECOVERY partition...
fastboot flash recovery "C:\***\Recovery_Custom\TWRP\twrp-3.0.2-0-manta.img"
Temporarily Booting TWRP...
fastboot boot "C:\***\Recovery_Custom\TWRP\twrp-3.0.2-0-manta.img"
Checking ADB Recovery Connectivity
adb devices
R32CA07P1YK recovery
+ ADB Recovery Device Connected
Pushing root files to your device:
Pushing "SR1-SuperSU-v2.78-SR1-20160915123031.zip" to your device:
adb push "C:\***\Root_Files\SR1-SuperSU-v2.78-SR1-20160915123031.zip" "/sdcard/!ReadyToFlash/Root_Files/SR1-SuperSU-v2.78-SR1-20160915123031.zip"
100% /sdcard/!ReadyToFlash/Root_Files/SR1-SuperSU-v2.78-SR1-20160915123031.zip
Hash verifying file transfer:
627c4b98e7bf83293e81d3758accf753 = Local Hash
627c4b98e7bf83293e81d3758accf753 = Device hash
+ Verified!
Pushing "busybox-signed.zip" to your device:
adb push "C:\***\Root_Files\busybox-signed.zip" "/sdcard/!ReadyToFlash/Root_Files/busybox-signed.zip"
100% /sdcard/!ReadyToFlash/Root_Files/busybox-signed.zip
Hash verifying file transfer:
0ece645c3ca95a10f9a4344300ce0f8f = Local Hash
0ece645c3ca95a10f9a4344300ce0f8f = Device hash
+ Verified!
Pushing "quick-reboot-signed.zip" to your device:
adb push "C:\***\Root_Files\quick-reboot-signed.zip" "/sdcard/!ReadyToFlash/Root_Files/quick-reboot-signed.zip"
100% /sdcard/!ReadyToFlash/Root_Files/quick-reboot-signed.zip
Hash verifying file transfer:
64384a4285d14f0727ea989c17c8909b = Local Hash
64384a4285d14f0727ea989c17c8909b = Device hash
+ Verified!
Pushing "perm-recovery-signed.zip" to your device:
adb push "C:\***\Root_Files\perm-recovery-signed.zip" "/sdcard/!ReadyToFlash/Root_Files/perm-recovery-signed.zip"
100% /sdcard/!ReadyToFlash/Root_Files/perm-recovery-signed.zip
Hash verifying file transfer:
f63500d8c095c0e749cd78851ba409f8 = Local Hash
f63500d8c095c0e749cd78851ba409f8 = Device hash
+ Verified!
Pushing "openrecoveryscript" to your device:
adb push "C:\***\Root_Files\openrecoveryscript" "/cache/recovery/openrecoveryscript"
100% /cache/recovery/openrecoveryscript
Hash verifying file transfer:
458caf528d2dfc4e040acb6f4b37b5f5 = Local Hash
458caf528d2dfc4e040acb6f4b37b5f5 = Device hash
+ Verified!
Rebooting your device into bootloader mode...
adb reboot bootloader
Checking Fastboot Connectivity
fastboot devices
R32CA07P1YK fastboot
+ Fastboot Device Connected
Temporarily Booting TWRP...
fastboot boot "C:\***\Recovery_Custom\TWRP\twrp-3.0.2-0-manta.img"
Rooting...
Waiting for your device...
Device Detected
Automated Rooting Procedure Complete!
Вместе с root устанавливаются Supersu и BusyBox. Если не установились, можно их скачать с Play Market. Далее вручную устанавливаем пакет BusyBox через соответствующее приложение. BusyBox запросит root-права — обязательно соглашаемся!
Установка BusyBox*
Установка Kali Linux NetHunter
NetHunter состоит из компонентов ядра (kernel-nethunter) и самой программной надстройки (nethunter-generic). В релизной версии все компоненты собраны в один zip-архив. Есть сборки, где эти компоненты разделены на два архива: kernel-nethunter-manta-lollipop-*.zip и nethunter-generic-arm64-kalifs-full-rolling-*.zip. Для установки Nethunter OS необходимо через recovery установить сначала ядро, а потом программные надстройки, или установить все сразу с помощью архива, включающего в себя все компоненты.
Если тебе повезет, то готовый релизный архив для твоего устройства уже собран и находится на странице сайта Offensive Security. Но, если тебе не повезло, то придется собирать установочный архив самостоятельно. Для этого разработчики сделали утилиту из свежих компонентов. Нужно скачать директорию “nethunter-installer” из репозитория GitLab. Следуя инструкции, инициализируем хранилище устройств командой:
./bootstrap.sh
После этого с помощью скрипта на Python собираем установочный архив.
Рассмотрим несколько вариантов сборки с помощью данного скрипта:
- Полная сборка вместе с ядром и chroot для устройства Google Nexus 10 (manta) на Android 5.1.1 Lollipop.
python build.py -d manta -l --rootfs full
Этот вариант сборки я использовал для установки Nethunter OS. Я не нашел информации, используются ли для сборки компоненты последней релизной версии или просто последние версии компонентов (возможно нестабильные), но у меня возникли проблемы. Например, не установились некоторые приложения NetHunter OS, но их иконки (в виде зеленого робота) были в меню приложений.
- Полная сборка с ядром и chroot, но с указанием релиза.
python build.py -d manta -l --rootfs full --release 2019.2
- Сборка для обновления ядра и приложений.
python build.py -d manta -l
- Сборка для обновления ядра.
python build.py -d manta -l -k
- Сборка для обновления приложений без ядра.
python build.py -d manta -l -nk
Полученный в результате сборки zip-архив (в моем случае nethunter-manta-lollipop-kalifs-full*.zip) сохраняем в корень устройства и загружаемся через recovery. Для каждого устройства загрузка recovery происходит по-разному.
Nexus 10: “Громкость +” + “Громкость -” + кнопка блокировки. Зажимаем их на несколько секунд, загружается bootloader, с помощью клавиш громкости выбираем “Recovery mode” и подтверждаем кнопкой блокировки.
В recovery TWRP выбираем “Install“, выбираем наш zip-файл установщика и тащим ползунок вправо. Установка пошла, после завершения перезагружаем устройство.
Процесс установки через TWRP.
Загрузится Андроид и начнется оптимизация приложений. В итоге, поменялись обои, появилось несколько новых программ в меню, которые, к сожалению, установились некорректно.
Некорректно установленные программы.
Исправить это легко: распаковываем zip-архив и устанавливаем приложения вручную через apk-файлы, которые лежат в *распакованный zip-архив*/data/app. Перед этим следует включить возможность установки приложений из неизвестных источников. Теперь устанавливаем сначала nethunter.apk, а затем и все остальные приложения. Перезагружаем устройство и видим, что иконки начали отображаться нормально. Советую дополнительно настроить HackerKeyboard, поскольку она более адаптирована для работы с терминалом.
Запускаем терминал, выбираем терминал Kali. И устанавливаем обновления:
apt update
apt upgrade
Исправляем проблемы с репозиторием Microsoft:
wget https://packages.microsoft.com/keys/microsoft.asc | sudo apt-key add -
Отметим, что домашняя директория пользователя Kali root находится на
Root-разделе: /data/local/nhsystem/kali-armhf/root.
Установка метапакетов
Метапакеты Kali можно дополнительно установить через приложение NetHunter в разделе Kali Chroot Manager — Add Metapackages.
Внизу будет ссылка на сайт, где описано какие пакеты входят в каждый пункт.
На этом установка Nethunter OS закончена, и в следующей статье мы рассмотрим практическое использование нашего кул-хацкерского девайса.
З.Ы. А вот и обещанная ссылка на пакеты