iOS Basic Testing Operations
Last updated
Last updated
Learn & practice AWS Hacking:HackTricks Training AWS Red Team Expert (ARTE) Learn & practice GCP Hacking: HackTricks Training GCP Red Team Expert (GRTE)
Ili kutambua kifaa cha iOS kwa kipekee, mfuatano wa tarakimu 40 unaojulikana kama UDID unatumika. Kwenye macOS Catalina au toleo jipya, hii inaweza kupatikana kwenye app ya Finder, kwani iTunes haipo tena. Kifaa, kinapounganishwa kupitia USB na kuchaguliwa kwenye Finder, kinaonyesha UDID yake pamoja na taarifa nyingine wakati maelezo chini ya jina lake yanapobofya.
Kwa matoleo ya macOS kabla ya Catalina, iTunes inarahisisha kugundua UDID. Maelekezo ya kina yanaweza kupatikana hapa.
Zana za mstari wa amri zinatoa njia mbadala za kupata UDID:
Kutumia zana ya I/O Registry Explorer ioreg
:
Kutumia ideviceinstaller
kwa macOS (na Linux):
Kutumia system_profiler
:
Kutumia instruments
kuorodhesha vifaa:
Ufikiaji wa SSH umewezeshwa kwa kufunga pakiti ya OpenSSH baada ya jailbreak, kuruhusu muunganisho kupitia ssh root@<device_ip_address>
. Ni muhimu kubadilisha nywila za msingi (alpine
) kwa watumiaji root
na mobile
ili kulinda kifaa.
SSH kupitia USB inakuwa muhimu pindi Wi-Fi haitapatikana, kwa kutumia iproxy
kuunganisha bandari za kifaa kwa muunganisho wa SSH. Mpangilio huu unaruhusu ufikiaji wa SSH kupitia USB kwa kukimbia:
On-device shell applications, kama NewTerm 2, hurahisisha mwingiliano wa moja kwa moja na kifaa, hasa ni muhimu kwa ajili ya kutatua matatizo. Reverse SSH shells pia zinaweza kuanzishwa kwa ufikiaji wa mbali kutoka kwa kompyuta mwenyeji.
Ili kurekebisha nywila iliyosahaulika kurudi kwenye chaguo-msingi (alpine
), kuhariri faili ya /private/etc/master.passwd
ni muhimu. Hii inahusisha kubadilisha hash iliyopo na hash ya alpine
karibu na entries za mtumiaji root
na mobile
.
Archiving and Retrieval via SSH and SCP: Ni rahisi kuhifadhi saraka ya Data ya programu kwa kutumia tar
na kisha kuhamasisha kwa kutumia scp
. Amri iliyo hapa chini inahifadhi saraka ya Data katika faili ya .tgz, ambayo kisha inavutwa kutoka kwa kifaa:
Kutumia iFunbox na iExplorer: Zana hizi za GUI ni muhimu kwa usimamizi wa faili kwenye vifaa vya iOS. Hata hivyo, kuanzia iOS 8.4, Apple ilipunguza ufikiaji wa zana hizi kwenye sandbox ya programu isipokuwa kifaa kimefanywa jailbroken.
Shell ya Kihusiano na Objection: Kuanzisha objection kunatoa ufikiaji wa saraka ya Bundle ya programu. Kutoka hapa, unaweza kuhamasisha kwenye saraka ya Hati za programu na kusimamia faili, ikiwa ni pamoja na kupakua na kupakia faili hizo kutoka na kwenda kwenye kifaa cha iOS.
Kiungo cha Usambazaji Juu ya Hewa (OTA): Programu zinazotolewa kwa ajili ya majaribio kupitia OTA zinaweza kupakuliwa kwa kutumia chombo cha kupakua mali za huduma za ITMS, ambacho kimewekwa kupitia npm na kinatumika kuhifadhi faili la IPA kwenye kifaa.
Kutoka kwa IPA: Fungua IPA ili kufikia binary ya app iliyotolewa.
Kutoka kwa Kifaa kilichovunjwa: Sakinisha app na toa binary iliyotolewa kutoka kwenye kumbukumbu.
Muhtasari wa Kufungua kwa Mikono: Binary za app za iOS zimefungwa na Apple kwa kutumia FairPlay. Ili kufanya reverse-engineering, lazima utoe binary iliyotolewa kutoka kwenye kumbukumbu. Mchakato wa kufungua unajumuisha kuangalia bendera ya PIE, kurekebisha bendera za kumbukumbu, kubaini sehemu iliyofungwa, na kisha kutoa na kubadilisha sehemu hii na fomu yake iliyotolewa.
Kuangalia na Kubadilisha Bendera ya PIE:
Kutambua Sehemu Iliyosimbwa na Kutupa Kumbukumbu:
Tathmini anwani za mwanzo na mwisho za sehemu iliyosimbwa kwa kutumia otool
na utupe kumbukumbu kutoka kwa kifaa kilichovunjwa kwa kutumia gdb.
Kufuta Sehemu Iliyoandikwa kwa Siri:
Badilisha sehemu iliyokuwa imeandikwa kwa siri katika programu asilia na dump iliyotolewa.
Kumaliza Kufichua: Badilisha metadata ya binary ili kuonyesha kutokuwepo kwa usimbuaji kwa kutumia zana kama MachOView, ukipanga cryptid
kuwa 0.
Zana ya frida-ios-dump inatumika kwa kufichua na kutoa programu kiotomatiki kutoka kwa vifaa vya iOS. Kwanza, mtu anapaswa kuunda dump.py
kuungana na kifaa cha iOS, ambayo inaweza kufanywa kupitia localhost kwenye bandari 2222 kupitia iproxy au moja kwa moja kupitia anwani ya IP ya kifaa na bandari.
Programu zilizowekwa kwenye kifaa zinaweza kuorodheshwa kwa amri:
Ili kudump programu maalum, kama Telegram, amri ifuatayo inatumika:
Hii amri inaanzisha upakuaji wa programu, na kusababisha kuundwa kwa faili ya Telegram.ipa
katika saraka ya sasa. Mchakato huu unafaa kwa vifaa vilivyovunjwa, kwani programu zisizosainiwa au zisizo sahihi zinaweza kufungwa upya kwa kutumia zana kama ios-deploy.
Zana ya flexdecrypt, pamoja na kifungashio chake flexdump, inaruhusu kutoa faili za IPA kutoka kwa programu zilizowekwa. Amri za usakinishaji za flexdecrypt kwenye kifaa zinajumuisha kupakua na kusakinisha kifurushi cha .deb
. flexdump inaweza kutumika kuorodhesha na kupakua programu, kama inavyoonyeshwa katika amri zilizo hapa chini:
bagbak, chombo kingine kinachotumia Frida, kinahitaji kifaa kilichovunjwa ili kufungua programu:
r2flutch, ikitumia radare na frida, inatumika kwa ajili ya ufichuzi wa programu na dumping. Taarifa zaidi zinaweza kupatikana kwenye GitHub page.
Sideloading inamaanisha kufunga programu nje ya Duka rasmi la Programu. Mchakato huu unashughulikiwa na installd daemon na unahitaji programu zisainiwe kwa cheti kilichotolewa na Apple. Vifaa vilivyofanywa jailbroken vinaweza kupita hili kupitia AppSync, kuruhusu ufungaji wa pakiti za IPA zenye sahihi bandia.
Cydia Impactor: Zana ya kusaini na kufunga faili za IPA kwenye iOS na faili za APK kwenye Android. Miongozo na ufumbuzi wa matatizo yanaweza kupatikana kwenye yalujailbreak.net.
libimobiledevice: Maktaba kwa ajili ya Linux na macOS kuwasiliana na vifaa vya iOS. Amri za ufungaji na mifano ya matumizi ya ideviceinstaller zinatolewa kwa ajili ya kufunga programu kupitia USB.
ipainstaller: Zana hii ya mstari wa amri inaruhusu ufungaji wa moja kwa moja wa programu kwenye vifaa vya iOS.
ios-deploy: Kwa watumiaji wa macOS, ios-deploy inafunga programu za iOS kutoka kwenye mstari wa amri. Kufungua IPA na kutumia lipo -m
kwa ajili ya uzinduzi wa moja kwa moja wa programu ni sehemu ya mchakato.
Xcode: Tumia Xcode kufunga programu kwa kuingia kwenye Window/Devices and Simulators na kuongeza programu kwenye Installed Apps.
Ili kufunga programu maalum za iPad kwenye vifaa vya iPhone au iPod touch, thamani ya UIDeviceFamily katika faili ya Info.plist inahitaji kubadilishwa kuwa 1. Marekebisho haya, hata hivyo, yanahitaji kusaini tena faili ya IPA kutokana na ukaguzi wa uthibitisho wa sahihi.
Kumbuka: Njia hii inaweza kushindwa ikiwa programu inahitaji uwezo wa kipekee kwa mifano mipya ya iPad wakati ikitumia iPhone au iPod touch ya zamani.
Learn & practice AWS Hacking:HackTricks Training AWS Red Team Expert (ARTE) Learn & practice GCP Hacking: HackTricks Training GCP Red Team Expert (GRTE)