خطر حمله به 360 هزار سایت وردپرسی و راهکار رفع آن
به گزارش سایت jetpack تمام 40 قالب و 53 افزونه ارائه شده توسط AccessPress حاوی کدهای مخرب و آلوده به بکدور هستند. این حمله به سادگی قابل تشخیص نبوده و مهاجمان از طریق اضافه کردن یک webshell کنترل کامل سایت را بدست می گیرند.
این روش حمله، به زنجیره تأمین (Supply Chain Attack) معروف است. backdoored in supply chain attack یا حمله درپشتی در زنجیره تامین برای بسیاری از سایت های وردپرس استفاده کننده از قالب و افزونه های AccessPress رخ داده که در ادامه راهکار رفع آن توضیح داده شده است.
اقدام مهاجمان به این صورت است که بعد از نصب قالب یا افزونه، فایل جدیدی به نام initial.php در پوشه اصلی قالب یا افزونه ایجاد شده و آن را در فایل function.php اینکلود می کند. این فایل حاوی کدهای رمزگذاری شده (base64 encoded) است که یک webshell را در فایل wp-includes/vars.php برای ایجاد بکدور جایگذاری می کند، بنابراین کنترل از راه دور سایت آلوده به سادگی انجام می شود.
یک نمونه فایل آلوده در مسیر wp-includes/vars.php
آیا سایت من مورد حمله backdoored in supply chain attack قرار گرفته است؟
این بدافزار دارای یک تابع خود تخریبی است که فایل initial.php را حذف می کند تا ردپای خود را به حداقل برساند و از شناسایی آن جلوگیری کند. تنها راه شناسایی این حملات بکدور، نظارت بر یکپارچگی فایل هسته ای است. تغییر در فایل vars.php نشان دهنده این حمله است.
در غیر اینصورت اگر کاربران از سایر محصولات این ارائه کننده استفاده می کنند و سرویس فایروال sucuri یا jetpack را نصب کده اند، حمله بکدور به صورت خودکار شناسایی و متوقف می شود. زیرا هرگونه درخواست مستقیم به فایلهای موجود در wp-includes کاملاً مسدود میشود و این رفتار عادی نیست.
این حملات در نیمه اول سپتامبر 2021 صورت گرفت، پس از آن اکثر افزونه های این ارائه کننده در دسامبر 2021 بروز شده و نسخه های تمیز در دسترس کاربران قرار گرفت. سایر افزونه های آپدیت نشده نیز از مخزن وردپرس حذف شدند. علاوه بر این تمامی محصولات راست چین به آخرین نسخه آپدیت شده اند، بنابراین نگرانی از این بابت وجود ندارد.
با اینحال بسیاری از وب سایتها هنوز از نسخه های آپدیت نشده محصولات AccessPress استفاده می کنند؛ توصیه می شود گام های زیر را جهت شناسایی و رفع مشکل بکدور انجام دهند.
اگر نگران حمله بکدور در زنجیره تامین هستید، گام های زیر را انجام دهید:
- فایل wp-includes/vars.php خود را در خطوط 146-158 بررسی کنید. اگر تابع ‘wp_is_mobile_fix’ با کدهای مبهم مشاهده کردید، در معرض خطر قرار گرفته اید.
- همچنین می توانید از ‘wp_is_mobile_fix’ یا ‘wp-theme-connect’ کوئری گرفته تا ببینید آیا فایل های آسیب دیده وجود دارند یا خیر.
Jetpack نیز رول YARA زیر را ارائه کرده است که می تواند برای بررسی آلوده بودن سایت استفاده شود.
rule accesspress_backdoor_infection
{
strings:
// IoC's for the dropper
$inject0 = "$fc = str_replace('function wp_is_mobile()',"
$inject1 = "$b64($b) . 'function wp_is_mobile()',"
$inject2 = "$fc);"
$inject3 = "@file_put_contents($f, $fc);"
// IoC's for the dumped payload
$payload0 = "function wp_is_mobile_fix()"
$payload1 = "$is_wp_mobile = ($_SERVER['HTTP_USER_AGENT'] == 'wp_is_mobile');"
$payload2 = "$g = $_COOKIE;"
$payload3 = "(count($g) == 8 && $is_wp_mobile) ?"
$url0 = /https?:\/\/(www\.)?wp\-theme\-connect\.com(\/images\/wp\-theme\.jpg)?/
condition:
all of ( $inject* )
or all of ( $payload* )
or $url0
}
اگر موارد مشکوکی مشاهده شد، مراحل زیر را برای رفع حمله backdoored in supply chain attack دنبال کنید:
- فایل های اصلی وردپرس خود را با نسخه های بروز جایگزین کنید
- قالب یا افزونه های AccessPress آسیب دیده را با نسخه های تازه دانلود شده از مخزن رسمی وردپرس یا وب سایت ارائه دهنده جایگزین کنید.
- به عنوان یک اقدام احتیاطی، مراحل استاندارد پس از آلودگی مانند بهروزرسانی رمزهای عبور مدیر wp-admin و پایگاه داده را انجام دهید.
آموزش جامع امنیت سایت وردپرس: آموزش امنیت سایت
بنابراین اگر از هریک از افزونه و قالب های انتهای مقاله استفاده می کنید؛ توصیه می کنیم در اسرع وقت اقدامات لازم را جهت برقراری امنیت سایت انجام دهید:
لیست قالب های آلوده شده به حمله در پشتی:
Theme slug | Version |
---|---|
1.0.0 | accessbuddy |
3.2.1 | accesspress-basic |
2.92 | accesspress-lite |
2.6.5 | accesspress-mag |
4.5 | accesspress-parallax |
1.19.5 | accesspress-ray |
2.5 | accesspress-root |
1.9.1 | accesspress-staple |
2.4.9 | accesspress-store |
1.1.6 | agency-lite |
1.0.6 | aplite |
1.0.4 | bingle |
1.2.6 | bloger |
1.2.5 | construction-lite |
1.0.27 | doko |
1.3.5 | enlighten |
1.2.1 | fashstore |
2.4.0 | fotography |
1.0.8 | gaga-corp |
1.4.2 | gaga-lite |
2.2.8 | one-paze |
3.1.157 | parallax-blog |
1.3.6 | parallaxsome |
1.1.2 | punte |
1.3.1 | revolve |
1.2.0 | ripple |
2.1.0 | scrollme |
1.2.1 | sportsmag |
1.4.1 | storevilla |
1.1.9 | swing-lite |
1.3.2 | the-launcher |
1.4.1 | the-monday |
1.3.1 | uncode-lite |
لیست افزونه های آلوده:
Plugin slug | Bad | Clean | Note |
---|---|---|---|
accesspress-anonymous-post | 2.8.0 | 2.8.1 | 1 |
accesspress-custom-css | 2.0.1 | 2.0.2 | – |
accesspress-custom-post-type | 1.0.8 | 1.0.9 | – |
accesspress-facebook-auto-post | 2.1.3 | 2.1.4 | – |
accesspress-instagram-feed | 4.0.3 | 4.0.4 | – |
accesspress-pinterest | 3.3.3 | 3.3.4 | – |
accesspress-social-counter | 1.9.1 | 1.9.2 | – |
accesspress-social-icons | 1.8.2 | 1.8.3 | – |
accesspress-social-login-lite | 3.4.7 | 3.4.8 | – |
accesspress-social-share | 4.5.5 | 4.5.6 | – |
accesspress-twitter-auto-post | 1.4.5 | 1.4.6 | – |
accesspress-twitter-feed | 1.6.7 | 1.6.8 | – |
ak-menu-icons-lite | 1.0.9 | – | |
ap-companion | 1.0.7 | 2 | |
ap-contact-form | 1.0.6 | 1.0.7 | – |
ap-custom-testimonial | 1.4.6 | 1.4.7 | – |
ap-mega-menu | 3.0.5 | 3.0.6 | – |
ap-pricing-tables-lite | 1.1.2 | 1.1.3 | – |
apex-notification-bar-lite | 2.0.4 | 2.0.5 | – |
cf7-store-to-db-lite | 1.0.9 | 1.1.0 | – |
comments-disable-accesspress | 1.0.7 | 1.0.8 | – |
easy-side-tab-cta | 1.0.7 | 1.0.8 | – |
everest-admin-theme-lite | 1.0.7 | 1.0.8 | – |
everest-coming-soon-lite | 1.1.0 | 1.1.1 | – |
everest-comment-rating-lite | 2.0.4 | 2.0.5 | – |
everest-counter-lite | 2.0.7 | 2.0.8 | – |
everest-faq-manager-lite | 1.0.8 | 1.0.9 | – |
everest-gallery-lite | 1.0.8 | 1.0.9 | – |
everest-google-places-reviews-lite | 1.0.9 | 2.0.0 | – |
everest-review-lite | 1.0.7 | – | |
everest-tab-lite | 2.0.3 | 2.0.4 | – |
everest-timeline-lite | 1.1.1 | 1.1.2 | – |
inline-call-to-action-builder-lite | 1.1.0 | 1.1.1 | – |
product-slider-for-woocommerce-lite | 1.1.5 | 1.1.6 | – |
smart-logo-showcase-lite | 1.1.7 | 1.1.8 | – |
smart-scroll-posts | 2.0.8 | 2.0.9 | – |
smart-scroll-to-top-lite | 1.0.3 | 1.0.4 | – |
total-gdpr-compliance-lite | 1.0.4 | – | |
total-team-lite | 1.1.1 | 1.1.2 | – |
تضمین امنیت سایت یکی از اقدامات ضروری برای هر سایت وردپرسی است؛ استفاده از پلاگین های امنیتی مثل افزونه وردفنس به عنوان یک اسکنر و فایروال قدرتمند، از سایت شما در برابر هک و حملات .مهاجمان محافظت میکند
خسته نباشید خدمت شما
این همون خبر آلوده شدن بیش از 90 درصد قالب ها و پلاگین ها به در پشتی هست دیگه؟ من لیست بالا رو دیدم افزونه و قالب های مطرحی جز چندتاشون نبودن. خیلی از وب سایت ها توصیه کردن اپدیت نکنید فعلا ایا این توصیه میشه؟