Tukaj je, kako deluje evasi0n zapor

Ekipa evad3rs je evasi0n sprostila skoraj en teden nazaj. Zdaj, ko smo vsi preklopili svoje naprave iOS in namestili najboljše nastavitve, si poglejmo, kako deluje neverjetno preprosto na zunanji strani, a na notranji strani neverjetno zapleteno evailno jailbreak.

Ker Apple krepi varnost v iOS-u, hekerji ne morejo več preprosto najti enega samega izkoriščanja, kot prejšnje dni, in ga uporabljajo za pridobitev korenskega dostopa do naprave. evasi0n je kombinacija petih različnih hroščev, od katerih je večina neškodljivih posamično, vendar skupaj dovolj sposobna za razbijanje odprtega iOS-a.

evasi0n se začne z izkoriščanjem v iOS-ovem sistemu iTunes, ki ga imenujemo demon MobileBackup. To stori z zagonom programa libmobiledevice v računalniku / Mac, ki komunicira z napravami iOS s protokolom iTunes.

evasi0n obnovi varnostno kopijo, ki vsebuje nekaj datotek, potrebnih za jailbreak. Ker MobileBackup ne more shraniti datotek zunaj /var/Mobile/Media, evasi0n to reši tako, da ustvari "symlink" ali bližnjico v /var/Mobile/Media imenom .haxx, ki kaže na /var/Media . MobileBackup je zdaj sposoben zapisovati datoteke v /var/mobile prek povezave .haxx . Kopirane datoteke tvorijo aplikacijo, ki jo morate zagnati sredi postopka pobega.

S pomočjo trika symlink, evasi0n dobi tudi dostop do datoteke časovnega pasu, ki je znova povezana s točko, da se začne, daemon, ki vodi procese s privilegiji "root". Dostop do zagona je zdaj izkoriščen, datoteka časovnega pasu pa je s spreminjanjem njegovih dovoljenj dostopna vsem uporabnikom (ne le root). Podoben trik je uporabljen za izdelavo vtičnice, ki upravlja komunikacije med zagnanimi in drugimi procesi, dostopnimi mobilnim uporabnikom, pod katerimi se zaženejo vse aplikacije v iOS-u.

Zdaj je uporabniku naloženo, da zažene aplikacijo, ki je bila v prejšnjem koraku kopirana v datotečni sistem iOS. Ta aplikacija s pomočjo izpostavljene vtičnice za zagon naredi sistemsko particijo, ki je samo za branje, pisno.

Zdaj, ko je sistemska particija postala pisljiva, evasi0n znova sproži MobileBackup in napiše kopico datotek, ena od njih je rund.conf, ki vsebuje kup ukazov, ki predstavljajo izkoriščanje. Ta datoteka se ob zagonu zažene vsakokrat, zaradi česar je jailbreak obstojen.

Eden od ukazov v launchd.conf je odgovoren za izogibanje preverjanju podpisovanja kode AppleMobileFileIntegrity, tako da naloži dinamično knjižnico, ki vgrajeno funkcijo preverjanja nadomesti z eno, ki vedno vrne true.

evasi0n ima pred seboj še eno zaporo poti - Randomisation naslova prostorske postavitve naslova ali ASLR, ki v naslove flash pomnilnika vnaša naključnost, zato je težko predvideti. Vendar je na ARM čipih še vedno mogoče najti lokacijo, ki jo je enostavno najti in s tem evasi0n lahko preslikate celoten pomnilnik. Od tu se evasi0n, ki izkorišča napako v iOS-ovem USB vmesniku, končno znajde v jedru naprave, kjer se odpre vse.

Via: Forbes, Acuvant Labs



Priljubljene Objave