6.3 KiB
Aplicativos Xamarin
Aprenda hacking AWS do zero ao herói com htARTE (HackTricks AWS Red Team Expert)!
Outras maneiras de apoiar o HackTricks:
- Se você deseja ver sua empresa anunciada no HackTricks ou baixar o HackTricks em PDF Verifique os PLANOS DE ASSINATURA!
- Adquira produtos oficiais PEASS & HackTricks
- Descubra A Família PEASS, nossa coleção exclusiva de NFTs
- Junte-se ao 💬 grupo Discord ou ao grupo telegram ou siga-me no Twitter 🐦 @carlospolopm.
- Compartilhe seus truques de hacking enviando PRs para os HackTricks e HackTricks Cloud repositórios do github.
Este é um resumo do post do blog https://www.appknox.com/security/xamarin-reverse-engineering-a-guide-for-penetration-testers
Informações Básicas
Xamarin é uma plataforma open-source projetada para desenvolvedores construírem aplicativos para iOS, Android e Windows usando os frameworks .NET e C#. Esta plataforma oferece acesso a numerosas ferramentas e extensões para criar aplicativos modernos de forma eficiente.
Arquitetura do Xamarin
- Para Android, o Xamarin integra namespaces do Android e Java por meio de ligações .NET, operando dentro do ambiente de execução Mono ao lado do Android Runtime (ART). Managed Callable Wrappers (MCW) e Android Callable Wrappers (ACW) facilitam a comunicação entre Mono e ART, ambos construídos no kernel Linux.
- Para iOS, os aplicativos são executados sob o tempo de execução Mono, utilizando a compilação Ahead of Time (AOT) completa para converter o código C# .NET em linguagem de montagem ARM. Esse processo é executado ao lado do Objective-C Runtime em um kernel semelhante ao UNIX.
.NET Runtime e Mono Framework
O framework .NET inclui assemblies, classes e namespaces para o desenvolvimento de aplicativos, com o .NET Runtime gerenciando a execução de código. Ele oferece independência de plataforma e compatibilidade com versões anteriores. O Mono Framework é uma versão open-source do framework .NET, iniciada em 2005 para estender o .NET para o Linux, agora suportada pela Microsoft e liderada pela Xamarin.
Engenharia Reversa de Aplicativos Xamarin
Decompilação de Assemblies Xamarin
A decompilação transforma o código compilado de volta em código-fonte. No Windows, a janela Módulos no Visual Studio pode identificar módulos para decompilação, permitindo acesso direto ao código de terceiros e extração do código-fonte para análise.
Compilação JIT vs AOT
- Android suporta compilação Just-In-Time (JIT) e Ahead-Of-Time (AOT), com um modo AOT híbrido para velocidade de execução otimizada. O AOT completo é exclusivo para licenças Enterprise.
- iOS emprega exclusivamente a compilação AOT devido às restrições da Apple sobre a execução de código dinâmico.
Extração de arquivos dll de APK/IPA
Para acessar os assemblies em um APK/IPA, descompacte o arquivo e explore o diretório de assemblies. Para Android, ferramentas como XamAsmUnZ e xamarin-decompress podem descomprimir arquivos dll.
python3 xamarin-decompress.py -o /path/to/decompressed/apk
Para montar blobs no Android, o pyxamstore pode desempacotá-los.
pyxamstore unpack -d /path/to/decompressed/apk/assemblies/
Os arquivos dll do iOS são facilmente acessíveis para descompilação, revelando partes significativas do código do aplicativo, que frequentemente compartilha uma base comum em diferentes plataformas.
Análise Dinâmica
A análise dinâmica envolve a verificação de SSL pinning e o uso de ferramentas como Fridax para modificações em tempo de execução do binário .NET em aplicativos Xamarin. Scripts do Frida estão disponíveis para contornar a detecção de root ou SSL pinning, aprimorando as capacidades de análise.
Outros scripts interessantes do Frida:
Mais informações
- https://www.appknox.com/security/xamarin-reverse-engineering-a-guide-for-penetration-testers
- https://thecobraden.com/posts/unpacking_xamarin_assembly_stores/
Aprenda hacking AWS do zero ao herói com htARTE (HackTricks AWS Red Team Expert)!
Outras maneiras de apoiar o HackTricks:
- Se você deseja ver sua empresa anunciada no HackTricks ou baixar o HackTricks em PDF, confira os PLANOS DE ASSINATURA!
- Adquira o swag oficial PEASS & HackTricks
- Descubra A Família PEASS, nossa coleção exclusiva de NFTs
- Junte-se ao 💬 grupo Discord ou ao grupo telegram ou siga-me no Twitter 🐦 @carlospolopm.
- Compartilhe seus truques de hacking enviando PRs para os repositórios HackTricks e HackTricks Cloud.