O metoda de segmentare logica la “layer 2” este aceea de a imparti o retea in mai multe VLAN-uri. In acest fel se pot izola si proteja anumite resurse din retea, pentru ca, intre doua VLAN-uri diferite, comunicarea se poate face in mod normal doar printr-un punct L3 (folosindu-ne de un router de exemplu). Fara a-mi propune pe acest blog sa promovez metode prin care se pot specula vulnerabilitati ale retelelor ci dimpotriva, o sa abordez un subiect despre care se stiu destul de putine lucruri. “VLAN hopping” este o metoda prin care poti trimite frame-uri intre doua vlanuri, evitand trecerea lor printr-un punct L3 unde exista de obicei implementate metode de securitate suplimentare si accesand astfel resurse la care in mod normal nu ai avea acces. Cele mai cunoscute metode prin care putem realiza “VLAN hopping” sunt “switch spoofing” si “double tagging”.
- “Switch spoofing” presupune obtinerea unei conexiuni pe care sa ai “TRUNK” pana in switch-ul in care te conectezi. In felul acesta poti ajunge la toate vlanurile create pe acel switch. Cu toate acestea, o conexiune TRUNK cu un switch CISCO nu se poate obtine usor. Exista totusi posibilitatea unui “missconfig” pe switch de care sa profiti dar si cazul in care ai acces fizic la switch si te conectezi la un port care are DTP (Dynamic Trunk Protocol) activat. Multe switchuri au configul “default” de pe o interfata in “DTP passive mode” si pot negocia TRUNK cu porturi “DTP desirable” deci pentru a evita “switch spoofing” este indicat ca porturile nefolosite dintr-un switch sa fie configurate cu “switchport mode access” sau “switchport nonegiciate” pentru a dezactiva DTP.
- “Double tagging” se refera la “fabricarea” unor pachete cu TAG dublu si speculeaza ideea de “native vlan” pentru tipul de incapsulare dot1q. Spre exemplu, daca intre doua switchuri exista TRUNK cu “native vlan 100”, atacatorul intra in primul switch in vlan 10 si vrea sa ajunga la un server din vlan 20 din al doilea switch, atunci el poate face asta trimitind frame-uri cu doua TAG-uri: primul TAG de vlan 20 (TAG-ul din interior) iar cel de-al doilea TAG de vlan 100 (cel din exterior). Cand frame-ul ajunge la al doilea switch, TAG-ul exterior este indepartat iar pachetul e trimis catre porturile din VLAN 20.
Pentru a se evita “VLAN hopping” trebuie sa tineti cont ca pe un switch CISCO:
- VLAN 1 este vlanul de management “default” pe toate porturile:
– NU configurati servere in VLAN 1, nu-l folositi pentru clienti
– evitati folosirea “native vlan” pe TRUNK-uri (vlan 1 e native vlan “default”) - Dynamic Trunking Protocol (DTP) este activat “default” pe toate porturile (nu pe toate switch-urile L3):
– tineti porturile nefolosite in SHUTDOWN
– configurati “switchport mode access” pentru a evita TRUNK-ul
– configurati “switchport nonegociate” pentru a dezactiva DTP - Pe porturile configurate ca TRUNK sunt permise “default” toate VLAN-urile
– filtrati manual VLAN-urile care nu trebuie sa circule pe anumite TRUNK-uri (NU recomand insa “vlan pruning”) - CDP este activat “default” pe toate porturile
– filtrati pachetele CDP pe porturile cu clientii. CDP-ul poate furniza informatii importante, cum ar fi IP-ul de management al switchului
un utilitar bun pentru a incerca vlan hopping este http://www.secdev.org/projects/scapy/, de exemplu pentru a trimite un frame cu dublu tag 802.1q:
>>> sendp(Ether(dst=’ff:ff:ff:ff:ff:ff’, src=’00:01:02:03:04:05′)/Dot1Q(vlan=100 /Dot1Q(vlan=20)/ IP(dst=’255.255.255.255′, src=’192.168.0.1′)/ICMP())
🙂 asa este, dar exact asta am evitat sa public aici. am preferat sa enumar metodele prin care poti preveni mai degraba decat softurile cu care poti provoca astfel de atacuri. dar daca tot veni vorba, http://www.yersinia.net/ este de asemenea foarte uzitat in astfel de cazuri.
vlan hopping cu double tagging nu se poate face pe switchurile cisco