mirror of
https://github.com/carlospolop/hacktricks
synced 2024-12-13 23:02:57 +00:00
84 lines
9.4 KiB
Markdown
84 lines
9.4 KiB
Markdown
# Xamarin Apps
|
|
|
|
{% hint style="success" %}
|
|
Learn & practice AWS Hacking:<img src="/.gitbook/assets/arte.png" alt="" data-size="line">[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)<img src="/.gitbook/assets/arte.png" alt="" data-size="line">\
|
|
Learn & practice GCP Hacking: <img src="/.gitbook/assets/grte.png" alt="" data-size="line">[**HackTricks Training GCP Red Team Expert (GRTE)**<img src="/.gitbook/assets/grte.png" alt="" data-size="line">](https://training.hacktricks.xyz/courses/grte)
|
|
|
|
<details>
|
|
|
|
<summary>Support HackTricks</summary>
|
|
|
|
* Check the [**subscription plans**](https://github.com/sponsors/carlospolop)!
|
|
* **Join the** ЁЯТм [**Discord group**](https://discord.gg/hRep4RUj7f) or the [**telegram group**](https://t.me/peass) or **follow** us on **Twitter** ЁЯРж [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)**.**
|
|
* **Share hacking tricks by submitting PRs to the** [**HackTricks**](https://github.com/carlospolop/hacktricks) and [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github repos.
|
|
|
|
</details>
|
|
{% endhint %}
|
|
|
|
рдпрд╣ [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) рдмреНрд▓реЙрдЧ рдкреЛрд╕реНрдЯ рдХрд╛ рд╕рд╛рд░рд╛рдВрд╢ рд╣реИред
|
|
|
|
## **рдмреБрдирд┐рдпрд╛рджреА рдЬрд╛рдирдХрд╛рд░реА**
|
|
|
|
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](https://github.com/cihansol/XamAsmUnZ) рдФрд░ [xamarin-decompress](https://github.com/NickstaDB/xamarin-decompress) рдЬреИрд╕реЗ рдЙрдкрдХрд░рдг dll рдлрд╝рд╛рдЗрд▓реЛрдВ рдХреЛ рдЕрдирдХрдВрдкреНрд░реЗрд╕ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред
|
|
```bash
|
|
python3 xamarin-decompress.py -o /path/to/decompressed/apk
|
|
```
|
|
Android рдореЗрдВ assembly blobs рдХреЗ рд▓рд┐рдП, [pyxamstore](https://github.com/jakev/pyxamstore) рдЙрдиреНрд╣реЗрдВ рдЕрдирдкреИрдХ рдХрд░ рд╕рдХрддрд╛ рд╣реИред
|
|
```bash
|
|
pyxamstore unpack -d /path/to/decompressed/apk/assemblies/
|
|
```
|
|
iOS dll рдлрд╝рд╛рдЗрд▓реЗрдВ рдбрд┐рдХрдВрдкрд╛рдЗрд▓ рдХреЗ рд▓рд┐рдП рдЖрд╕рд╛рдиреА рд╕реЗ рдЙрдкрд▓рдмреНрдз рд╣реИрдВ, рдЬреЛ рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдХреЛрдб рдХреЗ рдорд╣рддреНрд╡рдкреВрд░реНрдг рд╣рд┐рд╕реНрд╕реЛрдВ рдХреЛ рдкреНрд░рдХрдЯ рдХрд░рддреА рд╣реИрдВ, рдЬреЛ рдЕрдХреНрд╕рд░ рд╡рд┐рднрд┐рдиреНрди рдкреНрд▓реЗрдЯрдлрд╛рд░реНрдореЛрдВ рдореЗрдВ рдПрдХ рд╕рд╛рдорд╛рдиреНрдп рдЖрдзрд╛рд░ рд╕рд╛рдЭрд╛ рдХрд░рддреА рд╣реИрдВред
|
|
|
|
### рдбрд╛рдпрдирд╛рдорд┐рдХ рдПрдирд╛рд▓рд┐рд╕рд┐рд╕
|
|
|
|
рдбрд╛рдпрдирд╛рдорд┐рдХ рдПрдирд╛рд▓рд┐рд╕рд┐рд╕ рдореЗрдВ SSL рдкрд┐рдирд┐рдВрдЧ рдХреА рдЬрд╛рдВрдЪ рдХрд░рдирд╛ рдФрд░ Xamarin рдРрдкреНрд╕ рдореЗрдВ .NET рдмрд╛рдЗрдирд░реА рдХреЗ рд░рдирдЯрд╛рдЗрдо рд╕рдВрд╢реЛрдзрдиреЛрдВ рдХреЗ рд▓рд┐рдП [Fridax](https://github.com/NorthwaveSecurity/fridax) рдЬреИрд╕реЗ рдЯреВрд▓ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдирд╛ рд╢рд╛рдорд┐рд▓ рд╣реИред рд░реВрдЯ рдбрд┐рдЯреЗрдХреНрд╢рди рдпрд╛ SSL рдкрд┐рдирд┐рдВрдЧ рдХреЛ рдмрд╛рдпрдкрд╛рд╕ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП Frida рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдЙрдкрд▓рдмреНрдз рд╣реИрдВ, рдЬреЛ рд╡рд┐рд╢реНрд▓реЗрд╖рдг рдХреНрд╖рдорддрд╛рдУрдВ рдХреЛ рдмрдврд╝рд╛рддреА рд╣реИрдВред
|
|
|
|
рдЕрдиреНрдп рджрд┐рд▓рдЪрд╕реНрдк Frida рд╕реНрдХреНрд░рд┐рдкреНрдЯ:
|
|
|
|
* [**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)
|
|
|
|
|
|
## рдЖрдЧреЗ рдХреА рдЬрд╛рдирдХрд╛рд░реА
|
|
* [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/)
|
|
|
|
{% hint style="success" %}
|
|
Learn & practice AWS Hacking:<img src="/.gitbook/assets/arte.png" alt="" data-size="line">[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)<img src="/.gitbook/assets/arte.png" alt="" data-size="line">\
|
|
Learn & practice GCP Hacking: <img src="/.gitbook/assets/grte.png" alt="" data-size="line">[**HackTricks Training GCP Red Team Expert (GRTE)**<img src="/.gitbook/assets/grte.png" alt="" data-size="line">](https://training.hacktricks.xyz/courses/grte)
|
|
|
|
<details>
|
|
|
|
<summary>Support HackTricks</summary>
|
|
|
|
* Check the [**subscription plans**](https://github.com/sponsors/carlospolop)!
|
|
* **Join the** ЁЯТм [**Discord group**](https://discord.gg/hRep4RUj7f) or the [**telegram group**](https://t.me/peass) or **follow** us on **Twitter** ЁЯРж [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)**.**
|
|
* **Share hacking tricks by submitting PRs to the** [**HackTricks**](https://github.com/carlospolop/hacktricks) and [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github repos.
|
|
|
|
</details>
|
|
{% endhint %}
|