مقدمه
معرفی WPAD
Web Proxy Auto-Discovery یا WPAD به سازمانها راهی برای پیکربندی خودکار سرور پروکسی بر روی سیستم ارائه میدهد؛ این ویژگی سبب میشود که در سازمان نیازی به تنظیم آن به صورت دستی نداشته باشید.
معرفی NetBIOS و NetBIOS Name
NetBIOS = برنامهای است که امکان برقراری ارتباط بین کامپیوترهای مختلف درون یک شبکه محلی (LAN) را فراهم میسازد.
NetBIOS Name = اسامی کامپیوترهایی که در شبکه مشاهده میشود همان NetBIOS Name آنها است که توسط مکانیزم Broadcast در شبکه منتشر شده است و برای سایرین قابل مشاهده است. هر بار که کامپیوتر روشن یا خاموش و یا Restart می شود در هر بار انجام شدن این عملیات فرآیند Broadcasting انجام می شود .از ساختار نامگذاری NetBIOS Name معمولا در شبکه های محلی و کوچک استفاده می شود زیرا مکانیزم Broadcast باعث ایجاد شدن ترافیک زیاد در شبکه می شود که این مسئله در شبکه های بزرگ قابل قبول نیست.
در شبکههای سازمانی هر چند میتوان از سرویسهایی مثل WINS برای متمرکزسازی اسامی کامپیوترها با استفاده از پروتکل NetBIOS استفاده کرد اما این ساختار معتبر نیست.
ساختار نامگذاری توسط DNS
ساختار نامگذاری DNS از یک سرور به عنوان سرور مرکزی برای نامگذاری سیستم ها استفاده می کند و دارای یک ساختار سلسله مراتبی و موروثی است که این امکان را به شبکههای بزرگ میدهد که به راحتی و بدون به وجود آمدن تداخل در نامگذاری کامپیوترها آنها را نامگذاری کنند. DNS در واقع یک سرور است و ساختار نامگذاری که بر مبنای آن سیستمها را نامگذاری میکند به عنوان FQDN یا Fully Qualified Domain Name شناخته میشود و اساسا برای شبکههای بسیار بزرگ و اینترنت طراحی شده است. همانطور که ما در پروتکل NetBIOS اسامی کامپیوترها را به عنوان NetBIOS Name میشناسیم در پروتکل DNS آنها را به عنوان host Name میشناسیم، در اکثر اوقات با توجه به اینکه یک Host Name تعداد کاراکترهایی برابر NetBIOS Name دارد شبیه به هم در نظر گرفته میشوند در صورتیکه این دو ساختار کاری کاملا متفاوتی دارند. در DNS به هیچ عنوان محدودیت نامگذاری که در نامگذاری NetBIOS وجود دارد نیست و به همین دلیل میتوان کامپیوترهای متعددی را با این سیستم نامگذاری کرد.[۱]
معرفی اکسپلویت CVE-2016-3213 و CVE-2016-3236
پلتفرم آسیبپذیر: ویندوزهایی که وصله امنیتی مربوط به MS16-077 و MS16-063 را بر روی سیستم خود نصب نکردهاند.
تاریخ ارائه وصله امنیتی: 6/14/2016
نوع آسیبپذیری: Elevation of Privilege
مهاجمی که بتواند به صورت موفق از این دو آسیبپذیری بهرهبرداری کند می تواند ارتقا سطح دسترسی را در سیستم هدف بدست آورد. برای سوء استفاده از این آسیبپذیری، مهاجم میتواند به درخواستهای نام NetBIOS برای WPAD پاسخ دهد. وصلههای امنیتی ارائه شده با تصحیح نحوه مدیریت ویندوز در فرآیند proxy discovery، آسیبپذیری را برطرف میکند.
در این نوع از حمله لازم نیست مهاجم در شبکه LAN حضور داشته باشد. این آسیبپذیری میتواند از طریق بازکردن مرورگر (نسخه های قدیمی) و یا بازکردن یک سند office مورد بهرهبردای قرار گیرد به صورت کلی در هنگام استفاده از url link و یا unc path که در یک فایل تعبیه شده، امکان ارسال درخواست wpad توسط پروتکل nbns وجود دارد.
علل وقوع این آسیبپذیری:
- هنگامی که سیستم عامل ویندوز سعی در resolve اسامی نظیر “WPAD” و “ّFileServer” دارد درخواست NBNS NB را در شبکه broadcast مینماید و پاسخ دریافتی بدون درنظر گرفتن ip ارسال کننده پاسخ پذیرفته میشود.
- هنگامی که ویندوز سعی میکند از طریق IP به یک آدرس شبکه دسترسی پیدا کند اما ip مقصد غیر قابل دسترس (unreachable) است (پکتهای ارسالی به پورت 139، 445 timed out شده و یا کانکشن ریست میشود)، درخواست NBNS NBSTAT به آدرس مقصد ارسال میشود.
راهکارهای پیشنهادی عمومی
- نصب پچهای امنیتی ارائه شده توسط MS16-063 و MS16-077
- بستن پورت 137برای پروتکل udp در فایروال (این راهکار بهینه نمیباشد)
- برای کاربرانی که احتیاج به Windows network sharing services ندارند netbios از تب advanced کارت شبکه غیر فعال شود: با کلیک بر روی کارت شبکه مد نظر، بخش ipv4، از تب general گزینه advanced، با مراجعه به تب WINS، میتوان netbios را غیر فعال کرد.
- تنظیم یک آدرس ip برای wpad در مسیر
%systemdrive%\Windows\System32\Drivers\etc\hosts
با مقدار
255.255.255.255 wpad
- غیرفعالسازی wpad از طریق Group Policy Editor
از طریق run و با وارد کردن دستور gpedit.msc و مراجعه به مسیر:
User Configuration\Administrative Templates\Windows Components\Internet Explorer
در بخش Disable caching of Auto-Proxy scripts را میتوان Enable کرد.