当前位置: 首页 > news >正文

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 可以更有效地评估局域网的安全性。

在此特别强调,本教程仅在合法授权的情况下进行测试和研究,请勿用于其他用途。未经授权使用此类工具可能会侵犯他人隐私,触犯相关法律,任何因此引发的法律或利益纠纷与本人无关。

欢迎各位大佬,小白来找我交流。

http://www.xdnf.cn/news/547651.html

相关文章:

  • jieba分词
  • PCB设计教程【入门篇】——电路分析基础-基本元件(二极管三极管场效应管)
  • 可视化图解算法42:寻找峰值
  • Cribl 中 Parser 扮演着重要的角色 + 例子
  • 鸿蒙HarmonyOS多设备流转:分布式的智能协同技术介绍
  • RustDesk CentOS自建中继节点
  • Linux 特权管理与安全——从启用 Root、Sudo 提权到禁用与防护的全景解析
  • WebRTC技术EasyRTC音视频实时通话驱动智能摄像头迈向多场景应用
  • 轻量级高性能推理引擎MNN 学习笔记 04.线性回归
  • C语言| 指针变量的初始化
  • OpenHarmony开源鸿蒙兼容性测试常见问题解答分享
  • 使用 Qt Designer 开发
  • [ARM][汇编] 02.ARM 汇编常用简单指令
  • HOW - 结合 AI 进行 Tailwind 样式开发
  • Secarmy Village: Grayhat Conference靶场
  • SpringMVC所有注解按照使用位置划分
  • 基于matlabcd7.x的无网格近似方法
  • CSS 样式表的四种应用方式详解以及css注释的应用
  • TypeScript与JavaScript的异同
  • MySQL:to many connections连接数过多
  • 指令烧录ORIN NANO操作系统
  • RocketMQ实战—订单系统面临的技术挑战
  • 开放鸿蒙OpenHarmony 5.0.0 Release 兼容性测试实战经验分享
  • 工业数据治理标准规范深度解析
  • 大模型应用开发“扫盲”——基于市场某款智能问数产品的技术架构进行解析与学习
  • 解决git中断显示中文为八进制编码问题
  • 设计模式 - 工厂模式
  • 中断全攻略:单片机优先级与 NVIC 详解(超形象解释)
  • Kubernetes中微服务JVM监控与自动发现的解决方案
  • HarmonyOS5云服务技术分享--云数据库使用指南