
ماسح أمان لـ 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'
تشغيل wpscan في الدليل الحالي (pwd) هو نفسه تشغيل wpscan -v --proxy socks5://127.0.0.1:9090 --url http://target.tld
يمكن إضافة خيارات أخرى لسطر الأوامر باستخدام اصطلاح snake case. مثال:
cli_options:
user_agent: "Testing UA"
max_threads: 1
headers: "Custom-Header: aaaa; Another Header: bbb"
الميزة المذكورة أعلاه مفيدة للاحتفاظ برمز API في ملف إعدادات وعدم الاضطرار إلى توفيره عبر CLI في كل مرة. للقيام بذلك، أنشئ ملف ~/.config/wpscan/scan.yml يحتوي على ما يلي:
cli_options:
api_token: 'YOUR_API_TOKEN'
سيتم تحميل رمز API تلقائيًا من متغير البيئة WPSCAN_API_TOKEN إذا كان موجودًا. وإذا تم أيضًا توفير خيار CLI --api-token، فسيتم استخدام القيمة القادمة من CLI.
إذا واجهت مشكلات في الاتصال بواجهة برمجة تطبيقات WPScan، يمكنك التحقق من حالة الخدمة على https://status.wpscan.com/. وعند حدوث أخطاء في اتصال API، سيتضمن WPScan رابطًا لصفحة الحالة في رسالة الخطأ.
wpscan --url https://target.tld/ --enumerate u
تعداد نطاق من أسماء المستخدمين
wpscan --url https://target.tld/ --enumerate u1-100
** استبدل u1-100 بنطاق من اختيارك.
wpscan --url https://target.tld/ --enumerate bf
سيتحقق هذا من مجلدات النسخ الاحتياطي التي تنشئها إضافات النسخ الاحتياطي الشائعة لوردبريس. قد تحتوي هذه المجلدات على بيانات حساسة مثل تفريغات قواعد البيانات أو ملفات الإعدادات أو نسخ احتياطية كاملة للموقع.
برنامج WPScan (يُشار إليه فيما بعد ببساطة باسم "WPScan") مرخّص بترخيص مزدوج - حقوق الطبع والنشر 2011-2019 لفريق WPScan.
الحالات التي تشمل تسويق WPScan تجاريًا تتطلب ترخيصًا تجاريًا غير مجاني. وبخلاف ذلك، يمكن استخدام WPScan دون مقابل وفقًا للشروط المبينة أدناه.
1.1 "الترخيص" يعني هذا المستند.
1.2 "المساهم" يعني كل فرد أو كيان قانوني ينشئ WPScan أو يساهم في إنشائه أو يملكه.
1.3 "فريق WPScan" يعني المطوّرين الأساسيين لـ WPScan.
الاستخدام التجاري هو الاستخدام المعدّ لتحقيق ميزة تجارية أو تعويض مالي.
أمثلة على حالات التسويق التجاري:
الحالات التي لا تتطلب ترخيصًا تجاريًا، وبالتالي تخضع للشروط المبينة أدناه، تشمل (على سبيل المثال لا الحصر):
إذا كنت بحاجة إلى شراء ترخيص تجاري أو لم تكن متأكدًا مما إذا كنت بحاجة إلى شراء ترخيص تجاري، فتواصل معنا - [email protected].
شروط وأحكام الاستخدام المجاني؛
يُسمح بإعادة التوزيع وفق الشروط التالية:
يُسمح بالنسخ طالما لا يتعارض مع بند إعادة التوزيع.
يُسمح بالتعديل طالما لا يتعارض مع بند إعادة التوزيع.
أي مساهمات تفترض أن المساهم يمنح فريق WPScan الحق غير المحدود وغير الحصري في إعادة استخدام محتوى المساهم وتعديله وإعادة ترخيصه.
يتم توفير WPScan على أساس "كما هو" (AS-IS) وبدون أي دعم أو تحديثات أو صيانة. يجوز تقديم الدعم والتحديثات والصيانة وفقًا لتقدير فريق WPScan وحده.
يتم توفير WPScan بموجب هذا الترخيص على أساس "كما هو"، دون أي ضمان من أي نوع، سواء كان صريحًا أو ضمنيًا أو قانونيًا، بما في ذلك على سبيل المثال لا الحصر ضمانات خلو WPScan من العيوب، أو قابليته للتسويق، أو ملاءمته لغرض معين، أو عدم انتهاكه لحقوق الآخرين.
في الحدود التي يسمح بها القانون، يتم توفير WPScan على أساس "كما هو". لا يكون فريق WPScan مسؤولًا أبدًا، وبدون أي حد، عن أي ضرر أو تكلفة أو نفقة أو أي دفعة أخرى تتكبدها نتيجة لأفعال WPScan أو فشله أو أخطائه البرمجية و/أو أي تفاعل آخر بين WPScan والمعدات الطرفية أو أجهزة الكمبيوتر أو البرامج الأخرى أو أي طرف ثالث أو معدات طرفية أو أجهزة كمبيوتر أو خدمات.
قد يكون تشغيل WPScan ضد مواقع الويب دون موافقة متبادلة مسبقة غير قانوني في بلدك. لا يتحمل فريق WPScan أي مسؤولية ولا يكون مسؤولًا عن أي إساءة استخدام أو ضرر يسببه WPScan.
مصطلح "wpscan" هو علامة تجارية مسجلة. لا يمنح هذا الترخيص استخدام العلامة التجارية "wpscan" أو استخدام شعار WPScan.