Skip to content
KitploitKITPLOIT
أدواتالمدونة
إرسال
أدواتالمدونة
إرسال

أدوات الاختراق واختبار الاختراق والأمن السيبراني لترسانتك الأمنية!

Kitploit هو دليل لأدوات الاختراق والأمن السيبراني واختبار الاختراق. اكتشف آخر تحديثات المشاريع للعثور على الثغرات وتحليل الأنظمة وأتمتة الاختبارات وتعزيز أمنك.

··الخلاصات·اتصال·الخصوصية·© 2026 Kitploit

دليل الأدوات

الفئات

عرض جميع الفئات
Loading categories
CVE-2026-42167 — تحليل تقني وإثبات مفهوم لـ CVE-2026-42167، وهي ثغرة حقن SQL حرجة في ProFTPD mod_sql تتيح تجاوز المصادقة، وحقن مستخدم خلفي، وتنفيذ التعليمات البرمجية عن بُعد. | Kitploit
أدوات/GitHubGitHub/kaleth4/cve-2026-42167
تحليل الثغرات الأمنيةالاستغلالاستغلال تطبيقات الويباختبار الاختراقالتعلم والتعليمالفريق الأحمر
GitHubkaleth4/cve-2026-42167

CVE-2026-42167

تحليل تقني وإثبات مفهوم لـ CVE-2026-42167، وهي ثغرة حقن SQL حرجة في ProFTPD mod_sql تتيح تجاوز المصادقة، وحقن مستخدم خلفي، وتنفيذ التعليمات البرمجية عن بُعد.

عرض المستودع
5منذ 4 أشهرلم تتم المراجعة بعد

الأكثر شعبية

عرض الكل →

اكتشف الأدوات الأكثر استخدامًا من قبل مجتمعنا.

استكشف جميع الأدوات

تصفح مجموعتنا من الأدوات

عرض جميع الأدوات →
مشاركة

CVE-2026-42167: حقن SQL في ProFTPD mod_sql

📋 الملخص التنفيذي

CVE-2026-42167 هو ثغرة أمنية حرجة في حقن SQL في وحدة mod_sql الخاصة بـ ProFTPD تتيح تجاوز المصادقة، حقن مستخدمين خلفيين (backdoor)، وتنفيذ الأوامر عن بُعد (RCE).

السمةالقيمة
النوعحقن SQL (CWE-89)
الخطورةعالية/حرجة
CVSS v38.1
المكوّنmod_sql في ProFTPD < 1.3.9a
أُبلغ بواسطةZeroPath Research
التاريخ28 أبريل 2026

🔍 الوصف الفني

المشكلة: التحقق الضعيف في is_escaped_text()

يستخدم ProFTPD الدالة is_escaped_text() لتحديد ما إذا كانت القيمة قد تم تعقيمها بالفعل قبل إدراجها في استعلام SQL. تفترض الدالة أن أي إدخال:

  • يبدأ بعلامة اقتباس مفردة '
  • ينتهي بعلامة اقتباس مفردة '
  • لا يحتوي على علامات اقتباس مفردة داخلية

...قد تم تجاوزه بالفعل ولا يتطلب معالجة إضافية.

الاستغلال

يمكن للمهاجم إرسال اسم مستخدم خبيث مثل:

root@kitploit:~
USER ' || (SELECT 1) ||'

عند إدراجه في استعلام SQL مثل:

root@kitploit:~
INSERT "'%U', '%r', '%m'" activity_log

يتم إنتاج:

root@kitploit:~
INSERT "'' || (SELECT 1) || ''" activity_log

يتم تنفيذ الحمولة كـ SQL عشوائي لأن عوامل التشغيل || تقوم بدمج سلاسل فارغة حول الأمر المُحقن.


⚠️ سيناريوهات التأثير

1️⃣ تنفيذ الأوامر عن بُعد (RCE)

المتطلبات:

  • قاعدة بيانات خلفية PostgreSQL
  • مستخدم قاعدة بيانات بصلاحيات المستخدم الفائق (superuser)
  • تسجيل SQL مفعّل مع متغيرات %U أو %{basename}

التقنية:

root@kitploit:~
COPY (SELECT 1) TO PROGRAM 'comando_malicioso'

تنفيذ أوامر على مستوى نظام التشغيل كمستخدم postgres.

2️⃣ تجاوز المصادقة

المتطلبات:

  • تفعيل SQLAuthenticate
  • تسجيل SQL مع متغير %U في SQLLog ERR_* (قبل المصادقة)

التقنية:

root@kitploit:~
INSERT INTO users (username, password, uid, homedir) 
VALUES ('attacker', 'password_hash', 0, '/')

يقوم المهاجم بحقن مستخدم خلفي بمعرف uid=0 (الجذر) ووصول إلى نظام الملفات بالكامل.

3️⃣ استخراج البيانات

المتطلبات:

  • أي قاعدة بيانات خلفية SQL
  • تسجيل SQL مفعّل

التقنية: حقن SQL أعمى قائم على الوقت لاستخراج بيانات الاعتماد حرفًا بحرف.


📊 نواقل الهجوم

المتغيرات التي يتحكم بها المهاجم

المتغيرالمعنىالنطاق
%Uاسم المستخدم الأصلي (قبل المصادقة)قبل المصادقة
%Aكلمة مرور تسجيل الدخول المجهولقبل المصادقة
%Jمعلمات الأمرقبل المصادقة
%mفعل FTP (STOR، RETR، إلخ.)قبل المصادقة
%{basename}مكوّن اسم الملفبعد المصادقة
%lاستجابة ident (RFC 1413)قبل المصادقة (إذا كان identd متاحًا)

مسارات الاستغلال

قبل المصادقة (الأكثر خطورة):

root@kitploit:~
%U + SQLLog ERR_* → بدون الحاجة إلى بيانات اعتماد

بعد المصادقة:

root@kitploit:~
%{basename} + SQLLog STOR → يتطلب أي مستخدم FTP صالح

🛡️ التخفيف والحل

✅ الحل الموصى به

التحديث فورًا إلى ProFTPD 1.3.9a أو أحدث:

root@kitploit:~
# التحقق من الإصدار الحالي
proftpd -v

# التحديث (مثال لـ Debian/Ubuntu)
sudo apt-get update
sudo apt-get install proftpd-basic=1.3.9a-1

🔧 تخفيفات مؤقتة

إذا لم تتمكن من التحديث فورًا:

  1. تعطيل تسجيل SQL:
root@kitploit:~
# قم بتعليق أو حذف هذه الأسطر في proftpd.conf
# SQLLog * log_activity
# SQLLog ERR_* log_activity
  1. تطبيق مبدأ الامتياز الأقل:
root@kitploit:~
-- في PostgreSQL، أنشئ مستخدمًا بدون صلاحيات المستخدم الفائق
CREATE USER proftpd_user WITH PASSWORD 'secure_password';
GRANT SELECT, INSERT ON activity_log TO proftpd_user;
-- لا تمنح SUPERUSER
  1. مراقبة محاولات الاستغلال:
root@kitploit:~
TraceLog /var/log/proftpd/trace.log
Trace sql:17

🔎 التحقق من الثغرة

مؤشر الاختراق

ابحث في سجلات التتبع الخاصة بـ ProFTPD (مع تفعيل Trace sql:17):

root@kitploit:~
text 'payload' is already escaped, skipping escaping it again

تشير هذه الرسالة إلى أن محاولة تجاوز قد تمت معالجتها بواسطة المحرك المعرض للخطر.

أمر التحقق

root@kitploit:~
# تفعيل التتبعات التفصيلية
echo "Trace sql:17" >> /etc/proftpd/proftpd.conf

# إعادة تشغيل ProFTPD
sudo systemctl restart proftpd

# مراقبة السجلات
tail -f /var/log/proftpd/trace.log | grep "already escaped"

📦 معلومات الإصدارات

الإصدارالحالة
< 1.3.9❌ معرض للخطر
1.3.9❌ معرض للخطر
≥ 1.3.9a✅ تم التصحيح
≥ 1.3.10rc1✅ تم التصحيح

🧪 إثبات المفهوم (PoC)

المستودع الرسمي

GitHub: ZeroPathAI/proftpd-CVE-2026-42167-poc

الإعداد السريع باستخدام Docker

root@kitploit:~
# استنساخ المستودع
git clone https://github.com/ZeroPathAI/proftpd-CVE-2026-42167-poc.git
cd proftpd-CVE-2026-42167-poc

# المتطلبات
# - Docker
# - Git
# - Python 3.10+
# - uv (مدير حزم Python)

# إعداد البيئة المعرضة للخطر
cd setup
./setup.sh

# تشغيل إثباتات المفهوم
cd ../pocs
python3 preauth_user_backdoor.py      # حقن مستخدم خلفي (قبل المصادقة)
python3 preauth_user_rce.py           # RCE عبر COPY TO PROGRAM (قبل المصادقة)
python3 postauth_stor_backdoor.py     # حقن مستخدم (بعد المصادقة)
python3 postauth_stor_rce.py          # RCE (بعد المصادقة)

# التنظيف
cd ../setup
./teardown.sh

📅 الجدول الزمني

التاريخالحدث
2026-03-28الإبلاغ عن الثغرة إلى ProFTPD
2026-04-07التحقق وتطوير التصحيح
2026-04-24تعيين CVE-2026-42167
2026-04-27إصدار التصحيح (commit af90843baf7dcb8c6be1e5261be2d0b5b5850673)
2026-04-27إطلاق ProFTPD 1.3.9a

📚 المراجع

  • NVD: https://nvd.nist.gov/vuln/detail/CVE-2026-42167
  • المدونة الفنية: https://zeropath.com/blog/proftpd-cve-2026-42167-auth-bypass-privesc-rce
  • مستودع PoC: https://github.com/ZeroPathAI/proftpd-CVE-2026-42167-poc
  • ملاحظات الإصدار: http://www.proftpd.org/docs/RELEASE_NOTES-1.3.10rc1
  • المناقشة: https://github.com/proftpd/proftpd/issues/2052

⚡ التوصيات النهائية

  1. إجراء فوري: تحديث ProFTPD إلى 1.3.9a أو أحدث
  2. التدقيق: مراجعة إعدادات SQLLog على جميع خوادم ProFTPD
  3. الصلاحيات: التأكد من أن مستخدمي قاعدة البيانات لا يملكون صلاحيات المستخدم الفائق
  4. المراقبة: تنفيذ تنبيهات لمحاولات حقن SQL
  5. التصحيحات: الحفاظ على برنامج تصحيح منتظم لجميع التبعيات

آخر تحديث: 28 أبريل 2026
المصدر: ZeroPath Research، MITRE CVE، NVD

تنزيل الأداة