Puoi semplicemente sostituire il certificato TLS in un'applicazione bloccata?

2

Supponiamo che ci sia un APK Android. Vuoi annusare il traffico all'API privata. Quindi lo decompilate, trovate il cert, quindi lo sostituite con il fiddler's o il burp's o il charles proxy, ricompilatelo e poi eseguitelo, usando uno dei proxy sopra elencati per annusare il traffico.

È davvero così semplice? Ho trovato facilmente un file di testo intitolato "pubcert_prod" (insieme a pubcert_dev) in una top 10 app mondiale con ctrl + f'ing l'apk decompilato.

Sarebbe estremamente banale scrivere uno strumento automatico che decompila l'app, cerca contenuti per estensioni di file cert e / o greps per ----- BEGIN PUBLIC KEY / CERTIFICATE ----- e usa openssl per generare un nuovo certificato e sostituirlo che può essere utilizzato per annusare il traffico bloccato di ssl.

    
posta user6769219 07.10.2017 - 01:23
fonte

1 risposta

5

Is it really that simple?

Generalmente, sì.

It would be extremely trivial to write an automated tool that decompiles the app, searches contents for cert file extensions and/or greps for -----BEGIN PUBLIC KEY/CERTIFICATE----- and use openssl to generate a new cert and replace it which can then be used to sniff the ssl pinned traffic.

SSL, con o senza pinning del certificato, non è progettato per difendersi da un attacco locale su client. È progettato per difendersi contro l'intercettazione dei dati da parte di intermediari arbitrari (ad es. ISP, il router WiFi della caffetteria) da client arbitrari.

    
risposta data 07.10.2017 - 01:53
fonte

Leggi altre domande sui tag