RustDesk中继会话降级攻击:Exploitarium如何让加密远控会话变明文

发布时间:2026/9/16 16:20:39
RustDesk中继会话降级攻击:Exploitarium如何让加密远控会话变明文 RustDesk中继会话降级攻击Exploitarium如何让加密远控会话变明文【免费下载链接】exploitariumA single archive of public exploit PoCs and vulnerability research writeups. At the time I post these, none have been reported. Feel free to report them yourself and take credit for the CVE if handed out lulz. Please do not abuse these. I do this so to allure people into the field, and Ive always found this is the most efficient way.项目地址: https://gitcode.com/GitHub_Trending/ex/exploitariumExploitarium是一个公开的漏洞研究 PoC 档案馆其中收录的RustDesk 中继会话降级攻击PoC 演示了如何把一次正常的加密远控会话变成明文流量——攻击者无需知道密码也能观察登录请求并注入控制消息。本文将用尽量少的代码帮你吃透这条攻击链的每个环节、仓库里的证据以及修复方向。 先认识 Exploitarium一个公开的漏洞 PoC 档案馆Exploitarium 把作者历次独立发布的 PoC 仓库合并为一个档案每个文件夹对应一个真实项目的漏洞研究条目RustDesk、FireFox、Docker、libssh2、Redis 等 30 多个目标每条都附带源码证据、可复现的载荷和本地验证输出。作者在 README.md 中特意说明这些发现发布时均未正式报告他鼓励你亲自去报告漏洞、并拿走属于你的 CVE 荣誉同时提醒不要滥用。这也意味着本文的 RustDesk 条目目前也没有官方 CVE 编号——严重度分类是作者对已演示条件的判断而非厂商公告。RustDesk 相关的完整说明见 rustdesk-session-permission-pocs/README.md。 什么是 RustDesk 中继会话降级RustDesk 是一款流行的开源远程控制软件。当两台设备无法直连时会通过中继relay/会合rendezvous服务器转发流量。设计上这种中继会话应当使用加密的同行密钥协商来保护数据。问题出在客户端如何判断要不要走安全中继客户端根据会合/中继响应里是否携带**有效的签名同行密钥signed peer key**来决定是否请求安全中继如果这个签名密钥缺失或不可信客户端会发送一个空消息应付对端然后直接返回——不安装任何加密密钥受控端的安全设置又是有条件触发的中继路径没有被标记为安全时连接就按普通登录流程继续。换句话说这个安全开关是 **fail open失败放行**的密钥材料被拿掉连接就安静地降级成明文而不是断开。这正是中继会话降级的含义。⚠️边界说明该 PoC不恢复用户密码、不绕过登录认证、不构成远程代码执行RCE。合法用户照常完成正常认证流程攻击者利用的是降级 注入的能力而非登录凭证。⚡ 攻击链拆解7 步从握手到明文注入PoC 的本地回放模拟了以下序列对应 rustdesk-session-permission-pocs/session-downgrade/src/main.rs步骤发生了什么关键点1️⃣客户端带着签名密钥缺失的会合/中继元数据进入中继模式攻击者控制或篡改了中继/会合元数据路径2️⃣客户端请求非安全中继向受控端发送空消息仅 1 字节00安全开关因失败而放行3️⃣受控端因安全标志/密钥长度不满足条件而继续正常流程没有加密层4️⃣合法客户端收到正常Hash质询发送有效LoginRequest认证本身完全正常5️⃣中继以明文协议数据的形式解析到这条登录请求登录流量对攻击者透明6️⃣合法登录被授权后中继注入一条明文MouseEvent无需知道密码7️⃣受控端接受该注入的鼠标事件因为会话已授权且消息语法合法明文注入成功本地验证输出见 rustdesk-session-permission-pocs/evidence/local-verification.txt确认了每一步relay parsed LoginRequest without password knowledge: true relay injected MouseEvent as plaintext RustDesk frame: true controlled side accepted injected mouse event: true 附带发现FileTransfer 权限范围越界同一目录下还有第二个独立发现High 级别候选文件传输授权被扩大为远控能力。RustDesk 把文件传输登录记录为AuthConnType::FileTransfer但登录后的消息分发器是依据宽泛的self.authorized状态放行的。文件传输分支启动文件列表行为后没有像终端/相机分支那样清除键盘输入状态——于是同一条仅文件传输的连接可以继续发送截图请求、屏幕捕获、鼠标点击、按键等本应属于远控会话的消息且被正常受理。对比项设计预期实际行为授权范围仅限文件传输宽泛授权鼠标/键盘/截图均可达状态清理文件传输不应保留输入权限未清除键盘/指针状态用户同意点同意文件传输静默获得屏幕捕获与输入注入面预生成的越界消息载荷存放在 rustdesk-session-permission-pocs/filetransfer-scope-bypass/payloads/。 证据与本地复现PoC 是 Rust 编写的源码校验 载荷生成工具它先检查 RustDesk 源码commitff226f6中脆弱代码形态是否存在确认后才生成协议帧并运行本地环回中继模拟全程不接触第三方主机。会话降级生成的 4 个协议帧含 RustDesk TCP 流编解码的长度前缀载荷文件作用00_client_empty_downgrade_handshake.frame1 字节的空握手触发降级01_login_remote_control.frame明文可见的合法登录请求118 字节02_injected_mouse_move.frame注入的鼠标移动事件03_injected_screenshot_request.frame注入的截图请求文件完整 SHA256 哈希与命令输出都记录在 rustdesk-session-permission-pocs/evidence/local-verification.txt载荷样本见 rustdesk-session-permission-pocs/session-downgrade/payloads/。 修复方向给 RustDesk 开发者作者给出的防御建议值得所有协议设计者借鉴失败必须关闭fail closed预期安全的中继会话缺少有效签名同行密钥时应直接拒绝而不是降级放行不要把是否安全中继的判断建立在中继路径可以随意剥离的元数据上在登录前将同行身份、同行公钥、中继安全状态三者绑定校验除非用户显式选择不安全模式否则拒绝空握手回退消息分发器按AuthConnType做白名单文件传输连接应拒绝鼠标、键盘、截图、捕获类消息。 如何安全地动手学习如果你想亲手复现验证请只在自己拥有或获得明确授权的环境中进行git clone https://gitcode.com/GitHub_Trending/ex/exploitarium cd exploitarium/rustdesk-session-permission-pocs/session-downgrade RUSTDESK_REPO_ROOT/path/to/rustdesk cargo run -- --repo-root /path/to/rustdesk --out ./payloadsPoC 构建时会从你指定的 RustDesk 本地检出中编译 protobuf 绑定因此需要自备一份 RustDesk 源码检出。❓ 常见问题Q攻击者需要知道目标密码吗不需要。PoC 明确演示了中继在不知道密码的情况下解析登录请求并注入明文控制消息但合法用户仍要正常完成认证密码证明也未被绕过。Q这是 RCE 漏洞吗不是。它演示的是明文观察 控制消息注入鼠标事件、截图请求README 明确标注了能力边界。Q为什么作者不自己去申请 CVE作者的目标是用这些研究吸引更多人进入安全领域并鼓励读者自行报告漏洞、领取 CVE 荣誉——这也是学习漏洞研究最实际的上手路径之一。本文基于 Exploitarium 仓库中 rustdesk-session-permission-pocs/ 目录的公开内容撰写所有载荷仅用于防御性复现与补丁验证请勿对第三方部署使用。【免费下载链接】exploitariumA single archive of public exploit PoCs and vulnerability research writeups. At the time I post these, none have been reported. Feel free to report them yourself and take credit for the CVE if handed out lulz. Please do not abuse these. I do this so to allure people into the field, and Ive always found this is the most efficient way.项目地址: https://gitcode.com/GitHub_Trending/ex/exploitarium创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考

关于本文作者

来自尧图内容编辑团队

尧图内容编辑团队 内容团队

尧图内容编辑团队

本文由尧图网络内容编辑团队执笔。团队由资深项目经理、前端工程师与设计师组成,所有内容均来自亲手交付的真实项目,先讲清问题、再给出可落地的解法。尧图深耕北京网站建设十年,服务过京华建材集团、智造科技等各行业客户,把一线经验沉淀为可复用的行业观察。

  • 十年建站经验,覆盖建材、制造、服务、文创等
  • 项目经理把关选题与事实准确性
  • 工程师与设计师联合撰写专业细节
  • 统一编辑规范,保证文风与排版一致
  • 每月复盘转化数据,迭代选题方向

延伸阅读

相关资讯与近期热门内容

深度阅读推荐

建站决策前值得细读的三篇

网站改版的5个关键决策
2024-08-12

网站改版的5个关键决策

什么时候该改版、改到什么程度、如何避免流量掉光,京华建材集团改版复盘给出答案。

获取专属建站方案

看完文章,把您的行业与预算告诉我们,免费获取一份量身定制的官网建设方案与报价。

立即免费咨询