◄ BACK TO PROTOCOLS
► HTB ACADEMY · MODULE 112 · SECTION 18/21
RDP — REMOTE DESKTOP PROTOCOL
GUI REMOTE ACCESS · NLA · TLS · XFREERDP
3389
TCP/UDP Port
GUI
واجهة رسومية
NLA
Network Level Auth
Self-Signed
MITM Risk
xfreerdp
Linux Client
ما هو RDP؟

Remote Desktop Protocol — بروتوكول Microsoft للوصول الرسومي عن بعد لأجهزة Windows. يرسل الـ Display وأوامر التحكم عبر شبكة مشفرة. يشتغل على Port 3389 TCP (وأحياناً UDP).

RDP vs SSH
SSH: Command line فقط — نصي
مثل تكلم شخص بالهاتف (صوت فقط)

RDP: Desktop كامل — GUI
مثل تشوف شاشته وتتحكم فيها
متى يستخدم RDP؟
Windows Workstations
لو تبي تشوف ملفات أو تشغّل برامج
بواجهة رسومية عن بعد
مثبّت افتراضياً على Windows Server!
🔐 TLS وNLA
TLS في RDP
مثل HTTPS للـ RDP
منذ Windows Vista ✅
بس بعض الأنظمة تقبل
RDP Security (تشفير ضعيف) ⚠️
NLA — Network Level Auth
بدون NLA: تتصل ثم تسجّل دخول
مع NLA: تثبت هويتك أول ✅
أأمن لأن Session ما يتكوّن
قبل المصادقة
⚠️ Self-Signed Certificate — خطر MITM
# لما تتصل بـ RDP: WARN: Certificate verification failure 'self signed certificate' CN = ILF-SQL-01 ↓ Do you trust the above certificate? (Y/T/N) # المشكلة: السيرفر وقّع على شهادته بنفسه ما في CA موثوق يؤكد هويته ↓ المهاجم ينشئ شهادة مزيفة = MITM! 💀
⚠️ في الـ pentest اكتب Y للمتابعة. في الواقع = علامة تحذير خطيرة!
الأدوات:
🔍 Nmap — Footprinting
nmap -sV -sC 10.129.201.248 -p3389 --script rdp* PORT STATE SERVICE VERSION 3389/tcp open ms-wbt-server Microsoft Terminal Services | rdp-enum-encryption: | CredSSP (NLA): SUCCESS ← NLA مفعّل | | rdp-ntlm-info: | Target_Name: ILF-SQL-01 ← اسم الجهاز | Product_Version: 10.0.17763 ← Windows Server 2019 | System_Time: 2021-11-06T13:46:00+00:00
⚠️ Nmap يستخدم Cookie: mstshash=nmap — EDR وIDS يكتشفونه! ممكن يحجبوك في الشبكات المحمية.
🔒 rdp-sec-check.pl — فحص أمان RDP
git clone https://github.com/CiscoCXSecurity/rdp-sec-check.git && cd rdp-sec-check ./rdp-sec-check.pl 10.129.201.248 [+] Checking supported protocols [-] PROTOCOL_RDP : FALSE ← التشفير الضعيف مرفوض ✅ [-] PROTOCOL_SSL : FALSE [-] PROTOCOL_HYBRID : TRUE ← NLA فقط مدعوم ✅ [+] Checking RDP encryption ENCRYPTION_METHOD_NONE : FALSE ← لا تشفير مرفوض ✅ ENCRYPTION_METHOD_40BIT : FALSE ENCRYPTION_METHOD_128BIT : FALSE
💡 يكشف أي بروتوكولات وتشفير مدعوم — بدون credentials!
🖥️ xfreerdp — الاتصال من Linux
xfreerdp /u:cry0l1t3 /p:"P455w0rd!" /v:10.129.201.248 # مع تجاوز تحذير الشهادة: xfreerdp /u:cry0l1t3 /p:"P455w0rd!" /v:10.129.201.248 /cert-ignore # بعد الاتصال: ← يفتح Windows Desktop كامل على شاشتك!
💡 بدائل على Linux: rdesktop, Remmina (GUI)
⛓️ Attack Chain
🔍
Nmap
rdp* scripts
🔒
rdp-sec-check
فحص الأمان
🔑
Credentials
brute force
🖥️
xfreerdp
GUI access!
# 1. اكتشاف: nmap -sV -sC TARGET -p3389 --script rdp* # ← اسم الجهاز + Windows version + NLA status # 2. فحص الأمان: ./rdp-sec-check.pl TARGET # ← أي بروتوكولات مدعومة # 3. الاتصال بعد credentials: xfreerdp /u:Administrator /p:"Password123" /v:TARGET ← Windows Desktop كامل! 🎯
🌐 Q&A
إيش الفرق بين RDP وSSH؟
SSH = command line فقط، نصي، للـ Linux غالباً. مثل تكلم شخص بالهاتف (صوت فقط). RDP = Desktop كامل بالماوس، GUI، للـ Windows. مثل تشوف شاشته وتتحكم فيها. RDP أبطأ وأكثر ضجيجاً لكن أقوى للواجهة الرسومية.
إيش NLA وليش مهم؟
Network Level Authentication. بدون NLA: تتصل بالسيرفر أول ثم تسجّل دخول = المهاجم يقدر يستغل الاتصال قبل المصادقة. مع NLA: لازم تثبت هويتك أول قبل ما يتكوّن أي session = أأمن بكثير.
ليش Self-Signed Certificate خطير في RDP؟
لأن ما في CA موثوق يؤكد هوية السيرفر. المهاجم ينشئ شهادة self-signed مزيفة ويتظاهر إنه السيرفر. xfreerdp يحذرك "certificate not trusted" بس لو كتبت Y = قبلت الشهادة المزيفة = MITM!
ليش Nmap مع --script rdp* ممكن يحجبوك؟
لأن Nmap يرسل Cookie: mstshash=nmap مع كل طلب RDP. الـ EDR وIDS والـ threat hunters يعرفون هاد الـ cookie ويكتشفون إنك تستخدم Nmap. في الشبكات المحمية ممكن يحجبوا عنوانك فوراً.