Xamarin Apps

tip

AWS हैकिंग सीखें और अभ्यास करें:HackTricks Training AWS Red Team Expert (ARTE)
GCP हैकिंग सीखें और अभ्यास करें: HackTricks Training GCP Red Team Expert (GRTE) Azure हैकिंग सीखें और अभ्यास करें: HackTricks Training Azure Red Team Expert (AzRTE)

HackTricks का समर्थन करें

बुनियादी जानकारी

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

Xamarin की आर्किटेक्चर

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

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

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

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

Xamarin असेंबली का डिकंपाइल करना

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

JIT बनाम AOT संकलन

  • Android Just-In-Time (JIT) और Ahead-Of-Time (AOT) संकलन का समर्थन करता है, जिसमें अनुकूल निष्पादन गति के लिए एक हाइब्रिड AOT मोड है। पूर्ण AOT केवल एंटरप्राइज लाइसेंस के लिए विशेष है।
  • iOS केवल AOT संकलन का उपयोग करता है क्योंकि Apple के गतिशील कोड निष्पादन पर प्रतिबंध हैं।

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

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

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

ऐसे मामलों में जहां APK को डिकंपाइल करने के बाद अज्ञात/assemblies/ फ़ोल्डर में .dll फ़ाइलें देखी जा सकती हैं, इसलिए .dlls पर सीधे विश्लेषण करने के लिए dnSpy का उपयोग करना संभव है।
हालांकि, कभी-कभी, अज्ञात/assemblies/ फ़ोल्डर के अंदर assemblies.blob और assemblies.manifest फ़ाइलें पाई जाती हैं। Xamarin ऐप्स में assemblies.blob फ़ाइल को अनपैक करने के लिए उपकरण pyxamstore का उपयोग किया जा सकता है, जो आगे के विश्लेषण के लिए .NET assemblies तक पहुंच की अनुमति देता है:

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

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

स्थैतिक विश्लेषण

एक बार जब .dll प्राप्त हो जाती हैं, तो .Net कोड का स्थैतिक विश्लेषण करना संभव है, जैसे कि dnSpy या ILSpy जो ऐप के कोड को संशोधित करने की अनुमति देगा। यह एप्लिकेशन को संशोधित करने के लिए बहुत उपयोगी हो सकता है ताकि सुरक्षा को बायपास किया जा सके।
ध्यान दें कि ऐप को संशोधित करने के बाद, आपको इसे फिर से पैक करना होगा और फिर से साइन करना होगा।

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

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

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

फिर से साइन करना

उपकरण Uber APK Signer एक ही कुंजी के साथ कई APKs को साइन करना सरल बनाता है, और इसे ऐप में किए गए परिवर्तनों के बाद फिर से साइन करने के लिए उपयोग किया जा सकता है।

आगे की जानकारी

tip

AWS हैकिंग सीखें और अभ्यास करें:HackTricks Training AWS Red Team Expert (ARTE)
GCP हैकिंग सीखें और अभ्यास करें: HackTricks Training GCP Red Team Expert (GRTE) Azure हैकिंग सीखें और अभ्यास करें: HackTricks Training Azure Red Team Expert (AzRTE)

HackTricks का समर्थन करें