# 3389 - Pentesting RDP
{% hint style="success" %}
学习和实践 AWS 黑客技术:[**HackTricks 培训 AWS 红队专家 (ARTE)**](https://training.hacktricks.xyz/courses/arte)\
学习和实践 GCP 黑客技术:[**HackTricks 培训 GCP 红队专家 (GRTE)**](https://training.hacktricks.xyz/courses/grte)
支持 HackTricks
* 查看 [**订阅计划**](https://github.com/sponsors/carlospolop)!
* **加入** 💬 [**Discord 群组**](https://discord.gg/hRep4RUj7f) 或 [**Telegram 群组**](https://t.me/peass) 或 **关注** 我们的 **Twitter** 🐦 [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)**.**
* **通过向** [**HackTricks**](https://github.com/carlospolop/hacktricks) 和 [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) GitHub 仓库提交 PR 分享黑客技巧。
{% endhint %}
**即时可用的漏洞评估和渗透测试设置**。从任何地方运行完整的渗透测试,使用 20 多种工具和功能,从侦察到报告。我们不替代渗透测试人员 - 我们开发自定义工具、检测和利用模块,以便让他们有更多时间深入挖掘、获取 shell 并享受乐趣。
{% embed url="https://pentest-tools.com/?utm_term=jul2024&utm_medium=link&utm_source=hacktricks&utm_campaign=spons" %}
## 基本信息
由微软开发的 **远程桌面协议** (**RDP**) 旨在通过网络实现计算机之间的图形界面连接。为了建立这样的连接,用户使用 **RDP** 客户端软件,同时,远程计算机需要运行 **RDP** 服务器软件。此设置允许无缝控制和访问远程计算机的桌面环境,基本上将其界面带到用户的本地设备上。
**默认端口:** 3389
```
PORT STATE SERVICE
3389/tcp open ms-wbt-server
```
## 枚举
### 自动化
{% code overflow="wrap" %}
```bash
nmap --script "rdp-enum-encryption or rdp-vuln-ms12-020 or rdp-ntlm-info" -p 3389 -T4
```
{% endcode %}
它检查可用的加密和DoS漏洞(在不对服务造成DoS的情况下)并获取NTLM Windows信息(版本)。
### [暴力破解](../generic-methodologies-and-resources/brute-force.md#rdp)
**小心,您可能会锁定账户**
### **密码喷洒**
**小心,您可能会锁定账户**
```bash
# https://github.com/galkan/crowbar
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
```
### 使用已知凭据/哈希连接
```bash
rdesktop -u
rdesktop -d -u -p
xfreerdp [/d:domain] /u: /p: /v:
xfreerdp [/d:domain] /u: /pth: /v: #Pass the hash
```
### 检查已知凭据是否适用于 RDP 服务
rdp\_check.py 来自 impacket 让你检查某些凭据是否对 RDP 服务有效:
```bash
rdp_check /:@
```
**即时可用的漏洞评估和渗透测试设置**。从任何地方运行完整的渗透测试,提供20多种工具和功能,从侦察到报告。我们不替代渗透测试人员 - 我们开发自定义工具、检测和利用模块,以便让他们有更多时间深入挖掘、获取shell并享受乐趣。
{% embed url="https://pentest-tools.com/?utm_term=jul2024&utm_medium=link&utm_source=hacktricks&utm_campaign=spons" %}
## **攻击**
### 会话劫持
通过**SYSTEM权限**,您可以访问任何**用户打开的RDP会话**,无需知道所有者的密码。
**获取打开的会话:**
```
query user
```
**访问所选会话**
```bash
tscon /dest:
```
现在您将进入所选的 RDP 会话,并且您将仅使用 Windows 工具和功能来模拟用户。
**重要**:当您访问一个活动的 RDP 会话时,您将使正在使用该会话的用户断开连接。
您可以通过进程转储获取密码,但这种方法更快,并且可以让您与用户的虚拟桌面进行交互(密码在记事本中而未保存在磁盘上,其他机器上打开的其他 RDP 会话...)
#### **Mimikatz**
您也可以使用 mimikatz 来做到这一点:
```bash
ts::sessions #Get sessions
ts::remote /id:2 #Connect to the session
```
### Sticky-keys & Utilman
结合这个技术与 **stickykeys** 或 **utilman,您将能够随时访问管理CMD和任何RDP会话**
您可以使用以下链接搜索已经被这些技术后门化的RDP:[https://github.com/linuz/Sticky-Keys-Slayer](https://github.com/linuz/Sticky-Keys-Slayer)
### RDP Process Injection
如果来自不同域的某人或具有 **更高权限的用户通过RDP登录** 到您是 **管理员** 的PC,您可以 **注入** 您的信标到他的 **RDP会话进程** 中并以他的身份行动:
{% content-ref url="../windows-hardening/active-directory-methodology/rdp-sessions-abuse.md" %}
[rdp-sessions-abuse.md](../windows-hardening/active-directory-methodology/rdp-sessions-abuse.md)
{% endcontent-ref %}
### Adding User to RDP group
```bash
net localgroup "Remote Desktop Users" UserLoginName /add
```
## 自动工具
* [**AutoRDPwn**](https://github.com/JoelGMSec/AutoRDPwn)
**AutoRDPwn** 是一个用 Powershell 创建的后渗透框架,主要旨在自动化对 Microsoft Windows 计算机的 **Shadow** 攻击。此漏洞(被微软列为一项功能)允许远程攻击者 **在未获得受害者同意的情况下查看其桌面**,甚至可以按需控制它,使用操作系统本身的本地工具。
* [**EvilRDP**](https://github.com/skelsec/evilrdp)
* 从命令行以自动化方式控制鼠标和键盘
* 从命令行以自动化方式控制剪贴板
* 从客户端生成 SOCKS 代理,通过 RDP 将网络通信引导到目标
* 在目标上执行任意 SHELL 和 PowerShell 命令,而无需上传文件
* 即使在目标上禁用文件传输,也可以上传和下载文件到/从目标
## HackTricks 自动命令
```
Protocol_Name: RDP #Protocol Abbreviation if there is one.
Port_Number: 3389 #Comma separated if there is more than one.
Protocol_Description: Remote Desktop Protocol #Protocol Abbreviation Spelled out
Entry_1:
Name: Notes
Description: Notes for RDP
Note: |
Developed by Microsoft, the Remote Desktop Protocol (RDP) is designed to enable a graphical interface connection between computers over a network. To establish such a connection, RDP client software is utilized by the user, and concurrently, the remote computer is required to operate RDP server software. This setup allows for the seamless control and access of a distant computer's desktop environment, essentially bringing its interface to the user's local device.
https://book.hacktricks.xyz/pentesting/pentesting-rdp
Entry_2:
Name: Nmap
Description: Nmap with RDP Scripts
Command: nmap --script "rdp-enum-encryption or rdp-vuln-ms12-020 or rdp-ntlm-info" -p 3389 -T4 {IP}
```
**即时可用的漏洞评估和渗透测试设置**。从任何地方运行完整的渗透测试,提供20多种工具和功能,从侦察到报告。我们不替代渗透测试人员 - 我们开发自定义工具、检测和利用模块,以便让他们有更多时间深入挖掘、获取shell并享受乐趣。
{% embed url="https://pentest-tools.com/?utm_term=jul2024&utm_medium=link&utm_source=hacktricks&utm_campaign=spons" %}
{% hint style="success" %}
学习和实践AWS黑客技术:[**HackTricks培训AWS红队专家(ARTE)**](https://training.hacktricks.xyz/courses/arte)\
学习和实践GCP黑客技术:[**HackTricks培训GCP红队专家(GRTE)**](https://training.hacktricks.xyz/courses/grte)
支持HackTricks
* 查看[**订阅计划**](https://github.com/sponsors/carlospolop)!
* **加入** 💬 [**Discord群组**](https://discord.gg/hRep4RUj7f)或[**电报群组**](https://t.me/peass)或**在** **Twitter** 🐦 **上关注我们** [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)**.**
* **通过向** [**HackTricks**](https://github.com/carlospolop/hacktricks)和[**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) GitHub库提交PR来分享黑客技巧。
{% endhint %}