در این مقاله به طریقه نصب و استفاده از WPScan – اسکنر امنیتی وردپرس میپردازیم :
WPScan (مخفف WordPress Security Scanner) یک ابزار رایگان و خط فرمان برای شناسایی آسیبپذیریهای سایتهای وردپرسی است که به زبان Ruby نوشته شده است. این ابزار که اولین بار در تاریخ 16 ژوئن 2011 منتشر شد، بهویژه برای متخصصان امنیتی و مدیران وبسایتها طراحی شده است تا آسیبپذیریها و مشکلات امنیتی موجود در سایتهای وردپرسی را شناسایی و رفع کنند. اگر به دنبال ارتقاء امنیت وبسایت وردپرسی خود هستید، WPScan ابزاری ضروری برای شما خواهد بود.

قابلیتهای WPScan
WPScan ابزار قدرتمندی است که میتواند آسیبپذیریهای مختلف در سایتهای وردپرس را شناسایی کند. برخی از ویژگیهای این ابزار عبارتند از:
- شناسایی مشکلات مربوط به پلاگینها و قالبها
- شناسایی کاربران و رمزهای عبور ضعیف (با استفاده از حملات Brute Force)
- افشای اطلاعات حساس مانند نسخه وردپرس و آسیبپذیریهای آن
- شناسایی دایرکتوریها و فایلهای آسیبپذیر
- بررسی فایلهای پشتیبان عمومی و دسترسیپذیر
- بررسی فایلهای Timthumb و رسانههای آسیبپذیر
- افشای مسیر کامل فایلها و سایر آسیبپذیریها
نصب WPScan
برای نصب WPScan، سه روش اصلی وجود دارد که در ادامه توضیح خواهیم داد:
روش 1: نصب با Ruby Gem
پیشنیازها:
- نصب Ruby ≥ 2.5
- نصب cURL
- نصب RubyGems و وابستگیهای آن مانند Nokogiri
مراحل نصب:
- نصب cURL: برای نصب cURL ابتدا دستور زیر را وارد کنید:
sudo apt update
sudo apt -y install curl
- بررسی نسخه cURL: با دستور زیر میتوانید از نصب درست cURL مطمئن شوید:
curl -V
- نصب RVM: برای نصب Ruby Version Manager (RVM) از دستور زیر استفاده کنید:
curl -L get.rvm.io | bash -s stable
source /home/$USER/.rvm/scripts/rvm
- نصب Ruby: برای نصب Ruby نسخه 2.5، از دستور زیر استفاده کنید:
rvm install 2.5
rvm use 2.5 --default
- نصب Nokogiri: پس از نصب Ruby، باید Nokogiri را نصب کنید:
gem install nokogiri -v 1.12.5
- نصب WPScan: با دستور زیر WPScan را نصب کنید:
gem install wpscan
- تأیید نصب: برای تأیید نصب WPScan، از دستور زیر استفاده کنید:
wpscan --version
روش 2: نصب با Docker
Docker راهی ساده و کارآمد برای نصب WPScan است. برای نصب از این روش مراحل زیر را دنبال کنید:
- نصب Docker و افزودن کاربر به گروه Docker: ابتدا Docker را نصب کرده و کاربر خود را به گروه Docker اضافه کنید:
sudo usermod -aG docker $USER
newgrp docker
- دریافت تصویر WPScan: دستور زیر را برای دریافت تصویر WPScan از Docker Hub وارد کنید:
docker pull wpscanteam/wpscan
- اجرای WPScan: پس از دریافت تصویر، برای اجرای WPScan دستور زیر را وارد کنید:
docker run -it --rm wpscanteam/wpscan [options]
روش 3: نصب با APT (Kali Linux)
اگر از Kali Linux یا سیستمهای مشابه استفاده میکنید، میتوانید WPScan را بهراحتی از طریق APT نصب کنید:
- بهروزرسانی مخازن APT:
sudo apt update
- نصب WPScan:
sudo apt install wpscan
استفاده از WPScan
پس از نصب WPScan، میتوانید از آن برای شناسایی آسیبپذیریها و مشکلات امنیتی در سایت خود استفاده کنید. در اینجا چند دستور رایج برای استفاده از WPScan آورده شده است:
1. اسکن کامل سایت
برای اسکن کل سایت وردپرسی خود، دستور زیر را وارد کنید:
wpscan --url https://example.com
این دستور، اطلاعاتی درباره پلاگینها، قالبها و دیگر اجزای آسیبپذیر سایت شما را نمایش میدهد.
2. حالتهای مختلف اسکن
WPScan سه حالت اسکن مختلف دارد که شامل حالتهای زیر است:
- تهاجمی: در این حالت، WPScan هزاران درخواست به سرور ارسال میکند تا آسیبپذیریها را شناسایی کند.
- غیرفعال: این حالت تنها تعداد کمی درخواست ارسال میکند و برای بررسی سطحی سایت مناسب است.
- ترکیبی (پیشفرض): WPScan بهطور پیشفرض از هر دو حالت تهاجمی و غیرفعال استفاده میکند.
برای استفاده از حالتهای خاص میتوانید دستور زیر را وارد کنید:
wpscan --url https://example.com --detection-mode aggressive
3. شناسایی پلاگینها و تمهای آسیبپذیر
برای شناسایی پلاگینهای آسیبپذیر از دستور زیر استفاده کنید:
wpscan --url https://example.com -e vp
برای شناسایی تمهای آسیبپذیر نیز از دستور زیر استفاده کنید:
wpscan --url https://example.com -e vt
4. شمارش کاربران و بررسی رمز عبور ضعیف
با WPScan میتوانید نام کاربریهای موجود در سایت را شمارش کرده و رمزهای عبور ضعیف را شناسایی کنید. برای انجام این کار از دستور زیر استفاده کنید:
wpscan --url https://example.com --enumerate u
5. ذخیره نتایج اسکن
برای ذخیره نتایج اسکن در یک فایل، دستور زیر را وارد کنید:
wpscan --url https://example.com -o results.txt
نکات امنیتی
- WPScan تنها باید برای اسکن سایتهایی که مالک آنها هستید یا مجوز دارید، استفاده شود.
- بهطور منظم WPScan را بهروزرسانی کنید تا از آخرین نسخه و پایگاه داده آسیبپذیریها استفاده کنید:
gem update wpscan
WPScan ابزاری بسیار کارآمد برای شناسایی آسیبپذیریهای وردپرس است. استفاده از این ابزار بهطور منظم میتواند به شما کمک کند تا امنیت سایت خود را بهبود بخشید و از حملات احتمالی جلوگیری کنید.
تنظیمات پیشرفته WPScan
WPScan علاوه بر قابلیتهای اولیه، ابزارهای پیشرفتهای برای شناسایی و رفع مشکلات امنیتی در وردپرس دارد که به شما امکان میدهد تا به صورت دقیقتر و جزئیتر به اسکن وبسایت خود بپردازید. در این قسمت به برخی از قابلیتهای پیشرفته این ابزار خواهیم پرداخت.

1. شناسایی آسیبپذیریها با استفاده از پایگاه داده WPScan
WPScan از یک پایگاه داده گسترده از آسیبپذیریهای شناختهشده برای پلاگینها و تمهای وردپرس استفاده میکند. این پایگاه داده بهطور مرتب بهروزرسانی میشود تا از آخرین آسیبپذیریها و مشکلات امنیتی آگاه باشد. برای استفاده از این پایگاه داده و شناسایی آسیبپذیریها بهطور دقیقتر، کافیست دستور زیر را وارد کنید:
wpscan --url https://example.com --enumerate vp,vt --api-token [API_KEY]
این دستور علاوه بر شناسایی پلاگینها و تمهای آسیبپذیر، از پایگاه دادههای آنلاین برای شناسایی آسیبپذیریهای جدید استفاده خواهد کرد.
2. استفاده از API برای اسکن و دریافت اطلاعات دقیقتر
WPScan به شما این امکان را میدهد که از API خود برای دریافت اطلاعات بیشتر در مورد آسیبپذیریها استفاده کنید. با داشتن یک API Token معتبر از WPScan، میتوانید اطلاعات دقیقتری در مورد آسیبپذیریها و تهدیدات دریافت کنید. برای استفاده از این API، به لینک رسمی WPScan بروید و درخواست API Token بدهید. سپس با افزودن این کلید به دستور اسکن، اطلاعات دقیقتری خواهید گرفت.
3. اسکن دایرکتوریها و فایلهای مخفی
WPScan به شما این امکان را میدهد که دایرکتوریها و فایلهای مخفی سایت وردپرس خود را نیز شناسایی کنید. این ویژگی میتواند به شما کمک کند تا به طور کامل سایت خود را از نظر امنیتی بررسی کرده و خطرات پنهان را شناسایی کنید. برای اسکن دایرکتوریها و فایلهای مخفی، از دستور زیر استفاده کنید:
wpscan --url https://example.com --enumerate df
4. استفاده از پروکسی برای اسکنهای مخفیانه
اگر بخواهید اسکنهای خود را بهطور مخفیانه انجام دهید و از لو رفتن اطلاعات جلوگیری کنید، میتوانید از پروکسی برای ارسال درخواستها به سرور مقصد استفاده کنید. این کار به شما کمک میکند تا از مسدود شدن یا شناسایی توسط سیستمهای حفاظتی وبسایتها جلوگیری کنید. برای استفاده از پروکسی در WPScan، دستور زیر را وارد کنید:
wpscan --url https://example.com --proxy http://[proxy_address]:[port]
5. اعمال محدودیتها بر روی تعداد درخواستها
یکی از نکات مهم هنگام استفاده از WPScan، جلوگیری از ارسال تعداد زیادی درخواست در مدت زمان کوتاه است که میتواند باعث مسدود شدن IP شما توسط سرور هدف شود. WPScan این امکان را به شما میدهد که تعداد درخواستهای ارسالی را محدود کنید. برای اعمال محدودیت روی تعداد درخواستها از گزینه --throttle استفاده کنید:
wpscan --url https://example.com --throttle 5
این دستور موجب میشود که WPScan به صورت آهستهتری به سرور هدف درخواست بفرستد و از مسدود شدن شما جلوگیری کند.
6. اسکن کاربران با حملات Brute Force
WPScan توانایی شناسایی کاربران با رمزهای عبور ضعیف را دارد. این ویژگی میتواند در شناسایی کاربران آسیبپذیر و تقویت امنیت آنها بسیار مفید باشد. برای استفاده از این ویژگی، باید دستور زیر را وارد کنید:
wpscan --url https://example.com --passwords [path_to_wordlist] --brute-force
این دستور از یک لیست کلمات عبور برای تلاش به کرک کردن رمز عبور کاربران استفاده خواهد کرد. استفاده از این ویژگی به شما کمک میکند تا رمزهای عبور ضعیف و ساده را شناسایی کرده و آنها را تغییر دهید.
7. اسکن آسیبپذیریهای جدید
یکی از قابلیتهای مهم WPScan، شناسایی آسیبپذیریهای جدید است. WPScan بهطور مداوم پایگاه داده خود را بهروزرسانی میکند و از آخرین آسیبپذیریها و تهدیدات برای اسکن سایت شما استفاده میکند. به همین دلیل، همواره توصیه میشود که ابزار خود را بهطور مرتب بهروزرسانی کنید تا از جدیدترین اطلاعات آسیبپذیریها بهرهمند شوید.
برای بهروزرسانی WPScan، از دستور زیر استفاده کنید:
gem update wpscan
رفع آسیبپذیریها و اقدامات امنیتی
بعد از انجام اسکن با WPScan و شناسایی آسیبپذیریها، باید به سرعت اقدام به رفع آنها کنید تا از تهدیدات احتمالی جلوگیری کنید. در اینجا به چند اقدام امنیتی که میتوانید انجام دهید اشاره میکنیم:
1. بهروزرسانی پلاگینها و تمها
یکی از رایجترین دلایل آسیبپذیری سایتهای وردپرسی، استفاده از پلاگینها و تمهای قدیمی است. همواره باید پلاگینها و تمهای سایت خود را بهروزرسانی کنید تا از جدیدترین نسخههای آنها بهرهمند شوید و آسیبپذیریهای موجود را رفع کنید.
2. تغییر رمزهای عبور ضعیف
پس از شناسایی کاربران با رمزهای عبور ضعیف، باید رمزهای عبور آنها را تغییر دهید و از رمزهای قوی و پیچیده استفاده کنید. همچنین، توصیه میشود از احراز هویت دو مرحلهای (2FA) برای افزایش امنیت استفاده کنید.
3. حذف پلاگینهای غیرضروری
پلاگینهایی که دیگر مورد استفاده قرار نمیگیرند باید از سایت وردپرسی شما حذف شوند. پلاگینهای غیرضروری میتوانند بهعنوان نقطه آسیبپذیری در سیستم عمل کنند.
4. استفاده از فایروالهای وردپرس
استفاده از فایروالهای امنیتی وردپرس مانند Wordfence یا Sucuri میتواند به شما در جلوگیری از حملات و تهدیدات کمک کند. این فایروالها بهطور مستمر به سایت شما نظارت کرده و از آن در برابر حملات مختلف محافظت میکنند.
WPScan یک ابزار ضروری برای هر مدیر سایت وردپرس است که میخواهد امنیت سایت خود را تضمین کند. با استفاده از این ابزار، میتوانید آسیبپذیریهای موجود در سایت خود را شناسایی کرده و اقدامات لازم را برای رفع آنها انجام دهید. بهروزرسانی منظم ابزار و استفاده از ویژگیهای پیشرفته آن، به شما این امکان را میدهد که سایت وردپرسی خود را در برابر تهدیدات مختلف محافظت کنید و امنیت آن را افزایش دهید.
WPScan علاوه بر ابزار رایگان بودن، یکی از جامعترین و قویترین اسکنرهای امنیتی موجود برای وردپرس است و با رعایت نکات امنیتی میتواند به طور مؤثری از سایت شما در برابر حملات و تهدیدات محافظت کند.