# iOS App Extensions {% hint style="success" %} Learn & practice AWS Hacking:[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)\ Learn & practice GCP Hacking: [**HackTricks Training GCP Red Team Expert (GRTE)**](https://training.hacktricks.xyz/courses/grte)
Support HackTricks * 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.
{% endhint %} As extensĂ”es de aplicativos aprimoram a funcionalidade dos aplicativos, permitindo que interajam com outros aplicativos ou com o sistema, fornecendo recursos ou conteĂșdo personalizados. Essas extensĂ”es incluem: - **Teclado Personalizado**: Oferece um teclado exclusivo em todos os aplicativos, substituindo o teclado padrĂŁo do iOS. - **Compartilhar**: Permite compartilhar em redes sociais ou com outros diretamente. - **Hoje (Widgets)**: Fornece conteĂșdo ou executa tarefas rapidamente a partir da visualização Hoje do Centro de NotificaçÔes. Quando um usuĂĄrio interage com essas extensĂ”es, como compartilhar texto de um aplicativo host, a extensĂŁo processa essa entrada dentro de seu contexto, aproveitando as informaçÔes compartilhadas para realizar sua tarefa, conforme detalhado na documentação da Apple. ### **ConsideraçÔes de Segurança** Os principais aspectos de segurança incluem: - As extensĂ”es e seus aplicativos contidos se comunicam por meio de comunicação entre processos, nĂŁo diretamente. - O **widget Hoje** Ă© Ășnico, pois pode solicitar que seu aplicativo seja aberto por meio de um mĂ©todo especĂ­fico. - O acesso a dados compartilhados Ă© permitido dentro de um contĂȘiner privado, mas o acesso direto Ă© restrito. - Certas APIs, incluindo HealthKit, estĂŁo fora dos limites para extensĂ”es de aplicativos, que tambĂ©m nĂŁo podem iniciar tarefas de longa duração, acessar a cĂąmera ou o microfone, exceto para extensĂ”es do iMessage. ### AnĂĄlise EstĂĄtica #### **Identificando ExtensĂ”es de Aplicativos** Para encontrar extensĂ”es de aplicativos no cĂłdigo-fonte, procure por `NSExtensionPointIdentifier` no Xcode ou inspecione o pacote do aplicativo em busca de arquivos `.appex` que indiquem extensĂ”es. Sem o cĂłdigo-fonte, use grep ou SSH para localizar esses identificadores dentro do pacote do aplicativo. #### **Tipos de Dados Suportados** Verifique o arquivo `Info.plist` de uma extensĂŁo para `NSExtensionActivationRule` para identificar os tipos de dados suportados. Essa configuração garante que apenas tipos de dados compatĂ­veis acionem a extensĂŁo em aplicativos host. #### **Compartilhamento de Dados** O compartilhamento de dados entre um aplicativo e sua extensĂŁo requer um contĂȘiner compartilhado, configurado por meio de "Grupos de Aplicativos" e acessado atravĂ©s de `NSUserDefaults`. Esse espaço compartilhado Ă© necessĂĄrio para transferĂȘncias em segundo plano iniciadas por extensĂ”es. #### **Restringindo ExtensĂ”es** Os aplicativos podem restringir certos tipos de extensĂ”es, particularmente teclados personalizados, garantindo que o manuseio de dados sensĂ­veis esteja alinhado com os protocolos de segurança. ### AnĂĄlise DinĂąmica A anĂĄlise dinĂąmica envolve: - **Inspecionando Itens Compartilhados**: Conecte-se a `NSExtensionContext - inputItems` para ver tipos de dados e origens compartilhados. - **Identificando ExtensĂ”es**: Descubra quais extensĂ”es processam seus dados observando mecanismos internos, como `NSXPCConnection`. Ferramentas como `frida-trace` podem ajudar a entender os processos subjacentes, especialmente para aqueles interessados nos detalhes tĂ©cnicos da comunicação entre processos. ## ReferĂȘncias * [https://mas.owasp.org/MASTG/iOS/0x06h-Testing-Platform-Interaction/](https://mas.owasp.org/MASTG/iOS/0x06h-Testing-Platform-Interaction/) * [https://mas.owasp.org/MASTG/tests/ios/MASVS-PLATFORM/MASTG-TEST-0072/](https://mas.owasp.org/MASTG/tests/ios/MASVS-PLATFORM/MASTG-TEST-0072/) {% hint style="success" %} Learn & practice AWS Hacking:[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)\ Learn & practice GCP Hacking: [**HackTricks Training GCP Red Team Expert (GRTE)**](https://training.hacktricks.xyz/courses/grte)
Support HackTricks * 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.
{% endhint %}