mirror of
https://github.com/carlospolop/hacktricks
synced 2024-12-24 12:03:37 +00:00
52 lines
4.4 KiB
Markdown
52 lines
4.4 KiB
Markdown
# Extraindo Entitlements de um Aplicativo Compilado
|
|
|
|
<details>
|
|
|
|
<summary><strong>Aprenda hacking na AWS do zero ao herói com</strong> <a href="https://training.hacktricks.xyz/courses/arte"><strong>htARTE (HackTricks AWS Red Team Expert)</strong></a><strong>!</strong></summary>
|
|
|
|
Outras formas de apoiar o HackTricks:
|
|
|
|
* Se você deseja ver sua **empresa anunciada no HackTricks** ou **baixar o HackTricks em PDF** Confira os [**PLANOS DE ASSINATURA**](https://github.com/sponsors/carlospolop)!
|
|
* Adquira o [**swag oficial PEASS & HackTricks**](https://peass.creator-spring.com)
|
|
* Descubra [**A Família PEASS**](https://opensea.io/collection/the-peass-family), nossa coleção exclusiva de [**NFTs**](https://opensea.io/collection/the-peass-family)
|
|
* **Junte-se ao** 💬 [**grupo Discord**](https://discord.gg/hRep4RUj7f) ou ao [**grupo telegram**](https://t.me/peass) ou **siga-nos** no **Twitter** 🐦 [**@carlospolopm**](https://twitter.com/hacktricks_live)**.**
|
|
* **Compartilhe seus truques de hacking enviando PRs para os** [**HackTricks**](https://github.com/carlospolop/hacktricks) e [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) repositórios do github.
|
|
|
|
</details>
|
|
|
|
|
|
Resumo da página [https://mas.owasp.org/MASTG/tests/ios/MASVS-PLATFORM/MASTG-TEST-0069/#review-entitlements-embedded-in-the-compiled-app-binary](https://mas.owasp.org/MASTG/tests/ios/MASVS-PLATFORM/MASTG-TEST-0069/#review-entitlements-embedded-in-the-compiled-app-binary)
|
|
|
|
### **Extraindo Entitlements e Arquivos de Provisão Móvel**
|
|
|
|
Ao lidar com um arquivo 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 entitlements 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, certas etapas podem ser empregadas para extrair esses arquivos. Caso essas etapas 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 Entitlements do Binário do Aplicativo**
|
|
|
|
Com o binário do aplicativo acessível em um computador, o **binwalk** pode ser utilizado para extrair todos os arquivos XML. O comando abaixo demonstra como fazer isso:
|
|
```bash
|
|
$ 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 silenciosamente um comando e sair, procurando todas as strings no binário do aplicativo que contêm "PropertyList":
|
|
```bash
|
|
$ 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 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 direitos originais do Telegram](https://github.com/peter-iakovlev/Telegram-iOS/blob/77ee5c4dabdd6eb5f1e2ff76219edf7e18b45c00/Telegram-iOS/Telegram-iOS-AppStoreLLC.entitlements).
|
|
|
|
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:
|
|
```bash
|
|
$ grep -a -A 5 'PropertyList' /var/containers/Bundle/Application/...
|
|
```
|
|
Ajustar a bandeira `-A num, --after-context=num` permite exibir 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. As ferramentas mencionadas anteriormente também podem ser usadas 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 o grep com a bandeira `-a` no binário ou utilizar o radare2 (`izz`)/rabin2 (`-zz`) para obter resultados mais eficazes.
|