
ماسح أمان لـ WordPress يكتشف الثغرات الأمنية، ويُعدّد الإضافات/السمات/المستخدمين، ويتحقق من كلمات المرور الضعيفة. يتكامل مع WPScan API للحصول على بيانات الثغرات في الوقت الفعلي.
ماسح أمان ووردبريس
قاعدة بيانات ثغرات ووردبريس من WPScan - ملحق أمان ووردبريس
Stream error in the HTTP/2 framing layer في بعض الحالاتعند استخدام توزيعة اختبار اختراق (مثل Kali Linux)، يُنصح بتثبيت/تحديث wpscan عبر مدير الحزم إذا كان متاحًا.
brew install wpscanteam/tap/wpscan
يعتمد WPScan على gems ذات امتدادات أصلية (مثل yajl-ruby وnokogiri وffi)، لذا يجب توفر سلسلة أدوات C عاملة وترويسات تطوير Ruby قبل gem install wpscan. وبدونها، يفشل التثبيت بأخطاء مثل Failed to build gem native extension أو make: x86_64-linux-gnu-gcc: No such file or directory (انظر #1844).
sudo apt install build-essential ruby-dev
sudo dnf install @development-tools ruby-devel
sudo pacman -S base-devel ruby
sudo apk add build-base ruby-dev
xcode-select --install).ثم ثبّت الـ gem:
gem install wpscan
على macOS، إذا ظهر خطأ Gem::FilePermissionError بسبب حماية تكامل النظام (SIP) من Apple، فإما أن تثبّت RVM وتعيد تثبيت wpscan، أو شغّل sudo gem install -n /usr/local/bin wpscan (انظر #1286)
يمكنك تحديث قاعدة البيانات المحلية باستخدام wpscan --update
يتم تحديث WPScan نفسه إما عبر gem update wpscan أو عبر مدير الحزم (وهذا مهم جدًا لتوزيعات مثل Kali Linux: apt-get update && apt-get upgrade) اعتمادًا على كيفية تثبيت WPScan مسبقًا
اسحب المستودع باستخدام docker pull wpscanteam/wpscan
تعداد أسماء المستخدمين
docker run -it --rm -v wpscan-db:/wpscan/.cache/wpscan/db wpscanteam/wpscan --url https://target.tld/ --enumerate u
تعداد نطاق من أسماء المستخدمين
docker run -it --rm -v wpscan-db:/wpscan/.cache/wpscan/db wpscanteam/wpscan --url https://target.tld/ --enumerate u1-100
** استبدل u1-100 بنطاق من اختيارك.
تأتي الصورة مع نسخة من قاعدة البيانات المحلية مدمجة فيها وقت البناء. ولأن أوامر الأمثلة أعلاه تستخدم --rm، يتم تجاهل أي تحديث لقاعدة البيانات يتم أثناء التشغيل عند خروج الحاوية، لذا تبدأ عملية التشغيل التالية من النسخة المدمجة (التي قد تكون قديمة).
تركيب وحدة تخزين مُسمّاة عند /wpscan/.cache/wpscan/db (دليل ذاكرة التخزين المؤقت لمستخدم wpscan داخل الحاوية) يحافظ على قاعدة البيانات عبر عمليات التشغيل المتعددة، بحيث يعيد wpscan --update تنزيل الملفات التي تغيّرت مجاميعها الاختبارية (checksums) فقط، ويعمل تنبيه التقادم لخمسة أيام كما لو كان التثبيت محليًا:
docker run -it --rm -v wpscan-db:/wpscan/.cache/wpscan/db wpscanteam/wpscan --update
يتم إنشاء وحدة التخزين المُسمّاة تلقائيًا عند أول استخدام إذا لم تكن موجودة بالفعل.
يمكن العثور على الوثائق الكاملة للمستخدم هنا؛ https://github.com/wpscanteam/wpscan/wiki/WPScan-User-Documentation
wpscan --url blog.tld سيقوم هذا بفحص المدونة باستخدام الخيارات الافتراضية مع توازن جيد بين السرعة والدقة. ويقوم باكتشاف الإصدار واكتشاف القوالب واكتشاف النتائج المثيرة للاهتمام. لتعداد الإضافات والقوالب والمستخدمين ومجلدات النسخ الاحتياطي وغيرها، استخدم الخيار -e (مثل -e ap لجميع الإضافات، و-e vp للإضافات الضعيفة، و-e bf لمجلدات النسخ الاحتياطي).
إذا كانت هناك حاجة إلى نهج أكثر تكتّمًا، فيمكن استخدام wpscan --stealthy --url blog.tld.
ونتيجة لذلك، عند استخدام خيار --enumerate، لا تنسَ ضبط --plugins-detection وفقًا لذلك، لأن قيمته الافتراضية هي 'passive'.
لمزيد من الخيارات، افتح طرفية واكتب wpscan --help (إذا بنيت wpscan من المصدر، فاكتب الأمر خارج مستودع git)
يتبع موقع قاعدة البيانات مواصفات XDG للدليل الأساسي:
~/.cache/wpscan/db (أو $XDG_CACHE_HOME/wpscan/db إذا تم ضبطه)~/.wpscan/db (مسار قديم، مُبقى للتوافق مع الإصدارات السابقة)تُخزَّن ملفات وقت التشغيل مثل ذاكرة التخزين المؤقت الافتراضية لـ HTTP وملف الكعكات (cookie jar) تحت $TMPDIR/wpscan عندما
يكون $TMPDIR مضبوطًا. وبخلاف ذلك، تستخدم نفس دليل ذاكرة التخزين المؤقت لـ XDG الخاص بالمستخدم، مثل
~/.cache/wpscan/cache و~/.cache/wpscan/cookie_jar.txt. يمكن تجاوز هذه الإعدادات الافتراضية
باستخدام --cache-dir و--cookie-jar.
لترحيل تثبيت حالي إلى مسار XDG:
mv ~/.wpscan ~/.cache/wpscan
تستخدم أداة WPScan CLI واجهة برمجة تطبيقات قاعدة بيانات ثغرات ووردبريس لاسترجاع بيانات ثغرات ووردبريس في الوقت الفعلي. ولكي يسترجع WPScan بيانات الثغرات، يجب توفير رمز API عبر خيار --api-token، أو عبر ملف إعدادات، كما هو موضح أدناه. يمكن الحصول على رمز API عن طريق تسجيل حساب على WPScan.com.
يتم توفير ما يصل إلى 25 طلب API يوميًا مجانًا، وهو ما ينبغي أن يكون مناسبًا لفحص معظم مواقع ووردبريس مرة واحدة على الأقل يوميًا. وعند استنفاد الطلبات اليومية البالغ عددها 25، سيستمر WPScan في العمل بشكل طبيعي ولكن بدون أي بيانات عن الثغرات.
يمكن لـ WPScan تحميل جميع الخيارات (بما في ذلك --url) من ملفات الإعدادات، ويتم فحص المواقع التالية (بالترتيب: من الأول إلى الأخير):
$XDG_CONFIG_HOME/wpscan/scan.json (إذا تم ضبط XDG_CONFIG_HOME)$XDG_CONFIG_HOME/wpscan/scan.yml (إذا تم ضبط XDG_CONFIG_HOME)~/.config/wpscan/scan.json (إذا لم يتم ضبط XDG_CONFIG_HOME)~/.config/wpscan/scan.yml (إذا لم يتم ضبط XDG_CONFIG_HOME)~/.wpscan/scan.json~/.wpscan/scan.ymlpwd/.wpscan/scan.jsonpwd/.wpscan/scan.ymlإذا كانت هذه الملفات موجودة، فسيتم تحميل الخيارات من مفتاح cli_options وتجاوزها إذا وُجدت مرتين.
مثال:
~/.config/wpscan/scan.yml:
cli_options:
proxy: 'http://127.0.0.1:8080'
verbose: true
pwd/.wpscan/scan.yml:
cli_options:
proxy: 'socks5://127.0.0.1:9090'
url: 'http://target.tld'