Ferramentas
Last updated
Was this helpful?
Last updated
Was this helpful?
Em relação as ferramentas utilizadas, os principais componentes do ambiente Android são utilizados, incluindo:
1. Computador ou Laptop com 4GB de RAM e pelo menos 500MB.
2. Android SDK.
3. Java Development Kit (JDK) ou Java Runtime Environment (JRE).
4. Python 2.7.
5. Smartphone com root ou emulador, em modo desenvolvedor.
6. Ferramentas Auxiliares de Análise.
A utilização de ambientes prontos para testes é uma opção que facilita a busca pelas Ferramentas Auxiliares de Análise, esses ambientes são os seguintes:
● Santoku Linux () – Com 2.5GB, é uma distro de código aberto focado em segurança de aplicativos móveis. Sua última atualização foi em 2014, porém há uma comunidade ativa e é um ambiente interessante justamente por possuir todas as ferramentas necessárias para testes básicos.
● PentestBox () – É uma modificação do ConEmu, que é uma linha de comando para Windows capaz de abrir múltiplos consoles e tem diversas configurações de personalização. Atualmente na versão 2.2, o PentestBox tem cerca de 1,7GB e dá para ser instalado em um pendrive, além de trazer todas as ferramentas de pentest em um pacote e é possível rodá-las nativamente no Windows, podendo-se até executar alguns comandos importantes de linux. Caso tenha problemas com esta versão, pode-se instalar o Appie v3.1 (), versão do PentestBox apenas com ferramentas forenses para Android.
● Kali Linux () – Com cerca de 2,7GB na versão standard e 800MB na versão light, é a distro linux baseada em Debian e favorita dos hackers, profissionais de segurança, pentesters e outros, pois contém mais de 300 ferramentas voltadas aos testes de intrusão, principalmente de Web porém há diversos pacotes de ferramentas adicionais para baixar de acordo com o que se precisa. Não vem com ferramentas pentest Android por padrão.
Os ambientes citados acima vêm pré equipados com ferramentas que serão utilizadas para análise de aplicações, seja ela de análise estática ou dinâmica, uma ferramenta serve muitas vezes para mais de uma análise. Foram apenas utilizadas apenas ferramentas open source ou grátis com foco em pentest Android.
Ferramenta
Detalhes
ADB
Um programa cliente-servidor em 3 partes: o computador roda o servidor em segundo plano, o adb envia comandos como cliente e um daemon que recebe e executa comandos no dispositivo. Ainda conta com um shell, um debugger e um analisador de logs.
AndroBugs
É um framework que analisa potenciais vulnerabilidades em aplicações Android. Além disso, procura por comandos perigosos, coleta informações de outros apps, checa se o código segue os padrões e tem uma GUI simples na linha de comando.
Androwarn
Detecta diversos tipos de comportamentos maliciosos analisando o código de um app e reportaos de forma automática.
Androguard
É um conjunto de ferramentas feito em Python que serve para engenharia reversa e análise de malware. Descompila .dex para java, faz análise estática de código, tem uma database de malwares, indicador de risco, mede eficiência de ofuscadores de código como o proguard e outras funcionalidades.
APKTool
Engenharia reversa, atua na compilação e descompilação de APKs em Smali e permite a instalação adicional de frameworks.
Burp Suite
Atua como proxy para realização de testes de segurança em aplicações web. Ele possui outras funcionalidades como crawling de aplicações, scanner de requisições HTTP, ataques automatizados, re-envio de requisições, análise de tokens de sessão, codificação e decodificação mais comuns e comparador de bits.
Bytecode Viewer
Utiliza de outros descompiladores como Procyon e CRF e fornece uma uma interface de usuário (GUI) para navegar pelo código.
CFR
Descompilador feito em Java 6 que suporta os lambdas Java 8 além dos switches do Java 7. Descompila arquivos .jar em .class. Ele é grátis porém não é open source.
d2j-dex2jar
Descompila uma aplicação .dex diretamente em .jar
Drozer
É uma ferramenta open source de análise dinâmica de aplicações Android que possui diversas funcionalidades, desde interagir com processos de inter-comunicação como content providers até o sistema operacional, lançando activities. É necessário possuir o Python 2.7 para rodar a aplicação.
Enjarify
Similar ao dex2jar porém mais novo e necessita do Python 3 para ser executado, foi criado a partir de códigos da Google e converte arquivos .dex em .jar.
jadx
Uma GUI de navegação fácil para abrir arquivos .jar e assim conseguir acessar os arquivos .class.
JD-GUI
Talvez um dos mais utilizados, ainda que não consiga descompilar totalmente o Java 8, possui uma GUI fácil de navegar e abre arquivos .jar para inspecionar os arquivos .class.
Pidcat
Um logcat (logger) que mostra logs de um package específico. Os erros e avisos são mostrados de maneira bem definida e colorida, o que facilita a visualização. Existe um versão para linux e uma em Python.
Procyon
Tem praticamente as mesmas funcionalidades do CFR, porém é open source e necessita do Java 7 para rodar.
SQLite
O banco de dados sqlite propriamente dito. Atualmente na versão 3.x, é o banco de dados oficial do Android e por causa disso está presente no ADB.
Wireshark
É um Sniffer (farejador) de rede e analisa o tráfego por meio de uma interface gráfica, podendo ser utilizado para capturar pacotes ethernet, wireless, bluetooth e outros. Além disso, descodifica diferentes protocolos, sendo possível a reconstrução de arquivos.