
ماسح BlueKeep مع دعم NLA
ماسح ضوئي لثغرة BlueKeep (CVE-2019-0708) يعمل في وضعي المصادقة وعدم المصادقة (أي عندما تكون مصادقة مستوى الشبكة (NLA) مفعّلة).
المتطلبات:
يعتمد هذا الأداة على FreeRDP ويستخدم Docker لتسهيل عملية الترجمة/التشغيل. يجب أن يعمل على أي بيئة UNIX وقد تم اختباره بشكل أساسي على Linux/Ubuntu.
تثبيت المتطلبات الأساسية:
sudo apt-get install docker.io
بناء عميل FreeRDP المخصص داخل حاوية Docker المسماة bkscan:
$ git clone https://github.com/nccgroup/BKScan.git
$ cd BKScan
$ sudo docker build -t bkscan .
[...]
Successfully built f7666aeb3259
Successfully tagged bkscan:latest
قم باستدعاء البرنامج النصي bkscan.sh من جهازك. سيستدعي البرنامج النصي عميل FreeRDP المخصص داخل
حاوية Docker المنشأة حديثاً bkscan:
$ sudo ./bkscan.sh -h
Usage:
./bkscan.sh -t <target_ip> [-P <target_port>] [-u <user>] [-p <password>] [--debug]
ضد نظام Windows 7 عرضة للثغرة مع تفعيل NLA وبيانات اعتماد صالحة.
$ sudo ./bkscan.sh -t 192.168.119.141 -u user -p password
[+] Targeting 192.168.119.141:3389...
[+] Using provided credentials, will support NLA
[-] Max sends reached, please wait to be sure...
[!] Target is VULNERABLE!!!
ضد نظام Windows 10 (غير عرضة للثغرة) أو نظام Windows 7 مُحدَّث مع تفعيل NLA وبيانات اعتماد صالحة:
$ sudo ./bkscan.sh -t 192.168.119.133 -u user -p password
[+] Targeting 192.168.119.133:3389...
[+] Using provided credentials, will support NLA
[-] Max sends reached, please wait to be sure...
[*] Target appears patched.
ضد نظام Windows 7 (عرضة للثغرة أو مُحدَّث) مع تفعيل NLA ولكننا نفحصه باستخدام عميل لا يدعم NLA:
$ sudo ./bkscan.sh -t 192.168.119.141
[+] Targeting 192.168.119.141:3389...
[+] No credential provided, won't support NLA
[-] Connection reset by peer, NLA likely to be enabled. Detection failed.
ضد نظام Windows 7 (عرضة للثغرة أو مُحدَّث) مع تفعيل NLA وبيانات اعتماد صالحة ولكن المستخدم ليس ضمن مجموعة "Remote Desktop Users":
$ sudo ./bkscan.sh -t 192.168.119.141 -u test -p password
[+] Targeting 192.168.119.141:3389...
[+] Using provided credentials, will support NLA
[-] NLA enabled, credentials are valid but user has insufficient privileges. Detection failed.
ضد نظام Windows 7 (عرضة للثغرة أو مُحدَّث) مع تفعيل NLA وبيانات اعتماد غير صالحة:
$ sudo ./bkscan.sh -t 192.168.119.141 -u user -p badpassword
[+] Targeting 192.168.119.141:3389...
[+] Using provided credentials, will support NLA
[-] NLA enabled and access denied. Detection failed.
ضد نظام Windows 10 (غير عرضة للثغرة) مع تفعيل NLA وبيانات اعتماد غير صالحة:
$ sudo ./bkscan.sh -t 192.168.119.133 -u user -p badpassword
[+] Targeting 192.168.119.133:3389...
[+] Using provided credentials, will support NLA
[-] NLA enabled and logon failure. Detection failed.
ملاحظة: الاختلاف في المخرجات بين Windows 7 وWindows 10 يُرجَّح أن يكون بسبب إصدارات CredSSP في Windows وقد يختلف المخرج لديك.
ضد نظام Windows XP عرضة للثغرة (بدون دعم NLA):
$ sudo ./bkscan.sh -t 192.168.119.137
[+] Targeting 192.168.119.137:3389...
[+] No credential provided, won't support NLA
[-] Max sends reached, please wait to be sure...
[!] Target is VULNERABLE!!!
ضد نظام Windows 7 مع تعطيل RDP أو منفذ محجوب:
$ sudo ./bkscan.sh -t 192.168.119.142
[+] Targeting 192.168.119.142:3389...
[+] No credential provided, won't support NLA
[-] Can't connect properly, check IP address and port.
شكر خاص إلى @JaGoTu و @zerosum0x0 لإطلاقهما الماسح الضوئي غير المصادق عليه لثغرة "BlueKeep" CVE-2019-0708، انظر هنا. يعمل ماسح BKScan في هذا المستودع بطريقة مشابهة لـ الماسح الضوئي الخاص بهما ولكنه تم نقله إلى FreeRDP لدعم NLA.
شكراً إلى mi2428 لإطلاقه برنامجاً نصياً لتشغيل FreeRDP في Docker، انظر هنا.
كما نشكر الأشخاص التاليين على مساهماتهم:
إذا واجهتك مشكلة مع ماسح BlueKeep الضوئي، فيرجى إنشاء issue في مستودع github هذا
مع المخرجات التفصيلية باستخدام ./bkscan.sh --debug.
بعض الإصدارات الحديثة من Linux (مثل Ubuntu 18.04 أو Kali 2019.2 Rolling) لا تتعامل بشكل جيد مع
متغيري البيئة $DISPLAY و $XAUTHORITY.
$ sudo ./bkscan.sh -t 192.168.119.137
[+] Targeting 192.168.119.137:3389...
[+] No credential provided, won't support NLA
[07:58:35:866] [1:1] [ERROR][com.freerdp.client.x11] - failed to open display: :0
[07:58:35:866] [1:1] [ERROR][com.freerdp.client.x11] - Please check that the $DISPLAY environment variable is properly set.
يعمل بشكل جيد على تثبيت جديد من Ubuntu 18.04 ولكن ليس على تثبيت استخدمته لبعض الوقت، لذا ألوم حزمة أو إعدادات مرتبطة بـ X11 تم تحديثها.
يوثق docker-org هذه المشكلة ويقترح حلاً لكنني لم أتمكن من جعله يعمل بنفسي. لذا لست متأكداً من أنهم يصفون نفس المشكلة. إذا واجهت هذه المشكلة في البداية وتمكنت من إصلاحها، فلا تتردد في تقديم PR.