حمله بدافزار وردپرس با ZIP در wp-settings. فایل php
بدافزار مخفی PHP با ZIP، بازدیدکنندگان وردپرس را بیصدا به سایتهای اسپم هدایت میکند

داستان یک آلودگی: ریدایرکتهای مرموز در وردپرس
ماه گذشته، یکی از مشتریان با ما تماس گرفت و از ریدایرکتهای مداوم و غیرقابل توضیح در وبسایت وردپرس خود نگران بود. بررسی ما خیلی زود یک بدافزار پیچیده را آشکار کرد که بهطور عمیق در فایلهای هستهای سایت جایگذاری شده بود. این فقط یک ریدایرکت ساده نبود؛ بلکه یک عملیات چندلایه برای مسمومسازی موتور جستجو و تزریق محتوای غیرمجاز بود.
چه چیزی پیدا کردیم؟
WordPress در خطر: ZIP-based Malware در wp-settings.php چگونه بازدیدکنندهها را به دام میاندازد؟
تحلیل اولیه ما به فایل wp-settings.php رسید؛ یک مؤلفه حیاتی در هسته وردپرس. دو خط کد بسیار مشکوک بلافاصله جلب توجه کردند. این قطعه کد، نقطه ورودی اولیه برای بار مخرب بود بله یک بدافزار وردپرس
خط اول، نام دامنه را از هدر HTTP_HOST استخراج میکرد و اگر «www.» وجود داشت، آن را حذف میکرد؛ ترفندی رایج تا بدافزار در پیکربندیهای مختلف دامنه بهطور یکسان کار کند.
خط دوم، خط کلیدی بود: تلاش برای include کردن فایلی مستقیماً از داخل یک آرشیو win.zip.
در PHP، پیشوند zip:// اجازه میدهد به فایلهای داخل ZIP مانند فایلهای عادی دسترسی داشته باشید. علامت # بههمراه متغیر $h (نام دامنه استخراجشده) یعنی فایل همنام دامنه از داخل win.zip فراخوانی شود. این روشی بسیار مخفیانه برای پنهان کردن کد مخرب در یک فایل ZIP بهظاهر بیخطر است.
با بررسی بیشتر، فایل win.zip پیدا شد. پس از استخراج، تنها یک فایل PHP با کدی بهشدت مبهمسازیشده در آن بود؛ همان اسکریپت هسته بدافزار.
بردار حمله و شاخصهای نفوذ (IoCs)
– وجود include بهصورت zip://win.zip#<hostname> در wp-settings.php.
– داخل win.zip، یک فایل منطبق با هاست که در نسخه دیکدشده حاوی منطق ریدایرکت اختصاصی برای بازدیدکنندگان است.
تحلیل بدافزار وردپرس
آمادهسازی اولیه و تشخیص محیط
بدافزار وردپرس محیط اجرای خود را تنظیم میکند تا بدون وقفه اجرا شود و بتواند پروتکل جاری (HTTP یا HTTPS) را تشخیص دهد. این موضوع برای دریافت صحیح منابع خارجی و پرهیز از هشدارهای محتوای مختلط روی مرورگر اهمیت دارد.
انتخاب پویا سرور فرماندهی و کنترل (C2)
یکی از جنبههای هوشمندانه بدافزار، انتخاب پویا و وابسته به مسیر درخواست برای سرور C2 است. این کار تابآوری در برابر حذف و مسدودسازی را افزایش میدهد؛ چرا که بخشهای مختلف سایت میتوانند با C2های متفاوتی ارتباط بگیرند.
سرور C2 چیست؟ سامانهای که مهاجمان برای کنترل از راه دور میزبانهای آلوده استفاده میکنند؛ فرمانها را ارسال و دادههای سرقتشده را دریافت میکند.
این منطق به مهاجم اجازه میدهد بسته به صفحه بازدیدشده، محتوای مخرب متفاوتی ارائه یا کاربر را به مقاصد مختلفی هدایت کند؛ بالقوه با هدفگیری نیچهای مختلف سئو یا گروههای کاربری متفاوت.
مکانیزم ضدبات و پنهانکاری
برای دورماندن از دید خزندههای موتور جستجو و اسکنرهای امنیتی، این بدافزار وردپرس یک مکانیزم ضدبات پیشرفته دارد. وقتی رباتهایی مانند Googlebot، Bing یا Yahoo شناسایی میشوند، خروجی مخرب خاموش میشود (بدون ریدایرکت و بدون محتوای اسپم). این کار جلوی ایندکس شدن نشانههای آلودگی را میگیرد و شناسایی خودکار را دشوارتر میکند.
دریافت محتوای راهدور و تبادل داده
بدافزار تلاش میکند محتوایی را از یک URL مشخص بازیابی کند و همچنین دادههایی مانند اطلاعات سایت یا وضعیت را از طریق درخواستهای POST به سرور C2 ارسال کند.
دستکاری فایلهای سایت (تاکتیکهای SEO Poisoning)
هدف کلیدی، دستکاری سیگنالهای سئو در سایت قربانی است:
– رهگیری درخواستها برای فایلهای تأیید مالکیت گوگل و پاسخگویی بهگونهای که مهاجم بتواند سایت را در Google Search Console تأیید کند.
– واکشی محتوا از contents.php روی سرور C2.
– در صورت وجود، تغییر robots.txt؛ در غیر این صورت ساخت نسخهای با سیاست «Allow all» و سپس افزودن دستور sitemap که به سایتمپ تحت کنترل مهاجم اشاره دارد. این کار موتورهای جستجو را به سراغ محتوای اسپم میفرستد و به تلاشهای سئوی مخرب آنها قدرت میدهد.
تحویل پویا: ریدایرکت و سروینگ محتوا
از دید کاربر نهایی، هدف بدافزار ارائه پویای محتوا یا انجام ریدایرکت است. بسته به مسیر درخواستی:
– products.php → wditemqy[.]enturbioaj[.]xyz
– detail.php → oqmetrix[.]icercanokt[.]xyz
– سایر مسیرها → yzsurfar[.]icercanokt[.]xyz
دامنههای C2 مخرب مشاهدهشده
wditemqy[.]enturbioaj[.]xyz
oqmetrix[.]icercanokt[.]xyz
yzsurfar[.]icercanokt[.]xyz
پیامدهای آلودگی
– دستکاری نتایج جستجو از طریق تزریق محتوای اسپم، افزودن سایتمپهای غیرمجاز و اجرای ریدایرکتهای 301 برای تقویت سایتهای مخرب در نتایج.
– احتمال پرچمگذاری سایت بهعنوان مخرب توسط موتورهای جستجو، مرورگرها و فروشندگان امنیتی که به آسیب به اعتبار منجر میشود.
– استفاده از آرشیو ZIP برای درج کد، مبهمسازی چندلایه و مکانیزمهای ضدبات، کشف و پاکسازی را برای مدیران غیرمتخصص بسیار دشوار میکند.
نکات پیشگیری
1) همیشه بهروز باشید: هسته وردپرس، قالبها و افزونهها را در جدیدترین نسخه نگه دارید.
2) منابع معتبر: افزونه و قالب را فقط از مخازن رسمی یا توسعهدهندگان شناختهشده دریافت کنید.
3) اعتبارنامههای قوی: برای اکانتهای مدیریتی، دیتابیس، FTP و کنترلپنل هاست، رمزهای یکتا و طولانی استفاده کنید و احراز هویت دومرحلهای را فعال کنید.
4) فایروال برنامه وب (WAF): از یک WAF معتبر مانند سرویسهای امنیتی مشهور (مثلاً Sucuri) استفاده کنید.
5) اسکن منظم بدافزار: اسکنهای خودکار و دورهای را برای شناسایی و حذف آلودگیها پیادهسازی کنید.
نتیجهگیری
این بدافزار نشان میدهد مهاجمان هر روز هوشمندتر میشوند. اما با بهروزرسانی مداوم، استفاده از رمزهای قوی، اسکن منظم و داشتن نسخههای پشتیبان، میتوانید از وبسایت خود محافظت کنید. امنیت هوشمندانه یعنی وبسایتی امن و قابل اعتماد.