
SSLPinDetect es una herramienta para analizar APKs de Android y detectar implementaciones de SSL pinning mediante el escaneo de patrones conocidos en código decompilado. Ayuda a investigadores de seguridad y testers de penetración a identificar mecanismos de SSL pinning utilizados en aplicaciones móviles.
SSLPinDetect es una herramienta para analizar APKs de Android y detectar implementaciones de SSL Pinning mediante el escaneo de patrones conocidos en código smali descompilado. Ayuda a investigadores de seguridad y testers de penetración a identificar los mecanismos de SSL Pinning utilizados en aplicaciones móviles de manera eficiente.
git clone https://github.com/aancw/SSLPinDetect
cd SSLPinDetect
pip install -r requirements.txt
python sslpindetect.py -f <apk_path> -a <apktool_path> -p <pattern_file> [-v]
-f, --file (obligatorio): Ruta al archivo APK.-a, --apktool (obligatorio): Ruta al archivo jar de apktool.-p, --pattern (opcional): Ruta al archivo JSON que contiene los patrones de SSL Pinning (por defecto: patterns.json).-v, --verbose (opcional): Habilita el registro detallado.✅ 1. Uso básico (sin modo detallado ni patrones personalizados):
python sslpindetect.py -f app.apk -a apktool.jar
🔍 2. Habilitar modo detallado (para salida detallada):
python sslpindetect.py -a apktool_2.11.0.jar -f sample/app-release.apk -v
Processing APK...
APK successfully decompiled.
Scanning Smali Files: 100%|█████████████████████| 100/100 [00:05<00:00, 19.76it/s]
Pattern Matched: 5
Total Patterns Matched: 5
Pattern detected: OkHttp Certificate Pinning
- smali/com/example/app/MainActivity.smali
[Line 45]: invoke-static {v0}, Lcom/squareup/okhttp/CertificatePinner;->check(Ljava/lang/String;)V
🛠️ 3. Usar patrones de SSL Pinning personalizados:
python sslpindetect.py -f app.apk -a apktool.jar -p custom_patterns.json
patterns.json)Descarga el archivo de patrones más reciente: smali-sslpin-patterns
Ejemplo del archivo patterns.json
{
"OkHttp Certificate Pinning": [
"Lcom/squareup/okhttp/CertificatePinner;",
"Lokhttp3/CertificatePinner;",
"setCertificatePinner"
],
"TrustManager Override": [
"Ljavax/net/ssl/X509TrustManager;",
"checkServerTrusted"
]
}
Este proyecto está bajo la Licencia MIT.
🚀 ¿Listo para llevar SSLPinDetect al siguiente nivel? ¡Contribuye con tus ideas, mejoras o reporta problemas para hacer esta herramienta aún más potente! ¡Construyamos algo increíble juntos!
