اخبار

خبر

بررسی آسیب‌پذیری جدید Cloudflare WAF با استفاده از تکنیک Padding

آسیب پذیری جدید Cloudflare

بررسی آسیب‌پذیری جدید Cloudflare WAF با استفاده از تکنیک Padding

در صورتی که "فایروال برنامه‌های تحت وب"[1] (WAF) شرکت Cloudflare به طور صحیح پیکربندی نشده باشد، مهاجمان می‌توانند با عبور[2] از آن، از دامنه وسیعی از آسیب‌پذیری‌های برنامه‌ها بهره‌برداری کنند. تیم‌های تحقیقات امنیت سایبری (CSRT) و پاسخ‌گویی به وقایع شرکت Swascan با استفاده از تکنیک Padding در طول انجام یک تست نفوذ این آسیب‌پذیری را کشف کرده‌اند.

برای بهبود امنیت برنامه‌های تحت وب محافظت شده توسط Cloudflare WAF و رفع خطر این تکنیک عبور از فایروال، Swascan فعال‌سازی قوانین را به شکل توصیف شده در بخش "دستورالعمل رفع آسیب‌پذیری" توصیه نموده است.

در ادامه این مطلب، برخی از جزئیات فنی این تکنیک از جمله "اثبات عملی بودن"[3] آن بیان خواهد شد.

چگونه می‌توان با استفاده از آسیب‌پذیری از Cloudflare WAF عبور کرد

در این قسمت، نحوه استفاده از درخواست‌های multipart/form-data HTTP POST و یک تکنیک معروف و متداول برای عبور از WAFها به نام Padding توصیف خواهد شد.

محققان شرکت Swascan، با بررسی فایروال Cloudflare دریافتند که در صورت استفاده از پیکربندی پیش‌فرض این فایروال، افزودن تقریبا 128 کیلوبایت Padding قبل از هر درخواست multipart/form-data POST منجر به این می‌شود که WAF آن را به حداکثر اندازه ممکن کوتاه کرده، قسمت اضافه را نادیده گرفته و آن را به برنامه موردنظر ارسال کند.

با توجه به این موضوع، یک مهاجم بالقوه می‌تواند با بارگذاری Payloadهای مخرب، به بهره‌برداری از آسیب‌پذیری‌های برنامه‌ها بپردازد. این سناریو در زمان انجام یک تست نفوذ واقعی توسط محققان Swascan مورد بهره‌برداری قرار گرفته است.

عملی بودن این تکنیک به این دلیل است که جهت پیشگیری از مصرف بیش از حد CPU توسط موتورهای WAF، اساسا بر روی همه آن‌ها، محدودیت پردازشی قرار داده می‌شود.

بعد از تماس و اطلاع‌رسانی صورت گرفته توسط Swascan به شرکت Cloudflare، این شرکت فعال کردن قانون 100048 را به عنوان راهکاری موقت برای برطرف نمودن این مشکل ارائه کرده است. فعال‌سازی قانون 100048 منجر به محافظت در برابر حملات از نوع Padding می‌شود اما با توجه به اینکه فعال‌سازی این قانون در محیط‌های مشتریان باعث افزایش تعداد موارد False positive خواهد شد، به طور پیش‌فرض به‌کار گرفته نمی‌شود. با این حال و با توجه به شرایط حاضر، لازم است تا مشتریان WAF خود را بر این اساس تنظیم کنند. علاوه بر ارائه راهکار موقت ذکر شده، شرکت Cloudflare اعلام نموده که در حال کار بر روی یک راهکار بلندمدت و بهتر است.

اثبات عملی بودن عبور از Cloudflare WAF

محققان شرکت Swascan در عمل از این تکنیک برای عبور از Cloudflare WAF استفاده کرده و موفق شده‌اند تا چندین آسیب‌پذیری حیاتی برای دستیابی به امکان "اجرای فرامین به صورت از راه دور"[4] (RCE) بر روی سیستم‌های هدف را مورد بهره‌برداری قرار دهند.

تحلیل درخواست‌ها و پاسخ‌های HTTP

در این قسمت، با ارائه چندین درخواست و پاسخ HTTP با استفاده از کتابخانه CURL نحوه رفتار Cloudflare WAF، در صورت حفظ پیکربندی پیش‌فرض آن، نشان داده خواهد شد.

برای شبیه‌سازی حمله، یک Payload متداول کوچک "Shell معکوس"[5]، که به طور موفقیت‌آمیز توسط قانون تزریق دستور[6]  فایروال Cloudflare تشخیص داده شده و مسدود گردیده، ایجاد شده است. همانطور که مشاهده می‌شود فایروال Cloudflare با خطای HTTP 403 (Forbidden) به Client پاسخ داده و صفحه هشدار Cloudflare نشان داده شده است.

آسیب‌پذیری جدید Cloudflair

برای نشان دادن چگونگی کارکرد تکنیک عبور موردنظر، علی‌رغم ناکافی بودن برای عبور از WAF، در ابتدا از تعداد کمی (1000) بایت Padding استفاده می‌کنیم.

Cloudflare waf

در ادامه، تقریبا از 128 کیلوبایت Padding (خط جدید[7]) برای فعال‌سازی منطق کوتاه‌سازی[8] WAF استفاده شده است.

آسیب پذیری Cloudflare

همانطور که مشاهده می‌کنید کد پاسخ HTTP برابر با HTTP 200 است. این بدین معنی است که Payload مخرب تزریق دستور، توسط WAF نادیده گرفته شده است.

در نظر داشته باشید که می‌توان با جایگزین کردن بایت‌های Padding و نوع Payload مورداستفاده، سناریوهایی دیگر برای بهره‌برداری از انواع دیگری از آسیب‌پذیری‌ها ایجاد کرد.

بارگذاری فایل بدون محدودیت

با هدف اثبات عملی بودن این تکنیک، فرض کنید قصد داشته باشیم تا از آسیب‌پذیری "بارگذاری فایل بدون محدودیت"[9] بهره‌برداری کنیم.

برای انجام این کار، یک صفحه PHP ساده (upload.php) با محتوای زیر ایجاد می‌کنیم:

cloudfare 04

توجه داشته باشید که با توجه به عدم بررسی پسوند[10] فایل در حال بارگذاری توسط این کد PHP، این کد آسیب‌پذیر است.

برای بهره‌برداری از این آسیب‌پذیری، از یک PHP web shell ساده، مانند آن‌چه در ادامه ارائه شده، استفاده می‌کنیم:

آسیب پذیری عبور از WAF

تلاش می‌کنیم تا این web shell را با استفاده از upload.php بارگذاری کنیم. همانطور که مشاهده می‌شود این محتوا به درستی توسط Cloudflare مسدود شده و بارگذاری انجام نخواهد شد.

cloudfare 06

حال، تلاش می‌کنیم تا از تکنیک Padding برای عبور از WAF استفاده کنیم. از آن‌جا که Web shell یک فایل متنی است، از کاراکتر خط جدید (0x0A) استفاده می‌کنیم:

cloudfare 08

همانطور که مشاهده می‌شود، Web shell با موفقیت بارگذاری و احتمالا اجرا شده است.

cloudfare 09

 

دستورالعمل رفع آسیب‌پذیری

برای کمک به برطرف کردن خطر به‌کارگیری این نوع تکنیک عبور، Cloudflare توصیه‌های زیر را ارائه کرده است:

  • فعال‌سازی قانون 100048،
  • استفاده از فیلدهای زیر در یک قانون فایروال دلخواه با توجه به نیاز به بررسی سرآیندها[11] و/یا بدنه[12]:
    • request.body.truncated
    • request.headers.truncated
  • حصول اطمینان از آزمایش این قوانین در حالت LOG، قبل از به‌کارگیری آن‌ها در یک حالت فعال‌تر (BLOCK یا موارد دیگر ) به این دلیل که حالت‌های فعال‌تر، با توجه به ترافیک موردانتظار برنامه، مستعد تولید موارد False positive هستند.

علاوه‌براین، برای امنیت در مقابل مواردی مانند این تکنیک، شناسایی و اصلاح آسیب‌پذیری‌های موجود در برنامه‌ها با استفاده از ابزارهای زیر از اهمیت زیادی برخوردار است:

  • ارزیابی آسیب‌پذیری[13]
  • تست نفوذ
  • بازبینی کد
  • [14] SOC به عنوان یک سرویس

نتیجه‌گیری

در این مطلب نحوه دور زدن و عبور از Cloudflare WAF با استفاده از درخواست‌های multipart/form-data POST، مانند درخواست بارگذاری فایل ارائه شد. علاوه‌براین، نحوه برطرف نمودن خطر این تکنیک با فعال‌سازی قوانین Cloudflare WAF به طور متناسب با نیازها، توضیح داده شد.

در صورت نیاز به کسب اطلاعات بیشتر در مورد جزئیات این تکنیک عبور از فایروال و نحوه مقابله با آن، می‌توانید از طریق شماره 02142238000 با کارشناسان شرکت امن‌پردازان در ارتباط باشید.

 

[1] Web Application Firewall

[2] Bypass

[3] Proof-of-concept

[4] Remote Command Execution

[5] Reverse shell

[6] Command injection

[7] Line feeds

[8] Truncation

[9] Unrestricted File Upload

[10] Extension

[11] Headers

[12] Body

[13] Vulnerability assessment

[14] Security operation center

محصولات و خدمات حوزه امنیت اطلاعات و امنیت شبکه

دارای تاییدیه از مراجع معتبر داخلی و خارجی | نصب در مراکز معتبر | با افتخار تولید ایران


مشاوره با کارشناسان امنیت اطلاعات و امنیت شبکه

شرکت APK (امن پردازان کویر) در راستای اهداف خود آماده است تا به سازمانها ، شرکتها و واحدهای صنعتی مشاوره تخصصی در حوزه امنیت اطلاعات و امنیت شبکه را بصورت رایگان ارایه نماید

نظرات (0)

هیچ نظری در اینجا وجود ندارد

نظر خود را اضافه کنید.

  1. ارسال نظر بعنوان یک مهمان ثبت نام یا ورود به حساب کاربری خود.
0 کاراکتر ها
پیوست ها (0 / 3)
مکان خود را به اشتراک بگذارید

شبکه‌های اجتماعی

عضویت در خبرنامه

مطالب شگفت انگیز ، در صندوق ورودی شما

تهران - بلوار كشاورز، خيابان شهيد نادري پائين تر از خيابان ايتاليا، پلاك ۲ واحد ۵۰۵
۷۳ ۴۲۲ (۰۲۱)
۴۲۲۳۸۰۰۰ (۰۲۱)
۱۴۱۶۶۱۳۶۶۹
info{at}apk-group.net
یزد - خیابان شهید دکتر چمران، روبـروی کارخانه درخشان
۳۶۲۹۰۹۹۰ (۰۳۵)
۸۹۱۶۷۱۵۹۵۷

 امن پردازان کویر

Search