Pentest Mobile Android – Introdução
Fala galerinha, quanto tempo 🙄 hehe, vamos aproveitar esse pique no feriadão para escrever um pouco sobre pentest mobile. Hoje vamos abordar sobre como o pentest é feito, frameworks de desenvolvimento multiplataformas e que metodologia é utilizada em nosso cotidiano. Mas lembrando que hoje trata-se apenas de Android, iOS vamos falar em outra ocasião beleza?
Pentest mobile
Introdução
Bom galera, primeiramente vamos deixar bem claro o seguinte, apenas utilizaremos o Android neste artigo beleza? então show. De uns anos para cá, tornou-se mais frequente a solicitação por testes em aplicações mobile, sejam elas Android, iOS e (pasmem os senhores lol: )[R.I.P]Windows Phone. Mais sempre me perguntava, o que poderia fazer para realizar um bom teste e bom relatório, bem embasado e que pudesse levantar o máximo de pontos de melhorias para o cliente que havia solicitado meus serviços?
Uma parada que é interessante de ressaltar é o fato de existirem frameworks de desenvolvimento onde o objetivo é atingir multi plataformas como o Cordova e o Sencha Touch. Essas ferramentas tem uma característica muito peculiar quando se trata do tamanho da aplicação. Enquanto aplicações que são desenvolvidas nativamente flutuam entre 5 Mbs a 15 Mbs, já as aplicações que utilizam as multiplataformas flutuam entre 40 e 60 Mbs +.
E você ai deve estar se perguntando, porque desenvolver uma aplicação que seja tão pesada? É simples, falando como desenvolvedor, em diversos projetos(se não todos, rs) o tempo é o pior dos fatores. O cliente te pede um elefante azul e te da um tempo para você apresentar esse elefante ridículo surreal. E desta maneira para entregar o projeto a tempo e manter uma boa qualidade utiliza-se estes frameworks. Ao longo das postagens vocês irão perceber que esses frameworks, quando não utilizado com sabedoria, serão um prato cheio para identificar problemas no processo de engenharia reversa.
Metodologia
Bom galera, antes de entrar nesse tópico é bom que vocês fiquem ligados, que a metodologia que apresentaremos a seguir foi desenvolvidas por nós, e caso você queira utilizá-la como sua fique à vontade, não se limite aos tópicos listados aqui e caso queira agregar com alguma informação deixe nos comentários beleza? 😀
O pentest, mesmo tendo vários padrões de execução, é uma atividade intuitiva e criativa. Para ambientes mobile, geralmente é seguido, mas não limitado, o previsto no padrão OWASP. Elaboramos aqui uma ilustração da metodologia utilizada por nós, espero que possa guiá-los em seus testes.
A aplicação passa por 3 fases de análise. são elas:
- Analise estática – Nessa fase utilizamos ferramentas de análise estática gratuita assim como Nessus, OpenVas e afins. Para mobile existem ferramentas como MobSF que é feita pelos nossos irmãos indianos e o Inspeckage projeto em desenvolvimento pelos nossos amigos da Tempest;
- Engenharia reversa – Em seguida é feita a engenharia reversa do aplicativo, com o intuito de obter o código fonte de uma aplicação a partir de seu arquivo binário compilado. Nesta etapa aprofundaremos melhor nas próximas postagens.
- Analise dinâmica* – Por fim é feita uma análise dinâmica nos devices, interceptando e manipulando as requisições que trafegam na rede. Utilizando as informações adquiridas nas duas análises feitas anteriormente a gente vai bem municiado para o processo de análise dinâmica. Neste momento costumo utilizar ferramentas de proxy como Burp Suite ou Paros Proxy.
- Relatório – O resultado dessas fazes são compilados e apurados, nesse momento eu costumo utilizar o Word msm hahaha 😆 .
* Nesse momento muitos me perguntam, o que você prefere para analisar dinamicamente seus alvos, um device real ou emular um device? Eu particularmente prefiro utilizar um device real, mas ultimamente me deparei com a barreira de não possuir mais um celular para testes (R.I.P. Nexus 5 🙁 ) e passei a emular esse ambiente utilizando o Genymotion. Confesso que me surpreendi com a performance desta ferramenta e caso queiram, eu posso escrever sobre como instalá-la e utilizá-la em outras postagens, deixe nos comentários 🙂 .
Conclusão
Então é isso pessoal, espero ter agregado um pouco de informação pertinente relacionada a esse mundo mobile, dúvidas, sugestões e críticas, sintam-se à vontade para utilizar o campo de comentários. Em breve, traremos mais artigos relacionados a este assunto, abordando as principais ferramentas utilizadas, plataformas para teste e muito mais …
Referencias
- https://www.owasp.org/
- my mind 🙂
- Pentest.rb – O plugin externo para metasploit - 5 de agosto de 2017
- Pentest Mobile Android – Introdução - 1 de maio de 2017
- Faceboker – Brute force para facebook - 29 de agosto de 2016