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

10 KiB

Lista de Verificação de Pentesting iOS


Use Trickest para construir e automatizar fluxos de trabalho facilmente com as ferramentas comunitárias mais avançadas do mundo.
Acesse 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:

Try Hard Security Group

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


Preparação

Armazenamento de Dados

  • Os arquivos Plist podem ser usados para armazenar informações sensíveis.
  • O Core Data (banco de dados SQLite) pode armazenar informações sensíveis.
  • Os Bancos de Dados Yap (banco de dados SQLite) podem armazenar informações sensíveis.
  • Firebase com configuração incorreta.
  • Os bancos de dados Realm podem armazenar informações sensíveis.
  • Os bancos de dados Couchbase Lite podem armazenar informações sensíveis.
  • Os cookies binários podem armazenar informações sensíveis.
  • Os dados de cache (ios-pentesting/#cache) podem armazenar informações sensíveis.
  • Os snapshots automáticos (ios-pentesting/#snapshots) podem salvar informações visuais sensíveis.
  • O 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 pelo aplicativo no sistema de arquivos

Teclados

  • O aplicativo 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 dos teclados

Logs

Backups

  • Os backups podem ser usados para acessar as informações sensíveis salvas no sistema de arquivos (verifique o ponto inicial desta lista de verificação)
  • Além disso, os backups podem ser usados para modificar algumas configurações do aplicativo, então restaurar o backup no telefone e, como a configuração modificada é carregada, alguma (funcionalidade de segurança) pode ser burlada

Memória do Aplicativo

Criptografia Quebrada

Autenticação Local

Exposição de Funcionalidades Sensíveis por meio de IPC

  • Manipuladores de URI Personalizados / Deep Links / 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 algum tipo de informação sensível do esquema personalizado que pode ser interceptado por outro aplicativo registrando o mesmo esquema
  • Verifique se o aplicativo não está verificando e sanitizando a entrada dos usuários via esquema personalizado e alguma vulnerabilidade pode ser explorada
  • Verifique se o aplicativo expõe 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 dos usuários via esquema personalizado e alguma vulnerabilidade pode ser explorada
  • Verifique se o aplicativo expõe alguma ação sensível que pode ser chamada de qualquer lugar via esquema personalizado
  • Compartilhamento de UIActivity
  • Verifique se o aplicativo pode receber UIActivities e se é possível explorar alguma vulnerabilidade com uma atividade especialmente elaborada
  • 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á sendo usado
  • 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

Diversos

Try Hard Security Group

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

Aprenda hacking na AWS do zero ao herói com htARTE (HackTricks AWS Red Team Expert)!

Outras formas de apoiar o HackTricks:


Use Trickest para construir e automatizar fluxos de trabalho facilmente, alimentados pelas ferramentas comunitárias mais avançadas do mundo.
Tenha Acesso Hoje:

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