چگونه حفره های امنیتی در یک سایت وردپرسی هک شده را پیدا کنیم؟
کاربران و مدیران زمان زیادی را صرف رفع مشکل نفوذ و هک شدن سایت های وردپرسی میکنند. در بسیاری از موارد در زمانی که ما در حال پاکسازی سایت وردپرسی هستیم، هکر ها همچنان قادر به نفوذ به سایت ما هستند. در این مقاله ما سعی داریم تا روش های پیدا کردن Backdoor ها و جلوگیری و رفع آن را آموزش دهیم.
Backdoor چیست؟
روشی برای دورزدن احراز هویت پیش فرض سیستم و بدست آوردن راه نفوذ به سرور یا سایت می باشد در حالی که هنوز این حفره تاشناخته مانده است. اغلب هکرهای باهوش در صورتی که امکان نفوذی را پیدا کنند، حتما Backdoor دیگری را برای نفوذ مجدد برای خود روی سایت قرار میدهند. حتی ممکن است با بروز رسانی وردپرس هم این Backdoor ها همچنان در سایت باقی بمانند.
حتی در انواع پیشرفته تر امکان ایجاد دستری های بالاتر، اجرای هر نوع کد php دلخواه، ارسال ایمیل اسپم از سایت، اجرا کوئری از دیتابیس و یا سایر موارد را فراهم کند.
کدهای مخرب کجا مخفی می شوند ؟
Backdoor های درون وردپرس معمولا در مکان های زیر مخفی می شوند :
۱- تم ها (Themes) :
بیشتر اوقات احتمال داردBackdoor ها داخل Theme ای که استفاده میکنید، نباشند.
هکر ها میخواهند کدهای مخربی که اضافه کرده اند با آپدیت هسته وردپرس از بین نرود. بنابراین اگر شما Theme قدیمی دارید یا Theme های غیرفعال دارید ممکن است کدهای مخرب در مسیر ذخیره شدن آن ها وجود داشته باشند.
ما پیشنهاد میکنیم تمام Theme های غیرفعال و بدون استفاده را پاک کنید.
۲- پلاگین ها (Plugins) :
پلاگین ها هم به سه دلیل یکی از بهترین مکان ها برای مخفی کردن کدهای مخرب هکر ها می باشند.
- دلیل اول : کاربران وردپرس پلاگین ها و کدهای مربوط به آن را بررسی نمیکنند.
- دلیل دوم : کاربران وردپرس علاقه ای به بروز کردن پلاگین ها ندارند.
- ضعیف بودن کدهای پلاگین های نصب شده که ممکن است آسیب پذیزی از این پلاگین ها آغاز شود.
۳- پوشه uploads :
شما فقط در این فولدر تصویر آپلود میکنید و در پست ها از این مسیر استفاده میکنید و ممکن است هزاران تصویر و فایل آپلود کرده باشید که بر اساس ماه و سال در این پوشه قرار گرفته باشند.
آپلود کردن Backdoorها در این مسیر یکی از ساده ترین راه ها برای هکر ها می باشد زیرا فایل های مخرب در بین هزاران فایلی که در این پوشه هستند، مخفی می شود و شما به صورت منظم این پوشه و فایل های آن را چک نمیکنید. همچنین بیشتر مردم از پلاگین هایی امنیتی مانند Sucuri برای مانیتورینگ این مسیر استفاده نمیکنند.
در پایان به این دلیل که پوشه uploads قابل نوشتن است هدف بسیار خوبی برای آپلود کردن فایل می باشد.
۴- فایل wp-config :
این فایل هم یکی از هدف های خیلی خوب برای هکرها میباشد و یکی از اولین مکانهایی هست که به کاربران گفته میشه بررسی کنند. بهتر است دسترسی به این فایل بصورت بسیار محدود باشد.
۵- پوشه wp-includes :
این پوشه هم یکی دیگر از مکان هایی است که میتوانید فایل های مخرب را پیدا کنید. بعضی از هکر ها حتما اینجا بیشتر از یک فایل مخرب از خود به جا میزارند.
هکر ها یکبار فایل را آپلود میکنند و حتما راه یا راه های دیگری برای دسترسی در آینده برای خود قرار خواهند داد.
فولدر include یکی از مکانهایی است که کاربران بررسی نمی کنند.
همچنین ممکن است فایل های مخربی وجود داشته باشند که بسیار شبیه به فایل های اصلی وردپرس می باشند اما در حقیقت فایل های مخربی هستند که از دید ما مخفی شده اند.
برای مثال در پاکسازی یک سایت با یک فایل مخرب در پوشه wp-includes با نام wp-uers.php مواجه شدیم، در صورتی که این فایل در وردپرس وجود ندارد و نام اصلی آن user.php می باشد.
در بررسی دیگری فایلی با نام hello.php در مسیر پوشه uploads پیدا شد، این فایل در قالب پلاگین Hello Dolly مخفی شده بود، در حالی که ارتباطی با این پلاگین نداشت.
چگونه Backdoor ها و فایل های مخرب را پیدا کنیم؟
حالا که با مفهوم Backdoor آشنا شدیم، باید به دنبال راهی برای یافتن و حذف کردن فایل ها و کدهای مخرب باشیم.
اگر مدیر سرور هستید می توانید از شل اسکنر هایی مانند CXS برای سرور خود استفاده کنید.
- اسکریپت ConfigServer eXploit Scanner (مخفف CXS)
یک ابزار امنیتی و محصولی از شرکت ConfigServer است. به کمک این ابزار میتوان تا حدودی از اسکریپتهای مخرب نظیر وبشل و ابزارهای هک در امان ماند. میتوان CXS را یک Exploit (پویشگر ابزارهای مخرب) دانست.
اطلاعات بیشتر در لینک زیر ببینید:
https://blog.iranserver.com/what-is-cxs/
در صورتی که تنها مدیر وب سایت هستید و به هاست و مدیریت وردپرس دسترسی دارید میتوانید از پلاگین هایی کمک بگیرید تا شما را در پیدا کردن مشکلات یاری کنید. هم اکنون چند پلاگین را به شما معرفی میکنیم.
- پلاگین Exploit Scanner
این پلاگین در فایل ها و دیتابیس وردپرس شما برای یافتن نشانه هایی از عملیات خراب کارانه جستجو را انجام خواهد داد. این افزونه هیچ اطلاعاتی را حذف نمیکند و تنها گزارشی از آخرین تغییرات مشکوک در اطلاعات شما را جهت بررسی ارائه میدهد.
https://wordpress.org/plugins/exploit-scanner/
- پلاگین Plugin Vulnerabilities
این پلاگین تمام پلاگین های نصب شده را بررسی و آخرین مشکلات و باگ ها را به همراه بروز رسانی های موجود اطلاع رسانی میکند. بنابراین در صورتی که پلاگین های شما دارای گزارش ضعف امنیتی باشند میتوانید از این طریق آگاه شوید.
https://wordpress.org/plugins/plugin-vulnerabilities/
- پلاگین Wordfence Security
این پلاگین یک ابزار کامل برای وردپرس است شامل فایروال، اسکن نرم افزارهای مخرب و مسدود کردن، نمایش ترافیک زنده سایت، ایجاد امنیت برای ورود به پنل ادمین می باشد.
https://wordpress.org/plugins/wordfence/
- پلاگین All In One WP Security & Firewall
این پلاگین هم یک پلت فرم کامل امنیتی برای ودپرس شامل فایروال، بلک لسیت، امنیت ورود و ثبت نام در سایت، امنیت دیتابیس و محافظت از فایل ها می باشد.
https://wordpress.org/plugins/all-in-one-wp-security-and-firewall/
- پلاگین Sucuri Security
یکی از معروف ترین ابزارهای امنیتی، مجموعه ی امنیتی کاملی را برای وردپرس ارائه داده است.
شامل مواردی مانند،
- File Integrity Monitoring
- Remote Malware Scanning
- Effective Security Hardening
- Post-Hack Security Actions
https://wordpress.org/plugins/sucuri-scanner/
تمام ابزارهای بالا تنها به شما کمک میکنند تا فایل های آلوده را راحت تر بیابید.
اما پاکسازی این فایل ها همیشه کار آسانی نیست. گاهی اوقات بهترین راه کار حذف تمام پلاگین ها به همراه پوشه آن و نصب مجدد پلاگین ها می باشد. زیرا پاکسازی تک تک فایل ها کار سخت و زمان بری خواهد شد.
تمام موارد بالا برای حالی بود که هکر به دیتابیس شما نفوذ نکرده باشد. در صورتی که دیتابیس سایت شما مورد نفوذ قرار گرفته باشد، احتمال وجود دسترسی در سطح admin برای هکر در حالی که شما از وجود آن اطلاعی ندارید، وجود دارد. بنابراین خیلی مهم است که از دیتابیس سایت خود محافظت کنیم.
در مقالات بعدی با روش های جلوگیری از نفوذ و هک شدن در وردپرس آشنا خواهیم شد.