
Monitora il traffico TCP arbitrario utilizzando il proxy di intercettazione HTTP di tua scelta
Monitora il traffico TCP arbitrario utilizzando il proxy di intercettazione HTTP di tua scelta
socksmon è un server SOCKSv4 basato su Twisted, che tunnelizza il traffico TCP in entrata attraverso un proxy HTTP. socksmon lo fa avviando un webserver interno sulla porta 2357, invia il traffico al proxy man-in-the-middle per modificarlo e poi lo inoltra alla destinazione.
socksmon ha un supporto preliminare per l'intercettazione SSL, il che significa che il traffico TCP crittografato SSL arbitrario può essere analizzato utilizzando il proxy di intercettazione di tua scelta.
Prima devi creare un certificato che desideri utilizzare con socksmon in formato PEM e metterlo in /tmp/server.pem. Se usi BURP, esporta la chiave privata e il certificato e poi concatenali insieme. (es. cat server.crt server.key > /tmp/server.pem)
Secondo, avvia il tuo proxy di intercettazione con porta 8080 su localhost.
Terzo, invia traffico SOCKSv4 a yourip:9050. Assicurati di usare SOCKSv4, SOCKSv5 non funzionerà a causa dell'implementazione del server SOCKS di Twisted. Per reindirizzare il traffico consiglio Proxifier1 su Windows e Redsocks2 o Proxychains3 su Linux.
Patch / PR sono benvenuti.
Attualmente non vengono generati certificati per endpoint specifici, ad esempio la chiave specificata viene usata direttamente per tutti i siti. Questo è problematico con i client che controllano il common name o la lista di revoca nel certificato.
I proxy upstream dovrebbero essere supportati per tutto il traffico. HTTP dovrebbe ricevere un trattamento speciale, in modo che anche i proxy che non consentono CONNECT possano essere usati.
Le opzioni da riga di comando dovrebbero essere usate per impostare la porta del proxy, i certificati e le porte del webserver.
Implementare un framework modulare che permetta l'elaborazione del traffico TCP. Dovrebbe essere facile implementare decodificatori e ricodificatori per diversi protocolli e formati (es. deserializzare oggetti Java in XML).