hacktricks/mobile-pentesting/xamarin-apps.md

11 KiB

Xamarin Apps

जीरो से हीरो तक AWS हैकिंग सीखें htARTE (HackTricks AWS Red Team Expert) के साथ!

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

यह एक सारांश है ब्लॉग पोस्ट का https://www.appknox.com/security/xamarin-reverse-engineering-a-guide-for-penetration-testers

मूल जानकारी

Xamarin एक ओपन-सोर्स प्लेटफॉर्म है जो डेवलपर्स को .NET और C# फ्रेमवर्क का उपयोग करके iOS, Android, और Windows के लिए ऐप्स बनाने के लिए डिज़ाइन किया गया है। यह प्लेटफॉर्म मॉडर्न एप्लिकेशन अभिकलन के लिए कई उपकरण और एक्सटेंशन का उपयोग करने की सुविधा प्रदान करता है।

Xamarin की वास्तुकला

  • Android के लिए, Xamarin Android और जावा नेमस्पेस को .NET बाइंडिंग के माध्यम से एकीकृत करता है, जो Android Runtime (ART) के साथ मोनो निष्पादन वातावरण के भीतर कार्य करता है। Managed Callable Wrappers (MCW) और Android Callable Wrappers (ACW) Mono और ART के बीच संचार को सुविधाजनक बनाते हैं, जो दोनों लिनक्स कर्नेल पर आधारित हैं।
  • iOS के लिए, एप्लिकेशन मोनो रनटाइम के तहत चलते हैं, C# .NET कोड को ARM असेंबली भाषा में रूपांतरित करने के लिए पूर्ण Ahead of Time (AOT) कॉम्पाइलेशन का उपयोग करते हैं। यह प्रक्रिया यूनिक्स-जैसे कर्नेल पर Objective-C रनटाइम के साथ चलती है।

.NET रनटाइम और मोनो फ्रेमवर्क

.NET फ्रेमवर्क एप्लिकेशन विकास के लिए एसेम्ब्ली, क्लास, और नेमस्पेस शामिल करता है, जबकि .NET रनटाइम कोड निष्पादन का प्रबंधन करता है। यह प्लेटफॉर्म स्वतंत्रता और पिछली संगतता प्रदान करता है। मोनो फ्रेमवर्क एक ओपन-सोर्स संस्करण है जो 2005 में शुरू किया गया था ताकि .NET को लिनक्स तक फैलाया जा सके, जो अब माइक्रोसॉफ्ट द्वारा समर्थित है और Xamarin द्वारा नेतृत्व किया जाता है।

Xamarin ऐप्स का रिवर्स इंजीनियरिंग

Xamarin एसेम्ब्लीज का डीकॉम्पाइलेशन

डीकॉम्पाइलेशन संकलित कोड को मूल कोड में वापस रूपांतरित करता है। Windows में, Visual Studio के Modules विंडो में मॉड्यूल्स को डीकॉम्पाइल करने के लिए पहचान सकता है, जिससे तीसरे पक्ष कोड का सीधा उपयोग करने और विश्लेषण के लिए मूल कोड को निकालने की सुविधा होती है।

JIT vs AOT कॉम्पाइलेशन

  • Android JIT और AOT कॉम्पाइलेशन का समर्थन करता है, जिसमें श्रेष्ठ निष्पादन गति के लिए हाइब्रिड AOT मोड शामिल है। पूर्ण AOT केवल एंटरप्राइज लाइसेंस के लिए है।
  • iOS केवल AOT कॉम्पाइलेशन का उपयोग करता है क्योंकि Apple ने डायनेमिक कोड निष्पादन पर प्रतिबंध लगाया है।

APK/IPA से dll फ़ाइलों को निकालना

APK/IPA में एसेम्ब्लीज तक पहुंचने के लिए, फ़ाइल को अनज़िप करें और एसेम्ब्लीज डायरेक्टरी की जांच करें। Android के लिए, XamAsmUnZ और xamarin-decompress जैसे उपकरण dll फ़ाइलों को अनज़िप कर सकते हैं।

python3 xamarin-decompress.py -o /path/to/decompressed/apk

Android में एसेम्बली ब्लॉब्स के लिए, pyxamstore उन्हें अनपैक कर सकता है।

pyxamstore unpack -d /path/to/decompressed/apk/assemblies/

iOS dll फ़ाइलें आसानी से डीकॉम्पाइल के लिए उपलब्ध होती हैं, जो अनुप्रयोग कोड के महत्वपूर्ण हिस्से उजागर करती हैं, जो अक्सर विभिन्न प्लेटफ़ॉर्मों पर एक सामान्य आधार साझा करता है।

गतिशील विश्लेषण

गतिशील विश्लेषण में SSL पिनिंग की जांच और Xamarin ऐप्स में .NET बाइनरी के रनटाइम संशोधन के लिए Fridax जैसे उपकरणों का उपयोग शामिल है। Frida स्क्रिप्ट्स उपलब्ध हैं जो रूट का पता लगाने या SSL पिनिंग को दुरुस्त करने में मदद करते हैं, विश्लेषण क्षमताओं को बढ़ाते हैं।

अन्य दिलचस्प Frida स्क्रिप्ट्स:

अधिक जानकारी

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

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