VLAN Hopping attack

En VLAN hopping-attack är en säkerhetsrisk där en hotaktör manipulerar nätverkets switchar för att överföra data mellan olika VLAN utan de säkerhetskontroller som en router normalt skulle tillhandahålla. I denna attack konfigurerar hotaktören sin enhet för att efterlikna en nätverksswitch, vilket utnyttjar de automatiska trunking-funktionerna som vanligtvis är aktiverade på switchportar.

Som illustreras i bilden, skapar hotaktören trunking-signaler enligt IEEE 802.1Q och Cisco’s Dynamic Trunking Protocol (DTP), vilket får den riktiga switchen att etablera en trunk-länk med den manipulerade enheten. Detta tillåter hotaktören att skicka och ta emot trafik över samtliga VLAN som finns på switchen, och därmed ”hoppa” från ett VLAN till ett annat. Detta underminerar effektivt VLAN-segmenteringen och exponerar känslig data och systemresurser över nätverket.

VLAN Double-Tagging attack

En VLAN double-tagging-attack utnyttjar hur switchar hanterar VLAN-taggar i Ethernet-ramar. I en vanlig konfiguration används VLAN-taggar (802.1Q) för att bestämma vilket VLAN en viss Ethernet-ram (frame) tillhör och vilken väg ramen ska ta genom nätverket.

I en double-tagging-attack lägger hotaktören två VLAN-taggar i en Ethernet-ram istället för en. När ramen når en switch, tar switchen bort den första VLAN-taggen (som den normalt gör) och dirigerar sedan ramen baserat på den andra taggen som är kvar i ramen. Eftersom switchen tror att ramen nu tillhör ett annat VLAN (som specificeras av den andra taggen) än det ursprungligen avsedda, kan ramen skickas till ett VLAN där den inte borde ha tillgång.

Detta möjliggör för angriparen att ”hoppa” från ett VLAN till ett annat och potentiellt få tillgång till känsliga nätverkssegment utan att passera de säkerhetskontroller som normalt skulle förhindra sådan åtkomst. Detta utnyttjar ett säkerhetsgap i hanteringen av VLAN-taggar på switchar som inte korrekt kontrollerar eller filtrerar dubbelt taggade ramar.

Klicka på varje steg för ett exempel och förklaring av en double-tagging-attack.

Hotaktören skickar en dubbel-tagad 802.1Q-ram till switchen. Ramens styrinformation (header) har VLAN-taggen för hotaktören, som är densamma som det ursprungliga VLAN för trunk-porten. I detta exempel antas det vara VLAN 10. Den inre taggen är offrets VLAN, i detta exempel VLAN 20.

Ramen anländer till den första switchen, som tittar på den första 4-byte 802.1Q-taggen. Switchen ser att ramen är avsedd för VLAN 10, som är det ursprungliga VLAN. Switchen skickar vidare paketet ut genom alla VLAN 10-portar efter att ha tagit bort VLAN 10-taggen. Ramen märks inte om eftersom den är en del av det ursprungliga VLAN. Vid denna punkt är VLAN 20-taggen fortfarande intakt och har inte granskats av den första switchen.

Ramen når den andra switchen som inte vet att den var avsedd för VLAN 10. Trafik för ursprungliga VLAN är inte märkt av den sändande switchen enligt 802.1Q-specifikationen. Den andra switchen tittar endast på den inre 802.1Q-taggen som hotaktören infogade och ser att ramen är avsedd för VLAN 20, mål-VLAN. Den andra switchen skickar ramen vidare till målet eller sprider den, beroende på om det finns en befintlig MAC-adress tabellpost för målet.

En VLAN double-tagging attack är endast enkelriktad och fungerar bara när hotaktören är ansluten till en port som ligger i samma VLAN som det ursprungliga VLAN för trunk-porten (I exemplet VLAN 10). Tanken är att dubbelmärkningen låter hotaktören skicka data till klient-enheter eller servrar på ett VLAN som annars skulle vara blockerat av någon form av åtkomstkontrollkonfiguration. Förmodligen kommer även returtrafiken att tillåtas, vilket ger hotaktören möjlighet att kommunicera med enheter på det normalt blockerade VLAN.

Åtgärder för att förhindra VLAN-attacker

VLAN-hopping och VLAN double-tagging-attacker kan förhindras (mitigeras) genom att implementera följande säkerhetsriktlinjer för trunkar, som diskuterats i en tidigare modul:

  • Inaktivera trunking på alla åtkomstportar.
  • Inaktivera automatisk trunking på trunklänkar så att trunkar måste aktiveras manuellt.
  • Se till att det ursprungliga VLAN endast används för trunklänkar.