آن پیامی که نیمه‌شب همه‌چیز را عوض کرد

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

چرا کشف دیرهنگام بدافزار خطرناک است؟

بیشتر پرونده‌های آلودگی که در سال‌های اخیر بررسی کرده‌ام، به‌دلیل کشف دیرهنگام خسارت بیشتری داشتند. هر روزی که بدافزار روی سایت فعال است، می‌تواند داده کاربران را بدزدد، لینک‌های اسپم بسازد، یا از قدرت پردازشی سرور برای مقاصد خودش استفاده کند. متأسفانه، بسیاری از بدافزارها به‌گونه‌ای طراحی می‌شوند که ماه‌ها بدون هیچ نشانه‌ای فعال باقی بمانند.

دلیل اصلی پنهان‌بودن بدافزار وردپرس، استفاده از تکنیک‌های مخفی‌سازی مثل کد base64، فایل‌های جعلی با پسوند تصویر و ارسال اطلاعات تنها از IPهای خاص است. به همین دلیل، پایش مستمر و شناخت نشانه‌ها، اولین گام دفاعی است.

نشانه اول: تغییرات ناگهانی در ترافیک سایت

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

برای بررسی دقیق‌تر، می‌توانید از Google Search Console استفاده کنید. اگر پیام خطای امنیتی دریافت کرده‌اید یا صفحات شما به‌عنوان صفحات آلوده علامت‌گذاری شده‌اند، احتمالاً بدافزاری روی سایت فعال است. راهنمای کامل بررسی در آموزش تست امنیت وب آمده است.

نشانه دوم: فایل‌های ناشناس و تغییرات در فایل‌های موجود

در بیشتر پرونده‌های آلودگی که بررسی کرده‌ام، مهاجم فایل‌هایی را در پوشه‌های سایت قرار داده بود. این فایل‌ها معمولاً در پوشهٔ wp-content/uploads یا در ریشهٔ سایت قرار می‌گیرند و گاهی نامشان شبیه فایل‌های معتبر است، مثلاً wp-styles-min.php یا index-backup.php. بررسی منظم فایل‌ها با ابزارهای مقایسه یا نگاه به تاریخ تغییرات، می‌تواند این فایل‌ها را آشکار کند.

علاوه بر فایل‌های جدید، مهاجم ممکن است فایل‌های موجود مثل functions.php یا wp-config.php را تغییر دهد. مقایسهٔ این فایل‌ها با نسخهٔ اصلی از طریق ابزاری مثل diff، یکی از مؤثرترین روش‌های شناسایی است. اگر به‌دنبال امن‌سازی فایل کانفیگ هستید، چگونه فایل wp-config را امن کنیم راهنمای دقیقی ارائه می‌دهد.

نشانه سوم: ریدایرکت‌های ناخواسته

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

برای بررسی، می‌توانید سایت را از منابع مختلف و با user-agentهای مختلف باز کنید. اگر رفتار سایت در حالت‌های مختلف متفاوت است، احتمال ریدایرکت مخفی وجود دارد. توضیح بیشتر در علائم آلودگی وردپرس آمده است.

نشانه چهارم: ظهور لینک‌ها یا محتوای اسپم

اگر در نتایج جستجو متوجه لینک‌های ناشناس به سایت خودتان شدید یا در محتوای سایت خودتان لینک‌هایی به سایت‌های اسپم مشاهده کردید، احتمال آلودگی جدی است. مهاجم می‌تواند با درج این لینک‌ها، اعتبار دامنه شما را برای اهداف خودش به کار بگیرد. این تکنیک به Content Injection معروف است و یکی از رایج‌ترین اشکال بدافزار وردپرس است.

بررسی منظم محتوا و مقایسهٔ آن با نسخهٔ پشتیبان می‌تواند این لینک‌ها را آشکار کند. اگر به‌دنبال پاک‌سازی این نوع آلودگی هستید، راهنمای پاک‌سازی سایت هک‌شده مراحل دقیقی ارائه می‌دهد.

نشانه پنجم: کاربرها یا نقش‌های ناشناس

مهاجمان اغلب برای دسترسی مداوم به سایت، یک کاربر مدیر جدید با نامی شبیه به کاربران معمولی می‌سازند. اگر در فهرست کاربران سایت شما نام‌های ناآشنایی وجود دارد که خودتان اضافه نکرده‌اید، این یک نشانهٔ جدی است. بررسی فهرست کاربران باید بخشی از پایش دوره‌ای سایت شما باشد.

حذف این کاربران به‌تنهایی کافی نیست. باید همراه با تغییر رمزهای عبور و بررسی سایر نقاط سایت انجام شود. راهنمای مدیریت صحیح کاربران در چگونه امنیت وب‌سایت را افزایش دهیم آمده است.

نشانه ششم: کندی یا اختلال در عملکرد سایت

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

نشانه هفتم: ایمیل‌های ناخواسته از طرف سایت شما

اگر کاربران شما شکایت کردند که از سایت شما ایمیل‌های اسپم دریافت می‌کنند، احتمالاً مهاجم از سرور شما برای ارسال ایمیل‌های اسپم استفاده می‌کند. این کار می‌تواند به اعتبار دامنه شما آسیب جدی بزند و حتی باعث مسدود شدن دامنه در لیست‌سیاه شود. بررسی لاگ‌های ارسال ایمیل و پایش ترافیک SMTP در این مورد کمک‌کننده است.

نشانه هشتم: پیام‌های خطا یا رفتار عجیب در پیشخوان

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

نشانه نهم: تغییر در تنظیمات سایت یا پیشخوان

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

نشانه دهم: خطاهای SSL یا اتصال ناامن

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

نشانه یازدهم: پیام‌های باج‌گیر یا درخواست پرداخت

اگر پیامی مشاهده کردید که از شما درخواست پرداخت برای بازگرداندن دسترسی یا حذف آلودگی می‌کند، این نشانهٔ یک حملهٔ باج‌گیر است. این نوع حمله به‌ویژه در سال‌های اخیر در سایت‌های وردپرسی رایج شده و در صورت عدم واکنش سریع، می‌تواند به از دست دادن کامل داده‌ها منجر شود. توضیح کامل در رنسام‌ور چیست و چگونه از سایت محافظت کنیم آمده است.

نشانه دوازدهم: نصب افزونه‌های ناشناس

مهاجم می‌تواند افزونه‌های مخفی نصب کند که در فهرست افزونه‌ها نمایش داده نمی‌شوند. این افزونه‌ها معمولاً نقش بک‌دور را ایفا می‌کنند. برای شناسایی این نوع، بررسی فایل‌های پوشهٔ plugins به‌طور دستی ضروری است. فهرست بهترین افزونه‌های امنیتی وردپرس ابزارهای مناسبی برای این کار معرفی می‌کند. اگر می‌خواهید تفاوت انواع بدافزار را بشناسید، تروجان و کرم اینترنتی چه تفاوتی دارند توضیح کاملی ارائه می‌دهد. مستندات ویکی‌پدیا در مورد Malware هم اطلاعات تکمیلی خوبی دارد.

چطور پس از شناسایی نشانه‌ها عمل کنیم؟

وقتی یک یا چند نشانهٔ بالا را دیدید، اولین کار این است که سایت را از دسترس عموم خارج کنید یا حالت تعمیرات را فعال کنید. سپس یک بکاپ کامل از وضعیت فعلی بگیرید تا برای تحلیل بعدی داشته باشید. مراحل پیشنهادی من در راهنمای پاک‌سازی سایت هک‌شده به‌صورت گام‌به‌گام آمده است.

در گام بعدی، تمام رمزهای عبور و کلیدهای API را تغییر دهید. این کار از دسترسی مجدد مهاجم جلوگیری می‌کند. سپس با ابزارهای امنیتی معتبر، فایل‌ها و دیتابیس را اسکن کنید. اگر آلودگی عمیق بود، بازنصب هستهٔ وردپرس، قالب و افزونه‌ها از منابع پاک، سریع‌ترین راه حل است.

چک‌لیست پایش هفتگی سایت

برای جلوگیری از کشف دیرهنگام آلودگی، این چک‌لیست را هفتگی اجرا کنید:

  • بررسی فهرست کاربران و حذف کاربران ناشناس
  • بررسی تغییرات اخیر در فایل‌های سایت
  • مقایسهٔ فایل‌های اصلی با نسخهٔ پشتیبان
  • بررسی ترافیک و لاگ‌های دسترسی
  • بررسی اعلان‌های Google Search Console
  • اسکن سریع با ابزارهای امنیتی
  • بررسی به‌روزرسانی‌های هسته، قالب و افزونه‌ها
  • بررسی ایمیل‌های خروجی از سرور

این چک‌لیست، زمان زیادی از شما نمی‌گیرد اما می‌تواند تفاوت زیادی در کشف سریع آلودگی ایجاد کند. اگر می‌خواهید بخشی از این پایش را با ابزار انجام دهید، اسکنرهای آسیب‌پذیری وب کدامند ابزارهای مناسب را معرفی می‌کند.

پرسش‌های پرتکرار دربارهٔ علائم هک و بدافزار

آیا همهٔ بدافزارها نشانهٔ ظاهری دارند؟ خیر. بسیاری از بدافزارها به‌گونه‌ای طراحی شده‌اند که ماه‌ها بدون هیچ نشانه‌ای فعال باقی بمانند. پایش مستمر لازم است.

اگر مشکوک به آلودگی هستم اما نشانه‌ای نمی‌بینم، چه کنم؟ از ابزارهای اسکن حرفه‌ای استفاده کنید و فایل‌های سرور را به‌صورت دستی بررسی کنید. اگر شک جدی دارید، از متخصص امنیت کمک بگیرید.

آیا حذف فایل‌های مشکوک کافی است؟ خیر. حذف فایل‌ها بخشی از پاک‌سازی است، اما باید مطمئن شوید که مهاجم دسترسی دیگری ندارد. تغییر رمزها و بررسی همهٔ کاربران ضروری است.

آیا بدافزار می‌تواند در دیتابیس هم باشد؟ بله. برخی بدافزارها کد مخرب را در دیتابیس ذخیره می‌کنند. اسکن باید هم فایل‌ها و هم دیتابیس را پوشش دهد.

چقدر طول می‌کشد تا سایت پس از پاک‌سازی به وضعیت عادی برگردد؟ این بستگی به شدت آلودگی دارد. برای آلودگی‌های سطحی، چند ساعت. برای آلودگی‌های عمیق، ممکن است چند روز طول بکشد.

یک نگاه صادقانه به اهمیت پایش

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