Kali NetHunter на Android смартфоні. Покрокове керівництво по встановленню.

Kali NetHunter — це безкоштовна платформа тестування на проникнення з відкритим кодом для пристроїв Android на базі Kali Linux. Розроблена компанією Offensive Security. По суті, це повнофункціональна збірка Kali Linux, оптимізована під використання на мобільних пристроях, містить безліч хакерських інструментів. У цій статті я покроково опишу процес встановлення NetHunter на мобільний пристрій. По завершенні отримаємо справжнісінький хакерфон!

Системні вимоги і версії Kali NetHunter

Kali NetHunter versions

Існують 3 версії NetHunter:

  • NetHunter Rootless – мінімальний пакет функцій NetHunter, який завантажується з офіційного Kali NetHunter Store та встановлюється через Termux. Підходить для більшості мобільних пристроїв на базі Android і не вимагає root-прав;
  • NetHunter Lite – повний пакет NetHunter для мобільних пристроїв з правами root без модифікованого ядра Kernel. Містить практично усі функції, окрім деяких. Підійде для більшості задач;
  • NetHunter – класичний повнофункціональний професійний пакет NetHunter з усіма функціями та інструментарієм Kali Linux для проведення різноманітних хакерських атак і тестів на проникнення. Потребує root-прав і модифікованого ядра Kernel.
Kali NetHunter Editions
Порівняння різних версій Kali NetHunter

З усіх трьох, мене цікавить остання – класична версія NetHunter з повним “фаршем”. Проте вона підтримує далеко не усі моделі смартфонів Android. З повним переліком підтримуваних пристроїв можна ознайомитися за посиланням.

Основні вимоги NetHunter:

  • Розблокований завантажувач BootLoader
  • Кастомне рекавері (TWRP або LineAge recovery)
  • Кастомна прошивка (LineAgeOS)
  • Відсутність шифрування DM Verity і інших квот на файлову систему
  • Root-права
  • Встановлений root-менеджер Magisk

Я встановлюватиму NetHunter на прикладі мобільного пристрою Nokia 6.1, який офіційно підтримується Kali.

Підготовка смартфону до встановлення NetHunter

Підготовка мобільного пристрою до встановлення NetHunter

Підготовка до встановлення Kali NetHunter на смартфоні під управлінням ОС Android складається з наступних кроків:

  1. Активувати режим розробника Android Developer Mode
  2. Встановити на ПК Android Platform Tools (SDK)
  3. Встановити пакет драйверів для ПК до мобільного пристрою
  4. Розблокувати завантажувач Android BootLoader
  5. Встановити рекавері і прошивку від LineAgeOS
  6. Встановити застосунок Magisk і отримати root-права

Отже, розглянемо кожен пункт по порядку.

Активація режиму розробника Android Developer Mode

Developer Options Android

Режим розробника (Developer Mode) – це спеціальне, приховане по замовчуванню, технічне меню ОС Android, призначене для проведення експертних налаштувань та обслуговування мобільного пристрою. З його допомогою можна увімкнути ті чи інші системні опції та додаткові сервіси.

Для активації Developer Mode необхідно перейти в системні налаштування “Settings” і обрати пункт меню “About phone” (Інформація про пристрій), далі знайти пункт “Build number” (Номер збірки) й натиснути по ньому 7 разів. Після цього Android повідомить вам, що режим розробника розблоковано.

Як розблокувати режим розробника на Android

Для того, щоб перейти в опції розробника, необхідно повернутись в системні налаштування “Settings” і обрати пункт “System” (Інформація про систему), де буде “Developer options”.  Тут необхідно увімкнути опцію “USB-debugging”.

USB-налагодження дозволить підключити мобільний пристій до ПК і керувати засобами Android SDK. Власне, переходимо до цього кроку.

Як включити USB налагодження на Android смартфоні

Встановлення Android SDK Platform Tools

Android SDK Platform Tools – це пакет утиліт для віддаленого керування мобільним пристроєм Android засобами командного рядка з допомогою комп’ютера на базі операційних систем Windows/Linux/MacOS.

Завантажити необхідну версію Android SDK для вашої операційної системи можна за посиланням.

Для початку роботи необхідно просто розпакувати отриманий архів з SDK на локальну систему. Для ОС Windows – бажано у кореневий каталог С:/. Для Linux – немає значення, тому що є рідним середовищем для Android.

Архів містиме різні файли, де варто визначити дві основні утиліти, які будуть потрібні для здійснення основних операцій – adb та fastboot.

Переходимо до наступного кроку.

Встановлення драйверів мобільного пристрою

Встановлення драйверів для підключення смартфона до ПК

Драйвери (drivers) – це пакет програм і бібліотек, які служать для функціонування мобільного пристрою при підключенні до ПК.

Для того, аби мобільний пристрій правильно розпізнавався, необхідно встановити сумісні з вашою моделлю смартфона та операційною системою драйвери. В іншому випадку, можливі помилки та збої при виконанні операцій.

ЧИТАЙТЕ ТАКОЖ:  Як керувати Android на ПК з допомогою Scrcpy?

Ось пакет драйверів до Nokia 6.1 для Windows 10. Він включає:

  • Phone Nokia USB Driver (для налагодження і синхронізації пристрою по USB порту)
  • Nokia 6.1. ADB Driver (для налагодження і синхронізації пристрою через ADB-інтерфейс)
  • Nokia OST LA Service Tool (додатковий комплект драйверів для сервісного обслуговування пристрою)

Їх можна самостійно знайти в інтернеті, або ж завантажити за поданими посиланнями:

Після того як усі драйвери встановлені й ваш мобільний пристрій коректно розпізнається операційною системою у всіх режимах (USB-заряджання/MTP-накопичувач), можна переходити до наступного кроку.

Розблокування завантажувача Android Boot Loader

How to unlock bootloader Android

Android Boot Loader – це вбудований завантажувач, який створений виробником і керує завантаженням операційної системи Android та усіх її компонентів.

По замовчуванню, в цілях безпеки завантажувач Boot Loader заблокований виробником. Його розблокування необхідне лише для того, щоби встановити сторонній модуль керування завантаженням (recovery) і перепрошити смартфон.

Процес розблокування BootLoader для різних моделей смартфонів виглядає по різному і може містити чимало непередбачуваних нюансів. Основні з них були розглянуті мною в статті “Як отримати Root-права на Android-смартфоні”.

Для Nokia 6.1 розблокування вимагає додаткових дій збоку користувача, зокрема роботу з різними операційними системами і програмним забезпеченням. Необхідно встановити Nokia Bootloader Unlock Tool by techmesto, який працює лише для Windows. Існують альтернативні варіанти для Linux та MacOS систем, наприклад рішення компанії “Hikari Calyx”, але вони вимагають ручної конфігурації і не гарантують вирішення супутніх проблем, які можуть виникнути у процесі.

Тож для розблокування я буду використовувати варіант з Nokia Bootloader Unlock Tool. Необхідно завантажити і розпакувати програму на локальній системі Windows. Після цього запустити виконуваний exe-файл від імені Адміністратора та підключити смартфон по USB-кабелю до ПК.

Пристрій автоматично переведеться у режим Download Mode, який слугує для сервісного обслуговування. Далі треба натиснути в програмі “Request OTP” (одноразовий код операції) і запустити розблокування – “Begin UNLOCK”.

Nokia Unlock Bootloader tool

Далі Nokia Bootloader Unlock Tool усе зробить сама. Мобільний в автоматичному режимі перезвантажиться кілька разів, після чого з’явиться повідомлення про успішне розблокування. Якщо з’явиться помилка, або пристрій не розпізнається – повертайтесь до попередніх кроків з налагодження USB і встановлення драйверів.

Увага: Якщо ваш мобільний на гарантії, то розблокування автоматично припиняє її і позбавляє офіційного обслуговування. Також, при розблокованому завантажувачі, при кожному ввімкненні або перезавантаженні пристрою з’являтиметься екран з попередженням інформаційного характеру, що ваш пристрій розблоковано.

Встановлення LineAgeOS: рекавері + прошивка

LineAgeOS

LineAgeOS – це кастомна прошивка операційної системи для мобільних пристроїв на базі Android з відкритим вихідним кодом. Надає користувачу низку опцій, недоступних в стандартній прошивці.

Завантажити пакет LineAgeOS можна на офіційному сайті, в розділі для пристрою вашої моделі, у моєму випадку – Nokia 6.1. Зауважте, що LineAgeOS підтримує далеко не усі смартфони.

Чому саме LineAgeOS? Тому що саме цю прошивку підтримує і рекомендує Kali NetHunter.

Отже, завантажуємо і зберігаємо на комп’ютері два архіви з останньою, підтримуваною NetHunter, версією – LineAgeOS 20 (Android 13):

  • lineage-20.0-20231101-nightly-PL2-signed.zip (прошивка)
  • boot.img (рекавері для керування завантажувачем)

Далі усі дії виконуємо згідно офіційної документації по встановленню LineAgeOS на Nokia 6.1, яка доступна за посиланням.

Покроково це виглядає так (суворо дотримуйтесь послідовності виконання операцій):

  1. Підключаємо cмартфон до ПК, схвалюємо USB-налагодження, яке з’явиться на його дисплеї.
  2. Запускаємо командний рядок на ПК і виконуємо команди: adb devices, adb reboot bootloader. Пристрій автоматично перезавантажиться в режим Download Mode.
  3. Виконуємо команду: fastboot flash boot boot.img. Буде прошите кастомне рекавері від LineAgeOS.
  4. Затискаємо на смартфоні “Верхня кнопка гучності” + “Живлення”. Коли з’явиться стартовий екран з логотипом – кнопку “Живлення” відпускаємо, але гучності – ні. Ви увійдете в режим керування завантаженням – LineAgeOS Recovery.
  5. Далі обираємо “Factory Reset” і форматуємо пристрій. Увага – усі ваші дані будуть назавжди втрачені, тому перенесіть їх заздалегідь на карту пам’яті або на USB-флешку.
  6. Повертаємося до головного меню, тиснемо пункт “Apply Update”, далі “Apply from ADB” – активується режим віддаленого встановлення прошивок через командний рядок на ПК з допомогою утиліти adb.
  7. Вже на ПК виконуємо у командному рядку: adb sideload lineage-20.0-20231101-nightly-PL2-signed.zipЗапуститься процес встановлення прошивки LineAgeOS. Процес може тривати кілька хвилин. По завершенні  ви побачите, що процеси 2/2 виконані. Натисніть “Reboot to recovery” – пристрій знову перезавантажиться в рекавері.
  8. Тепер необхідно додатково встановити таким же чином через “Apply Update -> Apply from ADB” супутні архіви, необхідні для Android та NetHunter:
    1. Disable Dm-Verity ForceEncrypt – обов’язковий пакет, який знімає вбудоване шифрування розділів накопичувача пристрою і дає дозвіл для роботи Kali Linux. Його можна самостійно знайти в інтернеті (для вашої моделі пристрою) або завантажити за цим посиланням.
    2. Google Apps – мінімальний пакет додатків від Google для нормального функціонування Android та інших застосунків.
ЧИТАЙТЕ ТАКОЖ:  Що робити, якщо у вас вкрали або ви загубили IPhone?

Встановлення MAGISK і отримання Root-прав

Magisk logoMAGISK – це програма для керування правами суперадміністратора root на пристроях Android. З її допомогою можна здійснювати сервісне обслуговування, прошивати, встановлювати додатки, керувати їх правами.

Після того, як пристрій був прошитий, операційна система успішно завантажилася і ви пройшли вступне налаштування, можна встановлювати застосунок MAGISK. Рекомендую завантажувати його лише з офіційного GitHub репозиторію.

Просто скачайте APK-файл на свій смартфон і інсталюйте його. У даному прикладі, для Nokia 6.1 з Android 13 я використовував версію Magisk 26.3.

Існує також інший додаток для отримання root-прав – SuperSU, але NetHunter рекомендує використовувати саме Magisk.

Отже, переходимо в MAGISK і тиснемо у самому верху “Install”, далі “Select file for patch” – тут необхідно обрати файл прошивки для того, щоби Magisk зміг його модифікувати. Цей файл знаходиться в zip-архіві з прошивкою під назвою payload.bin. Обираємо його і запускаємо процес. Magisk видасть патч – magisk_patched.img. Це буде одноразовий завантажувач Android, з допомогою якого Magisk отримає root.

Magisk select patch file

Отже. переносимо цей файл на локальний ПК, переводимо мобільний в режим Download Mode командою adb reboot bootloader і далі виконуємо наступні команди в строгому порядку:

  1. fastboot flash recovery magisk_patched.img (з’явиться помилка, але нічого – так повинно бути)
  2. fastboot boot magisk_patched.img (пристрій має самостійно перезавантажитись з допомогою одноразового завантажувача і успішно запуститься LineAgeOS)

Після цього знову відкриваємо Magisk, тиснемо вгорі “Install” і тепер з’явиться пункт “Direct Install” (Recommended). Натискаємо його і нарешті запуститься процес отримання Root-прав. Програма запропонує перезавантажитись – тиснемо “Reboot”.

Після перезвантаження, можна знову перейти в Magisk і переконатись, що там з’явились функції керування root-правами.

Примітка: Якщо ви встановили оновлення Android і root-права після цього злетіли – просто повторіть процедуру, описану вище.

Встановлення NetHunter

Kali NetHunter

Ми підійшли до найважливішого кроку у цій статті – встановлення платформи Kali NetHunter.

Для початку, рекомендую попередньо завантажити на смартфон репозиторій Kali NetHunter App Store, який знадобиться для оновлення деяких компонентів.

Ну а тепер переходимо до завантаження архіву з NetHunter. Він доступний для кожної моделі підтримуваного пристрою окремо, на офіційному сайті Kali Linux, в розділі Mobile:

Nokia NetHunter install

Отриманий архів, у моєму випадку nethunter-2023.3b-pl2-thirteen-kalifs-minimal.zip, необхідно відкрити і встановити з допомогою додатка Magisk. Для цього в нижньому меню обираємо “Modules” -> “Install from storage”:

Встановлення NetHunter через модулі Magisk

Magisk запустить процес встановлення NetHunter. Він повинен успішно завершитись пропозицією перезавантажитись – “Reboot”.

Це буде останнє перезавантаження, після чого ваша LineAgeOS назавжди трансформується в Kali NetHunter:

Kali NetHunter on Nokia 6.1

Як підключитись по SSH з комп’ютера до KaliNetHunter Android?

Маючи на смартфоні таку “бомбу” як KaliNetHunter, гріх не скористатися нею у повному обсязі. Фактично, це повнофункціональний VPS під рукою. Налагодивши зв’язок по протоколу SSH, ви зможете підключатися до вашого смартфона як до сервера і використовувати усі утиліти командного рядка Kali Linux на своєму десктопному ПК.

Покрокова інструкція:

  1. Перейти в налаштування KaliNethunter і включити SSH-сервіс: натиснути на дашборді ярлик NetHunter, а далі в меню Home -> Kali Services активувати SSH.
  2. Зайти в командний рядок Kali Linux на смартфоні (натиснути на значок NetHunter Terminal) і встановити пароль для облікового root: passwd root
  3. Виключити на компі і на смартфоні будь-які антивіруси або файєрволи, які можуть блокувати мережеве з’єднання. Основна вимога – комп’ютер і смартфон мають знаходитися в ОДНІЙ МЕРЕЖІ. Перевірити це можна виконавши команду ifconfig на компі і смартфоні, а тоді звірити. Щоб зрозуміти, чи є між ними зв’язок можна виконати команду ping з комп’ютера на локальну IP-адресу смартфона: ping x.x.x.x. Якщо пішли пакети – значить є зв’язок і можна підключатись. Якщо ні, раджу пропінгувати інші локальні адреси мобільного пристрою.
    Примітка: Якщо ви використовуєте Mullvad VPN, то в ньому є одна важлива опція Local networking sharing (доступ по спільній локальній мережі) – її потрібно увімкнути на VPN з комп’ютера (і з роутера також). На смартфоні – VPN може бути увімкненим без Local network sharing.
  4. Далі треба провести ще однек маленьке налаштування на смартфоні. Інакше система буде обмежувати доступ для SSH з’єднання. Необхідно закоментувати рядок “session optional pam_keyinit.so force revoke” у наступних файлах, розташованих в папці /etc/pam.d/:
    • /etc/pam.d/su-l
    • /etc/pam.d/login
    • /etc/pam.d/runuser-l
    • /etc/pam.d/sshd
  5. Нарешті підключаємо по SSH з Linux на комп’ютері до KaliNetHunter на смартфоні: ssh root@x.x.x.x.x (IP-адресу підставляємо локальну, яку надав мобільному пристрою Mullvad VPN. Її можна дізнатися в панелі керування роутером, наприклад в “Manage Devices”)
ЧИТАЙТЕ ТАКОЖ:  Як отримати Root-права на Android смартфоні? Повне керівництво.

Альтернативний варіант підключення (якщо немає спільної інтернет-мережі):

  1. Активувати SSH Server в Kali Services.
  2. Під’єднати мобільний пристрій з Kali NetHunter через USB-шнур до компа.
  3. Попередньо зайти в Developer Mode і активувати USB-debugging.
  4. Схвалити авторизацію.
  5. Виконати: adb devices (мати на ПК встановлений пакет android developer tools).
  6. Виконати: adb -s <device> forward tcp:2222 tcp:22 – активуємо port forwarding з мобілки на ПК.
  7. Виконати: ssh root@localhost -p 2222 – має встановитися успішне з’єднання з терміналом Kali.

SSH wth KaliNethunter

Як підключитись по VNC з комп’ютера до KaliNetHunter Android?

Ще одна особливість смартфона із Kali NetHunter – він може запускатись як VNC-сервер, тобто повністю Desktop’ний інстанс, до якого можна підключитися зі свого комп’ютера. Фактично, це готовий “Kali Linux” в смартфоні.

Покрокова інструкція:

  1. Відкрийте ярлик Kali NetHunter на смартфоні, перейдіть в розділ Kali Chroot Manager і переконайте що Chroot-контейнер запущений.
  2. Перейдіть в Kali Services і активуйте: SSH, DBUS. Можна також виставити автозавантаження (при регулярному використанні).
  3. Перейдіть в KeX Manager, задайте налаштування: USER - root, DISLAY - 1, Localhost only. Натисніть “Setup Local Server”. Відкриється консоль, в якій автоматично запуститься скрипт. Задайте пароль до VNC, потім натисніть Yes і повторно введіть пароль. Дочекайтесь повідомлення, натисніть Enter і поверніться в KeX Manager.
  4. Натисніть Start Server. Запустить скрипт в консолі і з’явиться повідомлення про успішний запуск сервера. Поверніться в KeX Manager і натисніть кнопочку “Update” – ви побачите, що статус сервера зміниться на “RUNNING”. Значить все запрацювало.
  5. Тепер встановіть на вашому Linux PC клієнт VNC, наприклад TigerVNC Viewer.
  6. Встановіть пакет DBUS X11 в терміналі Kali NetHunter: apt update && apt install dbus-x11 -y
  7. Відредагуйте файл конфігурації VNC в Kali NetHunter ~/.vnc/xstartup, додавши тільки:
    #!/bin/sh
    unset SESSION_MANAGER
    unset DBUS_SESSION_BUS_ADDRESS
    export SHELL=/bin/bash
    export XKL_XMODMAP_DISABLE=1exec dbus-launch --exit-with-session startxfce4
  8. Запустіть VNC Server вручну в терміналі Kali NetHunter: vncserver :1 -geometry 1280x720 -localhost (наступні рази можна запускати через KeX Manager)
  9. Зробіть ретрансляцію порту VNC на PC (попередньо підключивши мобільний пристрій по USB): adb -s <device> forward tcp:5901 tcp:5901
  10. Підключіться на Linux PC до VNC Kali NetHunter: vncviewer localhost:5901. Введіть пароль, який ви задавали в KeX Manager (або створіть новий командою vncpasswd або в ~/.vnc/passwd). Має з’явитися повноцінне графічне середовище Kali Linux на базі графічного столу XFCE.
Kali NetHunter VNC
Успішне під’єднання до Kali NetHunter VNC по локальній мережі з Linux PC.

Усунення помилок

Temporary failed resolving http.kali.org

Якщо при оновленні sudo apt update з’явиться помилка “Temporary failed resolving http.kali.org”, необхідно продіагностувати мережу:

  • ping google.com
  • nano /etc/resolv.conf

Якщо проблем немає, то перевірити репозиторії пакетів cat /etc/apt/sources.list, вони мають містити:

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

Якщо проблема все одно продовжується, виконайте наступні команди:

  • echo 'APT::Sandbox::User "root";' > /etc/apt/apt.conf.d/01-android-nosandbox – відключає пісочницю Sandbox для apt.
  • groupadd -g 3003 aid_inet && usermod -G nogroup -g aid_inet _apt

Корисні посилання

  1. Kali NetHunter Docs
  2. Kali NetHunter on GitLab
  3. Wikipedia Kali NetHunter
  4. Kali NetHunter on XDA Forum
  5. Kali NetHunter on 4PDA Forum
  6. Youtube. Complete guide how start VNC server in Kali NetHunter

Автор: © Konrad Ravenstone, KR. Laboratories Research

Konrad Ravenstone// про автора

Кібермольфар, хакер, лінуксоїд, дослідник безпеки в KR. Labs Research

Сподобалася стаття? Поділитися в соцмережах:
KR. Labs Research
Рекомендоване:
Дедалі частіше зустрічаю в інтернеті обговорення на тему “Мене зламали.…