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.

Metodologia – Pentest Mobile

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

Ricardo Fajin
Na dúvida \/

Ricardo Fajin

Ricardo Fajin em Stone - Pagamentos
É outro louco por segurança da informação, mas não nega as suas raízes, e adora desenvolver em qualquer linguagem de programação.Atua profissionalmente há mais de 3 anos na área, onde é focado em análise de vulnerabilidades e testes de invasão. Atua como Analista de segurança da informação na Stone - Pagamentos. Foi convidado a compor o time de escritores e agregar com conteúdos voltados para segurança da informação, engenharia reversa e programação.
Ricardo Fajin
Na dúvida \/

Últimos posts por Ricardo Fajin (exibir todos)

Ricardo Fajin

É outro louco por segurança da informação, mas não nega as suas raízes, e adora desenvolver em qualquer linguagem de programação. Atua profissionalmente há mais de 3 anos na área, onde é focado em análise de vulnerabilidades e testes de invasão. Atua como Analista de segurança da informação na Stone - Pagamentos. Foi convidado a compor o time de escritores e agregar com conteúdos voltados para segurança da informação, engenharia reversa e programação.

Deixe seu comentário