یک حمله گسترده توسط هکرها به یک وب سایت مرجع دانلود، سبب شد تا 93 قالب و پلاگین وردپرسی AccessPress به در پشتی یا همان Backdoor آلوده شوند. ظاهرا این پلاگین ها و قالب ها در بیش از 36 هزار سایت وردپرسی به طور عمومی فعال و در حال استفاده است. با این آموزش از مجموعه آموزشهای پویش سرور همراه ما باشید.
این حمله توسط محققان امنیت Jetpack که از سازندگان ابزار امنیتی و بهینهسازی سایتهای وردپرس هستند کشف شده و آنها در تحقیقات و بررسی های خود متوجه شدند یک درب پشتی PHP به قالب ها و افزونهها اضافه شده است. Jetpack معتقد است هدف هکرها از این حمله این بوده که به وب سایت AccessPress نفوذ کرده تا امنیت سایت های وردپرسی را از طریق آلودگی قالب ها و پلاگین های وردپرسی به خطر بیندازند و سایت های وردپرس بیشتری را آلوده کنند.
یک در پشتی AccessPress با دسترسی کامل به وردپرس شما!
طریقه ی انجام این حمله به این صورت است که بعد از نصب یکی از این قالبها یا پلاگینهای آلوده، یک فایل با نام initial.php اضافه می شود که این فایل در داخل functions.php قرار می گیرد. این فایل در نهایت سبب می شود تا یک کد رمز گذاری شده با base64 در مسیر “wp-includes/vars.php” نوشته شود.
پس از آنکه کد مخرب نصب شد و تزریق به فایل “vars.php” تکمیل شد، دسترسی از راه دور به هکرها از طریق سایت داده می شود. بنا بر تحقیقات Sucuri، تنها راه شناسایی این حمله استفاده از ابزارهای نظارت بر یکپارچگی فایلهاست، چون بدافزار هکرها، فایل initial.php را حذف میکند تا رد خود را از بین ببرد. بررسیها نشان داده که مهاجمان از این در پشتی برای انتقال کاربران به سایتهای مجهز به بدافزار و کلاهبرداری استفاده میکنند. همچنین این احتمال وجود دارد که هکرها دسترسی به در پشتی این سایتها را در دارک وب بفروشند.
آیا سایت من مورد هدف قرار گرفته؟
اگر شما هم ناخواسته یکی از این قالب ها یا افزونه ها را نصب کرده اید مسلما حذف یا به روز رسانی قالب یا افزونه جهت رفع مشکل به شما کمکی نخواهد کرد و می بایست موارد زیر را برای نجات سایت خود انجام دهید:
خط 146 تا 158 فایل wp-includes/vars.php را بررسی کنید. اگر فانکشن “wp_is_mobile_fix” را مشاهده کردید در معرض خطر هستید.
در فایلهای سایت خود عبارت “wp_is_mobile_fix” یا “wp-theme-connect” را بررسی کنید تا وضعیت آسیب پذیری را شناسایی کنید.
فایل های اصلی وردپرس خود را با نسخه های تازه جایگزین کنید.
پلاگینها و قالب های آسیب پذیر خود را به روز رسانی کرده یا از پلاگینها و قالبهای جایگزین استفاده کنید.
رمز عبور wp-admin و پایگاه داده را تغییر دهید.
Jetpack کد بررسی زیر را ارائه کرده است که می تواند برای بررسی آلوده بودن سایت و شناسایی پلاگینها یا فالب های آلوده ی نصب شده ی AccessPress استفاده شود.
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
}