محققان امنیتی یک آسیب‌پذیری روزِ صفر را در برنامه تحتِ وب Apache Struts کشف کردند که در سطح اینترنت نیز مورد بهره‌برداری قرار گرفته است.

Apache Struts

Apache Struts یک framework مجانی، منبع باز و MVC(1) است که برای ساختِ وب اپلیکیشن‌های ظریف و مدرن جاوا مورد استفاده قرار می‌گیرد و از REST، AJAX و JSON پشتیبانی می‌کند.

در یک گزارش که در روز دوشنبه ۹ مارچ ۲۰۱۷ منتشر شده است[۱]، شرکت Talos که زیرمجموعه سیسکو است اعلام کرد که تیم آن‌ها تعدادی از حملات را علیه Apache Struts تحت عنوان آسیب‌پذیری روز صفر با نام CVE-2017-5638 مشاهده کردند.

بر طبق گفته محققان، مشکل اصلی این آسیب‌پذیری یک اجرای کد از راه دور در تجزیه کنندهJakarta Multipart  در Apache Struts است. این نقص می‌تواند به یک مهاجم اجازه دهد تا دستورات مخرب را در هنگام بارگذاری فایل بر اساس تجزیه کننده بر روی سرور اجرا کند.

Apache هشدار داده است که این امکان وجود دارد که یک حمله RCE با مقدار مخرب Content-Type انجام شود. اگر که مقدار Content-Type موثق نباشد یک exception فرستاده می‌شود که در مرحله بعد مورد استفاده قرار می‌گیرد تا یک پیغام خطا را به کاربر نشان دهد.

این آسیب‌پذیری که بر روی وب‌سایت GitHub در بخش Metasploit Framework که متعلق به Rapid7 است به طور کامل آورده شده است[۲]، توسط Apache وصله شده است. بنابراین، اگر شما از تجزیه کننده Multipart  که برپایه Jakarta است و برای بارگذاری فایل است بر روی Apache Struts 2 استفاده می‌کنید، به شما توصیه می‌شود تا هر چه سریع‌تر نسخه Apache خود را به نسخه ۲٫۳٫۳۲ یا ۲٫۵٫۱۰٫۱ به روز رسانی کنید.

کد بهره‌بردار این آسیب‌پذیری به صورت عمومی منتشر شده است.

از آنجایی که محققان Talos کد بهره‌بردار اثبات ادعای این آسیب‌پذیری را که در یک سایت چینی آورده شده بود کشف کردند، این آسیب‌پذیری می‌تواند خطرناک باشد.

محققان حتی تعداد زیادی از رخدادهای بهره‌برداری را نیز شناسایی کردند که به نظر می‌رسد برای اجرا کردن دستورات مخرب مختلفی مورد استفاده قرار می‌گیرند و اثبات ادعای مربوط به آن‌ها نیز به صورت عمومی منتشر شده است.

در بعضی موارد، مهاجمان دستورات ساده whoami را اجرا کردند تا ببینند که سیستم هدف آسیب‌پذیر هست یا نه، در حالیکه که در موارد دیگر، حملات مخرب فرآیندهای firewall را بر روی سیستم هدف خاموش می‌کنند و payload ها را کاهش می‌دهند.

محققان می‌گویند: مرحله نهایی شامل دانلود کردن payload مخرب از وب‌سرور و اجرا کردن آن است. payload ها متفاوت هستند اما شامل یک IRC bouncer، یک DoS bot و یک نمونه مرتبط باBill Gates botnet هستند. یک payload دانلود شده و سپس از طریق یک حساب کاربری دارای دسترسی بالا، اجرا می‌شود.

مهاجمان همچنین تلاش کردند تا بر روی میزبان‌های آلوده شده توسط اضافه کردن یک binary به روش راه‌اندازی معمول سیستم، باقی بمانند.

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

محققان Apache و سیسکو به مدیران سیستم‌ها شدیدا توصیه می‌کنند تا هرچه سریع‌تر سیستم‌های خود را به نسخه‌های ۲٫۳٫۳۲ یا ۲٫۵٫۱۰٫۱ به روز رسانی کنند. مدیران سیستم همچنین می‌توانند از یک نوع پیاده سازی متفاوت که مربوط به تجزیه کننده Multipart  است استفاده کنند[۳].

منابع

[۱] http://blog.talosintelligence.com/2017/03/apache-0-day-exploited.html

[۲] https://github.com/rapid7/metasploit-framework/issues/8064

[۳] https://cwiki.apache.org/confluence/display/WW/File+Upload#FileUpload-AlternateLibraries

[۴] http://thehackernews.com/2017/03/apache-struts-framework.html


(۱) Model-View-Controller