Дізнайтесь, як зібрати Kali NetHunter для OnePlus 7 Pro самостійно — із повним контролем над ядром, rootfs та chroot. Покроковий гайд допоможе створити власну кастомну збірку NetHunter навіть без офіційного образу. Ідеально для пентесту, роботи з HID, MITM, WiFi-атаками та аналізом безпеки прямо з Android. Пояснюємо все: від підготовки середовища до прошивки через TWRP. NetHunter — у ваших руках.
У попередніх статтях ми розглянули процес встановлення NetHunter з root-правами та без них на пристрій OnePlus 7, використовуючи попередньо скомпільований образ з веб-сайту Kali. Оскільки OnePlus 7 є пріоритетним висококласним пристроєм від NetHunter, його образ вже скомпільований і готовий до завантаження та встановлення без будь-яких додаткових збірок. З цими образами NetHunter підтримує всі 89 моделей Android; однак пропонує завантажити лише до 32 попередньо скомпільованих образів. Через це для 57 пристроїв користувачам доведеться вручну створити інсталяційний образ. Саме це ми й розглянемо в цій статті.
Коли я намагався зібрати образ NetHunter або просто ядро на комп’ютері з Windows 10, все пройшло без жодних помилок. Однак, фінальна збірка, здавалося, була пошкоджена, оскільки TWRP не зміг правильно її прошити. Коли я зібрав образ у Kali Linux, все пройшло як слід. Завдяки цьому процес збірки образу буде виконуватися в Kali, яка працює у віртуальній машині.
Якщо ваша Kali підготовлена, встановіть інструменти ADB та fastboot за допомогою наведених нижче команд. Потім ADB та fastboot будуть використані для прошивки наших образів. Цей крок необхідний лише в тому випадку, якщо ви будете прошивати зібрані образи безпосередньо з віртуальної машини Kali, а не з хост-комп’ютера.
apt-get install android-tools-adb apt-get install android-tools-fastboot
Спочатку ми клонуємо репозиторій NetHunter з GitLab за допомогою команди Git:
git clone https://gitlab.com/kalilinux/nethunter/build-scripts/kali-nethunter-project

Це завантажить усі необхідні файли, такі як конструктор chroot, попередньо скомпільовані ядра з модулями та скрипти встановлення.
Змініть до каталогу інсталятора проекту NetHunter:
cd kali-nethunter-project/nethunter-installer/
І запустіть скрипт bootstraps, який, залежно від вашого вибору, або завантажить образи NetHunter для всіх пристроїв, або просто оновить каталог пристроїв нещодавно доданими образами. Це займе деякий час.
./bootstrap.sh

У тому ж каталозі також знаходиться скрипт Python build.py, який ми будемо використовувати для створення нашого образу.
З довідкового повідомлення, як видно на рисунку 3, ми можемо побачити список підтримуваних кодових назв пристроїв ( --devices), різні версії системи Android, опцію збірки лише ядра ( --kernel) та опцію збірки з різним розміром chroot ( --rootfs).

Для кращого розуміння, ось команди для створення різних образів NetHunter. Щоб створити образ з повним chroot, який буде встановлено на наш OnePlus 7 під керуванням стандартного Android 10, ми використовуватимемо:
python3 build.py -d oneplus7-oos --ten --rootfs full

Якщо ви не хочете об’єднувати chroot, а збирати додаток лише з власним ядром, ви можете скористатися командою нижче. Однак, після цього вам потрібно буде завантажити або скопіювати chroot на свій пристрій, перш ніж використовувати його.
python3 build.py -d oneplus7-oos --ten
Щоб зібрати лише образ ядра без повного образу NetHunter, використовуйте --kernelзамість --rootfsопції :
python3 build.py -d oneplus7-oos --ten --kernel
В результаті, для всіх цих команд є ZIP-файл, що зберігається в тому ж каталозі, що й скрипт збірки. Потім цей інсталятор збірки потрібно прошити в режимі відновлення (TWRP).

Якщо вашого пристрою немає у списку з 38 пристроїв із попередньо скомпільованим образом, у вас є два варіанти. Або пошукайте, чи хтось уже скомпільував та протестував файл образу – раджу пошукати на форумі XDA , або ж зіберіть його самостійно.
Хоча я продемонстрував створення образу NetHunter для OnePlus 7, той самий сценарій застосовується до будь-якого іншого підтримуваного пристрою, де ви заміните модель пристрою та версію Android, встановлену на вашому смартфоні. Ви можете знайти список підтримуваних пристроїв у меню довідки скрипта збірки.
Якщо вашого пристрою немає навіть у списку 85 пристроїв, що підтримуються NetHunter, тоді вам потрібно знайти вихідні коди ядра пристрою, скомпілювати їх за допомогою AnyKernel, що надається NetHunter, та перенести їх на ваш новий пристрій.