„RootRoot“ yra atvirojo kodo „Android“ saugumo aptikimo įrankių rinkinys, sukurtas saugumo tyrėjams, įsiskverbimo testuotojams ir „Android“ entuziastams. Jis demonstruoja, kaip mobiliosios programos realiuoju laiku aptinka įrenginius su root prieigos teisėmis, „Magisk“ diegimus ir „Frida“ instrumentavimo sistemas.
Programa atlieka 13 saugumo patikrinimų, naudodama 4 skirtingas aptikimo strategijas, ir suteikia jums išsamų jūsų įrenginio saugumo būklės vaizdą. ▌ APTIKIMO METODAI
◆ „Java“ sluoksnių aptikimas
• Šakninių paketų nuskaitymas – tikrina „PackageManager“ pagal 48 žinomus šakninių programų parašus, įskaitant „Magisk“, „SuperSU“, „KingRoot“ ir „Xposed“.
• SU dvejetainių failų paieška – nuskaito 14 katalogų, ieškodama „su“, „busybox“ ir „magisk“ dvejetainių failų.
◆ Gimtoji statinė registracija
Naudoja eksportuotus JNI simbolius, matomus .so simbolių lentelėje:
• „Su“ dvejetainių failų patikrinimas per prieigą prie gimtosios failo.
• „Magisk“ prijungimo aptikimas per /proc/mounts.
• „Frida“ proceso nuskaitymas per /proc/cmdline.
• „Frida“ bibliotekos aptikimas per /proc/self/maps.
◆ Gimtoji dinaminė registracija
Funkcijos registruojamos vykdymo metu per „RegisterNatives()“ JNI_OnLoad faile – simbolių lentelėje nematomi eksportuoti simboliai. Tie patys patikrinimai, sunkiau atlikti atvirkštinę inžineriją. ◆ Gimtoji „Dlsym“ (paslėpta registracija)
Funkcijos, įkeliamos per „dlsym()“ iš atskiros bendros bibliotekos – labiausiai painiojama aptikimo strategija, imituojanti realaus pasaulio saugumo SDK elgseną.
▌ PAGRINDINĖS FUNKCIJOS
✦ 13 aptikimo patikrinimų, atliekamų naudojant 4 JNI registracijos strategijas
✦ Terminalo stiliaus tamsi vartotojo sąsaja su išskleidžiamomis rezultatų kortelėmis
✦ Realiojo laiko nuskaitymo rezultatai su vykdymo laiku
✦ Išsamūs kiekvieno aptikimo metodo aprašymai
✦ Grynas C gimtoji kodas – nulinė C++ STL priklausomybė
✦ Mokomoji priemonė mobiliųjų įrenginių saugumui suprasti
✦ Palaiko „armeabi-v7a“, „arm64-v8a“, „x86“ ir „x86_64“
▌ KAM TAI SKIRTA? • Saugumo tyrėjai, tyrinėjantys „Android“ šaknų aptikimo metodus
• Įsilaužimo testuotojai, vertinantys įrenginių saugumo būklę
• „Android“ kūrėjai, diegiantys arba audituojantys apsaugos nuo klastojimo priemones
• Studentai, besimokantys apie JNI, natyvųjį kodą ir mobiliųjų įrenginių saugumą
• ROM/Magisk entuziastai, testuojantys aptikimo apėjimo metodus
▌ ŠVIETIMO TIKSLAS
„RootRoot“ sukurta kaip saugumo tyrimų ir edukacinė priemonė. Ji demonstruoja tiek puolamuosius, tiek gynybinius mobiliųjų įrenginių saugumo metodus. Visi aptikimo metodai yra visiškai dokumentuoti ir atvirojo kodo „GitHub“ platformoje.
Supratimas, kaip veikia šaknų aptikimas, padeda tiek gynėjams kurti stipresnę apsaugą, tiek tyrėjams nustatyti esamų diegimų trūkumus.
Šaltinio kodas: https://github.com/John-Jung/RootRoot