Automatizando Enumeração em Mobile (MobSF)
Automatizando Enumeração em Mobile (MobSF)
O que é MobSF?
O MobSF é uma ferramenta que analisa um APK e busca por vulnerabilidades. Com esta ferramenta, podemos fazer tanto a análise estática quanto a dinâmica. Na estática, podemos realizar revisão de código, detectar permissão e configurações, verificar ssl overriding, ssl bypass, criptografia fraca, códigos ofuscados, permissões impróprias, segredos codificados, uso indevido de API e armazenamento inseguro de arquivos/dados.
O analisador dinâmico, por sua vez, executa o aplicativo em uma máquina virtual ou em um dispositivo configurado e detecta os problemas em tempo de execução. Uma análise mais aprofundada é feita nos pacotes de rede capturados, tráfego HTTPS desencriptado, registros, relatórios de erros ou falhas, informações de depuração, preferências e informações sobre bancos de dados.
Essa estrutura é altamente escalável e você pode adicionar suas regras personalizadas com facilidade e, no final dos testes você consegue um relatório rápido e limpo. A ferramenta pode ser utilizada tanto para Android quanto para iOS, e suporta binários (APK e IPA), e códigos-fontes compactados. O MobSF também pode ser usado via API.
Primeiros passos
Para funcionar e rodar MobSF com sucesso, é só seguir os próximos passos.
Faça o download do Oracle JDK 1.7 (ou superior) – Java JDK Download
Faça o git clone do repositório do MobSF, no qual estarão alguns scripts que precisam ser executados. Depois disso, entre no repositório.
git clone https://github.com/MobSF/Mobile‐Security‐Framework‐MobSF.git
cd Mobile‐Security‐Framework‐MobSF
Faça a instalação do Python (2.7 ou superior), pois os scripts são em Python, e rode o comando abaixo para que as dependências possam ser instaladas:
sudo apt install build‐essential libssl‐dev libffi‐dev python‐dev
pip install ‐r requirements.txt ‐‐user
O comando a seguir permite que você faça a instalação do MobSF:
./setup.sh
Siga todos os passos da instalação e logo após concluir execute o seguinte comando para iniciar o MobSF:
./run.sh

Para acessar a ferramenta copie o IP local que aparece em seu terminal seguido da porta 8000.

Para realizar a análise basta fazer o upload do arquivo APK ou IPA.
Iremos utilizar um arquivo APK de exemplo para iniciar os testes.

Faça o upload do arquivo pela ferramenta.

Automaticamente a ferramenta irá realizar a análise do aplicativo buscando por vulnerabilidades.

Como resultado temos o acesso a diversas informações sobre o aplicativo analisado.

A seguir uma lista de informações que podem ser coletadas utilizando esta ferramenta:
1. Informação
Dados de exibição como ícone do aplicativo, nome do aplicativo, tamanho, nome do pacote etc. MD5 e SHA1 também são mostrados. Eles podem ser úteis para detectar aplicativos maliciosos conhecidos.
2. Opções de digitalização
· Verificar novamente o aplicativo
· Iniciar a análise dinâmica
· Verifique o código java e o arquivo manifest
3. Certificado de assinante
· Exibir informações do certificado
· Determine se um aplicativo veio de sua fonte original.
4. Permissões
· Analisa as permissões
5. Análise binária
· É uma avaliação de ameaças e teste de vulnerabilidade em nível de código binário.
· Também pode ser usado para analisar bibliotecas de terceiros, permitindo uma análise mais rica e melhor visibilidade de como os aplicativos irão interagir com as bibliotecas.
· Para sistemas complexos que usam bibliotecas de terceiros para os quais o código-fonte não está disponível, a análise de código binário ajuda a identificar problemas.
6. API Android
Você pode visualizar a API do Android usada no aplicativo.
7. Atividades navegáveis
A ferramenta tem uma série de menus interativos que ajudam em sua navegação.
8. Análise de segurança
Análise do arquivo manifest:
Encontre vulnerabilidades dentro de um dos componentes no arquivo AndroidManifest.xml.
Análise de código:
· Resultado da análise do código java por um analisador estático.
· Identifica vulnerabilidades potenciais, determina sua gravidade e os arquivos nos quais este tipo de vulnerabilidade foi encontrado.
CVSS:
· Sistema de pontuação de vulnerabilidades
· Para cada vulnerabilidade é atribuída a uma pontuação básica do CVSS entre 0,0 e 10,0.
0,0 → Sem risco
0,1–3,9 → Baixo risco
4,0-6,9 → Risco médio
7,0-8,9 → Alto risco
9,0–10,0 → Pontuação de risco crítico
CWE:
· Enumeração de vulnerabilidades comuns
· É uma lista de arquitetura de software, design ou fragilidade do código.
Análise de arquivo:
Mostra a análise dos arquivos.
9. Análise de malware
Determine a funcionalidade, origem e impacto potencial de uma determinada amostra de malware, como vírus.
10. Reconhecimento
URL:
Exibe a lista de URLs, endereços IP e os arquivos nos quais são armazenados ou chamados. Analisa para onde o aplicativo Android envia os dados e onde armazena as informações.
Emails
Strings:
· Analisa os arquivos de texto que estão no diretório res.
· Pode conter dados sensíveis.
11. Componentes
Exibe uma lista completa de componentes (atividade, serviço, provedor e receptor de conteúdo), bibliotecas e arquivos importados sem definir a extensão.