5.4 KiB
Extraindo Direitos de Aplicação Compilada
{% hint style="success" %}
Aprenda e pratique AWS Hacking:HackTricks Training AWS Red Team Expert (ARTE)
Aprenda e pratique GCP Hacking: HackTricks Training GCP Red Team Expert (GRTE)
Support HackTricks
- Confira os planos de assinatura!
- Junte-se ao 💬 grupo do Discord ou ao grupo do telegram ou siga-nos no Twitter 🐦 @hacktricks_live.
- Compartilhe truques de hacking enviando PRs para o HackTricks e HackTricks Cloud repositórios do github.
Resumo da página https://mas.owasp.org/MASTG/tests/ios/MASVS-PLATFORM/MASTG-TEST-0069/#review-entitlements-embedded-in-the-compiled-app-binary
Extraindo Direitos e Arquivos de Provisão Móvel
Ao lidar com o IPA de um aplicativo ou um aplicativo instalado em um dispositivo com jailbreak, pode não ser possível encontrar arquivos .entitlements
ou o arquivo embedded.mobileprovision
diretamente. No entanto, listas de propriedades de direitos ainda podem ser extraídas do binário do aplicativo, seguindo os procedimentos descritos no capítulo "Teste de Segurança Básica do iOS", particularmente na seção "Adquirindo o Binário do Aplicativo".
Mesmo com binários criptografados, certos passos podem ser empregados para extrair esses arquivos. Caso esses passos falhem, ferramentas como Clutch (se compatível com a versão do iOS), frida-ios-dump ou utilitários similares podem ser necessários para descriptografar e extrair o aplicativo.
Extraindo o Plist de Direitos do Binário do Aplicativo
Com o binário do aplicativo acessível em um computador, binwalk pode ser utilizado para extrair todos os arquivos XML. O comando abaixo demonstra como fazer isso:
$ binwalk -e -y=xml ./Telegram\ X
DECIMAL HEXADECIMAL DESCRIPTION
--------------------------------------------------------------------------------
1430180 0x15D2A4 XML document, version: "1.0"
1458814 0x16427E XML document, version: "1.0"
Alternativamente, radare2 pode ser usado para executar um comando silenciosamente e sair, procurando por todas as strings no binário do aplicativo que contêm "PropertyList":
$ r2 -qc 'izz~PropertyList' ./Telegram\ X
0x0015d2a4 ascii <?xml version="1.0" encoding="UTF-8" standalone="yes"?>...
0x0016427d ascii H<?xml version="1.0" encoding="UTF-8"?>...
Ambos os métodos, binwalk e radare2, permitem a extração de arquivos plist
, com uma inspeção do primeiro (0x0015d2a4) revelando uma recuperação bem-sucedida do arquivo de permissões original do Telegram.
Para binários de aplicativos acessados em dispositivos com jailbreak (por exemplo, via SSH), o comando grep com a flag -a, --text
pode ser usado para tratar todos os arquivos como texto ASCII:
$ grep -a -A 5 'PropertyList' /var/containers/Bundle/Application/...
Ajustar a flag -A num, --after-context=num
permite a exibição de mais ou menos linhas. Este método é viável mesmo para binários de aplicativos criptografados e foi verificado em vários aplicativos da App Store. Ferramentas mencionadas anteriormente também podem ser empregadas em dispositivos iOS com jailbreak para fins semelhantes.
Nota: O uso direto do comando strings
não é recomendado para esta tarefa devido às suas limitações em encontrar informações relevantes. Em vez disso, é aconselhável empregar grep com a flag -a
no binário ou utilizar radare2 (izz
)/rabin2 (-zz
) para resultados mais eficazes.
{% hint style="success" %}
Learn & practice AWS Hacking:HackTricks Training AWS Red Team Expert (ARTE)
Learn & practice GCP Hacking: HackTricks Training GCP Red Team Expert (GRTE)
Support HackTricks
- Check the subscription plans!
- Join the 💬 Discord group or the telegram group or follow us on Twitter 🐦 @hacktricks_live.
- Share hacking tricks by submitting PRs to the HackTricks and HackTricks Cloud github repos.