mirror of
https://github.com/HackTricks-wiki/hacktricks.git
synced 2025-10-10 18:36:50 +00:00
150 lines
7.5 KiB
Markdown
150 lines
7.5 KiB
Markdown
# 3389 - Pentesting RDP
|
|
|
|
{{#include ../banners/hacktricks-training.md}}
|
|
|
|
<figure><img src="../images/pentest-tools.svg" alt=""><figcaption></figcaption></figure>
|
|
|
|
**Uzyskaj perspektywę hakera na swoje aplikacje internetowe, sieć i chmurę**
|
|
|
|
**Znajdź i zgłoś krytyczne, wykorzystywalne luki z rzeczywistym wpływem na biznes.** Użyj naszych 20+ niestandardowych narzędzi do mapowania powierzchni ataku, znajdowania problemów z bezpieczeństwem, które pozwalają na eskalację uprawnień, oraz wykorzystaj zautomatyzowane exploity do zbierania niezbędnych dowodów, przekształcając swoją ciężką pracę w przekonujące raporty.
|
|
|
|
{% embed url="https://pentest-tools.com/?utm_term=jul2024&utm_medium=link&utm_source=hacktricks&utm_campaign=spons" %}
|
|
|
|
## Podstawowe informacje
|
|
|
|
Opracowany przez Microsoft, **Remote Desktop Protocol** (**RDP**) jest zaprojektowany w celu umożliwienia połączenia z graficznym interfejsem między komputerami w sieci. Aby nawiązać takie połączenie, użytkownik korzysta z oprogramowania klienckiego **RDP**, a jednocześnie zdalny komputer musi działać na oprogramowaniu serwera **RDP**. Taka konfiguracja umożliwia płynne sterowanie i dostęp do środowiska pulpitu zdalnego komputera, zasadniczo przenosząc jego interfejs na lokalne urządzenie użytkownika.
|
|
|
|
**Domyślny port:** 3389
|
|
```
|
|
PORT STATE SERVICE
|
|
3389/tcp open ms-wbt-server
|
|
```
|
|
## Enumeracja
|
|
|
|
### Automatyczna
|
|
```bash
|
|
nmap --script "rdp-enum-encryption or rdp-vuln-ms12-020 or rdp-ntlm-info" -p 3389 -T4 <IP>
|
|
```
|
|
Sprawdza dostępne szyfrowanie i podatność na DoS (bez powodowania DoS dla usługi) oraz uzyskuje informacje NTLM Windows (wersje).
|
|
|
|
### [Brute force](../generic-hacking/brute-force.md#rdp)
|
|
|
|
**Bądź ostrożny, możesz zablokować konta**
|
|
|
|
### **Password Spraying**
|
|
|
|
**Bądź ostrożny, możesz zablokować konta**
|
|
```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
|
|
```
|
|
### Połącz się z znanymi poświadczeniami/hashami
|
|
```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
|
|
```
|
|
### Sprawdź znane poświadczenia w usługach RDP
|
|
|
|
rdp_check.py z impacket pozwala sprawdzić, czy niektóre poświadczenia są ważne dla usługi RDP:
|
|
```bash
|
|
rdp_check <domain>/<name>:<password>@<IP>
|
|
```
|
|
<figure><img src="../images/pentest-tools.svg" alt=""><figcaption></figcaption></figure>
|
|
|
|
**Uzyskaj perspektywę hakera na swoje aplikacje internetowe, sieć i chmurę**
|
|
|
|
**Znajdź i zgłoś krytyczne, wykorzystywalne luki z rzeczywistym wpływem na biznes.** Użyj naszych 20+ niestandardowych narzędzi, aby zmapować powierzchnię ataku, znaleźć problemy z bezpieczeństwem, które pozwalają na eskalację uprawnień, oraz użyj zautomatyzowanych exploitów do zbierania niezbędnych dowodów, przekształcając swoją ciężką pracę w przekonujące raporty.
|
|
|
|
{% embed url="https://pentest-tools.com/?utm_term=jul2024&utm_medium=link&utm_source=hacktricks&utm_campaign=spons" %}
|
|
|
|
## **Ataki**
|
|
|
|
### Kradzież sesji
|
|
|
|
Z **uprawnieniami SYSTEM** możesz uzyskać dostęp do każdej **otwartej sesji RDP przez dowolnego użytkownika** bez potrzeby znajomości hasła właściciela.
|
|
|
|
**Uzyskaj otwarte sesje:**
|
|
```
|
|
query user
|
|
```
|
|
**Dostęp do wybranej sesji**
|
|
```bash
|
|
tscon <ID> /dest:<SESSIONNAME>
|
|
```
|
|
Teraz będziesz wewnątrz wybranej sesji RDP i będziesz musiał podszyć się pod użytkownika, używając tylko narzędzi i funkcji systemu Windows.
|
|
|
|
**Ważne**: Kiedy uzyskasz dostęp do aktywnych sesji RDP, wylogujesz użytkownika, który z niej korzystał.
|
|
|
|
Możesz uzyskać hasła z procesu, zrzucając je, ale ta metoda jest znacznie szybsza i pozwala na interakcję z wirtualnymi pulpitami użytkownika (hasła w notatniku bez zapisywania na dysku, inne sesje RDP otwarte na innych maszynach...)
|
|
|
|
#### **Mimikatz**
|
|
|
|
Możesz również użyć mimikatz, aby to zrobić:
|
|
```bash
|
|
ts::sessions #Get sessions
|
|
ts::remote /id:2 #Connect to the session
|
|
```
|
|
### Sticky-keys & Utilman
|
|
|
|
Łącząc tę technikę z **stickykeys** lub **utilman**, będziesz mógł uzyskać dostęp do administracyjnego CMD i każdej sesji RDP w dowolnym momencie.
|
|
|
|
Możesz wyszukiwać RDP, które zostały zainfekowane jedną z tych technik, korzystając z: [https://github.com/linuz/Sticky-Keys-Slayer](https://github.com/linuz/Sticky-Keys-Slayer)
|
|
|
|
### RDP Process Injection
|
|
|
|
Jeśli ktoś z innej domeny lub z **lepszymi uprawnieniami zaloguje się przez RDP** do komputera, na którym **jesteś administratorem**, możesz **wstrzyknąć** swój beacon do jego **procesu sesji RDP** i działać jako on:
|
|
|
|
{{#ref}}
|
|
../windows-hardening/active-directory-methodology/rdp-sessions-abuse.md
|
|
{{#endref}}
|
|
|
|
### Adding User to RDP group
|
|
```bash
|
|
net localgroup "Remote Desktop Users" UserLoginName /add
|
|
```
|
|
## Narzędzia automatyczne
|
|
|
|
- [**AutoRDPwn**](https://github.com/JoelGMSec/AutoRDPwn)
|
|
|
|
**AutoRDPwn** to framework do post-exploatacji stworzony w Powershell, zaprojektowany głównie w celu automatyzacji ataku **Shadow** na komputerach Microsoft Windows. Ta luka (wymieniona jako funkcja przez Microsoft) pozwala zdalnemu atakującemu na **wyświetlenie pulpitu ofiary bez jej zgody**, a nawet na kontrolowanie go na żądanie, korzystając z narzędzi natywnych dla samego systemu operacyjnego.
|
|
|
|
- [**EvilRDP**](https://github.com/skelsec/evilrdp)
|
|
- Kontroluj mysz i klawiaturę w zautomatyzowany sposób z linii poleceń
|
|
- Kontroluj schowek w zautomatyzowany sposób z linii poleceń
|
|
- Uruchom proxy SOCKS z klienta, które kieruje komunikację sieciową do celu za pośrednictwem RDP
|
|
- Wykonuj dowolne polecenia SHELL i PowerShell na celu bez przesyłania plików
|
|
- Przesyłaj i pobieraj pliki do/z celu, nawet gdy transfer plików jest wyłączony na celu
|
|
|
|
## Automatyczne polecenia 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}
|
|
```
|
|
<figure><img src="../images/pentest-tools.svg" alt=""><figcaption></figcaption></figure>
|
|
|
|
**Uzyskaj perspektywę hakera na swoje aplikacje internetowe, sieć i chmurę**
|
|
|
|
**Znajdź i zgłoś krytyczne, wykorzystywalne luki w zabezpieczeniach, które mają rzeczywisty wpływ na biznes.** Użyj naszych 20+ niestandardowych narzędzi, aby zmapować powierzchnię ataku, znaleźć problemy z bezpieczeństwem, które pozwalają na eskalację uprawnień, oraz użyj zautomatyzowanych exploitów do zbierania niezbędnych dowodów, przekształcając swoją ciężką pracę w przekonujące raporty.
|
|
|
|
{% embed url="https://pentest-tools.com/?utm_term=jul2024&utm_medium=link&utm_source=hacktricks&utm_campaign=spons" %}
|
|
|
|
{{#include ../banners/hacktricks-training.md}}
|