Mitigare gli attacchi basati su Cisco CDP

Continuiamo con la nostra serie di articoli che, attraverso esempi pratici e semplificati, dimostrano l’applicazioni di strumenti fondamentali nei rispettivi ambiti. È il turno di trattare come Mitigare gli attacchi basati su Cisco CDP.  Riteniamo utile prendere visione del precedente articolo sul Cisco Discovery Protocol. In questo articolo inizieremo a dimostrare alcune vulnerabilità esistenti in una semplice configurazione switch, prima di provare a mitigarle con configurazioni più avanzate. Partiremo dall’analisi del Cisco Discovery Protocol (CDP) per poi proseguire con altre analisi negli articoli successivi. Faremo riferimento alla topologia seguente sebbene lavoreremo principalmente sullo switch lab-sw:

Osserviamo innanzitutto lo stato delle interfacce sullo switch lab-sw:

lab-sw(config-if)#do show interface status
Port Name Status Vlan Duplex Speed Type
Gi0/0 disabled 1 auto auto unknown
Gi0/1 win-pc connected 11 auto auto unknown
Gi0/2 kali-pc connected 11 auto auto unknown
Gi0/3 kali-srv connected 10 auto auto unknown
Gi1/0 uplink connected trunk auto auto unknown
Gi1/1 connected 1 auto auto unknown
Gi1/2 connected 1 auto auto unknown
Gi1/3 connected 1 auto auto unknown

Il Cisco CDP permette ai dispositivi di rete di annunciare se stessi ai vicini. Di default vengono inviati annunci ogni 60 secondi fuori da ogni interfaccia e le informazioni vengono memorizzate in una tabella dei neighbor per un massimo di 3 minuti se non opportunamente rinnovate. Il Cisco CDP è molto utile agli amministratori di rete in fase di troubleshooting e per ricostruire la topologia della rete. Ma è anche sfruttato, ad esempio, nelle implementazioni VoIP dai Cisco IP phone per scoprire la VLAN voce su cui trasmettere.
Purtroppo, però, le informazioni veicolate dal Cisco CDP costituiscono un agevole vettore per attacchi di reconnaisance. Normalmente una workstation ignora gli annunci inviati dallo switch sulla porta cui è connessa, a meno che un aggressore non utilizzi un opportuno tool, come WireShark, per catturarli ed analizzarli. Fra le informazioni disponibili, ad esempio, ci sono il modello dello switch e la versione del sistema operativo. Un aggressore potrebbe utilizzare queste informazioni per ricercare vulnerabilità note associate a quella particolare piattaforma e tentare di sfruttarle con un exploit. Oppure potrebbe fare spoofing degli annunci CDP, fingendosi un IP phone ed ottenendo accesso alla VLAN voce. Ne consegue che ogni azienda debba includere nella sua security policy indicazioni sulla configurazione del Cisco CDP e valutare se i vantaggi forniti dal servizio siano superiori ai rischi o viceversa.
Andiamo innanzitutto a dimostrare la problematica legata al Cisco CDP utilizzando un noto tool di sicurezza chiamato Yersinia che permette di monitorare gli annunci CDP da una stazione Kali Linux. Apriamo un terminale su Kali Linux e lanciamo Yersinia

root@kali-pc:~# yersinia -G

Il tab più a sinistra della GUI di Yersinia è quello relativo al CDP. Attesi almeno 60 secondi, in questo tab cominceranno a comparire le righe relative agli annunci ricevuti dallo switch lab-sw. Selezionando una riga è possibile visualizzare le informazioni veicolate dall’annuncio nei pannelli all’interno della finestra di Yersinia. Nel pannello in basso a sinistra, per esempio, è possibile visualizzare la versione del sistema operativo dello switch lab-sw:

Yersinia può anche lanciare alcuni attacchi basati su CDP. Per esempio può inviare spoofed CDP packet o effettuare un flood di CDP packet. Clicchiamo su “Launch attack” e selezioniamo il flooding della CDP table. Per stoppare l’attacco clicchiamo su “List attacks” e poi su “Cancel all attacks”. Sulla console dello switch lab-sw potremo osservare il risultato dell’attacco rappresentato da moltissime entry nella CDP neighbor table:

lab-sw(config-if)#do show cdp neighbors
Capability Codes: R – Router, T – Trans Bridge, B – Source Route Bridge
S – Switch, H – Host, I – IGMP, r – Repeater, P – Phone,
D – Remote, C – CVTA, M – Two-port Mac Relay
Device ID Local Intrfce Holdtme Capability Platform Port ID
P7KK33G Gig 0/2 246 R T S r yersinia Eth 0
XBBSS7O Gig 0/2 244 r yersinia Eth 0
K333FFX Gig 0/2 243 R T B I yersinia Eth 0
K333GGX Gig 0/2 243 R B S I yersinia Eth 0
WAAASS6 Gig 0/2 242 R T B S yersinia Eth 0
YCCCTT8 Gig 0/2 247 R B r yersinia Eth 0
<…Output Omitted…>

Il Cisco CDP può essere disabilitato a livello globale con comando “no cdp run” in global configuration oppure a livello di singola interfaccia con il comando “no cdp enable”. Disabilitiamo il Cisco CDP sulle interfacce dello switch lab-sw dove sono collegate le workstation:

lab-sw(config-if)#int range g0/1 – 3
lab-sw(config-if-range)#no cdp enable

Riprovando l’attacco con Yersinia dalla Kali Linux, potremo osservare che questo non ha più effetto.

Consulta il nostro Catalogo Corsi per Tecnologia oppure fai una Ricerca per Vendor o ancora trova uno specifico corso attraverso il motore di ricerca interno: Ricerca Corsi. Contattaci ora al Numero Verde 800-177596, il nostro team saprà supportarti nella scelta del percorso formativo più adatto alla tue esigenze.

RICHIEDI ORA IL SUPPORTO DI UN NOSTRO SPECIALISTA

Il nostro team, da anni impegnato nella progettazione di piani formativi strutturati nell’ambito dell’ IT, ti supporterà ad orientarti verso la scelta di un percorso formativo certificato rispondente alle tue esigenze.