diff --git a/src/mobile-pentesting/ios-pentesting/ios-universal-links.md b/src/mobile-pentesting/ios-pentesting/ios-universal-links.md
index d0cb557c7..7ab01572b 100644
--- a/src/mobile-pentesting/ios-pentesting/ios-universal-links.md
+++ b/src/mobile-pentesting/ios-pentesting/ios-universal-links.md
@@ -10,7 +10,7 @@ Para testadores de penetração, o arquivo `apple-app-site-association` é de pa
### **Analisando a Permissão de Domínios Associados**
-Os desenvolvedores habilitam os Universal Links configurando os **Domínios Associados** na aba Capacidades do Xcode ou inspecionando o arquivo `.entitlements`. Cada domínio é prefixado com `applinks:`. Por exemplo, a configuração do Telegram pode aparecer da seguinte forma:
+Desenvolvedores habilitam Universal Links configurando os **Domínios Associados** na aba Capacidades do Xcode ou inspecionando o arquivo `.entitlements`. Cada domínio é prefixado com `applinks:`. Por exemplo, a configuração do Telegram pode aparecer da seguinte forma:
```xml
com.apple.developer.associated-domains
@@ -24,11 +24,23 @@ Se estiver trabalhando com um aplicativo compilado, as permissões podem ser ext
### **Recuperando o Arquivo de Associação do Site do Aplicativo da Apple**
-O arquivo `apple-app-site-association` deve ser recuperado do servidor usando os domínios especificados nas permissões. Certifique-se de que o arquivo esteja acessível via HTTPS diretamente em `https:///apple-app-site-association`. Ferramentas como o [Validador de Associação de Site de Aplicativo da Apple (AASA)](https://branch.io/resources/aasa-validator/) podem ajudar nesse processo.
+O arquivo `apple-app-site-association` deve ser recuperado do servidor usando os domínios especificados nas permissões. Certifique-se de que o arquivo esteja acessível via HTTPS diretamente em `https:///apple-app-site-association` (ou `/.well-known/apple-app-site-association`). Ferramentas como o [Validador de Associação de Site de Aplicativo da Apple (AASA)](https://branch.io/resources/aasa-validator/) podem ajudar nesse processo.
-### **Manipulando Links Universais no Aplicativo**
+> **Enumeração rápida a partir de um shell macOS/Linux**
+>
+> ```bash
+> # assumindo que você extraiu as permissões para ent.xml
+> doms=$(plutil -extract com.apple.developer.associated-domains xml1 -o - ent.xml | \
+> grep -oE 'applinks:[^<]+' | cut -d':' -f2)
+> for d in $doms; do
+> echo "[+] Buscando AASA para $d";
+> curl -sk "https://$d/.well-known/apple-app-site-association" | jq '.'
+> done
+> ```
-O aplicativo deve implementar métodos específicos para manipular links universais corretamente. O método principal a ser procurado é [`application:continueUserActivity:restorationHandler:`](https://developer.apple.com/documentation/uikit/uiapplicationdelegate/1623072-application). É crucial que o esquema das URLs manipuladas seja HTTP ou HTTPS, pois outros não serão suportados.
+### **Tratando Links Universais no Aplicativo**
+
+O aplicativo deve implementar métodos específicos para lidar corretamente com links universais. O método principal a ser procurado é [`application:continueUserActivity:restorationHandler:`](https://developer.apple.com/documentation/uikit/uiapplicationdelegate/1623072-application). É crucial que o esquema das URLs tratadas seja HTTP ou HTTPS, pois outros não serão suportados.
#### **Validando o Método de Manipulação de Dados**
@@ -72,13 +84,34 @@ return false
```
Através de **configuração e validação diligentes**, os desenvolvedores podem garantir que os links universais melhorem a experiência do usuário enquanto mantêm padrões de segurança e privacidade.
+## Vulnerabilidades Comuns & Verificações de Pentesting
+
+| # | Fraqueza | Como testar | Exploração / Impacto |
+|---|----------|------------|-----------------------|
+| 1 | **`paths` / `components` excessivamente amplos** no arquivo AASA (por exemplo, `"/": "*"` ou curingas como `"/a/*"`). | • Inspecione o AASA baixado e procure por `*`, barras finais ou regras `{"?": …}`.
• Tente solicitar recursos desconhecidos que ainda correspondam à regra (`https://domain.com/a/evil?_p_dp=1`). | Sequestro de link universal: um aplicativo iOS malicioso que registra o mesmo domínio poderia reivindicar todos esses links e apresentar uma interface de phishing. Um exemplo do mundo real é o relatório de bug-bounty da Temu.com de maio de 2025, onde um atacante poderia redirecionar qualquer caminho `/a/*` para seu próprio aplicativo. |
+| 2 | **Validação do lado do servidor ausente** dos caminhos de deep-link. | Após identificar os caminhos permitidos, emita solicitações `curl`/Burp para recursos inexistentes e observe os códigos de status HTTP. Qualquer coisa diferente de `404` (por exemplo, 200/302) é suspeita. | Um atacante pode hospedar conteúdo arbitrário atrás de um caminho permitido e servi-lo através do domínio legítimo, aumentando a taxa de sucesso de phishing ou roubo de token de sessão. |
+| 3 | **Manipulação de URL do lado do aplicativo sem lista branca de esquema/host** (CVE-2024-10474 – Mozilla Focus < 132). | Procure por chamadas diretas `openURL:`/`open(_:options:)` ou pontes JavaScript que encaminham URLs arbitrárias. | Páginas internas podem contrabandear URLs `myapp://` ou `https://` que ignoram as verificações de segurança da barra de URL do navegador, levando a falsificações ou ações privilegiadas não intencionais. |
+| 4 | **Uso de subdomínios curingas** (`*.example.com`) na concessão. | `grep` por `*.` nas concessões. | Se algum subdomínio for tomado (por exemplo, via um bucket S3 não utilizado), o atacante ganha automaticamente a vinculação do Link Universal. |
+
+### Lista de Verificação Rápida
+
+* [ ] Extraia concessões e enumere cada entrada `applinks:`.
+* [ ] Baixe o AASA para cada entrada e audite em busca de curingas.
+* [ ] Verifique se o servidor web retorna **404** para caminhos indefinidos.
+* [ ] No binário, confirme que **apenas** hosts/esquemas confiáveis são tratados.
+* [ ] Se o aplicativo usar a nova sintaxe `components` (iOS 11+), teste regras de parâmetros de consulta (`{"?":{…}}`).
+
## Ferramentas
-- [GetUniversal.link](https://getuniversal.link/): Ajuda a simplificar o teste e a gestão dos Links Universais e do arquivo AASA do seu aplicativo. Basta inserir seu domínio para verificar a integridade do arquivo AASA ou usar o painel personalizado para testar facilmente o comportamento dos links. Esta ferramenta também ajuda a determinar quando a Apple indexará seu arquivo AASA novamente.
+- [GetUniversal.link](https://getuniversal.link/): Ajuda a simplificar o teste e a gestão dos Links Universais do seu aplicativo e do arquivo AASA. Basta inserir seu domínio para verificar a integridade do arquivo AASA ou usar o painel personalizado para testar facilmente o comportamento dos links. Esta ferramenta também ajuda a determinar quando a Apple indexará seu arquivo AASA a seguir.
+- [Knil](https://github.com/ethanhuang13/knil): Utilitário iOS de código aberto que busca, analisa e permite que você **teste** cada Link Universal declarado por um domínio diretamente no dispositivo.
+- [universal-link-validator](https://github.com/urbangems/universal-link-validator): Validador CLI / web que realiza verificações rigorosas de conformidade do AASA e destaca curingas perigosos.
## Referências
- [https://mas.owasp.org/MASTG/tests/ios/MASVS-PLATFORM/MASTG-TEST-0070/#static-analysis](https://mas.owasp.org/MASTG/tests/ios/MASVS-PLATFORM/MASTG-TEST-0070/#static-analysis)
- [https://mobile-security.gitbook.io/mobile-security-testing-guide/ios-testing-guide/0x06h-testing-platform-interaction#testing-object-persistence-mstg-platform-8](https://mobile-security.gitbook.io/mobile-security-testing-guide/ios-testing-guide/0x06h-testing-platform-interaction#testing-object-persistence-mstg-platform-8)
+- [https://medium.com/@m.habibgpi/universal-link-hijacking-via-misconfigured-aasa-file-on-temu-com-eadfcb745e4e](https://medium.com/@m.habibgpi/universal-link-hijacking-via-misconfigured-aasa-file-on-temu-com-eadfcb745e4e)
+- [https://nvd.nist.gov/vuln/detail/CVE-2024-10474](https://nvd.nist.gov/vuln/detail/CVE-2024-10474)
{{#include ../../banners/hacktricks-training.md}}