RootRoot — це набір інструментів з відкритим кодом для виявлення безпеки Android, створений для дослідників безпеки, тестувальників на проникнення та ентузіастів Android. Він демонструє, як мобільні додатки виявляють рутовані пристрої, установки Magisk та інструментальні фреймворки Frida в режимі реального часу.
Додаток виконує 13 перевірок безпеки за 4 різними стратегіями виявлення, надаючи вам повне уявлення про стан безпеки вашого пристрою.
▌ МЕТОДИ ВИЯВЛЕННЯ
◆ Виявлення рівня Java
• Сканування кореневого пакета — перевіряє PackageManager на наявність 48 відомих сигнатур кореневих програм, включаючи Magisk, SuperSU, KingRoot та Xposed
• Пошук бінарних файлів SU — сканує 14 каталогів на наявність бінарних файлів su, busybox та magisk
◆ Вбудована статична реєстрація
Використовує експортовані символи JNI, видимі в таблиці символів .so:
• Перевірка бінарних файлів Su через вбудований доступ до файлів
• Виявлення монтування Magisk через /proc/mounts
• Сканування процесу Frida через /proc/cmdline
• Виявлення бібліотеки Frida через /proc/self/maps
◆ Вбудована динамічна реєстрація
Функції, зареєстровані під час виконання через RegisterNatives() в JNI_OnLoad — експортовані символи не видно в таблиці символів. Ті самі перевірки, але важче реконструювати.
◆ Вбудований Dlsym (Прихована реєстрація)
Функції, завантажені через dlsym() з окремої спільної бібліотеки — найбільш заплутана стратегія виявлення, що імітує реальну поведінку SDK безпеки.
▌ ОСНОВНІ ХАРАКТЕРИСТИКИ
✦ 13 перевірок виявлення за 4 стратегіями реєстрації JNI
✦ Темний інтерфейс у стилі терміналу з розширюваними картками результатів
✦ Результати сканування в режимі реального часу з часом виконання
✦ Детальний опис кожного методу виявлення
✦ Чистий нативний код C — нульова залежність від C++ STL
✦ Навчальний інструмент для розуміння мобільної безпеки
✦ Підтримує armeabi-v7a, arm64-v8a, x86 та x86_64
▌ ДЛЯ КОГО ЦЕ?
• Дослідники безпеки, які вивчають методи виявлення root-прав Android
• Тестери на проникнення, які оцінюють стан безпеки пристроїв
• Розробники Android, які впроваджують або перевіряють заходи захисту від несанкціонованого доступу
• Студенти, які вивчають JNI, нативний код та мобільну безпеку
• Ентузіасти ROM/Magisk, які тестують методи обходу виявлення
▌ ОСВІТНЯ МЕТА
RootRoot розроблений як інструмент для дослідження та навчання в галузі безпеки. Він демонструє як наступальні, так і захисні методи мобільної безпеки. Усі методи виявлення повністю задокументовані та мають відкритий вихідний код на GitHub.
Розуміння того, як працює виявлення root-прав, допомагає як захисникам створювати сильніші засоби захисту, так і дослідникам виявляти слабкі місця в існуючих реалізаціях.
вихідний код: https://github.com/John-Jung/RootRoot