
O SSLPinDetect é uma ferramenta para analisar APKs Android e detectar implementações de SSL pinning, escaneando padrões conhecidos no código decompilado. Ela ajuda pesquisadores de segurança e testadores de penetração a identificar mecanismos de SSL pinning usados em aplicativos móveis.
SSLPinDetect é uma ferramenta para analisar APKs Android e detectar implementações de SSL pinning através da varredura de padrões conhecidos em código smali descompilado. Ajuda pesquisadores de segurança e testadores de penetração a identificar mecanismos de SSL pinning usados em aplicativos móveis de forma eficiente.
git clone https://github.com/aancw/SSLPinDetect
cd SSLPinDetect
pip install -r requirements.txt
python sslpindetect.py -f <caminho_apk> -a <caminho_apktool> -p <arquivo_padroes> [-v]
-f, --file (obrigatório): Caminho para o arquivo APK.-a, --apktool (obrigatório): Caminho para o arquivo jar do apktool.-p, --pattern (opcional): Caminho para o arquivo JSON contendo os padrões de SSL pinning (padrão: patterns.json).-v, --verbose (opcional): Ativa logs detalhados.✅ 1. Uso Básico (sem modo verbose e padrões personalizados):
python sslpindetect.py -f app.apk -a apktool.jar
🔍 2. Ativar Modo Verbose (para saída detalhada):
python sslpindetect.py -a apktool_2.11.0.jar -f sample/app-release.apk -v
Processando APK...
APK descompilado com sucesso.
Varrendo Arquivos Smali: 100%|█████████████████████| 100/100 [00:05<00:00, 19.76it/s]
Padrão Correspondido: 5
Total de Padrões Correspondidos: 5
Padrão detectado: OkHttp Certificate Pinning
- smali/com/example/app/MainActivity.smali
[Linha 45]: invoke-static {v0}, Lcom/squareup/okhttp/CertificatePinner;->check(Ljava/lang/String;)V
🛠️ 3. Usar Padrões de SSL Pinning Personalizados:
python sslpindetect.py -f app.apk -a apktool.jar -p custom_patterns.json
patterns.json)Baixe o arquivo de padrões mais recente: smali-sslpin-patterns
Exemplo do arquivo patterns.json
{
"OkHttp Certificate Pinning": [
"Lcom/squareup/okhttp/CertificatePinner;",
"Lokhttp3/CertificatePinner;",
"setCertificatePinner"
],
"TrustManager Override": [
"Ljavax/net/ssl/X509TrustManager;",
"checkServerTrusted"
]
}
Este projeto está licenciado sob a Licença MIT.
🚀 Pronto para levar o SSLPinDetect ao próximo nível? Contribua com suas ideias, melhorias ou abra issues para tornar esta ferramenta ainda mais poderosa! Vamos construir algo incrível juntos!
