hacktricks/mobile-pentesting/ios-pentesting-checklist.md

10 KiB

iOS Pentesting Checklist


Use Trickest para construir e automatizar fluxos de trabalho facilmente, impulsionados pelas ferramentas comunitárias mais avançadas do mundo.
Acesse hoje:

{% embed url="https://trickest.com/?utm_campaign=hacktrics&utm_medium=banner&utm_source=hacktricks" %}

{% 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
{% endhint %}

Try Hard Security Group

{% embed url="https://discord.gg/tryhardsecurity" %}


Preparação

Armazenamento de Dados

  • Arquivos Plist podem ser usados para armazenar informações sensíveis.
  • Core Data (banco de dados SQLite) pode armazenar informações sensíveis.
  • YapDatabases (banco de dados SQLite) pode armazenar informações sensíveis.
  • Firebase configuração incorreta.
  • Bancos de dados Realm podem armazenar informações sensíveis.
  • Bancos de dados Couchbase Lite podem armazenar informações sensíveis.
  • Cookies binários podem armazenar informações sensíveis.
  • Dados de cache podem armazenar informações sensíveis.
  • Snapshots automáticos podem salvar informações visuais sensíveis.
  • Keychain é geralmente usado para armazenar informações sensíveis que podem ser deixadas ao revender o telefone.
  • Em resumo, apenas verifique informações sensíveis salvas pelo aplicativo no sistema de arquivos.

Teclados

Logs

Backups

  • Backups podem ser usados para acessar informações sensíveis salvas no sistema de arquivos (verifique o ponto inicial desta lista de verificação).
  • Além disso, backups podem ser usados para modificar algumas configurações do aplicativo, depois restaurar o backup no telefone, e como a configuração modificada é carregada, algumas (segurança) funcionalidades podem ser contornadas.

Memória de Aplicações

Criptografia Quebrada

Autenticação Local

Exposição de Funcionalidade Sensível Através de IPC

  • Manipuladores de URI personalizados / Deeplinks / Esquemas personalizados.
  • Verifique se o aplicativo está registrando algum protocolo/esquema.
  • Verifique se o aplicativo está registrando para usar algum protocolo/esquema.
  • Verifique se o aplicativo espera receber qualquer tipo de informação sensível do esquema personalizado que pode ser interceptada por outro aplicativo registrando o mesmo esquema.
  • Verifique se o aplicativo não está verificando e sanitizando a entrada do usuário via esquema personalizado e se alguma vulnerabilidade pode ser explorada.
  • Verifique se o aplicativo expondo alguma ação sensível que pode ser chamada de qualquer lugar via esquema personalizado.
  • Links Universais.
  • Verifique se o aplicativo está registrando algum protocolo/esquema universal.
  • Verifique o arquivo apple-app-site-association.
  • Verifique se o aplicativo não está verificando e sanitizando a entrada do usuário via esquema personalizado e se alguma vulnerabilidade pode ser explorada.
  • Verifique se o aplicativo expondo alguma ação sensível que pode ser chamada de qualquer lugar via esquema personalizado.
  • Compartilhamento UIActivity.
  • Verifique se o aplicativo pode receber UIActivities e se é possível explorar alguma vulnerabilidade com uma atividade especialmente criada.
  • UIPasteboard.
  • Verifique se o aplicativo está copiando algo para a área de transferência geral.
  • Verifique se o aplicativo está usando os dados da área de transferência geral para algo.
  • Monitore a área de transferência para ver se algum dado sensível é copiado.
  • Extensões de Aplicativos.
  • O aplicativo está usando alguma extensão?
  • WebViews.
  • Verifique que tipo de webviews estão sendo usados.
  • Verifique o status de javaScriptEnabled, JavaScriptCanOpenWindowsAutomatically, hasOnlySecureContent.
  • Verifique se o 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

Diversos

Try Hard Security Group

{% embed url="https://discord.gg/tryhardsecurity" %}

{% 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
{% endhint %}


Use Trickest para construir e automatizar fluxos de trabalho facilmente, impulsionados pelas ferramentas comunitárias mais avançadas do mundo.
Acesse hoje:

{% embed url="https://trickest.com/?utm_campaign=hacktrics&utm_medium=banner&utm_source=hacktricks" %}