Skip to content
KitploitKITPLOIT
工具博客
提交
工具博客
提交

黑客、渗透测试和网络安全工具,武装您的安全武器库!

Kitploit 是一个黑客、网络安全和渗透测试工具的目录。发现最新的项目更新,查找漏洞、分析系统、自动化测试并加强你的安全。

··订阅源·联系·隐私·© 2026 Kitploit

工具目录

分类

查看所有分类
Loading categories
CVE-2018-5951 — MikroTik RouterOS 拒绝服务漏洞 | Kitploit
工具/GitHubGitHub/nat-lab/cve-2018-5951
嵌入式系统安全漏洞分析漏洞利用网络安全渗透测试
GitHubnat-lab/cve-2018-5951

CVE-2018-5951

MikroTik RouterOS 拒绝服务漏洞

查看仓库
678年前尚未审核

最受欢迎

查看全部 →

发现我们社区最常用的工具。

探索所有工具

浏览我们的工具集合

查看所有工具 →
分享

CVE-2018-5951: MikroTik RouterOS 拒绝服务漏洞

漏洞概述

MikroTik RouterOS 中存在一个漏洞,允许未经身份验证的远程攻击者强制路由器重启。攻击方式是通过 IP 协议号 97 向 RouterOS 的 IPv6 地址发送一个 1 字节的数据包。所有支持 EoIPv6 的 RouterOS 版本均可能受此攻击影响。该攻击要求目标系统已启用 IPv6 并且至少存在一个隧道接口。

攻击向量

  • 目标系统已启用 IPv6。
  • 没有阻止 IP 协议号 97 的 INPUT 数据的 IPv6 过滤规则。
  • 目标系统中至少存在一个隧道接口(隧道类型无关)。

漏洞详解

EoIPv6(基于 IPv6 的以太网)是 MikroTik RouterOS 的第二层隧道协议。EoIPv6 协议将以太网帧封装在修改后的 EtherIP(IP 协议号 97)数据包中。

MikroTik 对 EoIPv6 的实现使用了 EtherIP 中保留的 12 位来存储隧道 ID。MikroTik 还交换了 EtherIP 头部的前 4 位和后 4 位。

为了获取隧道 ID 并验证数据包,RouterOS 会对接收到的协议号 97 数据包执行上述位交换操作。只要系统中存在隧道接口(即使接口已禁用),该过程就会进行。RouterOS 在此过程中不检查载荷大小。因此,一个 1 字节的协议号 97 数据包会破坏该过程(因为缺少构建隧道 ID 所需的其余位)。

概念验证

在 RouterOS 上添加一个 IPv6 地址:

root@kitploit:~
/ipv6 address add interface=ether1 address=fd00::1/64 advertise=no

并添加一个隧道(任意类型):

root@kitploit:~
/interface ipip add remote-address=127.0.0.1

运行漏洞利用程序(仓库中的 exploit.c):

root@kitploit:~
./exploit fd00::1

RouterOS 将在利用程序运行后几秒内自动重启。重启后可以看到以下日志:

root@kitploit:~
jan/20/2018 10:28:36 system,error,critical router was rebooted without proper shutdown

测试版本

已测试 RouterOS 6.39.3(仅修复版)、6.41(当前版)和 6.42rc11(候选版),在撰写本文时,所有这些版本均受此攻击影响。较早版本的 RouterOS(支持 EoIPv6)也可能存在此漏洞。

临时解决方案

请参阅 MikroTik 论坛上的此帖子。

下载工具