افزایش چشمگیر تهدیدات Web Shell
بر طبق گزارشی که شرکت مایکروسافت (Microsoft Corp) آن را منتشر کرده تعداد تهدیدات موسوم به Web Shell در یک سال گذشته تقریباً دو برابر شده است.
در فاصله آگوست 2020 تا ژانویه 2021، مایکروسافت ماهانه حدود 140 هزار Web Shell را شناسایی کرده که در مقایسه با میانگین 77 هزار مورد دوره قبل از آن، افزایشی 182 درصدی را نشان میدهد.
در ادامه این مطلب که با مشارکت شرکت مهندسی شبکه گستر و مرکز مدیریت راهبردی افتای ریاست جمهوری تهیه شده، چکیدهای از گزارش مایکروسافت ارائه گردیده است.
افزایش استفاده از Web Shell، نه فقط در حملات عمومی که در حملات هدفمند نیز چشمگیر بوده است.
از اصلیترین دلایل استقبال مهاجمان از Web Shell، سادگی و در عین حال نقش مؤثر و کلیدی آن در اجرای موفق یک حمله سایبری است.
Web Shell مجموعه کد کوچکی است که با زبانهای اسکریپتنویسی متداولی نظیر ASP ،PHP یا JSP نوشته شده و مهاجمان با تزریق آنها در سرورهای وب (Web Server)، بستر را برای کنترل از راه دور سرور و اجرای کدهای بالقوه مخرب بر روی آنها فراهم میکنند. این تکنیک مهاجمان را قادر به اجرای فرامین مختلف بر روی سرور آلوده با اهدافی همچون سرقت دادهها، رخنه به شبکه سازمان یا توزیع بدافزارهای دیگر میکند.
مختصر بودن کدهای Web Shell و سادگی جاسازی آنها در میان کدهای معتبر، شناسایی آنها را به کاری پرچالش تبدیل کرده است. Web Shell میتواند با هر یک از زبانهای رایج ساخت برنامههای وب، برنامهنویسی شود. در هر زبان، روشهای متعددی برای نوشتن کدی که وظیفه آن دریافت فرامین دلخواه مهاجم و اجرای آنهاست فراهم است. همچنین مهاجم میتواند دستورات خود را در یک رشته به اصطلاح User Agent یا پارامترهای ردوبدل شده در جریان تبادل سرویسدهنده و سرویسگیرنده (Server/Client) مخفی کند.
مهاجمان نیز با ترکیب این روشها یک Web Shell چندبایتی، اما مخرب را تولید میکنند.
تصویر زیر نمونهای از یک Web Shell را نمایش میدهد که تنها کلمه نسبتاً معنیدار آن، “eval” است و بهسادگی ممکن است در حین تحلیل و بازبینی کد از آن چشمپوشی شود.
ضمن آنکه در بسیاری موارد تا زمانی که Shell مورد استفاده مهاجم قرار نگیرد، محتوای واقعی آن مشخص نمیشود. برای مثال در کد زیر قابل توجهترین عبارات “system” و “cat /etc/passwd” است؛ اما این عبارات نیز زمانی ظاهر میشوند که مهاجم پارامترهایی را به Web Shell ارسال کرده باشد.
مهاجمان، معمولاً با بهرهجویی (Exploit) از ضعفهای امنیتی، کدهای مخرب Web Shell خود را در سرورهای وب آسیبپذیر جاسازی و تزریق میکنند. با جستجویی ساده در موتورهای جستجوگری همچون shodan.io بهراحتی میتوان سرورهای قابل دسترس بر روی اینترنت را کشف و آنها را مورد هدف قرار داد. عواقب راهیابی Web Shell به یک سرور وب میتواند تبعات بسیار جدی و بعضاً جبرانناپذیری را متوجه سازمان کند. بنابراین با گسترش رایانش ابری و الکترونیکی شدن خدمات لازم است که ملاحظات امنیتی سرورها بیش از قبل مورد توجه مسئولان امنیت سازمانها قرار بگیرد.
از جمله اقدامات پیشنهادی در مقاومسازی سرورهای وب در برابر تهدیدات Web Shell میتوان به موارد زیر اشاره کرد:
- نصب کامل اصلاحیههای امنیتی بر روی سامانههای قابل دسترس بر روی اینترنت و اطمینان از عدم آسیبپذیر بودن برنامههای بر روی آنها
- تقسیمبندی شبکه (Network Segmentation) برای محدودسازی تبعات ناشی از یک سرور آلوده
- بکارگیری ضدویروس بهروز
- ممیزی و مرور مستمر لاگهای سرورهای وب و توجه ویژه به سامانههای قابل دسترس بر روی اینترنت که بیش از سایرین در معرض پویش شدن و مورد حمله واقع شدن قرار دارند
- پیکربندی صحیح دیواره آتش و نفوذیاب برای جلوگیری از برقراری ارتباطات با سرور فرماندهی (C2) در میان نقاط پایانی، محدودسازی دامنه نفوذ و سایر فعالیتهای مخرب
- به حداقل رساندن سطح دسترسی حسابهای کاربری و تا حد امکان پرهیز از بکارگیری از حسابهای کاربری محلی (Local) و تحت دامنه (Domain) با سطح Administrator
- رصد لاگهای دیوارههای آتش و پراکسیها جهت شناسایی دسترسیهای غیرضروری به سرویسها و درگاهها
مشروح گزارش مایکروسافت با عنوان “Web shell attacks continue to rise” در لینک زیر قابل دریافت و مطالعه است:
https://www.microsoft.com/security/blog/2021/02/11/web-shell-attacks-continue-to-rise
اوایل امسال نیز آژانس امنیت ملی ایالات متحده (NSA) و اداره سیگنالهای استرالیا (ASD) در گزارشی به بررسی رایجترین آسیبپذیریهای مورد استفاده در حملات مبتنی بر Web Shell پرداختند. این نهادها راهکارهایی نیز برای مقابله با این تهدیدات ارائه کردند که در مسیر زیر قابل دسترس است: