# 3389 - Testowanie penetracyjne RDP
Naucz się hakować AWS od zera do bohatera z htARTE (HackTricks AWS Red Team Expert)! Inne sposoby wsparcia HackTricks: * Jeśli chcesz zobaczyć swoją **firmę reklamowaną w HackTricks** lub **pobrać HackTricks w formacie PDF**, sprawdź [**PLAN SUBSKRYPCJI**](https://github.com/sponsors/carlospolop)! * Zdobądź [**oficjalne gadżety PEASS & HackTricks**](https://peass.creator-spring.com) * Odkryj [**Rodzinę PEASS**](https://opensea.io/collection/the-peass-family), naszą kolekcję ekskluzywnych [**NFT**](https://opensea.io/collection/the-peass-family) * **Dołącz do** 💬 [**grupy Discord**](https://discord.gg/hRep4RUj7f) lub [**grupy telegramowej**](https://t.me/peass) lub **śledź** nas na **Twitterze** 🐦 [**@carlospolopm**](https://twitter.com/hacktricks_live)**.** * **Podziel się swoimi sztuczkami hakerskimi, przesyłając PR-y do** [**HackTricks**](https://github.com/carlospolop/hacktricks) i [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github repos.
**Natychmiastowe dostępne narzędzie do oceny podatności i testowania penetracyjnego**. Uruchom pełne testowanie penetracyjne z dowolnego miejsca za pomocą ponad 20 narzędzi i funkcji, które obejmują od rozpoznania po raportowanie. Nie zastępujemy testerów penetracyjnych - opracowujemy niestandardowe narzędzia, moduły wykrywania i eksploatacji, aby umożliwić im zagłębianie się, zdobywanie powłok i dobrą zabawę. {% embed url="https://pentest-tools.com/" %} ## Podstawowe informacje Rozwinięty przez firmę Microsoft, **Protokół zdalnego pulpitu** (**RDP**) ma na celu umożliwienie połączenia interfejsu graficznego między komputerami w sieci. Aby nawiązać takie połączenie, użytkownik korzysta z oprogramowania klienta **RDP**, a jednocześnie zdalny komputer musi działać jako serwer **RDP**. Taka konfiguracja umożliwia płynne sterowanie i dostęp do pulpitu zdalnego komputera, co pozwala na wyświetlanie jego interfejsu na lokalnym urządzeniu użytkownika. **Domyślny port:** 3389 ``` PORT STATE SERVICE 3389/tcp open ms-wbt-server ``` ## Wyliczanie ### Automatyczne {% code overflow="wrap" %} ```bash nmap --script "rdp-enum-encryption or rdp-vuln-ms12-020 or rdp-ntlm-info" -p 3389 -T4 ``` {% endcode %} Sprawdza dostępne szyfrowanie i podatność na DoS (bez powodowania DoS dla usługi) oraz uzyskuje informacje o systemie Windows NTLM (wersje). ### [Brute force](../generic-methodologies-and-resources/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ę za pomocą znanych poświadczeń/haszowania Jeśli masz dostęp do znanych poświadczeń lub haszowania, możesz spróbować połączyć się z usługą RDP. W przypadku posiadania poświadczeń, możesz je wprowadzić ręcznie podczas logowania. Jeśli masz dostęp tylko do haszowania, możesz użyć narzędzi do łamania hasła, takich jak John the Ripper lub Hashcat, aby odzyskać oryginalne hasło. Aby połączyć się z usługą RDP za pomocą znanych poświadczeń, wykonaj następujące kroki: 1. Uruchom klienta RDP na swoim komputerze. 2. Wprowadź adres IP lub nazwę hosta zdalnego komputera. 3. Wprowadź nazwę użytkownika i hasło, które znasz. 4. Kliknij przycisk "Połącz" lub naciśnij Enter, aby rozpocząć sesję RDP. Jeśli masz dostęp tylko do haszowania, wykonaj następujące kroki: 1. Skorzystaj z narzędzia do łamania hasła, takiego jak John the Ripper lub Hashcat, aby odzyskać oryginalne hasło na podstawie hasza. 2. Po odzyskaniu hasła, wykonaj kroki opisane powyżej, aby połączyć się z usługą RDP za pomocą znanych poświadczeń. Pamiętaj, że próba połączenia się z usługą RDP za pomocą nieautoryzowanych poświadczeń lub haszowania jest nielegalna i narusza prywatność innych osób. Wykorzystuj te techniki tylko w legalnych i uprawnionych celach, takich jak testowanie penetracyjne. ```bash rdesktop -u rdesktop -d -u -p xfreerdp [/d:domain] /u: /p: /v: xfreerdp [/d:domain] /u: /pth: /v: #Pass the hash ``` ### Sprawdzanie znanych poświadczeń w usługach RDP rdp\_check.py z pakietu impacket pozwala sprawdzić, czy określone poświadczenia są poprawne dla usługi RDP: ```bash rdp_check /:@ ```
**Natychmiastowe dostępne narzędzia do oceny podatności i testowania penetracyjnego**. Uruchom pełny test penetracyjny z dowolnego miejsca za pomocą ponad 20 narzędzi i funkcji, które obejmują odzyskiwanie informacji i raportowanie. Nie zastępujemy testerów penetracyjnych - rozwijamy niestandardowe narzędzia, moduły wykrywania i eksploatacji, aby umożliwić im zagłębianie się, zdobywanie dostępu i dobrą zabawę. {% embed url="https://pentest-tools.com/" %} ## **Ataki** ### Kradzież sesji Z uprawnieniami **SYSTEM** możesz uzyskać dostęp do dowolnej **otwartej sesji RDP przez dowolnego użytkownika** bez konieczności znajomości hasła właściciela. **Pobierz otwarte sesje:** ``` query user ``` **Dostęp do wybranej sesji** Aby uzyskać dostęp do wybranej sesji, możesz skorzystać z różnych technik. Poniżej przedstawiam kilka sposobów, które możesz wypróbować: 1. **Brute force**: Wypróbuj atak brute force, próbując różne kombinacje nazw użytkowników i haseł, aż znajdziesz poprawne dane uwierzytelniające. 2. **Słownik atak**: Wykorzystaj słownik zawierający popularne hasła i nazwy użytkowników, aby przyspieszyć proces ataku brute force. 3. **Podsłuch sieciowy**: Monitoruj ruch sieciowy w poszukiwaniu danych uwierzytelniających, które są przesyłane w otwartej formie. 4. **Atak Man-in-the-Middle**: Wykorzystaj atak Man-in-the-Middle, aby przechwycić dane uwierzytelniające podczas komunikacji między klientem a serwerem RDP. 5. **Wykorzystanie słabych haseł**: Sprawdź, czy użytkownicy korzystają z łatwych do odgadnięcia haseł, takich jak "password" lub "123456". Wykorzystaj te słabe hasła do uzyskania dostępu. 6. **Wykorzystanie podatności**: Sprawdź, czy serwer RDP jest podatny na znane luki bezpieczeństwa. Jeśli tak, wykorzystaj te podatności do uzyskania dostępu. Pamiętaj, że przed przeprowadzeniem jakiejkolwiek próby uzyskania dostępu do sesji, upewnij się, że masz odpowiednie uprawnienia i zgodę na przeprowadzenie testów penetracyjnych. ```bash tscon /dest: ``` Teraz będziesz wewnątrz wybranej sesji RDP i będziesz musiał podać się za użytkownika, korzystając tylko z narzędzi i funkcji systemu Windows. **Ważne**: Gdy uzyskasz dostęp do aktywnej sesji RDP, wylogujesz użytkownika, który z niej korzystał. Możesz uzyskać hasła, dumpując proces, ale ta metoda jest znacznie szybsza i pozwala na interakcję z wirtualnym pulpitem użytkownika (hasła w notatniku, które nie są zapisywane na dysku, inne otwarte sesje RDP na innych maszynach...) #### **Mimikatz** Możesz również użyć narzędzia mimikatz do tego: ```bash ts::sessions #Get sessions ts::remote /id:2 #Connect to the session ``` ### Sticky-keys & Utilman Kombinując tę technikę z **stickykeys** lub **utilman, będziesz w stanie uzyskać dostęp do administracyjnego CMD i dowolnej sesji RDP w dowolnym momencie** Możesz wyszukać RDP, które zostały już zainfekowane jedną z tych technik za pomocą: [https://github.com/linuz/Sticky-Keys-Slayer](https://github.com/linuz/Sticky-Keys-Slayer) ### Wstrzykiwanie procesu RDP 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 w jego **proces sesji RDP** i działać jak on: {% 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 %} ### Dodawanie użytkownika do grupy RDP ```bash net localgroup "Remote Desktop Users" UserLoginName /add ``` ## Automatyczne narzędzia * [**AutoRDPwn**](https://github.com/JoelGMSec/AutoRDPwn) **AutoRDPwn** to framework do post-eksploatacji stworzony w Powershell, zaprojektowany głównie do automatyzacji ataku **Shadow** na komputery z systemem Microsoft Windows. Ta podatność (zgłoszona przez Microsoft jako funkcja) pozwala zdalnemu atakującemu **obejrzeć pulpit swojej ofiary bez jej zgody**, a nawet kontrolować go na żądanie, korzystając z narzędzi wbudowanych w sam system operacyjny. * [**EvilRDP**](https://github.com/skelsec/evilrdp) * Kontroluj myszkę i klawiaturę w sposób zautomatyzowany z wiersza poleceń * Kontroluj schowek w sposób zautomatyzowany z wiersza 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 pliki do/czytaj pliki z celu, nawet gdy przesyłanie plików jest wyłączone 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} ```
**Natychmiastowe dostępne narzędzia do oceny podatności i testowania penetracyjnego**. Uruchom pełny test penetracyjny z dowolnego miejsca za pomocą ponad 20 narzędzi i funkcji, które obejmują rozpoznanie i raportowanie. Nie zastępujemy testerów penetracyjnych - opracowujemy niestandardowe narzędzia, moduły wykrywania i eksploatacji, aby umożliwić im zagłębianie się, zdobywanie powłok i dobrą zabawę. {% embed url="https://pentest-tools.com/" %}
Dowiedz się, jak hakować AWS od zera do bohatera z htARTE (HackTricks AWS Red Team Expert)! Inne sposoby wsparcia HackTricks: * Jeśli chcesz zobaczyć swoją **firmę reklamowaną w HackTricks** lub **pobrać HackTricks w formacie PDF**, sprawdź [**PLAN SUBSKRYPCJI**](https://github.com/sponsors/carlospolop)! * Zdobądź [**oficjalne gadżety PEASS & HackTricks**](https://peass.creator-spring.com) * Odkryj [**Rodzinę PEASS**](https://opensea.io/collection/the-peass-family), naszą kolekcję ekskluzywnych [**NFT**](https://opensea.io/collection/the-peass-family) * **Dołącz do** 💬 [**grupy Discord**](https://discord.gg/hRep4RUj7f) lub [**grupy telegramowej**](https://t.me/peass) lub **śledź** nas na **Twitterze** 🐦 [**@carlospolopm**](https://twitter.com/hacktricks_live)**.** * **Podziel się swoimi sztuczkami hakerskimi, przesyłając PR-y do** [**HackTricks**](https://github.com/carlospolop/hacktricks) **i** [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) **repozytoriów GitHub.**