6.1 KiB
Xamarin Apps
Leer AWS-hacking van nul tot held met htARTE (HackTricks AWS Red Team Expert)!
Ander maniere om HackTricks te ondersteun:
- As jy jou maatskappy geadverteer wil sien in HackTricks of HackTricks in PDF wil aflaai, kyk na die SUBSCRIPTION PLANS!
- Kry die amptelike PEASS & HackTricks swag
- Ontdek The PEASS Family, ons versameling eksklusiewe NFTs
- Sluit aan by die 💬 Discord-groep of die telegram-groep of volg ons op Twitter 🐦 @carlospolopm.
- Deel jou hacktruuks deur PR's in te dien by die HackTricks en HackTricks Cloud github-repos.
Hierdie is 'n opsomming van die blogpos https://www.appknox.com/security/xamarin-reverse-engineering-a-guide-for-penetration-testers
Basiese Inligting
Xamarin is 'n open-source platform wat ontwikkel is vir ontwikkelaars om programme vir iOS, Android en Windows te bou met behulp van die .NET en C# raamwerke. Hierdie platform bied toegang tot verskeie gereedskap en uitbreidings om moderne toepassings doeltreffend te skep.
Xamarin se Argitektuur
- Vir Android integreer Xamarin met Android- en Java-naamruimtes deur .NET-bindings, wat binne die Mono-uitvoeringsomgewing saam met die Android Runtime (ART) werk. Managed Callable Wrappers (MCW) en Android Callable Wrappers (ACW) fasiliteer kommunikasie tussen Mono en ART, wat albei op die Linux-kernel gebaseer is.
- Vir iOS loop programme onder die Mono-runtime en maak volledige Ahead of Time (AOT) samestelling gebruik om C# .NET-kode na ARM-assambleertaal om te skakel. Hierdie proses loop saam met die Objective-C Runtime op 'n UNIX-soortgelyke kernel.
.NET Runtime en Mono Raamwerk
Die .NET-raamwerk sluit samestellings, klasse en naamruimtes vir toepassingsontwikkeling in, met die .NET Runtime wat kode-uitvoering bestuur. Dit bied platform-onafhanklikheid en agterwaartse versoenbaarheid. Die Mono-raamwerk is 'n open-source weergawe van die .NET-raamwerk, wat in 2005 begin is om .NET na Linux uit te brei, en word nou ondersteun deur Microsoft en gelei deur Xamarin.
Reverse Engineering van Xamarin Apps
Decompilering van Xamarin-samestellings
Decompilering omskep saamgestelde kode terug na bronkode. In Windows kan die Modules-venster in Visual Studio modules identifiseer vir decompilering, wat direkte toegang tot derdeparty-kode en die onttrekking van bronkode vir analise moontlik maak.
JIT vs AOT Samestelling
- Android ondersteun Just-In-Time (JIT) en Ahead-Of-Time (AOT) samestelling, met 'n Hybrid AOT-modus vir optimale uitvoerspoed. Volledige AOT is eksklusief vir Enterprise-lisensies.
- iOS gebruik slegs AOT-samestelling as gevolg van Apple se beperkings op dinamiese kode-uitvoering.
Onttrekking van dll-lêers uit APK/IPA
Om toegang te verkry tot die samestellings in 'n APK/IPA, pak die lêer uit en verken die samestellingsgids. Vir Android kan gereedskap soos XamAsmUnZ en xamarin-decompress dll-lêers ontkomprimeer.
python3 xamarin-decompress.py -o /path/to/decompressed/apk
Vir saamgestelde blobs in Android, kan pyxamstore hulle uitpak.
pyxamstore unpack -d /path/to/decompressed/apk/assemblies/
iOS dll-lêers is maklik toeganklik vir dekompilering, wat beduidende dele van die toepassingskode onthul, wat dikwels 'n gemeenskaplike basis deel oor verskillende platforms.
Dinamiese Analise
Dinamiese analise behels die nagaan van SSL-pinning en die gebruik van hulpmiddels soos Fridax vir tydveranderinge van die .NET-binêre lêer in Xamarin-toepassings. Frida-skripte is beskikbaar om wortelopsporing of SSL-pinning te omseil en analise-vermoëns te verbeter.
Ander interessante Frida-skripte:
Verdere inligting
- https://www.appknox.com/security/xamarin-reverse-engineering-a-guide-for-penetration-testers
- https://thecobraden.com/posts/unpacking_xamarin_assembly_stores/
Leer AWS-hacking van nul tot held met htARTE (HackTricks AWS Red Team Expert)!
Ander maniere om HackTricks te ondersteun:
- As jy jou maatskappy in HackTricks wil adverteer of HackTricks in PDF wil aflaai, kyk na die SUBSCRIPTION PLANS!
- Kry die amptelike PEASS & HackTricks-uitrusting
- Ontdek The PEASS Family, ons versameling eksklusiewe NFTs
- Sluit aan by die 💬 Discord-groep of die telegram-groep of volg ons op Twitter 🐦 @carlospolopm.
- Deel jou haktruuks deur PR's in te dien by die HackTricks en HackTricks Cloud github-opslag.