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

مراحل حذف بدافزار، اسپم و دیگر فایلهای مخرب از وردپرس

مقاله زیر به منظور کمک به مدیران سایتهای وردپرسی در جهت شناسایی و پاکسازی سایت هک شده شان نوشته شده است. این امر به معنی یک راهنمایی همه جانبه نیست اما در صورتی که مراحل ذکر شده به دقت دنبال شود می تواند به یافتن و پاکسازی حداقل ۷۰ درصد از آلودگی منجر شود.

مرحله اول : شناسایی هک

۱.۱ سایت خود را اسکن کنید.

می توانید از ابزارهایی که از راه دور سایتتان را اسکن می کنند استفاده کنید تا محل دقیق کدهای مخرب و بدافزارها را بیابید. سوکوری پلاگینی به این منظور طراحی کرده است که می توانید به این منظور دانلود نموده و روی سایت خود نصب نمایید.

برای اسکن سایت به جهت بررسی هک شدگی:

  1. به این صفحه بروید و آدرس سایت خود را وارد نموده و روی Scan Website کلیک کنید.
  2. اگر سایتتان آلوده باشد به شما پیغام هشداری داده می شود.
  3. به آدرس فایلها و کدهای مخرب توجه داشته باشید.
  4. به هر گونه هشدار لیست سیاه دقت کنید.

اگر اسکنر از راه دور، نتواند چیزی بیابد تست های دیگر ذکر شده در این بخش را امتحان کنید. همچنین می توانید به صورت دستی تب iFrames / Links / Scripts از بخش Malware Scan را بررسی کنید تا المانهای مخرب و ناشناخته را بیابید.

اگر سایت چندگانه ای روی یک سرور نصب کرده اید توصیه می کنیم همه آنها را نیز اسکن کنید. آلودگی یکی از سایتهای مشترک در یک سرور، باعث می شود تا سایتهای دیگر نیز در معرض خطر هک شدن قرار گیرند. ما همه صاحبان سایتها را ترغیب می کنیم که هاست و اکانت کاربری خود را ایزوله کنند.

ریموت اسکنر یا همان اسکنر از راه دور سایت را به منظور یافتن مشکلات امنیتی بالقوه مرور می کند. برخی از این مشکلات در مرورگر نشان داده نمی شود. در عوض روی سرور خود را نشان می دهد. (نظیر بک دورها، فیشینگ و اسکریپتهای سمت سرور) اکثر روشهای کلی اسکن، اسکنرهای سمت سرور و از راه دور را نیز شامل می شود.

۱.۲ بررسی صحت فایلهای هسته وردپرس

اکثر فایلهای هسته وردپرس هیچگاه نباید ویرایش شوند. شما باید برای بررسی مشکلات صحت فایلها، پوشه های روت، wp-includes و wp-admin را بررسی کنید.

سریعترین روش برای تایید سالم بودن فایلهای هسته وردپرس استفاده از فرمان diff در ترمینال است. اگر در استفاده از خط فرمان مشکل دارید می توانید به صورت دستی و از طریق SFTP فایلهایتان را چک کنید.

اگر چیزی تغییر نکرده بود، فایلهای هسته پاک هستند.

ممکن است برای بررسی سریع بدافزار در دایرکتوری هایی نظیر wp-content بخواهید از FTP استفاده کنید. توصیه ما استفاده از FTPS/SFTP/SSH به جای FTP است که رمزگزاری نمی شود.

۱.۳ – بررسی فایلهای ویرایش شده اخیر

فایلهای جدید یا اخیرا ویرایش شده ممکن است بخشی از هک باشند.

با مشاهده اعمال تغییرات جدید در فایلهای هک شده می توانید هک شده بودن آنها را تشخیص دهید.

برای بررسی دستی فایلهای اخیرا ویرایش شده :

  1. از طریق کلاینت FTP یا ترمینال SSH وارد سرور خود شوید.
  2. اگر از SSH استفاده می کنید می توانید فهرستی از فایلهای ویرایش شده در طی ۱۵ روز اخیر را با استفاده از ترمینال زیر به دست بیاورید:
$ find ./ -type f -mtime -15
  1. اگر از SFTP استفاده می کنید ستون تاریخ آخرین تغییرات را برای همه فایلهای سرور مورد بررسی قرار دهید.
  2. به هر گونه فایلی که اخیرا ویرایش شده است دقت نمایید.

برای بررسی فایلهای اخیرا تغییر یافته با استفاده از فرمانهای ترمینال در لینوکس:

  1. در ترمینال تایپ کنید :
$ find /etc -type f -printf '%TY-%Tm-%Td %TT %p\n' | sort -r .
  1. اگر می خواهید فایلهای موجود در دایرکتوری ها را نیز ببینید در ترمینال تایپ کنید:
$ find /etc -printf '%TY-%Tm-%Td %TT %p\n' | sort -r .
  1. تغییرات ناشناخته در ۷ الی ۳۰ روز اخیر ممکن است مشکوک باشد.

۱.۴ – بررسی صفحات تشخیص

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

برای بررسی گزارش گوگل:

  1. سایت Safe Browsing Site Status را باز کرده و آدرس سایت خود را وارد نمایید و روی دکمه جستجو کلیک کنید.
  2. در این صفحه می توانید موارد زیر را بررسی کنید :
    • جزئیات امنیتی سایت: اطلاعاتی درباره ریدایرکتها، دانلودها و اسپم های مخرب.
    • جزئیات آزمون: جدیدترین اسکن گوگل که در سایت شما بدافزار پیدا کرده است.
مطلب مرتبط:  14 نکته کلیدی برای حفاظت از پنل مدیریتی وردپرس

اگر سایت خود را در هر گونه ابزار وبمستری رایگان اضافه کرده باشید می توانید امتیاز امنیتی و گزارش آنها درباره سایتتان را بررسی کنید. اگر قبلا اکانتی در این ابزارهای رایگان بررسی نداشته اید ما به شدت توصیه می کنیم که در آنها عضو شوید چرا که رایگان هم هستند. ابزارهایی نظیر:

  • Google Webmasters Central
  • Bing Webmaster Tools
  • Yandex Webmaster
  • Norton SafeWeb

مرحله دوم : حذف هک

اکنون که اطلاعاتی درباره محل بدافزارها دارید می توانید آنها را از وردپرس پاک کنید و سایت خود را به وضعیت پاک برگردانید.

توضیحات حرفه ای:

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

برخی از این مراحل به دسترسی به وب سرور و دیتابیس نیاز دارد. اگر با ویرایش جداول دیتابیس یا ویرایش فایلهای php آشنایی ندارید از یک فرد خبره در این زمینه بخواهید تا بدافزارها را از سایتتان پاک کند.

۲.۱ – پاکسازی فایلهای وب سایت هک شده

اگر فایلهای هسته وردپرس یا پلاگینها آلوده شده اند می توانید به صورت دستی آن را برطرف کنید، فقط فایل wp-config.php و یا پوشه wp-content را دستکاری نکرده و آنها را با نسخه جدید جاگزین نکنید.

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

برای حذف دستی آلودگی بدافزار از فایلهای سایت:

  1. از طریق SFTP یا  SSH وارد سرور خود شوید.
  2. قبل از هر گونه تغییری یک بک آپ از سایت بگیرید.
  3. فایلهای تغییر یافته اخیر را شناسایی کنید.
  4. تاریخ و کاربری که این تغییرات را اعمال کرده است بفهمید.
  5. فایلهای مخرب را با یک کپی از مخرن اصلی وردپرس جایگزین و بازیابی کنید.
  6. فایلهای خریداری شده یا سفارشی سازی شده که در مخزن اصلی وجود ندارند را با نوت پد باز کنید.
  7. هر گونه کد مخربی که می بینید را از آنها پاک کنید.
  8. پس از اعمال تغییر بررسی کنید که آیا سایت کار می کند یا نه.

اخطار

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

۲.۲ – حذف جداول دیتابیس هک شده

برای حذف آلودگی بدافزار از دیتابیس وبسایت، به منظور اتصال به دیتابیس از پنل ادمین دیتابیس استفاده کنید. همچنین می توانید ابزارهایی نظیر Search-Replace-DB یا Adminer را مورد استفاده قرار دهید.

برای حذف دستی آلودگی بدافزار از جداول دیتابیس:

  1. وارد پنل کاربری دیتابیس خود شوید.
  2. قبل از هر تغییری یک بک آپ از دیتابیس بگیرید.
  3. به دنبال محتوای مخرب بگردید.(نظیر کلمات کلیدی اسپم گونه، لینک ها و غیره)
  4. جدولی که حاوی محتوای مخرب است را باز کنید.
  5. به صورت دستی محتوای مخرب را پاک کنید.
  6. پس از اعمال تغییرات سایت را آزمایش کنید تا ببینید کار می کند یا نه.
  7. دسترسی هر گونه ابزاری که ممکن است آپلود کرده باشید را به دیتابیس حذف کنید.

مبتدی ها می توانند از اطلاعات کدهای ارائه شده توسط اسکنر بدافزار استفاده کنند. کاربران متوسط می توانند به صورت دستی به دنبال توابع php مخرب رایج نظیر eval، base64_decode، gzinflate، preg_replace، str_replace و غیره بگردند.

اخطار

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

۲.۳ – حسابهای کاربری ایمن

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

مطلب مرتبط:  چگونه حساب کاربری ادمین را در وردپرس تغییر دهیم ؟

برای حذف دستی کاربران خرابکار از وردپرس:

  1. قبل از هر گونه تغییری از دیتابیس و سایت خود بک آپ بگیرید.
  2. به عنوان ادمین وارد سایت شوید و روی کاربران کلیک کنید.
  3. حساب کاربری جدید و خرابکار را بیابید.
  4. موس را روی کاربر خرابکار ببرید و آن را حذف کنید.

اگر فکر می کنید که حسابهای کاربری تان در معرض خطر هستند می توانید پسوردشان را تغییر دهید.

۲.۴ – حذف بک دورهای مخفی

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

اکثر بک دورها در فایلهای شبیه به فایلهای هسته اصلی وردپرس جاسازی می شوند اما در دایرکتوری های فرعی قرار می گیرند. ضمنا هکرها می توانند بک دورها را درون فایلهایی نظیر wp-config.php و دایرکتوریهایی مثل /themes، /plugins و /uploads تزریق کنند.

بک دورها اغلب حاوی توابع php زیر هستند:

  • base64
  • str_rot13
  • gzuncompress
  • eval
  • exec
  • system
  • assert
  • stripslashes
  • preg_replace (with /e/)
  • move_uploaded_file

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

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

به منظور موفقیت در پاکسازی سایت هک شده لازم و ضروری است که تمام بک دورها بسته شوند در غیر این صورت سایت شما می تواند دوباره به سرعت هک شود.

۲.۵ – حذف هشدارهای بدافزار

اگر توسط گوگل، یاندکس، مک آفی (یا هر الگوریتم شناسایی اسپم دیگر) در لیست سیاه قرار گیرید، پس از بازیابی سایت، می توانید درخواست بررسی مجدد دهید.

برای رقع هشدار حاوی بدافزار بودن سایت:

  1. از شرکت میزبانی کننده سایت بخواهید اکانتتان را از حالت مسدود سازی در بیاورند.
    • ممکن است نیاز باشد تا به آنها نحوه رفع بدافزار را توضیح دهید.
  2. فرم درخواست بازبینی را در هر یک از الگوریتمهای لیست سیاه پر کنید.
    • نظیر Google Search Console, McAfee SiteAdvisor, Yandex Webmaster

مرحله سوم: قبل از هک شدن

در مرحله پایانی یاد خواهید گرفت که چگونه مشکلاتی که باعث هک شدن سایت می شود را برطرف کنید. همچنین مراحل ضروری برای افزایش امنیت سایت را می بایست انجام دهید.

۳.۱ تنظیمات بازگشت به تنظیمات اولیه و آپدیت

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

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

۳.۲ – اسکن کامپیوتر

می بایست تمام کاربران سایت سیستم عامل خود را توسط نرم افزارهای آنتی ویروس معتبر اسکن کنند.

اگر کامپیوتر یک کاربر که به داشبورد سایت دسترسی دارد آلوده شود سایت وردپرسی در معرض خطر قرار خواهد گرفت. برخی آلودگی ها به منظور انتقال از کامپیوتر شخصی به ویرایشگر متنی نظیر نوت پد و یا کلاینت FTP طراحی و ساخته می شوند.

ذیلا برخی آنتی ویروسهای مورد تایید ما آورده می شود:

نرم افزارهای پولی

BitDefender, Kaspersky, Sophos, F-Secure

نرم افزارهای رایگان

Malwarebytes, Avast, Microsoft Security Essentials, Avira

توجه

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

اگر کامپیوتر کاربران با دسترسی به بک اند سایت پاک نیست، سایت به آسانی می تواند مجددا آلوده شود. نصب فایروال روی سایت نیز فراموش نشود.

راه بهتری برای بازیابی سایت هک شده می شناسید؟ با ما در میان بگذارید.

اگر مطلب فوق به‌درد‌بخور است، با بقیه به اشتراک بگذارید تا از آن استفاده کنند:

مطالب مرتبط

Subscribe
اطلاع رسانی برای :
0 نظرات
بازخورد (Feedback) های اینلاین
مشاهده همه دیدگاه ها