SSL Pinning è lo strato aggiuntivo di sicurezza implementato sul lato client per consentire all'applicazione mobile di fidarsi solo di un determinato certificato SSL durante lo stabilimento della connessione HTTP e non dei certificati installati nel trust store del dispositivo. Poiché l'implementazione è l'implementazione lato client, può essere facilmente aggirata utilizzando le seguenti tecniche:
Approccio automatico
- Moduli Xposed come SSLUnpinning 2.0 .
- FRIDA (Strumento di strumentazione dinamico) - Bypass di blocco universale SSL script .
-
Ispezione - Ispettore pacchetto Android
Approccio manuale
Ritengo che questa sia l'ultima, un po 'complessa e la soluzione più affidabile per aggirare l'aggancio SSL. Di seguito sono riportati i passaggi per eseguire lo stesso.
- Capire l'implementazione di SSL Pinning. Puoi fare riferimento a questo blog medio che spiega l'implementazione di SSL Pinning utilizzando diverse librerie di rete come come OkHttp, Volley, Retrofit ecc.
- Analizza il metodo responsabile e mappalo allo stesso modo con il codice SMALI.
Una volta che il metodo responsabile viene analizzato e identificato, possiamo utilizzare il seguente approccio per aggirare SSL Pinning:
Applicazione manomissione
-
Manomettere il codice SMALI per aggirare il blocco SSL.
-
Ricrea l'applicazione usando APKTool.
-
Rassegna e installa l'applicazione e cattura il traffico.
Riferimento: link
Hook di runtime
Una volta identificato il metodo responsabile, utilizzare le hooker di runtime come FRIDA, JDB per agganciare il metodo e modificare l'implementazione.