hacktricks/mobile-pentesting/xamarin-apps.md

83 lines
6.1 KiB
Markdown
Raw Normal View History

# Xamarin Apps
<details>
2024-02-11 02:07:06 +00:00
<summary><strong>Leer AWS-hacking van nul tot held met</strong> <a href="https://training.hacktricks.xyz/courses/arte"><strong>htARTE (HackTricks AWS Red Team Expert)</strong></a><strong>!</strong></summary>
2024-02-11 02:07:06 +00:00
Ander maniere om HackTricks te ondersteun:
2024-01-05 11:02:33 +00:00
2024-02-11 02:07:06 +00:00
* As jy jou **maatskappy geadverteer wil sien in HackTricks** of **HackTricks in PDF wil aflaai**, kyk na die [**SUBSCRIPTION PLANS**](https://github.com/sponsors/carlospolop)!
* Kry die [**amptelike PEASS & HackTricks swag**](https://peass.creator-spring.com)
* Ontdek [**The PEASS Family**](https://opensea.io/collection/the-peass-family), ons versameling eksklusiewe [**NFTs**](https://opensea.io/collection/the-peass-family)
* **Sluit aan by die** 💬 [**Discord-groep**](https://discord.gg/hRep4RUj7f) of die [**telegram-groep**](https://t.me/peass) of **volg** ons op **Twitter** 🐦 [**@carlospolopm**](https://twitter.com/hacktricks_live)**.**
* **Deel jou hacktruuks deur PR's in te dien by die** [**HackTricks**](https://github.com/carlospolop/hacktricks) en [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github-repos.
</details>
2024-02-11 02:07:06 +00:00
Hierdie is 'n opsomming van die blogpos [https://www.appknox.com/security/xamarin-reverse-engineering-a-guide-for-penetration-testers](https://www.appknox.com/security/xamarin-reverse-engineering-a-guide-for-penetration-testers)
2024-02-11 02:07:06 +00:00
## **Basiese Inligting**
2024-02-11 02:07:06 +00:00
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.
2024-02-11 02:07:06 +00:00
### Xamarin se Argitektuur
2024-02-11 02:07:06 +00:00
- 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.
2024-02-11 02:07:06 +00:00
### .NET Runtime en Mono Raamwerk
2024-02-11 02:07:06 +00:00
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.
2024-02-11 02:07:06 +00:00
### Reverse Engineering van Xamarin Apps
2024-02-11 02:07:06 +00:00
#### Decompilering van Xamarin-samestellings
2024-02-11 02:07:06 +00:00
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.
2024-02-11 02:07:06 +00:00
#### JIT vs AOT Samestelling
2024-02-11 02:07:06 +00:00
- **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.
2024-02-11 02:07:06 +00:00
### Onttrekking van dll-lêers uit APK/IPA
2024-02-11 02:07:06 +00:00
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](https://github.com/cihansol/XamAsmUnZ) en [xamarin-decompress](https://github.com/NickstaDB/xamarin-decompress) dll-lêers ontkomprimeer.
2024-02-08 03:06:37 +00:00
```bash
python3 xamarin-decompress.py -o /path/to/decompressed/apk
```
2024-02-11 02:07:06 +00:00
Vir saamgestelde blobs in Android, kan [pyxamstore](https://github.com/jakev/pyxamstore) hulle uitpak.
2024-02-08 03:06:37 +00:00
```bash
pyxamstore unpack -d /path/to/decompressed/apk/assemblies/
```
2024-02-11 02:07:06 +00:00
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.
2024-02-11 02:07:06 +00:00
### Dinamiese Analise
2024-02-11 02:07:06 +00:00
Dinamiese analise behels die nagaan van SSL-pinning en die gebruik van hulpmiddels soos [Fridax](https://github.com/NorthwaveSecurity/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.
2024-02-11 02:07:06 +00:00
Ander interessante Frida-skripte:
* [**xamarin-antiroot**](https://codeshare.frida.re/@Gand3lf/xamarin-antiroot/)
* [**xamarin-root-detect-bypass**](https://codeshare.frida.re/@nuschpl/xamarin-root-detect-bypass/)
* [**Frida-xamarin-unpin**](https://github.com/GoSecure/frida-xamarin-unpin)
2024-02-11 02:07:06 +00:00
## Verdere inligting
* [https://www.appknox.com/security/xamarin-reverse-engineering-a-guide-for-penetration-testers](https://www.appknox.com/security/xamarin-reverse-engineering-a-guide-for-penetration-testers)
* [https://thecobraden.com/posts/unpacking\_xamarin\_assembly\_stores/](https://thecobraden.com/posts/unpacking\_xamarin\_assembly\_stores/)
<details>
2024-02-11 02:07:06 +00:00
<summary><strong>Leer AWS-hacking van nul tot held met</strong> <a href="https://training.hacktricks.xyz/courses/arte"><strong>htARTE (HackTricks AWS Red Team Expert)</strong></a><strong>!</strong></summary>
2024-02-11 02:07:06 +00:00
Ander maniere om HackTricks te ondersteun:
2024-01-05 11:02:33 +00:00
2024-02-11 02:07:06 +00:00
* As jy jou **maatskappy in HackTricks wil adverteer** of **HackTricks in PDF wil aflaai**, kyk na die [**SUBSCRIPTION PLANS**](https://github.com/sponsors/carlospolop)!
* Kry die [**amptelike PEASS & HackTricks-uitrusting**](https://peass.creator-spring.com)
* Ontdek [**The PEASS Family**](https://opensea.io/collection/the-peass-family), ons versameling eksklusiewe [**NFTs**](https://opensea.io/collection/the-peass-family)
* **Sluit aan by die** 💬 [**Discord-groep**](https://discord.gg/hRep4RUj7f) of die [**telegram-groep**](https://t.me/peass) of **volg** ons op **Twitter** 🐦 [**@carlospolopm**](https://twitter.com/hacktricks_live)**.**
* **Deel jou haktruuks deur PR's in te dien by die** [**HackTricks**](https://github.com/carlospolop/hacktricks) en [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github-opslag.
</details>