آسیب پذیری فایروال SonicWall موضوع جدیدی نیست. دستگاههای سری ۶ و ۷ فایروال نسل بعدی SonicWall (NGFW) تحت تأثیر دو آسیبپذیری انکار سرویس تأیید نشده با پتانسیل اجرای کد از راه دور قرار دارند. SonicWall توصیههایی را برای CVE-2022-22274 و CVE-2023-0656 به فاصله یک سال منتشر کرد و گزارش نمود که هیچ بهره برداری تاکنون مشاهده نشده است. با این حال، یک اکسپلویت اثبات مفهوم برای CVE-2023-0656 به طور عمومی منتشر شده است. آسیب پذیریها به شرح زیر میباشند:
- CVE-2022-22274 (امتیاز CVSS: 9.4) – یک آسیبپذیری سرریز بافر مبتنی بر پشته در SonicOS از طریق درخواست HTTP به یک مهاجم راه دور و احراز هویت نشده اجازه میدهد تا حمله DoS را راه اندازی کند که به طور بالقوه میتواند منجر به اجرای کد در فایروال شود.
- CVE-2023-0656 (امتیاز CVSS: 7.5) – یک آسیبپذیری سرریز بافر مبتنی بر پشته در SonicOS به یک مهاجم از راه دور و احراز هویت نشده اجازه میدهد تا حمله DoS را راه اندازی کند که میتواند منجر به crash (خرابی) گردد.
به منظور شناسایی کد آسیبپذیر در زیربنای CVE-2022-22274، از Ghidra و BinDiff برای مقایسه تفاوتهای بین نسخههای آسیبپذیر و باینری sonicosv وصله شده که مسئول رسیدگی به درخواستهای HTTP برای رابط مدیریت وب میباشد، استفاده شده است.
پس از مقایسه تعداد معدودی از عملکردهایی که بین نسخههای فریمور NSv 6.5.4.4-44v-21-1452 و 6.5.4.4-44v-21-1519 اصلاح شدهاند، یک مورد مشاهده گردید که نشانههای واضحی از مرتبط بودن با رسیدگی به درخواست HTTP را نشان میدهد؛ از جمله متدها، رشتههای کوئری، کد HTML و پیامهایی که برای نمایش در مرورگر وب در نظر گرفته شدهاند. توابع دیکامپایل شده از دو نسخه، تغییرات کد کلید زیر را نشان میدهند:
کد آسیب پذیر:
کد وصله شده:
بیش از ۱۷۸،۰۰۰ فایروال SonicWall متصل به اینترنت، برای حداقل یکی از دو نقص امنیتی که میتوانند به طور بالقوه برای ایجاد شرایط انکار سرویس (DoS) و اجرای کد از راه دور (RCE) مورد سوء استفاده قرار گیرند، قابل اکسپلویت هستند. این دو مسئله اساساً یکسان میباشند، اما به دلیل استفاده مجدد از الگوی کد آسیبپذیر، در مسیرهای مختلف HTTP URI قابل اکسپلویت هستند.
اکنون که میدانیم چگونه یک بررسی آسیبپذیری ایمن انجام دهیم، حتماً اگر دستگاههای SonicWall NGFW را که در شبکه خود مستقر کردهاید؛ آزمایش کنید! اگر دارای دستگاه آسیب پذیری میباشید، دو مرحله وجود دارد که میبایست فوراً انجام دهید:
- رابط مدیریت وب را از دسترس عموم حذف کنید.
- سیستم عامل را به آخرین نسخه موجود ارتقا دهید.
مهندسان شرکت Bishop Fox در پاسخ به ایت سوال که “چه تعداد دستگاه SonicWall در اینترنت آسیبپذیر هستند؟” به BinaryEdge مراجعه کردند تا لیست اهداف را جمع آوری کنند. از آنجایی که هدر پاسخ HTTP “Server: SonicWALL” در تمام دستگاههای SonicWall NGFW کدگذاری شده است، آنها به راحتی در اینترنت قابل شناسایی هستند:
یک جستجوی سریع، حدود ۱.۵ میلیون نتیجه را نشان داد، اما برای اطمینان از اینکه فقط دستگاههای NGFW و بهویژه رابط مدیریت وب دریافت شده است، مقداری فیلتر نیاز بود و تنها کاری که میبایست انجام میشد، اطمینان از این موضوع بود که آیا هدر پاسخ “Server” فقط”SonicWALL” است یا خیر؟ (به عنوان مثال، “SonicWALL SSL-VPN Web Server”) و همچنین اطمینان از اینکه اتصال، از کپسولهسازی TLS استفاده میکند. رابط مدیریت وب در تمام دستگاههای سری ۶ و ۷، فقط اجازه دسترسی از طریق HTTPS را میدهد (اگرچه میتوانید تغییر مسیر HTTP را فعال کنید).
مهندسان شرکت Bishop Fox، تمام مجموعه دادهها را از BinaryEdge صادر کردند، URLهای HTTPS را استخراج و لیست را با IPv4 فیلتر کردند (برای سادگی – تفاوت ناچیزی بود) و ورودیهای تکراری را حذف نمودند. آنها سپس یک اسکریپت ساده برای تست دسترسی و بررسی هدرهای پاسخ نوشتند؛ پس از فیلتر کردن نتایج خود به این روش، به مجموعه اهداف ۲۳۴,۷۲۰ دستگاه رسیدند.
مهندسان سپس یک نسخه رشتهای از بررسی آسیب پذیری خود نوشتند تا به سرعت هر پنج مسیر بالقوه آسیب پذیر را در تمام اهداف اسکن کنند. با گنجاندن برخی بهینه سازیها (مانند به حداقل رساندن تعداد مسیرهای تست برای هر CVE)، آنها توانستند نتایج را در عرض چند ساعت جمع آوری کنند. در اینجا نمونهای از مجموعه نتایج قابل مشاهده است:
{“https://65.144.219.82:443”: {“CVE-2022-22274”: true, “CVE-2023-0656”: true}}
{“https://65.141.205.218:8443”: {“CVE-2022-22274”: false, “CVE-2023-0656”: false}}
{“https://65.144.97.218:443”: {“CVE-2022-22274”: true, “CVE-2023-0656”: true}}
{“https://65.141.191.90:443”: {“CVE-2022-22274”: false, “CVE-2023-0656”: true}}
نتایج در برخی موارد، شامل پورتهای مختلف روی یک هدف میباشد، بنابراین لازم بود تا آنها ادغام گردند (که منجر به ۲۳۳,۹۸۴ دستگاه منحصربهفرد شد) و نتایج زیر باقی بمانند:
شاید شگفتانگیزترین کشف این بود که بیش از ۱۴۶,۰۰۰ دستگاه در دسترس عموم در برابر یک باگ آسیبپذیر میباشند که تقریباً دو سال پیش منتشر شده است! در این مرحله از زمان، یک مهاجم به راحتی میتواند با استفاده از این اکسپلویت منجر به حمله انکار سرویس شود.
شاید چالش بزرگتر برای یک مهاجم این باشد که از قبل تعیین کند که یک هدف خاص از چه نسخههای فریمور و سختافزاری استفاده میکند، زیرا اکسپلویت باید بر اساس این پارامترها تنظیم شود. از آنجایی که در حال حاضر هیچ تکنیکی برای تعیین نسخه فایروالهای SonicWall از راه دور شناخته نشده است، احتمال استفاده مهاجمان از RCE همچنان کم است. صرف نظر از این، انجام اقدامات مناسب برای ایمن سازی دستگاههای شما، به روزرسانی به آخرین نسخه و اطمینان از اینکه اینترفیس مدیریت توسط اینترنت قابل دسترس نمیباشد، تضمین میکند که آنها قربانی یک حمله بالقوه دردناک DoS نخواهند شد.
منابع
https://bishopfox.com/blog/its-2024-and-over-178-000-sonicwall-firewalls-are-publicly-exploitable