Attacchi Man-in-the-Middle

Rispondi
Avatar utente
openresource
Administrator
Administrator
Messaggi: 382
Iscritto il: mar gen 28, 2020 9:52 pm
Reactions score: 4
Località: varese
Contatta:
apr 2020 27 03:36

Attacchi Man-in-the-Middle

Messaggio da openresource

Immagine
In un attacco man-in-the-middle (MITM), un hacker black hat prende posizione tra due vittime che stanno comunicando tra loro. In questo punto, l'attaccante inoltra tutta la comunicazione, può ascoltarla e persino modificarla.
Immaginate che Alice e Barbara parlino tra loro al telefono in Lojban, che è un linguaggio oscuro. Nancy è un agente segreto che ha bisogno di ascoltare la loro conversazione, ma che non può toccare la linea telefonica. Nancy è molto intelligente e talentuosa, quindi fa quanto segue:

  1. Nancy osserva Alice e Barbara per un po'. Si accorge che Alice chiama sempre Barbara, non il contrario.

  2. Nancy riconosce che Alice e Barbara parlano in Lojban. Impara quella lingua.

  3. Nancy infila un biglietto da visita nella borsa di Alice. La carta dice "Barbara" ma ha il numero di telefono di Nancy.

  4. Quando Alice chiama questo numero, è Nancy che riceve la chiamata. Lei risponde in Lojban e imita la voce di Barbara.

  5. Nancy chiama immediatamente Barbara su un altro telefono. Imita la voce di Alice, salutandola in Lojban.

  6. Nancy continua entrambe le conversazioni passando da una all'altra in base alle esigenze.

Ora Alice e Barbara sono entrambe certe di parlare tra loro. In realtà, stanno parlando con Nancy che trasmette la comunicazione tra di loro. Nancy conosce tutti i segreti. Può anche manipolare le informazioni che Alice e Barbara stanno condividendo tra loro.
Per eseguire questa operazione, Nancy utilizza diversi strumenti. Ad esempio, falsifica il numero di telefono di Barbara, individua la crittografia (lingua Lojban) e si autentica imitando le voci. Gli hacker black hat fanno cose molto simili nel mondo IT.
Gli attacchi Man-in-the-Middle sono pericolosi?
Nel mondo della sicurezza IT, gli hacker black hat di solito usano attacchi man-in-the-middle per intercettare le comunicazioni tra un client e un server. Ciò include connessioni HTTPS a siti web, altre connessioni SSL/TLS, connessioni Wi-Fi e altro ancora.
Tali hacker hanno due obiettivi principali: ottenere l'accesso a informazioni sensibili e/o manipolare i contenuti trasmessi. In pratica, possono utilizzare gli attacchi MITM:

  • Per ottenere informazioni personali per furto di identità

  • Per ottenere le credenziali di accesso, ad esempio per accedere a un conto bancario online

  • Per modificare il numero di conto di destinazione in modo personalizzato quando l'utente effettua un bonifico bancario

  • Per ottenere un numero di carta di credito quando l'utente paga presso un negozio online

È inoltre necessario ricordare che i siti Web non sono l'unico bersaglio di attacchi MITM. Un obiettivo molto comune sono le e-mail che per impostazione predefinita non utilizzano alcun tipo di crittografia. Se un utente malintenzionato può ottenere l'accesso a un account di posta elettronica, è possibile intercettare e falsificare le e-mail.
Esempi reali di attacchi MITM
Gli attacchi Man-in-the-middle erano conosciuti molto tempo prima dell'avvento dei computer.

  • Uno dei casi più antichi è stato il diagramma di Babington . Le comunicazioni tra Mary Stuart e i suoi compagni cospiratori fu intercettata, decodificata e modificata da un esperto di crittografia Thomas Phelippes.

  • Durante la seconda guerra mondiale, l'intelligence britannica condusse attacchi MITM contro le forze naziste utilizzando dispositivi Aspidistra. Il Cracking del codice Enigma potrebbe anche essere considerato un attacco MITM.

Nel mondo dell'informatica, alcuni dei casi più famosi legati agli attacchi MITM sono stati i seguenti:

  • Nel 2013 sono trapelate informazioni sul sistema Quantum/FoxAcid MITM impiegato dalla NSA per intercettare le connessioni TOR.

  • Nel 2014, Lenovo ha installato l'adware MITM (SSL Hijacking) chiamato Superfish sui propri PC Windows.

  • Nel 2015, una coppia britannica (i Luptons) ha perso 340.000 sterline in una e-mail intercettazioni / e-mail dirottamento attacco MITM.

Come funzionano gli attacchi MITM?
Un hacker black hat può attaccare una connessione protetta (crittografata) o meno. In entrambi i casi, il primo obiettivo è quello di intercettare la connessione - come Nancy deve prima infilare un biglietto da visita nella borsa di Alice. Esistono molti modi per eseguire questa operazione, tra cui lo spoofing ARP, lo spoofing IP e lo spoofing DNS. L'attaccante può anche utilizzare altri vettori di attacco per prendere il controllo della macchina della vittima o del server e intercettare da lì.
Spoofing ARP (Avvelenamento della cache ARP)
ARP (Address Resolution Protocol) si traduce tra l'indirizzo fisico di un dispositivo Internet (indirizzo MAC – controllo dell'accesso ai supporti) e l'indirizzo IP assegnato gli è assegnato sulla rete locale. Un utente malintenzionato che utilizza lo spoofing ARP tenta di inserire informazioni false nella rete locale per reindirizzare le connessioni al dispositivo.
Ad esempio, il router ha l'indirizzo IP 192.168.0.1. Per connettersi a Internet, il computer portatile deve inviare pacchetti IP (Internet Protocol) a questo indirizzo. In primo luogo, deve sapere quale dispositivo fisico ha questo indirizzo. Il router ha il seguente indirizzo MAC: 00-00-00-00-00-01.
Immagine
Diciamo che Nancy non sta più lavorando con i telefoni, ma lei è un hacker black hat:

  1. Nancy inserisce falsi pacchetti ARP nella rete.

  2. Questi pacchetti ARP dicono che l'indirizzo 192.168.0.1 appartiene al dispositivo di Nancy con il seguente indirizzo MAC: 00-00-00-00-00-2A.

  3. La cache ARP memorizza le informazioni false che associano IP 192.168.0.1 con MAC 00-00-00-00-00-2A.

  4. La prossima volta che il tuo laptop tenta di connettersi a Internet, si connette alla macchina di Nancy.

  5. La macchina di Nancy si connette al router (00-00-00-00-00-01) e ti connette a Internet, quindi non sai nemmeno che Nancy è lì.

Spoofing IP (spoofing dell'indirizzo IP)
Lo spoofing IP significa che un computer finge di avere un indirizzo IP diverso, di solito lo stesso indirizzo di un'altra macchina. Da solo, lo spoofing IP non è sufficiente per un attacco MITM. Tuttavia, un utente malintenzionato può combinarlo con la previsione della sequenza TCP.
La maggior parte delle connessioni Internet viene stabilita utilizzando TCP/IP (Transmission Control Protocol / Internet Protocol). Quando due dispositivi sulla rete si connettono tra loro utilizzando TCP/IP, devono stabilire una sessione. Lo fanno usando una stretta di mano a tre vie. Durante questo processo, si scambiano informazioni denominate numeri di sequenza. I numeri di sequenza sono necessari affinché il destinatario riconosca ulteriori pacchetti. Grazie ai numeri di sequenza, i dispositivi conoscono l'ordine in cui dovrebbero mettere insieme i pacchetti ricevuti.
In questo caso, l'utente malintenzionato prima annusa la connessione (ascolta). Questo è molto facile su una rete locale perché tutti i pacchetti IP vanno nella rete e possono essere letti da qualsiasi altro dispositivo. L'attaccante impara i numeri di sequenza, prevede il prossimo e invia un pacchetto fingendo di essere il mittente originale. Se il pacchetto raggiunge prima la destinazione, l'utente malintenzionato intercetta la connessione.
Immagine
Torniamo a Nancy che vuole provare questa volta lo spoofing IP con la previsione della sequenza TCP:

  1. Nancy si unisce alla rete locale come 10.0.0.42 con il suo computer portatile ed esegue uno sniffer. Il software sniffer le permette di vedere tutti i pacchetti IP che passano attraverso la rete.

  2. Nancy desidera intercettare la connessione al gateway (10.0.0.1). Cerca i pacchetti tra te (10.0.0.102) e il gateway e quindi stima il numero di sequenza.

  3. Al momento giusto, Nancy invia un pacchetto dal suo portatile. Il pacchetto ha l'indirizzo di origine del gateway (10.0.0.1) e il numero di sequenza corretto, in modo che il computer portatile venga ingannato.

  4. Allo stesso tempo, Nancy inonda il vero gateway con un attacco DoS. Il gateway funziona più lentamente o smette di funzionare per un momento. Il pacchetto di Nancy raggiunge l'utente prima del pacchetto dal gateway.

  5. Nancy ha convinto il tuo portatile che il suo portatile è il gateway. Ora convince il gateway che il suo portatile è 10.0.0.102 (tu), e l'attacco MITM è completo.

Spoofing DNS (avvelenamento dalla cache DNS)
Lo spoofing ARP e lo spoofing IP richiedono all'utente malintenzionato di connettersi al segmento di rete locale in uso. Un utente malintenzionato che utilizza lo spoofing DNS può trovarsi ovunque. È più difficile perché la cache DNS deve essere vulnerabile. Tuttavia, in caso di successo, può colpire un gran numero di vittime.
DNS (Domain Name System) è il sistema utilizzato per la conversione tra indirizzi IP e nomi simbolici come www.example.com. Questo sistema dispone di due elementi principali: server dei nomi (server DNS) e resolver (cache DNS). Il server dei nomi è l'origine di informazioni autorevoli. Di solito, ci sono due o tre sistemi che mantengono tali informazioni per ogni dominio. Ad esempio, il numero IP per www.example.com viene memorizzato in due server dei nomi: sns.dns.icann.org e noc.dns.icann.org. Puoi controllarlo utilizzando lo strumento di ricerca Google DNS.
Se ogni client che desidera connettersi a www.example.com si connettesse a questi due server ogni volta, verrebbero sovraccaricati. Ecco perché ogni client utilizza il resolver locale per memorizzare le informazioni nella cache. Se la cache non dispone di informazioni su www.example.com, contatta sns.dns.icann.org e noc.dns.icann.org per ottenere 93.184.216.34. Quindi, memorizza l'indirizzo IP localmente per qualche tempo. Tutti i client che utilizzano questo sistema di risoluzione ottengono l'indirizzo dalla cache.
Un attacco di spoofing DNS viene eseguito iniettando una voce fittizia nella cache locale. Se un hacker black hat lo fa, tutti i client connessi a questa cache ottenere l'indirizzo IP sbagliato e connettersi all'attaccante invece. Ciò consente all'attaccante di diventare un man-in-the-middle.
Immagine
Questa volta, Nancy non può connettersi alla rete, quindi tenta lo spoofing DNS:

  1. Nancy sa che si utilizza 203.0.113.255 come resolver (cache DNS).

  2. Nancy sa anche che questo risolutore è vulnerabile all'avvelenamento (utilizza il software BIND 4).

  3. Nancy avvelena BIND 4 a 203.0.113.255 e archivia le informazioni che www.example.com è 198.51.100.123.

  4. Quando si digita www.example.com nel browser, il sito visualizzato è il sito di Nancy.

  5. Nancy si connette al sito originale per completare l'attacco.

Altri metodi utilizzati per intercettare le connessioni
Gli hacker Black Hat possono utilizzare molti altri metodi per posizionarsi tra il client e il server. Questi metodi appartengono in genere a una delle tre categorie seguenti:

  • Compromissione del server: un utente malintenzionato potrebbe utilizzare un'altra tecnica per ottenere il controllo sul server a cui ci si connette. Essi possono quindi posizionare il proprio software su quel server per intercettare le connessioni con voi. Ad esempio, possono iniziare con SQL Injection e passare a compromissione completa del sistema, quindi posizionare il software MITM sul server web compromesso. Potrebbero anche abusare di una vulnerabilità di iniezione di codice per inserire una shell sul server.

  • Compromissione del client: un utente malintenzionato può inserire un'applicazione non autorizzata, ad esempio un trojan, nel computer (ad esempio, man-in-the-browser). L'applicazione può ascoltare su tutte le connessioni e consentire attacchi MITM. A tale scopo, l'attaccante può ottenere di fare clic su un collegamento dannoso o può utilizzare un'altra tecnica per avere si scarica malware. Potrebbero, ad esempio, eseguire un attacco Cross-site Scripting sulla tua applicazione web preferita e inserire JavaScript dannoso.

  • Compromissione delle comunicazioni: un utente malintenzionato potrebbe assumere un computer che instrada le informazioni tra il client e il server. Ad esempio, un router di rete con software vulnerabile o un hotspot Wi-Fi pubblico. Gli hacker black hat possono anche posizionare il proprio punto di accesso Wi-Fi dannoso nelle vostre vicinanze in modo che ci si connette ad esso. Se la connessione di rete Wi-Fi utilizza un protocollo di crittografia vulnerabile come WEP, potresti essere un bersaglio di intercettazioni Wi-Fi.

Come ascoltano gli aggressori?
Se la vittima utilizza una connessione sicura, essere nel mezzo non è sufficiente. Nancy deve comprendere il linguaggio che Alice e Barbara stanno usando (Lojban). Deve anche essere in grado di parlare fluentemente e imitare le voci di Alice e Barbara. Questo è necessario in modo che Alice e Barbara siano ancora sicuri di parlare tra loro. Alcune delle tecniche utilizzate per questo nel mondo IT sono lo spoofing HTTPS, il dirottamento SSL e lo stripping SSL.
HTTPS Spoofing (attacchi omografici IDN)
I nomi di dominio internazionali (IDN) possono contenere caratteri Unicode. Alcuni caratteri Unicode sono simili ai caratteri ASCII. Gli hacker black hat usano questo per ingannare le vittime. Una vittima visita un sito web falso controllato dall'attaccante che intercetta le informazioni e lo trasmette al sito reale.
Immagine
Ad esempio, Nancy vuole che tu visiti un falso sito Acunetix (il cirillico а assomiglia esattamente all'ASCII a):

  1. Nancy utilizza Punycode per registrare il dominio "cunetix.com": xn--cunetix-1fg.com (puoi provare a crearne uno proprio utilizzando Punycoder).

  2. Nancy acquista un certificato SSL/TLS legittimo per.

  3. Nancy ti invia un link dannoso per visitare il falso sito Acunetix.

  4. Quando visiti il sito, puoi vedere https e un simbolo di lucchetto nella barra degli indirizzi in modo da non allarmarti.

  5. In background, Nancy trasmette tutte le informazioni inviate dall'utente al vero sito Acunetix.

I browser attuali (Chrome, Firefox, Opera, Internet Explorer, Edge, Safari) hanno protezione contro gli attacchi omografici. Ad esempio, visualizzano Punycode nella barra degli indirizzi anziché i caratteri nazionali. Tuttavia, siti web ed e-mail possono ancora contenere collegamenti in Unicode che assomigliano esattamente agli originali.
Dirottamento SSL
Chiunque può generare un certificato SSL/TLS per qualsiasi dominio. Un utente malintenzionato che intercetta una connessione può generare certificati per tutti i domini visitati dalla vittima. Possono presentare questi certificati alla vittima, stabilire una connessione con il server originale e inoltrare il traffico. Questo è chiamato dirottamento SSL.
Tuttavia, il browser considera attendibili solo i certificati firmati da un'autorità di certificazione (CA) attendibile . Se il certificato non è firmato da un'autorità di certificazione attendibile, i browser visualizzano avvisi chiari o addirittura rifiutano di aprire una pagina. Pertanto, un utente malintenzionato ha bisogno di un modo per far credere al tuo browser che il certificato può essere considerato attendibile. A tale scopo, è necessario aggiungere la CA all'archivio certificati attendibili nel computer. Questo può essere fatto utilizzando altri vettori di attacco.
Immagine
Se Nancy vuole ascoltare le tue connessioni SSL / TLS utilizzando il dirottamento SSL, questo è quello che fa:

  1. Nancy ti fa scaricare e installare il suo certificato CA utilizzando un altro tipo di attacco.

  2. Ogni volta che si visita un sito sicuro, ad esempio, acunetix.com, Nancy intercetta la connessione.

  3. Nancy genera un certificato per acunetix.com, lo firma con la chiave privata della CA e lo rifornisce all'utente.

  4. Il browser considera attendibile il certificato perché la chiave pubblica della CA di Nancy si trova nell'archivio attendibile.

  5. Nancy stabilisce una connessione con acunetix.com e trasmette tutto il traffico SSL attraverso il suo sistema.

Il dirottamento SSL è molto spesso utilizzato per scopi legittimi. Ad esempio, software di protezione malware installato sul computer probabilmente utilizza dirottamento SSL. In caso contrario, il software non sarebbe in grado di proteggere quando si tenta di scaricare il malware utilizzando una connessione sicura. Alcune aziende utilizzano il dirottamento SSL per controllare il traffico nelle loro reti interne, ad esempio, per verificare a quali contenuti accedono i dipendenti. Il software di controllo parentale utilizza anch’esso il dirottamento SSL.
Stripping SSL
Quando si digita un indirizzo nel browser, il browser si connette prima a un sito non sicuro (HTTP). Quindi, di solito viene rapidamente reindirizzato al sito sicuro (HTTPS). Se il sito Web è disponibile senza crittografia, l'utente malintenzionato può intercettare i pacchetti e forzare una connessione HTTP. Se non si nota che la connessione non è crittografata, è possibile esporre segreti all'utente malintenzionato. Questa tecnica è chiamata stripping SSL.
Immagine
Se Nancy vuole utilizzare lo stripping SSL per ottenere i tuoi segreti:

  1. Nancy ascolta le tue connessioni per proteggere i siti web e intercettarli.

  2. Nancy modifica le richieste Web iniziali (inviate utilizzando testo normale). Il server pensa che il browser sta richiedendo di essere serviti tramite HTTP.

  3. Se il sito Web è configurato per la pubblicazione di contenuti tramite HTTP, i dati vengono inviati in testo normale e Nancy può leggerli.

Oggi, molti siti web utilizzano HTTP Strict Transport Security (HSTS), il che significa che il server si rifiuta di fornire contenuti utilizzando una connessione non sicura. Tali siti web non possono essere attaccati utilizzando questo metodo.
Altri metodi utilizzati per l'intercettazione
Esistono più metodi utilizzati per compromettere le connessioni protette, tra cui:

  • Vulnerabilità SSL/TSL: Le versioni precedenti dei protocolli SSL/TLS sono vulnerabili agli attacchi che consentono agli hacker black hat di decifrare i dati. Ad esempio, attacchi CRIME o BEAST.

  • Dirottamento di sessione: Se parti del sito sono disponibili tramite HTTP e altre parti tramite HTTPS, un utente malintenzionato può facilmente ottenere il cookie di sessione e impersonare l'utente. I cookie di sessione possono essere rubati anche se il sito web è vulnerabile a Cross-Site Scripting.

Come rilevare e prevenire un attacco man-in-the-middle
Ci sono molti tipi di attacchi man-in-the-middle e alcuni di loro molto difficile da rilevare. La chiave per prevenirli è avere la minor fiducia possibile.
È più difficile impedire l'intercettazione. Se l'utente malintenzionato è in grado di accedere direttamente alla rete, se compromette il server di destinazione o se controlla le apparecchiature di rete utilizzate per la connessione, non c'è molto che si possa fare. In questi casi è possibile scegliere una via di comunicazione diversa o assicurarsi che la crittografia sia infrangibile.
Ecco alcuni suggerimenti di base che possono aiutarti:

  • Applicare patch al sistema e utilizzare rinomati software anti-malware.

  • Non utilizzare reti pubbliche e/o hotspot per attività sensibili.

  • Quando ti connetti al Wi-Fi, controlla se non ti stai connettendo a una rete con un nome simile.

  • Non dimenticare di controllare la barra degli indirizzi del browser e assicurati di utilizzare una connessione sicura.

  • Fare clic sul simbolo di blocco accanto alla barra degli indirizzi per ottenere ulteriori informazioni sul certificato.

  • Installare componenti aggiuntivi che consentono di rilevare il dirottamento SSL, ad esempio CheckMyHTTPS.

  • Non inviare mai informazioni sensibili via e-mail e non fidarti di qualsiasi email con informazioni sensibili.

  • Configura l'autenticazione a due fattori ovunque tu possa. Anche se un utente malintenzionato intercetta i tuoi dati, avrà difficoltà a controllare anche il tuo Android o iPhone.

SSL protegge dagli attacchi man-in-the-middle?
Alcune fonti potrebbero dire che SSL/TLS è sufficiente per la protezione contro gli attacchi MITM. Questo non è vero per i seguenti motivi:

  • L'anello più debole in un attacco MITM è spesso l'umano. Ad esempio, se non monitori il simbolo di blocco sulla barra degli indirizzi del browser, cadrai facilmente in un attacco di stripping HTTP.

  • Le versioni precedenti di SSL/TLS potrebbero essere vulnerabili agli attacchi MITM. Se il client o il server utilizza una versione precedente di SSL/TLS, l'utente malintenzionato potrebbe essere in grado di interrompere la crittografia.

  • Se l'utente malintenzionato compromette il computer o il server, è possibile toccare la comunicazione prima che venga crittografata o dopo la decrittografia.

  • Nel caso della posta elettronica, le connessioni ai server possono essere crittografate, ma non è così comune come nel caso delle connessioni web. Inoltre, la posta elettronica viene archiviata sul server e spesso inviata tra i server in testo normale.

Come prevenire gli attacchi MITM contro il mio sito web?
Gli attacchi Man-in-the-middle sono spesso facilitati dai siti web, anche se il tuo cliente e la connessione sono al sicuro. Se si possiede un sito Web, assicurarsi di eseguire regolarmente la scansione alla ricerca di vulnerabilità, ad esempio, utilizzando lo scanner di vulnerabilità web Acunetix). In caso contrario, alcune vulnerabilità, ad esempio l'iniezione SQL o l'inserimento di codice, potrebbero consentire a qualcuno di installare software dannoso sul server Web. Inoltre, lo scanner Acunetix controlla anche le vulnerabilità SSL/TLS che potrebbero consentire all'utente malintenzionato di intercettare le connessioni al server Web, ad esempio CRIME, BREACH e POODLE.

Immagine
Rispondi