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



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



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

Комментарии (17)


  1. Maawal
    27.08.2019 11:41

    SuperSU, Nexus, Android 5, busybox из маркета… эх, кажется, что уже столько лет прошло, аж ностальгия взяла.


  1. AlexRed
    27.08.2019 14:44

    Интересует вопрос на какие планшеты можно накатить Net Hunter?


    1. G_r_i_g_a
      28.08.2019 12:15

      В Magisk есть универсальный модуль. Это самый простой способ получить инструменты "тестирования" на андроиде. Набор инструментов ограничен, но тем не менее кое-что есть. Если очень надо полный набор, то надо всего лишь пересобрать ядро. Это не так сложно как кажется. На сайте кали есть инфа как это сделать.


      1. AlexRed
        28.08.2019 13:30

        Про Magisk в курсе…
        Еще интересует вопрос какие чипы wi-fi должны быть в девайсе, чтобы они могли работать в режиме мониторинга


        1. G_r_i_g_a
          28.08.2019 16:22
          +1

          «Мониторить» может любое устройство, которое может принимать и отправлять пакеты по стандарту 802.11a/b/g/n/ac. Перехват пакетов и их анализ делается при помощи софта. Чтобы софт мог это делать, нужна поддержка на уровне ядра. А ядро это опять же «софт». Ядро у андроида — это сконфигурированное под конкретные нужды ядро Линукс. В Линуксе это все есть изначально. Производители по понятным причинам не включают нужные компоненты в ядро андроида. Чтобы это сделать, надо взять исходники ядра для конкретного аппарата и, зачастую, версии андроида, пропатчить/сконфигурировать его с нужными компонентами, потом собрать и установить на аппарат. После этого можно ставить окружение nethunter и баловаться)Все куда проще если под аппарат есть кастомные ядра с исходниками. На сайте кали была инструкция с картинками что именно включать. Так что, у кого есть желание и исходники, из которых собирается ядро для аппарата, может попробовать собрать ядро с компонентами для кали.


    1. bgdn_TH Автор
      28.08.2019 12:16

      Полагаю, что технически установить можно на любое устройство с подходящей версией Android, но при этом нужно будет использовать не готовый релиз, а билдить под конкретный релиз андроида (https://gitlab.com/kalilinux/nethunter/build-scripts/kali-nethunter-project/wikis/Building-Nethunter). Но все равно прошу держать в голове, что я могу ошибаться и нетхантер работает только на фиксированном списке устройств.Хотя про то, что нельзя его ставить на телефоны и планшеты не из списка на сайте Офенсивов нет информации.


      1. AlexRed
        28.08.2019 13:25

        Ну главное как я понял — это наличие ядра NetHunter под девайс


        1. bgdn_TH Автор
          28.08.2019 16:00

          Полагаю, главное наличие ядра NetHunter под нужную версию андроид. А сам девайс второстепенен, но возможно играет роль. К сожалению, девайса не совместимой модели под рукой не было, чтобы протестить установку. Но опять же если рыть wiki самих Офенсивов по NetHunter, там нет прямого указания на то, что например на Sony Xperia Z и ZR все встанет, а на XZ нет.


    1. mCstl
      28.08.2019 15:43

      У них вроде на git была версия для Nvidia Shield, все хочу попробовать, но либо руки не доходят, либо денег уже нет.


  1. Ryav
    27.08.2019 18:00

    Спасибо, буду знать, как раз имеется в качестве рабочего OnePlus 3T.
    Раз тут тема разблокировки загрузчика упоминалась, то может кто подскажет, каким образом я могу заблокированный загрузчик вскрыть? И в какую сторону вообще смотреть?
    Имеется Motorola Xoom 2, отличный планшет, но застрял на 4 андроиде с заблокированным загрузчиком (на запросы о разблокировке Motorola отмалчивалась, да и вообще непонятно, живы они там или нет), из-за чего куча приложений просто не работают на нём, а мне бы хотелось взломать загрузчик и накатить что-нибудь посвежее.


    1. tvr
      27.08.2019 18:43

      И в какую сторону вообще смотреть?

      В сторону 4PDA, вот в эту тему, если про OnePlus 3T.
      А если про Motorola Xoom, то опять же на 4PDA.
      Упс, недосмотрел — у вас Xoom 2, его кажется не сломали там.


      1. Ryav
        27.08.2019 18:51

        Это шутка? Инструкция от OnePlus не работает для Motorola, к тому же OnePlus никак дополнительно не лочат загрузчик, в отличие от Motorola.


    1. DerRotBaron
      28.08.2019 09:42
      +1

      Из вариантов, которые могут помочь: на одном из предыдущих телефонов был вариант разблокировки без разрешения производителя (Huawei), состоящий в получении рута через универсальный эксплойт Android 4.4 а затем извлечением кода разблокировки из какого-то раздела.


    1. bgdn_TH Автор
      28.08.2019 12:17

      Когда брал root на Nexus усилено штудировал 4PDA. Если там нет про ваш телефон, то скорее всего его ещё не рутанули. Ну или во всяком случае точно есть записи о том, почему он не рутается.


      1. Ryav
        28.08.2019 14:10

        Рут есть, но неполноценный. Вопрос касаемо самой процедуры взлома загрузчика, как-то же это делается.


        1. bgdn_TH Автор
          28.08.2019 15:58

          Рут -это рут, а разблокировка загрузчика — это разблокировка загрузчика) Вещи разные. На ряде телефонов сам производитель не дает прав на разблокировку загрузчика, у других (привет Sony Xperia...) сам предоставляет код и метод разлока, но говорит «айайай гарантии не будет». 7 бед — 4PDA один ответ) Искать, как разлочить бутлоадер под конкретную модель (если это вообще допускается производителем)


          1. Ryav
            28.08.2019 16:02

            Я прекрасно это понимаю, просто вы сами про рут писали изначально.
            Производитель не допускает разблокировку, но он также не допускал и на другие модели (например, Motorola Razr Maxx и Moto Droid Turbo), но там каким-то образом разблокировали загрузчик. Вот меня и интересует — как.