بررسی آسیبپذیریهای وردپرس
"ابزار WPScan به شما این امکان را میدهد که به بررسی آسیبپذیریهای وردپرس بپردازید و انواع تست نفوذ را برای سایتهای وردپرسی انجام دهید."

بررسی آسیبپذیریهای وردپرس به کمک ابزار WPScan در کالی لینوکس
در این پست به نحوه استفاده از WPScan برای بررسی آسیبپذیریهای وردپرس میپردازیم. این ابزار به شما درک بهتری از وبسایت وردپرس و آسیبپذیریهای آن ارائه میدهد. ابزار WPScan یک اسکنر امنیتی رایگان برای برای وردپرس است که به صورت پیشفرض در کالی لینوکس نصب است و به متخصصان امنیتی این امکان را میدهد تا امنیت سایتهای وردپرس را آزمایش کنند.
تهدیدهای بزرگ از مکانهای غیر منتظره میآیند
برای لحظه ای تصور کنید که یک بازمانده در یک آخرالزمان زامبی هستید. شما در یک فروشگاه مواد غذایی گیر کرده اید، پنجره ها را مسدود کرده اید و قفل درها را چک کرده اید. همه چیز بسیار آرام و امن به نظر می رسد. اما درست زمانی که برای لذت بردن از یک قوطی بزرگ پودینگ شکلاتی می نشینید، فکری به ذهنتان خطور می کند و تمام دفعاتی را که دقیقاً این سناریو را در فیلمهای زامبی دیدهاید به خاطر میآورید. شما شروع به فکر کردن در مورد همه احتمالات ناشناخته ای می کنید که هنوز هم می تواند شما را در معرض گروه زامبیها قرار دهد.
- اتصالات پنجرههای معیوب را بررسی میکنید
- زنگ هشدار سیستمی شناسایی زامبیهای از مایلهای دور را بررسی میکنید
- مهمات اسلحههای خود را بررسی میکنید
- و غیره
آیا خوب نیست اگر بتوانید کل فروشگاه مواد غذایی را به گونه ای اسکن کنید که نشان دهد آیا آن مشکلات بالقوه مشکلات واقعی هستند یا خیر؟
- شما در آخرالزمان زامبی زندگی نمیکنید
- ابزار WPScan دقیقا این کار را برای سایتهای وردپرس شما انجام میدهد
بررسی آسیبپذیریهای وردپرس به کمک ابزار WPScan
WPScan سایت شما را به همان روشی که بیشتر مهاجمان انجام میدهند بررسی میکند. جزئیات را نگاه میکند و آنها را بر اساس پایگاه داده آسیبپذیریها و سوء استفادهها بررسی میکند. با داشتن این اطلاعات، با دقت بیشتری میتوانید به مسائلی بپردازید که ممکن است به سادگی آشکار نباشد.
شروع کار با WPScan
محیط کار شما یک خط فرمان است. اگر WPScan را نصب کردهاید، همیشه با یک بروزرسانی شروع کنید.
gem update wpscan
نحوه اجرای اسکن اولیه با WPScan
هنگام استفاده از WPScan، همیشه دستورات شما با wpscan شروع میشود و سپس این ابزار url را به شما نشان میدهد.
wpscan --url yourwebsite.com
با اجرای دستور بالا یک اسکن اولیه از سایت شما انجام میشود. پس از چند دقیقه، مجموعهای از اطلاعات جالبی را خواهید داشت که WPScan از کد سایت شما کشف کرده است. که میتواند اطلاعاتی موارد زیر باشد:
- هدرها برای پیدا کردن اطلاعات سرور
- دسترسی به xmlrpc.php
- دسترسی به wp-cron.php
- نسخه وردپرس
- پوسته فعال و اطلاعات اولیه آن
- افزونه های فعال و اطلاعات اولیه آنها
- بکاپهای پیکربندی قابل کشف
اطلاعات نمایش داده شده توسط WPScan ممکن است بر اساس پیکربندیهای مختلف سایت و سرور متفاوت باشد.
اگر سایت شما پشت فایروال اجرا میشود، میتوانید همین دستور را با یک گزینه اضافی به انتها اضافه کنید:
wpscan --url yourwebsite.com --random-user-agent
نحوه شناسایی پوستهها و پلاگینهای آسیب پذیر با WPScan
در حالی که یک اسکن اولیه به شما نشان میدهد که آیا نسخه تم یا افزونه قدیمی است، اما به شما نمیگوید که آیا آسیبپذیری خاصی در آن نسخه وجود دارد یا خیر. برای دریافت این اطلاعات باید از WPScan Vulnerability Database API استفاده کنید. برای استفاده از API باید در سایت WPScan ثبت نام کنید. سپس یک توکن API دریافت خواهید کرد که از آن برای هر اسکنی که انجام میدهید، استفاده خواهید کرد.
حالا برای دسترسی به این اطلاعات تخصصی، توکن API منحصر به فرد خود را در اسکن قرار میدهید. همچنین بر اساس اطلاعات خاصی که میخواهید دریافت کنید، میتوانید پرچمهای (flags) را اضافه کنید که یکی از مهمترین آنها e- (مخفف Enumerate) است و انتخاب vp که برای حدس زدن افزونههای آسیبپذیر است. دستور زیر یکی از رایجترین دستورها برای جستجوی افزونههای آسیبپذیر است:
wpscan --url yourwebsite.com -e vp --api-token YOUR_TOKEN
توجه داشته باشید که این کار خیلی بیشتر از اسکن اولیه طول میکشد. اسکن اولیه پنج دقیقه ای، به اسکن آسیب پذیری 25 دقیقه ای تبدیل شد. در اینجا همان افزونههای اسکن بالا شناسایی میشود، اما با استفاده از پایگاه داده آسیب پذیری:
برای بررسی موضوعات آسیب پذیر سایت خود، vp را با vt جایگزین کنید. بقیه موارد به همان شکل باقی بماند:
wpscan --url yourwebsite.com -e vt --api-token YOUR_TOKEN
علاوه کند بر موضوعات آسیبپذیر یا آسیبپذیریهای افزونهها، WPScan هرگونه آسیبپذیری را با نسخه وردپرسی که سایت شما اجرا میکند را گذارش میکند.
نحوه بررسی شمارش کاربران با WPScan
حملات گذرواژه یک تهدید بزرگ دیگر برای امنیت سایت شما است و وردپرس می تواند دسترسی حیاتی و اطلاعات مورد نظر را برای مهاجمان فراهم کند. با WPScan میتوانید تعیین کنید چه نامهای کاربری از بیرون قابل شناسایی هستند. برای اجرای اسکن شمارش (enumeration)، از دستور زیر استفاده میکنیم:
wpscan --url yourwebsite.com -e u
احتمالا میتوانید حدس بزنید که "u" مخفف چیست. WPScan از چند تکنیک مختلف برای حدس زدن خود استفاده می کند: تعیین نام کاربری بر اساس اطلاعاتی که به صورت عمومی در سایت شما در دسترس است (به عنوان مثال نام نویسنده). در حالت ایده آل، شما نمی خواهید هیچ نام کاربری با این تکنیک ها قابل کشف باشد. سادهترین راه برای جلوگیری از آن استفاده از نامهای مستعار متفاوت از شناسههای کاربری شما است.
چگونه یک حمله گذرواژه را با WPScan آزمایش کنیم؟
چگونه مهاجم نام کاربری را برای دسترسی به حساب آن آزمایش میکند؟ ابزار WPScan میتواند این امکان را برای شما شبیهسازی کند و اگر سایتهایی که مشارکت کننده زیادی دارند را مدیریت میکنید، این میتواند برای شما بسیار مفید باشد. ابتدا باید لیستی از رمزهای عبور را دریافت یا ایجاد کنید. با یک جستجوی سریع در گوگل، می توانید تعدادی لیست از متداول ترین رمزهای عبور، از جمله فهرست کلمات rockyou را که اغلب استفاده می شود، بیابید. به خاطر داشته باشید که این لیست ها طولانی هستند و این مرحله به منزله یک حمله brute-force به سایت اسکن شده است. بنابراین، قبل از اجرای این اسکن به طور مناسب برنامه ریزی کنید: به عنوان مثال. سرور/ادمین خود را آماده کنید، لیست را کوتاه کنید، سایت را در یک محیط استیج کلون کنید، در زمان خرابی بازدیدکنندگان اجرا کنید و غیره.
برای شروع اسکن دستور زیر را اجرا کنید:
wpscan --url yourwebsite.com -passwords file/path/passwords.txt
اگر فهرست کلمات خود را در فهرست فعلی قرار دهید، فقط به نام فایل نیاز دارید. اما اگر آن را در جای دیگری قرار دهید، باید مسیر کامل را ارائه دهید.
در اسکن بالا، ما یک لیست کوتاه از 7 گذرواژه را در مقابل یک سایت با یک کاربر اجرا کردیم. از آنجایی که یکی از کاربران از گذرواژه موجود در لیست استفاده میکرد، WPScan گزارش SUCCESS را نمایش داد.
جلوگیری از حملات بروت فورس در وردپرس
یک راه عالی برای جلوگیری از حملات brute-force وردپرس، محدود کردن تلاش برای ورود به سیستم است. اگر رمز عبور نادرست به دفعات وارد صفحه ورود شود، حساب به طور موقت مسدود می شود.
بنابراین، برای آسانتر کردن کارها، میتوانید از پلاگینهای مختلف وردپرس مانند “Limit Login Attempts” یا “All-In-One Security” استفاده کنید. همچنین در نصب وردپرس خود از نام کاربری “admin” استفاده نکنید.
همچنین میتوانید در صفحه ورود از کد کپچا استفاده کنید. در پاسخ به این سوال باید اشاره کنیم که CAPTCHA مخفف جمله Completely Automated Public Turing Test To Tell Computers and Humans Apart است. این عبارت به معنی آزمایش اتوماتیک عمومی برای تشخیص انسان از کامپیوتر است. استفاده از این کد کپچا، موجب می شود تا به سادگی از ورود روبات های کامپیوتری به داخل وب سایت خود جلوگیری کنید.