Kali Linux NetHunter на Android: зачем и как установить +21


Здравствуй, мой любознательный друг! Наверняка тебя посещали мысли о том, как хакать все вокруг, не привлекая лишнего внимания санитаров службы безопасности и окружающих, быть похожим на героев фильмов, взламывающих системы просто с мобильного устройства, или как прокачать свою мобильность с минимальной потерей функционала? У меня для тебя хорошие новости.



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
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”.

Nexus Root Toolkit v2.1.9
 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.
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 закончена, и в следующей статье мы рассмотрим практическое использование нашего кул-хацкерского девайса.



З.Ы. А вот и обещанная ссылка на пакеты




К сожалению, не доступен сервер mySQL