mirror of
https://github.com/carlospolop/hacktricks
synced 2024-11-22 12:43:23 +00:00
82 lines
6.1 KiB
Markdown
82 lines
6.1 KiB
Markdown
# Xamarin aplikacije
|
|
|
|
<details>
|
|
|
|
<summary><strong>Naučite hakovanje AWS-a od nule do heroja sa</strong> <a href="https://training.hacktricks.xyz/courses/arte"><strong>htARTE (HackTricks AWS Red Team Expert)</strong></a><strong>!</strong></summary>
|
|
|
|
Drugi načini podrške HackTricks-u:
|
|
|
|
* Ako želite da vidite **vašu kompaniju reklamiranu na HackTricks-u** ili **preuzmete HackTricks u PDF formatu** proverite [**SUBSCRIPTION PLANS**](https://github.com/sponsors/carlospolop)!
|
|
* Nabavite [**zvanični PEASS & HackTricks swag**](https://peass.creator-spring.com)
|
|
* Otkrijte [**The PEASS Family**](https://opensea.io/collection/the-peass-family), našu kolekciju ekskluzivnih [**NFT-ova**](https://opensea.io/collection/the-peass-family)
|
|
* **Pridružite se** 💬 [**Discord grupi**](https://discord.gg/hRep4RUj7f) ili [**telegram grupi**](https://t.me/peass) ili nas **pratite** na **Twitter-u** 🐦 [**@carlospolopm**](https://twitter.com/hacktricks_live)**.**
|
|
* **Podelite svoje hakovanje trikove slanjem PR-ova na** [**HackTricks**](https://github.com/carlospolop/hacktricks) i [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github repozitorijume.
|
|
|
|
</details>
|
|
|
|
Ovo je sažetak blog posta [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)
|
|
|
|
## **Osnovne informacije**
|
|
|
|
Xamarin je **open-source platforma** dizajnirana za razvoj aplikacija za iOS, Android i Windows koristeći .NET i C# framework-ove. Ova platforma pruža pristup brojnim alatima i ekstenzijama za efikasno kreiranje modernih aplikacija.
|
|
|
|
### Xamarin-ova arhitektura
|
|
|
|
- Za **Android**, Xamarin se integriše sa Android i Java namespace-ovima putem .NET veza, radeći unutar Mono izvršnog okruženja zajedno sa Android Runtime-om (ART). Managed Callable Wrappers (MCW) i Android Callable Wrappers (ACW) olakšavaju komunikaciju između Mono-a i ART-a, koji su oboje izgrađeni na Linux kernelu.
|
|
- Za **iOS**, aplikacije se izvršavaju pod Mono runtime-om, koristeći potpunu Ahead of Time (AOT) kompilaciju za pretvaranje C# .NET koda u ARM asemblerski jezik. Ovaj proces se izvršava zajedno sa Objective-C Runtime-om na UNIX-sličnom kernelu.
|
|
|
|
### .NET Runtime i Mono Framework
|
|
|
|
**.NET framework** uključuje skupove, klase i namespace-ove za razvoj aplikacija, pri čemu .NET Runtime upravlja izvršenjem koda. On nudi platformsku nezavisnost i kompatibilnost unazad. **Mono Framework** je open-source verzija .NET framework-a, pokrenuta 2005. godine da bi se .NET proširio na Linux, sada podržana od strane Microsoft-a i vođena od strane Xamarin-a.
|
|
|
|
### Reverse inženjering Xamarin aplikacija
|
|
|
|
#### Dekompilacija Xamarin Assembly-ja
|
|
|
|
Dekompilacija transformiše kompilirani kod nazad u izvorni kod. Na Windows-u, prozor Moduli u Visual Studio-u može identifikovati module za dekompilaciju, omogućavajući direktni pristup kodu treće strane i izvlačenje izvornog koda radi analize.
|
|
|
|
#### JIT vs AOT kompilacija
|
|
|
|
- **Android** podržava Just-In-Time (JIT) i Ahead-Of-Time (AOT) kompilaciju, sa Hibridnim AOT režimom za optimalnu brzinu izvršenja. Potpuna AOT je ekskluzivna za Enterprise licence.
|
|
- **iOS** isključivo koristi AOT kompilaciju zbog Apple-ovih ograničenja u vezi izvršavanja dinamičkog koda.
|
|
|
|
### Izdvajanje dll fajlova iz APK/IPA
|
|
|
|
Da biste pristupili skupovima u APK/IPA fajlu, raspakujte fajl i istražite direktorijum skupova. Za Android, alati poput [XamAsmUnZ](https://github.com/cihansol/XamAsmUnZ) i [xamarin-decompress](https://github.com/NickstaDB/xamarin-decompress) mogu dekompresovati dll fajlove.
|
|
```bash
|
|
python3 xamarin-decompress.py -o /path/to/decompressed/apk
|
|
```
|
|
Za skupove montaže u Androidu, [pyxamstore](https://github.com/jakev/pyxamstore) može ih raspakovati.
|
|
```bash
|
|
pyxamstore unpack -d /path/to/decompressed/apk/assemblies/
|
|
```
|
|
iOS dll datoteke su lako dostupne za dekompilaciju, otkrivajući značajne delove koda aplikacije, koji često dele zajedničku osnovu na različitim platformama.
|
|
|
|
### Dinamička analiza
|
|
|
|
Dinamička analiza uključuje proveru SSL pinning-a i korišćenje alata poput [Fridax](https://github.com/NorthwaveSecurity/fridax) za izvršne modifikacije .NET binarnih fajlova u Xamarin aplikacijama. Frida skripte su dostupne za zaobilaženje detekcije root-a ili SSL pinning-a, poboljšavajući mogućnosti analize.
|
|
|
|
Druga interesantna Frida skripta:
|
|
|
|
* [**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)
|
|
|
|
|
|
## Dodatne informacije
|
|
* [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>
|
|
|
|
<summary><strong>Naučite hakovanje AWS-a od nule do heroja sa</strong> <a href="https://training.hacktricks.xyz/courses/arte"><strong>htARTE (HackTricks AWS Red Team Expert)</strong></a><strong>!</strong></summary>
|
|
|
|
Drugi načini podrške HackTricks-u:
|
|
|
|
* Ako želite da vidite **vašu kompaniju oglašenu na HackTricks-u** ili **preuzmete HackTricks u PDF formatu** proverite [**SUBSCRIPTION PLANS**](https://github.com/sponsors/carlospolop)!
|
|
* Nabavite [**zvanični PEASS & HackTricks swag**](https://peass.creator-spring.com)
|
|
* Otkrijte [**The PEASS Family**](https://opensea.io/collection/the-peass-family), našu kolekciju ekskluzivnih [**NFT-ova**](https://opensea.io/collection/the-peass-family)
|
|
* **Pridružite se** 💬 [**Discord grupi**](https://discord.gg/hRep4RUj7f) ili [**telegram grupi**](https://t.me/peass) ili nas **pratite** na **Twitter-u** 🐦 [**@carlospolopm**](https://twitter.com/hacktricks_live)**.**
|
|
* **Podelite svoje hakovanje trikove slanjem PR-ova na** [**HackTricks**](https://github.com/carlospolop/hacktricks) i [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github repozitorijume.
|
|
|
|
</details>
|