MASTG-TECH-0067: Análise Dinâmica no iOS
O jailbreaking de um dispositivo simplifica muitos aspectos da análise dinâmica. Ele fornece acesso privilegiado e remove as restrições de assinatura de código, permitindo o uso de ferramentas e técnicas mais poderosas. No iOS, a maioria das ferramentas de análise dinâmica são baseadas em ElleKit, uma estrutura para desenvolvimento de patches em tempo de execução, ou no Frida, uma ferramenta de introspecção dinâmica. Para monitoramento básico de API, você pode utilizar essas ferramentas sem precisar conhecer todos os detalhes de como o ElleKit ou o Frida funcionam - basta usar as ferramentas de monitoramento de API existentes.
No iOS, coletar informações básicas sobre um processo em execução ou um aplicativo pode ser um pouco mais desafiador em comparação com o Android. No Android (ou qualquer sistema operacional baseado em Linux), as informações do processo são expostas como arquivos de texto legíveis por meio do procfs. Assim, qualquer informação sobre um processo de destino pode ser obtida em um dispositivo com root analisando esses arquivos de texto. Em contraste, no iOS não há um equivalente ao procfs disponível. Além disso, no iOS muitas ferramentas de linha de comando UNIX padrão para explorar informações de processo, como lsof e vmmap, são removidas para reduzir o tamanho do firmware.
Nesta seção, aprenderemos como coletar informações de processo no iOS usando ferramentas de linha de comando como o lsof. Como muitas dessas ferramentas não estão presentes no iOS por padrão, precisamos instalá-las por métodos alternativos. Por exemplo, o lsof pode ser instalado usando Cydia (o executável não é a versão mais recente disponível, mas mesmo assim atende ao nosso propósito).