GNU/Linux >> Linux Esercitazione >  >> Linux

Attacchi TCP/IP – Spiegazione dei fondamenti dell'avvelenamento dalla cache ARP

Supponiamo che "A" e "B" siano ottimi amici e che "A" condivida tutti i suoi segreti con "B".

Ora, se un ragazzo "C" entra e finge come se fosse "B". Riesci a immaginare cosa potrebbe succedere? Sì, "A" potrebbe rivelare tutti i suoi segreti a "C" e "C" potrebbe abusarne.

In un linguaggio comune, questo è ciò che intendiamo per avvelenamento da cache ARP.

L'avvelenamento da ARP può causare molti seri problemi di rete e gli amministratori di rete dovrebbero sapere come funziona questo attacco.

Protocollo ARP

Prima di passare alla descrizione dell'ARP cache poising, aggiorniamo innanzitutto il funzionamento del protocollo ARP. Il protocollo ARP è composto dai seguenti 4 messaggi di base:

  1. Richiesta ARP:il computer "A" chiede sulla rete "chi ha questo IP?"
  2. Risposta ARP:tutti gli altri computer ignorano la richiesta tranne il computer che ha l'IP richiesto. Questo computer, diciamo "B", dice, ho l'indirizzo IP richiesto ed ecco il mio indirizzo MAC.
  3. Richiesta RARP:è più o meno la stessa della richiesta ARP, con la differenza che in questo messaggio viene trasmesso un indirizzo MAC sulla rete.
  4. Risposta RARP:Stesso concetto. Il computer "B" dice che il MAC richiesto è mio ed ecco il mio indirizzo IP.

Tutti i dispositivi connessi alla rete hanno una cache ARP. Questa cache contiene la mappatura di tutti gli indirizzi MAC e IP per i dispositivi di rete con cui questo host ha già comunicato.

Concetto di avvelenamento della cache ARP

Il protocollo ARP è stato progettato per essere semplice ed efficiente, ma uno dei principali difetti del protocollo è la mancanza di autenticazione. Non è stata aggiunta alcuna autenticazione alla sua implementazione e, di conseguenza, non è possibile autenticare la mappatura dell'indirizzo IP su MAC nella risposta ARP. Inoltre, l'host non controlla nemmeno se ha inviato una richiesta ARP per la quale sta ricevendo un messaggio di risposta ARP.

In un linguaggio comune, se il computer "A" ha inviato una richiesta ARP e riceve una risposta ARP, il protocollo ARP non può in alcun modo verificare se le informazioni o la mappatura da IP a MAC nella risposta ARP sono corrette o meno. Inoltre, anche se un host non ha inviato una richiesta ARP e riceve una risposta ARP, si fida anche delle informazioni in risposta e aggiorna la sua cache ARP. Questo è noto come avvelenamento della cache ARP.

Quindi puoi vedere che è facile sfruttare questa debolezza del protocollo ARP. Un hacker malvagio può creare una risposta ARP valida in cui qualsiasi IP è mappato a qualsiasi indirizzo MAC scelto dall'hacker e può inviare questo messaggio alla rete completa. Tutti i dispositivi sulla rete accetteranno questo messaggio e aggiorneranno la loro tabella ARP con nuove informazioni e in questo modo l'hacker può ottenere il controllo della comunicazione avanti e indietro da qualsiasi host in rete.

Conseguenze dell'avvelenamento della cache ARP

Dopo che un hacker vede una possibilità di avvelenamento della cache ARP, l'attaccante può utilizzare varie tecniche di attacco per danneggiare o ottenere il controllo della macchina della vittima. Discutiamone alcuni qui :

1) Negazione del servizio

Un hacker può inviare una risposta ARP mappando un indirizzo IP sulla rete con un indirizzo MAC errato o inesistente. Ad esempio, una falsa risposta ARP che mappa l'IP del router della rete con un MAC inesistente ridurrà la connettività dell'intera rete con il mondo esterno poiché ora qualsiasi pacchetto inviato all'IP del router verrà inviato a una macchina con un indirizzo MAC che non esiste.

2) Uomo in mezzo

Come suggerisce il nome, l'hacker può far sedere la sua macchina proprio nel mezzo della comunicazione tra il tuo sistema e qualsiasi altro sistema sulla rete. In questo modo l'hacker può annusare tutto il traffico da e verso entrambe le macchine.

Per ottenere ciò, supponiamo che la tua macchina sia l'host "A" e il tuo router di rete sia l'host "B". 'A' ha IP-A e MAC-A, mentre 'B' ha IP-B e MAC-B rispettivamente come indirizzo IP e indirizzo MAC. Ora, l'hacker invia una risposta ARP al router che mappa il tuo IP (IP-A) con l'indirizzo MAC della sua macchina e un'altra risposta ARP all'IP del router di mappatura della tua macchina con l'indirizzo MAC della sua macchina. Ora qualsiasi messaggio inviato dalla tua macchina al router o dal router alla tua macchina raggiungerà la macchina dell'hacker. L'hacker può ora attivare la funzione "Inoltro IP" sulla sua macchina che consente alla macchina dell'hacker di inoltrare tutto il traffico avanti e indietro verso la macchina e il router. In questo modo la macchina dell'hacker si trova proprio nel mezzo e può annusare o bloccare il traffico.

3) Inondazione MAC

Per gli switch sulla rete, il MAC flooding è una tecnica di posizionamento della cache ARP utilizzata. Molti switch di rete quando sono sovraccarichi possono iniziare a comportarsi come un hub e iniziare a trasmettere tutto il traffico di rete a tutti gli host collegati alla rete. Quindi un hacker può inondare uno switch con false risposte ARP e può fare in modo che lo switch inizi a comportarsi come un hub. In questo ruolo, lo switch non abilita la sua funzione di "sicurezza della porta" grazie alla quale trasmette tutto il traffico di rete e, approfittando di ciò, l'hacker può sniffare i pacchetti nella rete.

Tecniche di mitigazione dell'avvelenamento da cache ARP

Avvelenare la cache ARP in remoto è un po' difficile in quanto richiede l'accesso fisico alla rete o il controllo di una delle macchine nella rete. Dal momento che non è sempre facile, gli attacchi ARP non vengono ascoltati frequentemente. Ad ogni modo, prendere precauzioni è meglio che assumere medicinali. Gli amministratori di rete dovrebbero fare in modo che questo tipo di attacchi non abbia luogo. Ecco alcuni punti di mitigazione:

  • Per le piccole reti, è possibile mantenere le voci ARP statiche. Statico significa immutabile, quindi, come suggerisce il nome, queste voci non possono essere modificate e quindi qualsiasi tentativo da parte degli hacker di modificare la mappatura fallisce. Questo è utile per le piccole reti ma non per le grandi reti poiché la mappatura per ogni nuovo dispositivo aggiunto alla rete deve essere eseguita manualmente.
  • Per una rete di grandi dimensioni, è possibile esplorare le funzionalità di sicurezza delle porte degli switch di rete. Alcune funzioni quando attivate forzano lo switch a consentire un solo indirizzo MAC per ciascuna porta fisica sullo switch. Questa funzione assicura che le macchine non possano modificare il loro indirizzo MAC e non possano mappare più di un MAC sulla loro macchina, prevenendo così attacchi come "man in middle".
  • In generale, alcuni strumenti di monitoraggio come ARPwatch possono essere implementati per ricevere avvisi quando sulla rete si verificano attività ARP dannose.

Per concludere, in questo articolo abbiamo studiato le basi del protocollo ARP, le sue scappatoie, come sfruttarle e come mitigarle.

Il prossimo articolo di questa serie è:TCP Sequence Number Prediction e TCP Reset Attacks.


Linux
  1. Utilizzo della comunicazione TCP/IP localhost in un programma:sempre sicuro?

  2. Come posso elencare tutti gli IP nella rete connessa, preferibilmente tramite Terminal?

  3. Quando le voci arp STALE diventano FAILED quando non vengono mai utilizzate?

  4. Porta di rete aperta, ma nessun processo collegato?

  5. Unix socket vs host TCP/IP:porta

Come connettere NGINX a PHP-FPM usando UNIX o TCP/IP Socket

Nozioni di base del protocollo TCP/IP spiegate con un diagramma

Attacchi TCP:previsione del numero di sequenza TCP e attacchi di ripristino TCP

Tutorial Ettercap:esempi di spoofing DNS e avvelenamento da ARP

Che cos'è DHCP e come funziona DHCP? (Spiegazione dei fondamenti del DHCP)

Controlla il traffico di rete in uscita