Skip to content
KitploitKITPLOIT
StrumentiExploitsBlog
Log in
Invia
StrumentiExploitsBlog
Invia

Strumenti di Hacking, PenTest e Cybersecurity per il tuo Arsenale di Sicurezza!

Kitploit è una directory di strumenti di hacking, cybersecurity e pentesting. Scopri gli ultimi aggiornamenti dei progetti per trovare vulnerabilità, analizzare sistemi, automatizzare i test e rafforzare la tua sicurezza.

··Feed·Contatto·Privacy·© 2026 Kitploit

Directory degli strumenti

Categorie

Vedi tutte le categorie
Loading categories
MITM_Intercept — Un modo leggermente meno 'hackeristico' per intercettare e modificare protocolli non-HTTP tramite Burp e altri. | Kitploit
Strumenti/GitHubGitHub/cyberark/mitm_intercept
Proxy Web e IntercettazionePenetration Testing
GitHubcyberark/mitm_intercept

MITM_Intercept

Un modo leggermente meno 'hackeristico' per intercettare e modificare protocolli non-HTTP tramite Burp e altri.

Vedi Repository
21932724 anni faRevisionato da Kitploit

Più Popolari

Vedi tutti →

Scopri gli strumenti più utilizzati dalla nostra community.

Esplora tutti gli strumenti

Sfoglia la nostra collezione di strumenti

Vedi tutti gli strumenti →
Condividi

MITM_Intercept

Un modo leggermente meno "hackish" per intercettare e modificare protocolli non HTTP tramite Burp e altri, con supporto all'intercettazione SSL e TLS. Questo strumento è pensato per ricercatori e penetration tester applicativi che eseguono valutazioni della sicurezza di client "thick".

Una versione migliorata del fantastico progetto mitm_relay.

La Storia

Come parte del nostro lavoro nel dipartimento di ricerca di CyberArk Labs, avevamo bisogno di un modo per ispezionare la comunicazione SSL e TLS su TCP e avere la possibilità di modificare il contenuto dei pacchetti al volo. Esistono molti modi per farlo (ad esempio, la nota estensione Burp Suite NoPE), ma nessuno di questi funzionava per noi in alcuni casi. Alla fine ci siamo imbattuti in mitm_relay.

mitm_relay è un modo rapido e semplice per eseguire MITM di qualsiasi protocollo basato su TCP attraverso software di intercettazione HTTP esistenti, come il proxy di Burp Suite. È particolarmente utile per le valutazioni di sicurezza dei client thick. Ma non funzionava completamente per noi, quindi abbiamo dovuto personalizzarlo. Dopo molte personalizzazioni, ogni nuova modifica richiedeva molto lavoro e abbiamo finito per riscrivere tutto in modo più modulare.

Speriamo che altri trovino utile questo script e che l'aggiunta di funzionalità sia semplice.

Come funziona

Per iniziare, è necessario configurare gli indirizzi e le porte dei listener. Per ogni listener, è necessario configurare anche un target (indirizzo e porta). Ogni dato ricevuto dal listener verrà inserito nel corpo di una richiesta HTTP POST con l'URL che contiene "CLIENT_REQUEST". Ogni dato ricevuto dal target verrà inserito nel corpo di una richiesta HTTP POST con l'URL che contiene "SERVER_RESPONSE". Queste richieste vengono inviate a un server di intercettazione HTTP locale.

È possibile configurare un proxy HTTP e utilizzare uno strumento come burp suite come strumento di intercettazione HTTP e visualizzare i messaggi lì. In questo modo, è facile modificare i messaggi utilizzando le funzioni "Match and Replace" di Burp, le estensioni o anche manualmente (Ricorda, il meccanismo di timeout del protocollo intercettato può essere molto breve).

Un altro modo per modificare i messaggi è utilizzare uno script Python che il server di intercettazione HTTP eseguirà quando riceve messaggi.

Il corpo dei messaggi inviati al server di intercettazione HTTP verrà stampato nella shell. I messaggi verranno stampati dopo le modifiche se viene fornito lo script di modifica. Dopo tutte le modifiche, il server di intercettazione risponderà anche con il corpo della risposta HTTP.

Per decrittare la comunicazione SSL/TLS, è necessario fornire a mitm_intercept un certificato e una chiave che il client accetterà quando avvia un handshake con il listener. Se il server target richiede un certificato specifico per l'handshake, è possibile fornire un certificato e una chiave.

Un piccolo diagramma per mostrare il flusso tipico del traffico:

test

Differenze da mitm_relay

mitm_intercept è compatibile con versioni più recenti di Python 3 (Python 3.9) ed è anche compatibile con Windows (ad esempio, socket.MSG_DONTWAIT non esiste in Windows). Abbiamo mantenuto l'opzione di utilizzare "STARTTLS", che abbiamo chiamato modalità "Mixed". L'uso del file di log delle chiavi SSL è aggiornato (l'opzione integrata per usarlo è nuova da Python 3.8) e abbiamo aggiunto l'opzione per cambiare l'intestazione SNI. Ora, la gestione della comunicazione in entrata e in uscita è effettuata da socketserver, e tutti i dati vengono inviati a una sottoclasse di ThreadingHTTPServer che gestisce la rappresentazione e la modifica dei dati. In questo modo, è possibile vedere le modifiche applicate dallo script di modifica nella risposta (comodo per usare Burp). Inoltre, ora possiamo cambiare i cipher disponibili che lo script utilizza utilizzando il formato della lista cipher di OpenSSL

Prerequisiti

  1. Python 3.9
  2. requests: $ python -m pip install requests

Utilizzo

usage: mitm_intercept.py [-h] [-m] -l [u|t:]<interface>:<port> [[u|t:]<interface>:<port> ...] -t
                         [u|t:]<addr>:<port> [[u|t:]<addr>:<port> ...] [-lc <cert_path>]
                         [-lk <key_path>] [-tc <cert_path>] [-tk <key_path>] [-w <interface>:<port>]
                         [-p <addr>:<port>] [-s <script_path>] [--sni <server_name>]
                         [-tv <defualt|tls12|tls11|ssl3|tls1|ssl2>] [-ci <ciphers>]

mitm_intercept version 1.6
Scarica lo strumento