Xamarin Apps
Reading time: 5 minutes
tip
AWS рд╣реИрдХрд┐рдВрдЧ рд╕реАрдЦреЗрдВ рдФрд░ рдЕрднреНрдпрд╛рд╕ рдХрд░реЗрдВ:HackTricks Training AWS Red Team Expert (ARTE)
GCP рд╣реИрдХрд┐рдВрдЧ рд╕реАрдЦреЗрдВ рдФрд░ рдЕрднреНрдпрд╛рд╕ рдХрд░реЗрдВ: HackTricks Training GCP Red Team Expert (GRTE)
HackTricks рдХрд╛ рд╕рдорд░реНрдерди рдХрд░реЗрдВ
- рд╕рджрд╕реНрдпрддрд╛ рдпреЛрдЬрдирд╛рдПрдБ рджреЗрдЦреЗрдВ!
- рд╣рдорд╛рд░реЗ ЁЯТм Discord рд╕рдореВрд╣ рдпрд╛ рдЯреЗрд▓реАрдЧреНрд░рд╛рдо рд╕рдореВрд╣ рдореЗрдВ рд╢рд╛рдорд┐рд▓ рд╣реЛрдВ рдпрд╛ рд╣рдорд╛рд░реЗ Twitter ЁЯРж @hacktricks_live** рдХрд╛ рдкрд╛рд▓рди рдХрд░реЗрдВред**
- рд╣реИрдХрд┐рдВрдЧ рдЯреНрд░рд┐рдХреНрд╕ рд╕рд╛рдЭрд╛ рдХрд░реЗрдВ рдФрд░ HackTricks рдФрд░ HackTricks Cloud рдЧрд┐рдЯрд╣рдм рд░рд┐рдкреЛрдЬрд┐рдЯрд░реА рдореЗрдВ PRs рд╕рдмрдорд┐рдЯ рдХрд░реЗрдВред
рдмреБрдирд┐рдпрд╛рджреА рдЬрд╛рдирдХрд╛рд░реА
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 рдлрд╝рд╛рдЗрд▓реЛрдВ рдХреЛ рдЕрдирдХрдВрдкреНрд░реЗрд╕ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред
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 рддрдХ рдкрд╣реБрдВрдЪ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрддрд╛ рд╣реИ:
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 рдХреЛ рд╕рд╛рдЗрди рдХрд░рдирд╛ рд╕рд░рд▓ рдмрдирд╛рддрд╛ рд╣реИ, рдФрд░ рдЗрд╕реЗ рдРрдк рдореЗрдВ рдХрд┐рдП рдЧрдП рдкрд░рд┐рд╡рд░реНрддрдиреЛрдВ рдХреЗ рдмрд╛рдж рдлрд┐рд░ рд╕реЗ рд╕рд╛рдЗрди рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред
рдЖрдЧреЗ рдХреА рдЬрд╛рдирдХрд╛рд░реА
- https://www.appknox.com/security/xamarin-reverse-engineering-a-guide-for-penetration-testers
- https://thecobraden.com/posts/unpacking_xamarin_assembly_stores/
- https://medium.com/@justmobilesec/introduction-to-the-exploitation-of-xamarin-apps-fde4619a51bf
tip
AWS рд╣реИрдХрд┐рдВрдЧ рд╕реАрдЦреЗрдВ рдФрд░ рдЕрднреНрдпрд╛рд╕ рдХрд░реЗрдВ:HackTricks Training AWS Red Team Expert (ARTE)
GCP рд╣реИрдХрд┐рдВрдЧ рд╕реАрдЦреЗрдВ рдФрд░ рдЕрднреНрдпрд╛рд╕ рдХрд░реЗрдВ: HackTricks Training GCP Red Team Expert (GRTE)
HackTricks рдХрд╛ рд╕рдорд░реНрдерди рдХрд░реЗрдВ
- рд╕рджрд╕реНрдпрддрд╛ рдпреЛрдЬрдирд╛рдПрдБ рджреЗрдЦреЗрдВ!
- рд╣рдорд╛рд░реЗ ЁЯТм Discord рд╕рдореВрд╣ рдпрд╛ рдЯреЗрд▓реАрдЧреНрд░рд╛рдо рд╕рдореВрд╣ рдореЗрдВ рд╢рд╛рдорд┐рд▓ рд╣реЛрдВ рдпрд╛ рд╣рдорд╛рд░реЗ Twitter ЁЯРж @hacktricks_live** рдХрд╛ рдкрд╛рд▓рди рдХрд░реЗрдВред**
- рд╣реИрдХрд┐рдВрдЧ рдЯреНрд░рд┐рдХреНрд╕ рд╕рд╛рдЭрд╛ рдХрд░реЗрдВ рдФрд░ HackTricks рдФрд░ HackTricks Cloud рдЧрд┐рдЯрд╣рдм рд░рд┐рдкреЛрдЬрд┐рдЯрд░реА рдореЗрдВ PRs рд╕рдмрдорд┐рдЯ рдХрд░реЗрдВред