
SSLPinDetect è uno strumento per analizzare APK Android per rilevare implementazioni di SSL pinning scansionando pattern noti nel codice decompilato. Aiuta ricercatori di sicurezza e penetration tester a identificare i meccanismi di SSL pinning utilizzati nelle applicazioni mobili.
SSLPinDetect è uno strumento per analizzare APK Android al fine di rilevare implementazioni di SSL pinning, scansionando i pattern noti nel codice smali decompilato. Aiuta i ricercatori di sicurezza e i penetration tester a identificare in modo efficiente i meccanismi di SSL pinning utilizzati nelle applicazioni mobili.
git clone https://github.com/aancw/SSLPinDetect
cd SSLPinDetect
pip install -r requirements.txt
python sslpindetect.py -f <percorso_apk> -a <percorso_apktool> -p <file_pattern> [-v]
-f, --file (obbligatorio): Percorso del file APK.-a, --apktool (obbligatorio): Percorso del file jar di apktool.-p, --pattern (opzionale): Percorso del file JSON contenente i pattern di SSL pinning (predefinito: patterns.json).-v, --verbose (opzionale): Abilita la registrazione dettagliata.✅ 1. Utilizzo base (senza modalità verbosa e pattern personalizzati):
python sslpindetect.py -f app.apk -a apktool.jar
🔍 2. Abilitare la Modalità Verbosa (per output dettagliato):
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. Utilizzare Pattern di SSL Pinning Personalizzati:
python sslpindetect.py -f app.apk -a apktool.jar -p custom_patterns.json
patterns.json)Scarica l'ultimo file dei pattern: smali-sslpin-patterns
Esempio di file patterns.json
{
"OkHttp Certificate Pinning": [
"Lcom/squareup/okhttp/CertificatePinner;",
"Lokhttp3/CertificatePinner;",
"setCertificatePinner"
],
"TrustManager Override": [
"Ljavax/net/ssl/X509TrustManager;",
"checkServerTrusted"
]
}
Questo progetto è concesso in licenza con la licenza MIT.
🚀 Pronto a portare SSLPinDetect al livello successivo? Contribuisci con le tue idee, miglioramenti o segnala problemi per rendere questo strumento ancora più potente! Costruiamo insieme qualcosa di straordinario!
