Sto cercando di capire la relazione tra alcuni strumenti e concetti usati per MitM su una rete wifi e come la transazione https (su questa rete wifi) tra un'app Android e il rispettivo server può essere intercettata e modificata. Sono nuovo in questo dominio, quindi per favore portami con me.
Quindi voglio CATTURARE e MANIPOLARE tutto il traffico HTTPS tra un'app Android e il server con cui sta comunicando. L'utente che utilizza l'app si trova su una rete PSK WPA / WPA2. Ho già acquisito l'iniziale handshake WPA e sono stato in grado di forzare il PSK con successo tramite l'handshake e ora faccio parte della stessa rete dell'utente che utilizza l'app di destinazione.
Ora per essere in grado di catturare il traffico ho bisogno di ottenere una posizione MitM. Ci sono molti modi per farlo. Ce ne sono un paio che conosco, tra cui Cain APR e ettercap.
Ho scelto di usare ettercap in ARP per avvelenare la vittima. Da quando il dispositivo mobile comunica via SSL e voglio intercettare questa comunicazione SSL, apporto le modifiche necessarie a etter.conf e accendo l'IP forwarding sul mio sistema per eseguire la rappresentazione del certificato ettercap, dove ettercap genera effettivamente il server imposter e i certificati CA su il volo.
La tecnica sopra mostrerebbe comunque alla vittima un avviso di errore del certificato e se l'utente accetta che il certificato falso sia aggiunto come CA radice attendibile sul dispositivo della vittima. Avrei potuto usare SSL Strip qui, ma ancora una volta, se l'utente si connette al server direttamente su https (senza un reindirizzamento), la striscia SSL potrebbe non essere la soluzione migliore.
Ora, sebbene io possa annusare il traffico SSL ora, ma sarebbe relativamente più difficile manipolare questo traffico SSL usando ettercap. Quindi, invece, provo a usare iptables per reindirizzare il traffico verso un numero di porta alternativo su una seconda porta del sistema locale dove ho un altro software in esecuzione che mi permetterebbe di manipolare i dati nel traffico reindirizzato.
Ora diciamo che il software che sto usando su questa porta è BURP Suite, che è qualcosa che vorrei usare per giocherellare con i dati.
Ora la cosa di cui mi sto confondendo è:
BURP has it's own Portswigger certificate. However, using ettercap I have already done a certificate impersonation earlier. So now, when I forward all of this traffic (using IP Tables and setting up BURP to use Transparent Proxy) to BURP, will I need to get the Portswigger certificate also trusted on the client's device ? Please explain either yes or no.
-
Come attaccante del mondo reale, quanto sopra sarebbe probabilmente uno dei metodi che potrei usare per lanciare un attacco. La comprensione sopra è corretta?
-
Come metro di valutazione un altro modo per ottenere ciò che posso pensare è se installo un server SSH sul dispositivo di test e installo anche Shark (nel caso di Android) / qualche altro dump come strumento e quindi monitorare / analizzare (usando Wireshark forse) tutto il traffico da remoto attraverso un client SSH sul mio sistema locale? Questo mi consentirà di fare il lavoro previsto?
-
Quali potrebbero essere altri modi per farlo?