
WRecon, هي أداة للتعرف على الثغرات والمعلومات الصندوق الأسود لـ wordpress.
أداة قوية لاستطلاع ومسح الثغرات الأمنية في ووردبريس، تعمل بواسطة القوالب (Templates)
WPRecon هي أداة حديثة لاستطلاع أمن ووردبريس مبنية بلغة Go، تساعد مهندسي الأمن في تحديد الثغرات الأمنية، والأخطاء في التهيئة، ومشكلات كشف المعلومات في تثبيتات ووردبريس.
على عكس الماسحات التقليدية ذات الفحوصات المضمنة، تستخدم WPRecon هندسة قوالب تعمل بـ YAML، مما يتيح:
تحديد النتائج الإيجابية في الاستجابات:
استخراج بيانات قابلة للاستخدام من الاستجابات المتطابقة:
أكثر من 150 قالباً جاهزاً للإنتاج تغطي:
# استنساخ المستودع
git clone https://github.com/ffx64/wprecon.git
cd wprecon
# بناء الملف الثنائي
go build -o wprecon ./cmd/wprecon/main.go
# نقله إلى PATH (اختياري)
sudo mv wprecon /usr/local/bin/
go install github.com/ffx64/wprecon/cmd/wprecon@latest
docker build -t wprecon .
docker run wprecon scan https://example.com
مسح موقع ووردبريس باستخدام جميع القوالب المتاحة:
wprecon scan https://example.com
تشغيل قوالب محددة فقط:
wprecon scan https://example.com -t wordpress-detection,plugin-detection,user-enumeration
# إخراج JSON للأتمتة
wprecon scan https://example.com --output json
# جدول مطبوع بشكل جميل (افتراضي)
wprecon scan https://example.com --output table
# استخدم 20 عاملاً متزامناً و 100 طلب/ثانية
wprecon scan https://example.com --workers 20 --rate-limit 100
wprecon list-templates
wprecon --help
عند تشغيل الفحص، ينتج WPRecon نتائج مفصلة:
تنسيق الجدول:
ID | Template | Name | Severity | Target | Evidence
---------------------|------------------------|--------------------------|----------|---------------------|----------
finding_001 | wordpress-version | تم العثور على إصدار ووردبريس | info | example.com | 6.2.1
finding_002 | plugin-detection | تم الكشف عن إضافة | low | example.com | Yoast SEO 16.0
finding_003 | security-headers | رؤوس أمان مفقودة | medium | example.com | X-Frame-Options
تنسيق JSON:
{
"scan_id": "scan_uuid_001",
"timestamp": "2026-04-10T14:37:00Z",
"target": "https://example.com",
"total_findings": 15,
"findings": [
{
"id": "finding_uuid_001",
"template_id": "wordpress-detection",
"name": "تم الكشف عن تثبيت ووردبريس",
"description": "تم تحديد تثبيت نظام إدارة محتوى ووردبريس على الهدف",
"severity": "info",
"cvss_score": 0.0,
"matched_url": "https://example.com/wp-admin/",
"http_method": "GET",
"status_code": 200,
"response_time_ms": 245,
"evidence": {
"version": "6.2.1",
"wp_version_header": "6.2.1"
},
"timestamp": "2026-04-10T14:37:00Z",
"remediation": "حافظ على تحديث ووردبريس إلى أحدث إصدار"
}
]
}
wprecon/
├── cmd/wprecon/
│ └── main.go # نقطة دخول CLI
├── internal/
│ ├── app/
│ │ ├── cli.go # معالجات أوامر CLI
│ │ └── api.go # معالجات REST API
│ ├── engine/
│ │ ├── scanner.go # تنسيق المسح
│ │ ├── worker_pool.go # محرك التوازي
│ │ ├── context.go # إدارة سياق المسح
│ │ ├── logger.go # أدوات التسجيل
│ │ └── rate_limit.go # تحديد المعدل
│ ├── executor/
│ │ ├── http_executor.go # عميل HTTP
│ │ ├── request_builder.go # بناء الطلب
│ │ └── variables.go # تفسير المتغيرات
│ ├── matchers/
│ │ └── matchers.go # منطق مطابقة الاستجابة
│ ├── extractors/
│ │ └── extractors.go # استخراج البيانات
│ ├── templates/
│ │ ├── loader.go # اكتشاف القوالب
│ │ └── parser.go # تحليل YAML
│ ├── pipeline/
│ │ └── pipeline.go # سير عمل المسح
│ └── domain/
│ ├── template.go # نماذج البيانات
│ ├── finding.go
│ ├── http.go
│ ├── matcher.go
│ └── extractor.go
├── templates/ # مكتبة قوالب YAML
│ ├── wordpress/ # خاص بووردبريس
│ ├── cves/ # كشف CVE
│ ├── exposures/ # كشف المعلومات
│ ├── common/ # فحوصات عامة
│ └── waf/ # كشف WAF
└── go.mod # التبعيات
┌─────────────────────────────────────────────┐
│ واجهة المستخدم (CLI/API) │
└─────────────────────────────────────────────┘
│
├─→ محمل القوالب
├─→ محدد المعدل
└─→ مدير تجمع العمال
│
▼
┌─────────────────────────────────────────────┐
│ محرك خط أنابيب المسح │
│ ┌────────→ باني الطلب │
│ │ ┌────────→ منفذ HTTP │
│ │ │ ┌────────→ مطابق (5 أنواع) │
│ │ │ │ ┌────────→ مستخرج (نوعان) │
│ │ │ │ │ ┌────────→ تقرير النتيجة │
│ │ │ │ │ │ │
│ ▼ ▼ ▼ ▼ ▼ │
│ قالب → طلب → استجابة → نتيجة │
└─────────────────────────────────────────────┘
│
▼
┌─────────────────────────────────────────────┐
│ مخرجات التنسيق والتخزين │
│ (JSON, جدول, توليد تقرير) │
└─────────────────────────────────────────────┘
القوالب هي ملفات YAML تحدد كيفية مسح WPRecon لثغرات أو معلومات محددة.
id: wordpress-version-detection
name: كشف إصدار ووردبريس
description: يكشف ويستخرج إصدار ووردبريس من readme.html
severity: info
author: فريق WPRecon
requests:
- url: "{{BaseURL}}/readme.html"
method: GET
matchers:
- type: status
status:
- 200
- type: word
words:
- "WordPress"
extractors:
- type: regex
regex:
- 'Version (\d+\.\d+\.\d+)'
templates/custom/مثال:
# إنشاء قالب مخصص
cat > templates/custom/my-check.yaml << 'EOF'
id: my-custom-check
name: فحصي المخصص
description: يكشف ثغرة مخصصة
severity: medium
author: اسمك
requests:
- url: "{{BaseURL}}/vulnerable-endpoint"
method: GET
matchers:
- type: status
status:
- 200
- type: word
words:
- "vulnerable"
EOF
# المسح بالقالب المخصص
wprecon scan https://example.com -t my-custom-check
# مهلة HTTP (الافتراضي: 10 ثوانٍ)
export WPRECON_TIMEOUT=15
# عدد العمال (الافتراضي: 10)
export WPRECON_WORKERS=20
# الطلبات في الثانية (الافتراضي: 50)
export WPRECON_RATE_LIMIT=100
# مستوى التسجيل (الافتراضي: info)
export WPRECON_LOG_LEVEL=debug
# أدلة القوالب (الافتراضي: ./templates)
export WPRECON_TEMPLATE_DIRS=/path/to/templates:/path/to/more/templates
wprecon scan <target> \
--templates-dir ./custom-templates \
--workers 20 \
--rate-limit 100 \
--timeout 15 \
--output json \
--log-level debug
تقييم أمني شامل لتثبيتات ووردبريس:
wprecon scan https://example.com --output json > assessment_report.json
مسح الثغرات الأمني آلياً في خطوط النشر:
# مثال GitHub Actions
- name: فحص أمني لووردبريس
run: |
wprecon scan ${{ secrets.STAGING_URL }} \
--output json \
--templates wordpress-detection,plugin-detection,cve-checks
مسح أهداف متعددة بكفاءة:
cat targets.txt | while read target; do
wprecon scan "$target" --output json >> results.json
done
# بناء الملف الثنائي
go build -o wprecon ./cmd/wprecon/main.go
# بناء لمنصات متعددة
GOOS=linux GOARCH=amd64 go build -o wprecon-linux ./cmd/wprecon/main.go
GOOS=darwin GOARCH=amd64 go build -o wprecon-darwin ./cmd/wprecon/main.go
GOOS=windows GOARCH=amd64 go build -o wprecon-windows.exe ./cmd/wprecon/main.go
google/uuid v1.6.0 - توليد UUID للنتائج
gopkg.in/yaml.v3 - تحليل قوالب YAML
git checkout -b feature/my-template)templates/wprecon scan https://test.site -t your-templateهذا المشروع مرخص بموجب رخصة MIT - انظر ملف LICENSE للتفاصيل.
صنع بـ ❤️ لـ Matheus (ffx64)
| الميزة | الوصف |
|---|
| المسح المتوازي | تجمع عمالة قابل للتخصيص (الافتراضي: 10 عمال) للطلبات المتزامنة |
| تحديد المعدل | تقليل الطلب مدمج (الافتراضي: 50 طلب/ثانية) ليكون صديقاً للشبكة |
| إعادة المحاولة تلقائياً | منطق إعادة محاولة تلقائي للطلبات HTTP الفاشلة |
| إعادة تحميل القوالب الفوري | لا حاجة لإعادة الترجمة - أضف القوالب وامسح |
| تفسير المتغيرات | متغيرات ديناميكية: {{BaseURL}} و {{Timestamp}} و {{RandomInt}} |
| إخراج متعدد التنسيقات | جداول قابلة للقراءة البشرية و JSON منظم |
| وضعي سطر الأوامر و API | واجهتا سطر أوامر و REST API |
| مستويات الخطورة | تصنيف النتائج إلى: معلوماتي، منخفض، متوسط، عالٍ، حرج |
| القالب | الغرض |
|---|
wordpress-detection | كشف تثبيت ووردبريس |
wordpress-version | بصمة إصدار ووردبريس |
plugins.yaml | كشف الإضافات المثبتة |
themes.yaml | كشف القوالب المثبتة |
users.yaml | تعداد مستخدمي ووردبريس |