hacktricks/mobile-pentesting/ios-pentesting/ios-hooking-with-objection.md

11 KiB

जानें AWS हैकिंग को शून्य से हीरो तक htARTE (HackTricks AWS Red Team Expert)!

दूसरे तरीके HackTricks का समर्थन करने के लिए:

इस खंड के लिए उपकरण Objection का उपयोग किया जाएगा।
किसी चीज को निष्पादित करने के लिए एक आपत्ति का सत्र प्रारंभ करें:

objection -d --gadget "iGoat-Swift" explore
objection -d --gadget "OWASP.iGoat-Swift" explore
आप फोन के चल रहे प्रक्रियाओं की जांच के लिए `frida-ps -Uia` भी चला सकते हैं।

# ऐप की मूल सूचीकरण

## स्थानीय ऐप पथ

*   `env`: डिवाइस के अंदर ऐप्लिकेशन स्टोर किए गए स्थानों को खोजें

```bash
env

नाम               पथ
-----------------  -----------------------------------------------------------------------------------------------
BundlePath         /private/var/containers/Bundle/Application/179A6E8B-E7A8-476E-BBE3-B9300F546068/iGoat-Swift.app
CachesDirectory    /var/mobile/Containers/Data/Application/A079DF84-726C-4AEA-A194-805B97B3684A/Library/Caches
DocumentDirectory  /var/mobile/Containers/Data/Application/A079DF84-726C-4AEA-A194-805B97B3684A/Documents
LibraryDirectory   /var/mobile/Containers/Data/Application/A079DF84-726C-4AEA-A194-805B97B3684A/Library

बंडल, फ्रेमवर्क और पुस्तकालयों की सूची

  • ios bundles list_bundles: ऐप्लिकेशन के बंडल की सूची देखें
ios bundles list_bundles
Executable    Bundle                Version    Path
------------  --------------------  ---------  -------------------------------------------
iGoat-Swift   OWASP.iGoat-Swift     1.0        ...8-476E-BBE3-B9300F546068/iGoat-Swift.app
AGXMetalA9    com.apple.AGXMetalA9  172.18.4   ...tem/Library/Extensions/AGXMetalA9.bundle
  • ios bundles list_frameworks: ऐप्लिकेशन द्वारा उपयोग किए गए बाह्य फ्रेमवर्क की सूची देखें
ios bundles list_frameworks
Executable                      Bundle                                        Version     Path
------------------------------  --------------------------------------------  ----------  -------------------------------------------
ReactCommon                     org.cocoapods.ReactCommon                     0.61.5      ...tle.app/Frameworks/ReactCommon.framework
...
  • memory list modules: मेमोरी में लोड किए गए मॉड्यूल की सूची देखें
memory list modules
Name                                 Base         Size                 Path
-----------------------------------  -----------  -------------------  ------------------------------------------------------------------------------
iGoat-Swift                          0x104ffc000  2326528 (2.2 MiB)    /private/var/containers/Bundle/Application/179A6E8B-E7A8-476E-BBE3-B9300F54...
SubstrateBootstrap.dylib             0x105354000  16384 (16.0 KiB)     /usr/lib/substrate/SubstrateBootstrap.dylib
...
  • memory list exports <module_name>: लोड किए गए मॉड्यूल के निर्यात देखें
memory list exports iGoat-Swift
Type      Name                                                                                                                                    Address
--------  --------------------------------------------------------------------------------------------------------------------------------------  -----------
variable  _mh_execute_header                                                                                                                      0x104ffc000
function  _mdictof                                                                                                                                0x10516cb88
...

ऐप की कक्षाओं की सूची

  • ios hooking list classes: ऐप की कक्षाओं की सूची देखें
ios hooking list classes

AAAbsintheContext
AAAbsintheSigner
...
  • ios hooking search classes <search_term>: एक ऐसी कक्षा की खोजें जो एक स्ट्रिंग को शामिल करती है। आप मुख्य ऐप पैकेज नाम से संबंधित कुछ अद्वितीय शब्द खोज सकते हैं ताकि ऐप की मुख्य कक्षाएं मिलें।
ios hooking search classes iGoat
iGoat_Swift.CoreDataHelper
iGoat_Swift.RCreditInfo
...

कक्षा विधियों की सूची

  • ios hooking list class_methods: एक विशिष्ट कक्षा की विधियों की सूची देखें
ios hooking list class_methods iGoat_Swift.RCreditInfo
- cvv
- setCvv:
- setName:
...
  • ios hooking search methods <search_term>: एक विधि की खोज करें जो एक स्ट्रिंग को शामिल करती है
ios hooking search methods cvv
...

मूल फिशिंग

अब जब आपने ऐप्लिकेशन द्वारा उपयोग की जाने वाली कक्षाओं और मॉड्यूलों की सूची बना ली है, तो आपने कुछ रोचक कक्षा और विधि नाम पाए होंगे।

एक कक्षा की सभी विधियों को हुक करें

  • ios hooking watch class <class_name>: एक कक्षा की सभी विधियों को हुक करें, प्रारंभिक पैरामीटर और रिटर्न को डंप करें
ios hooking watch class iGoat_Swift.PlistStorageExerciseViewController

एक एकल विधि को हुक करें

  • ios hooking watch method "-[<class_name> <method_name>]" --dump-args --dump-return --dump-backtrace: एक कक्षा की विशिष्ट विधि को हुक करें, प्रारंभिक पैरामीटर, बैकट्रेस और वापसी को हर बार डंप करें जब यह कॉल किया जाता है
ios hooking watch method "-[iGoat_Swift.BinaryCookiesExerciseVC verifyItemPressed]" --dump-args --dump-backtrace --dump-return

बूलियन रिटर्न बदलें

  • ios hooking set return_value "-[<class_name> <method_name>]" false: यह चयनित विधि को निर्दिष्ट बूलियन वापस करने के लिए करेगा
ios hooking set return_value "-[iGoat_Swift.BinaryCookiesExerciseVC verifyItemPressed]" false

हुकिंग टेम्पलेट उत्पन्न करें

  • ios hooking generate simple <class_name>:
ios hooking generate simple iGoat_Swift.RCreditInfo

var target = ObjC.classes.iGoat_Swift.RCreditInfo;

Interceptor.attach(target['+ sharedSchema'].implementation, {
onEnter: function (args) {
console.log('Entering + sharedSchema!');
},
onLeave: function (retval) {
console.log('Leaving + sharedSchema');
},
});


Interceptor.attach(target['+ className'].implementation, {
onEnter: function (args) {
console.log('Entering + className!');
},
onLeave: function (retval) {
console.log('Leaving + className');
},
});


Interceptor.attach(target['- cvv'].implementation, {
onEnter: function (args) {
console.log('Entering - cvv!');
},
onLeave: function (retval) {
console.log('Leaving - cvv');
},
});


Interceptor.attach(target['- setCvv:'].implementation, {
onEnter: function (args) {
console.log('Entering - setCvv:!');
},
onLeave: function (retval) {
console.log('Leaving - setCvv:');
},
});
htARTE (HackTricks AWS Red Team Expert) के साथ जीरो से हीरो तक AWS हैकिंग सीखें

HackTricks का समर्थन करने के अन्य तरीके:

```