# Checklist de Pentesting iOS
\ Use [**Trickest**](https://trickest.com/?utm\_campaign=hacktrics\&utm\_medium=banner\&utm\_source=hacktricks) para construir e **automatizar fluxos de trabalho** com as ferramentas comunitárias **mais avançadas** do mundo.\ Obtenha Acesso Hoje: {% embed url="https://trickest.com/?utm_campaign=hacktrics&utm_medium=banner&utm_source=hacktricks" %}
Aprenda hacking AWS do zero ao herói com htARTE (HackTricks AWS Red Team Expert)! Outras formas de apoiar o HackTricks: * Se você quer ver sua **empresa anunciada no HackTricks** ou **baixar o HackTricks em PDF**, confira os [**PLANOS DE ASSINATURA**](https://github.com/sponsors/carlospolop)! * Adquira o [**merchandising oficial PEASS & HackTricks**](https://peass.creator-spring.com) * Descubra [**A Família PEASS**](https://opensea.io/collection/the-peass-family), nossa coleção de [**NFTs**](https://opensea.io/collection/the-peass-family) exclusivos * **Junte-se ao grupo** 💬 [**Discord**](https://discord.gg/hRep4RUj7f) ou ao [**grupo do telegram**](https://t.me/peass) ou **siga-me** no **Twitter** 🐦 [**@carlospolopm**](https://twitter.com/carlospolopm)**.** * **Compartilhe suas técnicas de hacking enviando PRs para os repositórios do GitHub** [**HackTricks**](https://github.com/carlospolop/hacktricks) e [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud).
### Preparação * [ ] Leia [**Conceitos Básicos de iOS**](ios-pentesting/ios-basics.md) * [ ] Prepare seu ambiente lendo [**Ambiente de Teste iOS**](ios-pentesting/ios-testing-environment.md) * [ ] Leia todas as seções de [**Análise Inicial iOS**](ios-pentesting/#initial-analysis) para aprender ações comuns em pentest de uma aplicação iOS ### Armazenamento de Dados * [ ] [**Arquivos Plist**](ios-pentesting/#plist) podem ser usados para armazenar informações sensíveis. * [ ] [**Core Data**](ios-pentesting/#core-data) (banco de dados SQLite) pode armazenar informações sensíveis. * [ ] [**YapDatabases**](ios-pentesting/#yapdatabase) (banco de dados SQLite) pode armazenar informações sensíveis. * [ ] [**Firebase**](ios-pentesting/#firebase-real-time-databases) má configuração. * [ ] [**Bancos de dados Realm**](ios-pentesting/#realm-databases) podem armazenar informações sensíveis. * [ ] [**Bancos de dados Couchbase Lite**](ios-pentesting/#couchbase-lite-databases) podem armazenar informações sensíveis. * [ ] [**Cookies binários**](ios-pentesting/#cookies) podem armazenar informações sensíveis * [ ] [**Dados de cache**](ios-pentesting/#cache) podem armazenar informações sensíveis * [ ] [**Snapshots automáticos**](ios-pentesting/#snapshots) podem salvar informações visuais sensíveis * [ ] [**Keychain**](ios-pentesting/#keychain) é geralmente usado para armazenar informações sensíveis que podem ser deixadas ao revender o telefone. * [ ] Em resumo, apenas **verifique se há informações sensíveis salvas pela aplicação no sistema de arquivos** ### Teclados * [ ] A aplicação [**permite o uso de teclados personalizados**](ios-pentesting/#custom-keyboards-keyboard-cache)? * [ ] Verifique se informações sensíveis são salvas nos [**arquivos de cache do teclado**](ios-pentesting/#custom-keyboards-keyboard-cache) ### **Logs** * [ ] Verifique se [**informações sensíveis estão sendo registradas**](ios-pentesting/#logs) ### Backups * [ ] [**Backups**](ios-pentesting/#backups) podem ser usados para **acessar informações sensíveis** salvas no sistema de arquivos (verifique o ponto inicial desta lista) * [ ] Além disso, [**backups**](ios-pentesting/#backups) podem ser usados para **modificar algumas configurações da aplicação**, depois **restaurar** o backup no telefone, e a **configuração modificada** é **carregada** e alguma funcionalidade (de segurança) pode ser **burlada** ### **Memória das Aplicações** * [ ] Verifique se há informações sensíveis dentro da [**memória da aplicação**](ios-pentesting/#testing-memory-for-sensitive-data) ### **Criptografia Quebrada** * [ ] Verifique se você pode encontrar [**senhas usadas para criptografia**](ios-pentesting/#broken-cryptography) * [ ] Verifique o uso de [**algoritmos obsoletos/fracos**](ios-pentesting/#broken-cryptography) para enviar/armazenar dados sensíveis * [ ] [**Intercepte e monitore funções de criptografia**](ios-pentesting/#broken-cryptography) ### **Autenticação Local** * [ ] Se uma [**autenticação local**](ios-pentesting/#local-authentication) é usada na aplicação, você deve verificar como a autenticação está funcionando. * [ ] Se estiver usando o [**Framework de Autenticação Local**](ios-pentesting/#local-authentication-framework), ele pode ser facilmente burlado * [ ] Se estiver usando uma [**função que pode ser dinamicamente burlada**](ios-pentesting/#local-authentication-using-keychain), você poderia criar um script frida personalizado ### Exposição de Funcionalidades Sensíveis Através de IPC * [**Manipuladores de URI Personalizados / Deeplinks / Esquemas Personalizados**](ios-pentesting/#custom-uri-handlers-deeplinks-custom-schemes) * [ ] Verifique se a aplicação está **registrando algum protocolo/esquema** * [ ] Verifique se a aplicação está **registrada para usar** algum protocolo/esquema * [ ] Verifique se a aplicação **espera receber algum tipo de informação sensível** do esquema personalizado que pode ser **interceptado** por outra aplicação registrando o mesmo esquema * [ ] Verifique se a aplicação **não está verificando e higienizando** a entrada dos usuários via o esquema personalizado e alguma **vulnerabilidade pode ser explorada** * [ ] Verifique se a aplicação **expõe alguma ação sensível** que pode ser chamada de qualquer lugar via o esquema personalizado * [**Links Universais**](ios-pentesting/#universal-links) * [ ] Verifique se a aplicação está **registrando algum protocolo/esquema universal** * [ ] Verifique o arquivo `apple-app-site-association` * [ ] Verifique se a aplicação **não está verificando e higienizando** a entrada dos usuários via o esquema personalizado e alguma **vulnerabilidade pode ser explorada** * [ ] Verifique se a aplicação **expõe alguma ação sensível** que pode ser chamada de qualquer lugar via o esquema personalizado * [**Compartilhamento UIActivity**](ios-pentesting/ios-uiactivity-sharing.md) * [ ] Verifique se a aplicação pode receber UIActivities e se é possível explorar alguma vulnerabilidade com uma atividade especialmente criada * [**UIPasteboard**](ios-pentesting/ios-uipasteboard.md) * [ ] Verifique se a aplicação está **copiando algo para o pasteboard geral** * [ ] Verifique se a aplicação está **usando dados do pasteboard geral para alguma coisa** * [ ] Monitore o pasteboard para ver se algum **dado sensível é copiado** * [**Extensões de Aplicativos**](ios-pentesting/ios-app-extensions.md) * [ ] A aplicação está **usando alguma extensão**? * [**WebViews**](ios-pentesting/ios-webviews.md) * [ ] Verifique quais tipos de webviews estão sendo usados * [ ] Verifique o status de **`javaScriptEnabled`**, **`JavaScriptCanOpenWindowsAutomatically`**, **`hasOnlySecureContent`** * [ ] Verifique se a webview pode **acessar arquivos locais** com o protocolo **file://** **(**`allowFileAccessFromFileURLs`, `allowUniversalAccessFromFileURLs`) * [ ] Verifique se o Javascript pode acessar **métodos Nativos** (`JSContext`, `postMessage`) ### Comunicação de Rede * [ ] Realize um [**MitM na comunicação**](ios-pentesting/#network-communication) e procure por vulnerabilidades web. * [ ] Verifique se o [**hostname do certificado**](ios-pentesting/#hostname-check) está sendo verificado * [ ] Verifique/Burla [**Pinning de Certificado**](ios-pentesting/#certificate-pinning) ### **Diversos** * [ ] Verifique por [**mecanismos automáticos de patching/atualização**](ios-pentesting/#hot-patching-enforced-updateing) * [ ] Verifique por [**bibliotecas de terceiros maliciosas**](ios-pentesting/#third-parties)
Aprenda hacking AWS do zero ao herói com htARTE (HackTricks AWS Red Team Expert)! Outras formas de apoiar o HackTricks: * Se você quer ver sua **empresa anunciada no HackTricks** ou **baixar o HackTricks em PDF**, confira os [**PLANOS DE ASSINATURA**](https://github.com/sponsors/carlospolop)! * Adquira o [**merchandising oficial PEASS & HackTricks**](https://peass.creator-spring.com) * Descubra [**A Família PEASS**](https://opensea.io/collection/the-peass-family), nossa coleção de [**NFTs**](https://opensea.io/collection/the-peass-family) exclusivos * **Junte-se ao grupo** 💬 [**Discord**](https://discord.gg/hRep4RUj7f) ou ao [**grupo do telegram**](https://t.me/peass) ou **siga-me** no **Twitter** 🐦 [**@carlospolopm**](https://twitter.com/carlospolopm)**.** * **Compartilhe suas técnicas de hacking enviando PRs para os repositórios do GitHub** [**HackTricks**](https://github.com/carlospolop/hacktricks) e [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud).
\ Use [**Trickest**](https://trickest.com/?utm\_campaign=hacktrics\&utm\_medium=banner\&utm\_source=hacktricks) para construir e **automatizar fluxos de trabalho** com as ferramentas comunitárias **mais avançadas** do mundo.\ Obtenha Acesso Hoje: {% embed url="https://trickest.com/?utm_campaign=hacktrics&utm_medium=banner&utm_source=hacktricks" %}