در یکم ژوئن امسال(2020) آسیب پذیری خطرناکی با دسترسی اجرای کد از راه دور از سمت یک تیم امنیتی با نام Malware Hunter Team از پروتکل SMBv3 کشف شد. این آسیب پذیری با CVSS(استاندارد طبقه بندی آسیب پذیری) برابر High-Level و CVE-2020-0796 ثبت گردید که به افراد مهاجم این امکان را میدهد بتوانند به راحتی به سیستم های که SMBv3 بر روی آنها فعال است نفوذ کند و دسترسی اجرای کد از راه دور(RCE) به فرد مهاجم دهد. این آسیب پذیری با نام های مختلفی شناخته میشود از جمله CoronaBlue، SMBGhost و SMBBleedingGhost
- پروتکل SMB که تشکیل شده از کلمات Server Message Block میباشد این امکان را برای ما فراهم میسازد که بتوانیم منابع مختلف را همچون پورت ها,پرینتر ها و فایل هارا بین افراد درون شبکه به اشتراک بگذاریم
بررسی نحوه کار آسیب پذیری SMBGhost
این آسیب پذیری به گونه ایی میباشد که فرد مهاجم با ارسال بسته های ساخته شده از قبل میتواند به راحتی دستورات سیستمی خود را از طریق سرور SMBv3 بر روی سیستم فرد قربانی اجرا سازد، پروتکل SMBv3 با بررسی نکردن بسته های خاص موجب سریز شدن بافر سیستم میشود و در هسته ویندوز اختلالاتی را به وجود میآورد
مقاوم سازی سیستم دربرابر این آسیب پذیری
به گفته کارشناسان شرکت ماکروسافت میبایست در فایروال سیستم خود دسترسی به پورت TCP 445 که شماره پورت پروتکل SMB است را ببندید اما از این رو شما فقد از حملات بیرون محافظت میشوید و حملات از داخل هنوز امکان پذیر میباشد. همچنین شما میتوانید قابلیت SMB Compress را نیز غیرفعال سازید اینکار موجب مقاوم شدن سیستم شما در برابر این آسیب پذیری میشود.
- نکته: با غیرفعال سازی SMB Compress ممکن است کمی با کندی د شبکه مواجب شوید
برای غیرفعال سازی SMB Compress از این دستور در محیط PowerShell استفاده کنید
Set-ItemProperty -Path "HKLM:\SYSTEM\CurrentControlSet\Services\LanmanServer\Parameters" DisableCompression -Type DWORD -Value 1 -Force
کشف سیستم های آسیب پذیر به SMBGost و بکارگیری آنها
یک اسکنر به منظور اسکن سیستم های مختلف به منظور تست آسیب پذیر بودن دربرابر SMBGhost ارائه شده است به این صورت که با برقراری یک گفت و گو بین سرور SMB اینکار را انجام میدهد در این گفت و گو سعی دارد که دو چیز را بفهمد، اول اینکه سرور از SMBv3.1.1 استفاده میکند و دوم اینکه SMB Compress بر روی آن فعال میباشد یا خیر. به منظور اینکار از پارامتر Dialect: 0x0311 برای تشخیص ورژن و از NegotiateContextCount: 2 به منظور کشف فعال بودن SMB Compress
نویسنده: امیرحسین تنگسیری نژاد
نظرات کاربران (0)