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

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

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

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

工具目录

分类

查看所有分类
Loading categories
CVE-2018-10933 — CVE-2018-10933 - libssh身份验证绕过 | Kitploit
工具/GitHubGitHub/k3ystr0k3r/cve-2018-10933
漏洞分析漏洞利用网络安全渗透测试身份验证学习与教育
GitHubk3ystr0k3r/cve-2018-10933

CVE-2018-10933

CVE-2018-10933 - libssh身份验证绕过

查看仓库
112个月前尚未审核

最受欢迎

查看全部 →

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

探索所有工具

浏览我们的工具集合

查看所有工具 →
分享

CVE-2018-10933 - libssh 认证绕过

针对 CVE-2018-10933 的概念验证实现,这是影响 libssh 服务端实现的一个严重认证绕过漏洞。

免责声明

本仓库仅用于教育目的、漏洞研究和授权安全测试。未经明确许可,切勿对任何系统进行测试。


CVE-2018-10933 是在 libssh 服务端状态机中发现的一个严重认证绕过漏洞。

与涉及弱密码或加密弱点的传统认证缺陷不同,该漏洞之所以存在,是因为服务端错误地信任了一个本应始终从服务端发送到客户端的协议消息。

因此,攻击者可以说服存在漏洞的 libssh 服务端,使其相信认证已成功完成,而无需提供任何凭证。

这使得未经验证的攻击者能够针对以服务端模式使用 libssh 的易受攻击应用程序建立经过认证的 SSH 会话。


漏洞信息

字段值
CVECVE-2018-10933
严重程度严重
CVSS v39.1
CWECWE-287(认证不当)
攻击向量网络
用户交互无
所需权限无

受影响版本

该漏洞影响以服务端模式运行的 libssh。

受影响的版本包括:

  • libssh 0.6.x
  • libssh 0.7.x(低于 0.7.6 的版本)
  • libssh 0.8.x(低于 0.8.4 的版本)

仅将 libssh 用作 SSH 客户端的应用程序不受影响。


根本原因

该漏洞源于 libssh 服务端代码中实现的认证状态机。

在正常的 SSH 认证流程中:

root@kitploit:~
客户端 ----------------------> 服务端

SSH_MSG_USERAUTH_REQUEST
           |
           V
服务端验证凭证
           |
           V
SSH_MSG_USERAUTH_SUCCESS
           |
           V
经过认证的会话

协议规定,SSH_MSG_USERAUTH_SUCCESS 仅在成功认证后由服务端生成。

然而,受影响版本的 libssh 未能正确验证此消息的来源。

服务端没有拒绝客户端提供的 SSH_MSG_USERAUTH_SUCCESS,而是错误地将其内部认证状态直接转换为:

root@kitploit:~
Authenticated = TRUE

而从未验证过凭证。

这是典型的认证不当(CWE-287) 案例。


认证流程对比

合法认证

root@kitploit:~
客户端
   |
   | USERAUTH_REQUEST
   |
   V
服务端

验证用户名
验证密码
验证密钥

      |
      V

USERAUTH_SUCCESS

认证通过

利用过程

root@kitploit:~
攻击者
    |
    | USERAUTH_SUCCESS
    |
    V
存在漏洞的服务端

(无验证)

认证通过

影响

成功利用允许未经验证的攻击者:

  • 绕过认证
  • 创建经过认证的 SSH 通道
  • 执行命令(取决于应用程序)
  • 读取敏感数据
  • 修改文件
  • 如果应用程序允许,获取管理访问权限

实际影响取决于易受攻击的应用程序在认证后如何使用 libssh。


技术细节

漏洞的存在是因为认证状态机错误地接受了来自客户端的以下数据包:

root@kitploit:~
SSH2_MSG_USERAUTH_SUCCESS

libssh 没有验证该数据包是否来自服务端,而是直接更新其内部会话状态,仿佛认证已成功完成。

由于后续的授权检查依赖于此内部状态,攻击者可以立即打开经过认证的通道。

该漏洞不涉及以下类型的攻击:

  • 缓冲区溢出
  • 内存破坏
  • 加密弱点
  • 竞争条件

相反,它利用的是协议状态处理中的逻辑缺陷。


利用条件

攻击者需要:

  • 能够访问 SSH 服务的网络连接
  • 以服务端模式使用 libssh 的易受攻击应用程序

不需要:

  • 用户名
  • 密码
  • 私钥
  • 有效的 SSH 凭证

检测

潜在指标包括:

  • 没有成功认证日志的 SSH 会话
  • 意外的通道创建
  • 无对应登录事件的认证成功
  • 异常的服务端会话状态转换

网络 IDS 签名也可能识别出来自客户端的异常 SSH2_MSG_USERAUTH_SUCCESS 数据包。


缓解措施

将 libssh 升级到已修补的版本:

  • 0.7.6
  • 0.8.4
  • 任何更新的维护版本

如果无法立即升级:

  • 使用防火墙限制 SSH 访问
  • 在可行的情况下禁用易受攻击的服务
  • 监控认证日志中的异常情况
  • 将暴露范围限制在可信网络

除了更新受影响的软件外,没有可靠的变通方案。


参考

  • NIST 国家漏洞数据库
  • libssh 安全公告
  • NCC Group 技术公告
  • Cisco 安全公告

教育目的

本仓库演示了协议实现错误如何导致认证状态机漏洞。

旨在帮助:

  • 安全研究人员
  • 渗透测试人员
  • 蓝队成员
  • 学习认证绕过漏洞的学生

所包含的概念验证代码用于在受控环境中展示漏洞,以增进对安全协议实现的理解。

下载工具