Oleg Petukhov, avvocato nel campo del diritto internazionale e della protezione dei dati personali, specialista nel campo dell'informazione sicurezza, protezione delle informazioni e dei dati personali.
Canale Telegram: https://t.me/protezionedelleinformazioni Gruppo in telegramma: https://t.me/protezionedelleinformazioni1 Sito: https://legascom.ru E-mail: online@legascom.ru #protezionedelleInformazioni #sicurezzadelleinformazioni
Lo switch ha una tabella CAM (Content Address Memory), che contiene l'Associazione degli indirizzi MAC alle porte dello switch. Cioè, questa tabella indica quali indirizzi MAC sono accettati su quale porta. La tabella stessa ha dimensioni limitate, ad esempio per uno switch Cisco Catalyst 2960, la tabella può contenere fino a 8192 indirizzi MAC e la serie Catalyst 6000 può contenere fino a 128.000 indirizzi MAC.
Nel caso in cui la tabella sia completamente occupata, i nuovi record non saranno in grado di essere aggiunti e tutto il traffico passerà a tutte le porte. In tal caso, lo switch inizierà a funzionare come un normale Hub e tutto il traffico che passa attraverso un determinato segmento di rete può essere ascoltato nello stesso modo in cui abbiamo utilizzato nella sezione precedente utilizzando L'utilità Wireshark. Naturalmente, un utente malintenzionato non sarà in grado di ascoltare tutto il traffico sulla rete locale in questo modo, ma un insider che lavora in un segmento della rete, ad esempio la contabilità, sarà in grado di intercettare il traffico e ottenere informazioni sensibili.
È possibile implementare questo attacco utilizzando l'utilità macchanger, che consente di modificare gli indirizzi MAC.
Ad esempio, eseguiremo lo spoofing DELL'indirizzo MAC su una macchina collegata a uno switch.
root@kali:~# ifup eth0
Internet Systems Consortium DHCP Client V3.1.1
Copyright 2004-2008 Internet Systems Consortium.
All rights reserved.
For info, please visit http://www.isc.org/sw/dhcp/ Listening on LPF/eth0/00:16:ec:f1:45:e8
Sending on LPF/eth0/00:16:ec:f1:45:e8
Sending on Socket/fallback
DHCPDISCOVER on eth0 to 255.255.255.255 port 67 interval 3
DHCPOFFER of 192.168.1.3 from 192.168.1.101
DHCPREQUEST of 192.168.1.3 on eth0 to 255.255.255.255 port 67
DHCPACK of 192.168.1.3 from 192.168.1.101
bound to 192.168.1.3 -- renewal in 42928 seconds.
if-up.d/mountnfs[eth0]: waiting for interface eth1 before doing NFS mounts
if-up.d/mountnfs[eth0]: waiting for interface eth2 before doing NFS mounts
if-up.d/mountnfs[eth0]: waiting for interface ath0 before doing NFS mounts
if-up.d/mountnfs[eth0]: waiting for interface wlan0 before doing NFS mounts
All'accensione, è stata inviata una richiesta per ottenere l'indirizzo IP al server DHCP. Quindi vediamo lo stato corrente delle interfacce di rete.
root@kali:~# ifconfig -a
eth0 Link encap:Ethernet HWaddr 00:16:ec:f1:45:e8
inet addr:192.168.1.3 Bcast:192.168.1.255 Mask:255.255.255.0
inet6 addr: fe80::216:ecff:fef1:45e8/64 Scope:Link
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:39 errors:0 dropped:0 overruns:0 frame:0
TX packets:16 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:3952 (3.9 KB) TX bytes:1780 (1.7 KB)
Interrupt:21 Base address:0xd800
lo Link encap:Local Loopback
inet addr:127.0.0.1 Mask:255.0.0.0
inet6 addr: ::1/128 Scope:Host
UP LOOPBACK RUNNING MTU:16436 Metric:1
RX packets:0 errors:0 dropped:0 overruns:0 frame:0
TX packets:0 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:0
RX bytes:0 (0.0 B) TX bytes:0 (0.0 B)
All'accensione, è stata inviata una richiesta al vero indirizzo MAC ricevuto della nostra interfaccia di rete 00:16:ec:f1: 45: E8. Ora questo indirizzo è scritto nella tabella cam dello switch. Ora cambiamo quell'indirizzo.indirizzo IP al server DHCP. Quindi vediamo lo stato corrente delle interfacce di rete.
root@kali:~# macchanger –r eth0
Current MAC: 00:16:ec:f1:45:e8 (unknown)
Faked MAC: 04:2f:11:65:fc:0a (unknown)
Riavviamo l'interfaccia di rete:
root@kali:~# ifdown eth0
root@kali:~# ifup eth0
Internet Systems Consortium DHCP Client V3.1.1
Copyright 2004-2008 Internet Systems Consortium.
All rights reserved.
For info, please visit http://www.isc.org/sw/dhcp/ Listening on LPF/eth0/04:2f:11:65:fc:0a
Sending on LPF/eth0/04:2f:11:65:fc:0a
Sending on Socket/fallback
DHCPDISCOVER on eth0 to 255.255.255.255 port 67 interval 3
DHCPOFFER of 192.168.1.8 from 192.168.1.101
DHCPREQUEST of 192.168.1.8 on eth0 to 255.255.255.255 port 67
DHCPACK of 192.168.1.8 from 192.168.1.101
bound to 192.168.1.8 -- renewal in 42928 seconds.
if-up.d/mountnfs[eth0]: waiting for interface eth1 before doing NFS mounts
if-up.d/mountnfs[eth0]: waiting for interface eth2 before doing NFS mounts
if-up.d/mountnfs[eth0]: waiting for interface ath0 before doing NFS mounts
if-up.d/mountnfs[eth0]: waiting for interface wlan0 before doing NFS mounts
Vediamo di nuovo la configurazione delle interfacce di rete.
root@kali:~# ifconfig -a
eth0 Link encap:Ethernet HWaddr : 04:2f:11:65:fc:0a
inet addr:192.168.1.8 Bcast:192.168.1.255 Mask:255.255.255.0
inet6 addr: fe80::216:ecff:fef1:45e8/64 Scope:Link
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:39 errors:0 dropped:0 overruns:0 frame:0
TX packets:16 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:5801 (5.9 KB) TX bytes:1100 (1.1 KB)
Interrupt:21 Base address:0xd800
lo Link encap:Local Loopback
inet addr:127.0.0.1 Mask:255.0.0.0
inet6 addr: ::1/128 Scope:Host
UP LOOPBACK RUNNING MTU:16436 Metric:1
RX packets:0 errors:0 dropped:0 overruns:0 frame:0
TX packets:0 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:0
RX bytes:0 (0.0 B) TX bytes:0 (0.0 B)
Come si può vedere, l'indirizzo MAC dell'interfaccia eth0 è cambiato. Utilizzando uno script semplice, è possibile eseguire azioni per modificare l'indirizzo MAC in un ciclo che verrà eseguito prima che la tabella stessa trabocchi. La scrittura di un tale script lascerà gli abbonati al canale come compiti a casa. Noterò solo che l'utilità macchanger ci sarà ancora più volte utile quando implementiamo attacchi di rete.
Indicando la minaccia, passiamo ai metodi di protezione. Molte guide alla sicurezza consigliano di collegare l'indirizzo MAC della workstation alla porta dello switch o di limitare il numero di indirizzi MAC collegati alla porta a un singolo indirizzo. Questi suggerimenti, ovviamente, sono corretti, ma qui devi stare attento, poiché molto spesso una porta sullo switch può corrispondere a più indirizzi MAC. Ad esempio, lo switch utilizza tutte le porte, ma è necessario collegare alcuni altri lavori ad esso (a causa dell'espansione o, al contrario, della riduzione). La soluzione migliore in questa situazione sarebbe quella di collegare un altro switch a questo e riservare la porta di connessione del nuovo switch dietro l'indirizzo MAC appropriato. Tuttavia, nell'attuale clima economico, molte aziende scelgono di risparmiare denaro e utilizzano gli stessi hub per connettersi.
Ci sono anche momenti in cui più workstation possono connettersi alternativamente a una singola porta dello switch. Ad esempio, questo è spesso fatto nelle sale riunioni. Pertanto, ti consiglio quando imposti le restrizioni sulle connessioni agli indirizzi MAC di non lasciarti trasportare da un eccessivo "serraggio dei dadi" per evitare ulteriori difficoltà in futuro.
Passiamo ora alla parte pratica. Ad esempio, considera la configurazione di uno switch Cisco Catalyst 2960 con il sistema operativo IOS. Questo modello ha 24 porte a cui gli utenti sono collegati. È necessario assicurarsi che non più di tre macchine (in altre parole, tre indirizzi MAC) possano connettersi su ciascuna porta. Per fare ciò, è necessario connettersi allo switch in remoto o utilizzando la console ed eseguire i seguenti comandi:
Switch# conf t
Switch(config)# int range f0/1-24
Switch(config-if-range)# switchport mode access
Switch(config-if-range)# switchport port-security
Switch(config-if-range)# switchport port-security violation shutdown
Switch(config-if-range)# switchport port-security maximum 3
Switch(config-if-range)# switchport port-security mac-address sticky
Ora, in breve, cosa fa ciascuno dei comandi. Nella prima riga entriamo nella modalità di configurazione globale, nella seconda entriamo nella modalità di configurazione delle porte. Nel terzo, specifichiamo esplicitamente che tutti
le porte selezionate funzioneranno in modalità di accesso. Successivamente, attiva la protezione della porta port-security. Nelle tre righe successive, indichiamo allo switch cosa fare nel caso in cui più di tre workstation tentino di connettersi alla porta. Innanzitutto, indichiamo che è necessario disabilitare la porta e inviare il messaggio corrispondente tramite snmp e syslog. A proposito, questa opzione non può essere attivata forzatamente, poiché agisce per impostazione predefinita. Oltre alla modalità shutdown che abbiamo usato, ci sono anche protect e restrict. Il significato delle ultime due modalità è che la porta non si spegnerà (cioè entrerà nello stato di arresto), ma i pacchetti si bloccheranno solo quando viene rilevata una violazione associata agli indirizzi MAC. La differenza tra queste due modalità è che quando si verifica una situazione di freelance, restrict può inviare un messaggio di violazione della politica di sicurezza a snmp - trap e syslog.
Nel seguente comando allo switch, specifichiamo quanti indirizzi MAC sono disposti a vedere su quella porta. Nel nostro caso, sono tre. Infine, l'ultimo comando mette la porta dello switch in modalità di apprendimento, ovvero i primi tre indirizzi MAC che verranno ricevuti attraverso quella porta e verranno salvati automaticamente in running-config.
Quindi, per riassumere, dirò che tutti questi comandi sono sufficienti per prevenire un attacco di overflow della tabella CAM.
Присоединяйтесь — мы покажем вам много интересного
Присоединяйтесь к ОК, чтобы подписаться на группу и комментировать публикации.
Нет комментариев