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

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

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

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

دليل الأدوات

الفئات

عرض جميع الفئات
Loading categories
asf__nifi_CVE-2023-34468_1-21-00 — استغلال لـ Apache NiFi CVE-2023-34468، يستهدف ثغرة في الإصدارات 1.21.0 والإصدارات الأقدم لإظهار الوصول إلى البيانات واختراق النظام. | Kitploit
أدوات/GitHubGitHub/shoucheng3/asf__nifi_cve-2023-34468_1-21-00
تحليل الثغرات الأمنيةالاستغلالتسريب البياناتأمن الويباختبار الاختراقأمن السحابة
GitHubshoucheng3/asf__nifi_cve-2023-34468_1-21-00

asf__nifi_CVE-2023-34468_1-21-00

استغلال لـ Apache NiFi CVE-2023-34468، يستهدف ثغرة في الإصدارات 1.21.0 والإصدارات الأقدم لإظهار الوصول إلى البيانات واختراق النظام.

عرض المستودع
4منذ سنة واحدةلم تتم المراجعة بعد

الأكثر شعبية

عرض الكل →

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

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

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

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

Apache NiFi

ci-workflow system-tests Docker pulls Version Slack

Apache NiFi هو نظام سهل الاستخدام وقوي وموثوق لمعالجة البيانات وتوزيعها.

جدول المحتويات

  • الميزات
  • المتطلبات
  • البدء
  • مشروع MiNiFi الفرعي
  • المشروع الفرعي Registry
  • الحصول على المساعدة
  • التوثيق
  • الترخيص
  • ضبط التصدير
  • الميزات

    صُمم Apache NiFi لتدفق البيانات. إنه يدعم رسومًا بيانية موجهة عالية التكوين لتوجيه البيانات وتحويلها ومنطق الوساطة بين الأنظمة. تتضمن بعض ميزاته الرئيسية ما يلي:

    • واجهة مستخدم قائمة على الويب
      • تجربة سلسة للتصميم والتحكم والمراقبة
      • تجربة مستخدم متعددة المستأجرين
    • قابلة للتكوين بدرجة كبيرة
      • تحمّل الفقد مقابل التسليم المضمون
      • زمن استجابة منخفض مقابل إنتاجية عالية
      • تحديد أولويات ديناميكي
      • يمكن تعديل التدفقات أثناء التشغيل
      • الضغط العكسي
      • يتوسع رأسيًا للاستفادة من كامل قدرة الجهاز
      • يتوسع أفقيًا مع نموذج عنقود بدون قائد (zero-leader)
    • تتبّع مصدر البيانات
      • تتبع تدفق البيانات من البداية إلى النهاية
    • مصمم للتوسعة
      • أنشئ المعالجات الخاصة بك والمزيد
      • يتيح التطوير السريع والاختبار الفعّال
    • آمن
      • SSL وSSH وHTTPS والمحتوى المشفّر وما إلى ذلك
      • مصادقة/تفويض قابلة للتوصيل ودقيقة الاستناد إلى الأدوار
      • يمكن لعدة فرق إدارة ومشاركة أجزاء محددة من التدفق

    الحد الأدنى من التوصيات

    • JDK 11.0.16
    • Apache Maven 3.8.6

    الحد الأدنى من المتطلبات

    • JDK 8 Update 251
    • Apache Maven 3.6.0

    البدء

    اقرأ دليل البدء السريع للتطوير. سيتضمن معلومات حول الحصول على نسخة محلية من المصدر، ويقدم إرشادات حول تتبع المشكلات، ويقدم بعض التحذيرات حول المشاكل الشائعة مع بيئات التطوير.

    للحصول على دليل أكثر شمولاً للتطوير ومعلومات حول المساهمة في المشروع، اقرأ دليل مطوّري NiFi.

    البناء

    شغّل mvn clean install أو للبناء المتوازي نفّذ mvn -T 2.0C clean install.

    يجب أن يستغرق البناء المتوازي حوالي خمس عشرة دقيقة على الأجهزة الحديثة.

    root@kitploit:~
    laptop:nifi myuser$ mvn -T 2.0C clean install
    [INFO] Scanning for projects...
    [INFO] Inspecting build with total of 115 modules...
        ...tens of thousands of lines elided...
    [INFO] ------------------------------------------------------------------------
    [INFO] BUILD SUCCESS
    [INFO] ------------------------------------------------------------------------
    [INFO] Total time: 09:24 min (Wall Clock)
    [INFO] Finished at: 2015-04-30T00:30:36-05:00
    [INFO] Final Memory: 173M/1359M
    [INFO] ------------------------------------------------------------------------
    

    شغّل mvn clean install -DskipTests لتخطي تنفيذ اختبارات الوحدة.

    النشر

    انتقل إلى المجلد nifi-assembly. يحتوي مجلد target على الأرشيفات الثنائية.

    root@kitploit:~
    laptop:nifi myuser$ cd nifi-assembly
    laptop:nifi-assembly myuser$ ls -lhd target/nifi*
    drwxr-xr-x  3 myuser  mygroup   102B Apr 30 00:29 target/nifi-1.0.0-SNAPSHOT-bin
    -rw-r--r--  1 myuser  mygroup   144M Apr 30 00:30 target/nifi-1.0.0-SNAPSHOT-bin.tar.gz
    -rw-r--r--  1 myuser  mygroup   144M Apr 30 00:30 target/nifi-1.0.0-SNAPSHOT-bin.zip
    

    انسخ nifi-VERSION-bin.tar.gz أو nifi-VERSION-bin.zip إلى دليل نشر منفصل. سيؤدي فك ضغط التوزيعة إلى إنشاء دليل جديد باسم الإصدار.

    root@kitploit:~
    laptop:nifi-assembly myuser$ mkdir ~/example-nifi-deploy
    laptop:nifi-assembly myuser$ tar xzf target/nifi-*-bin.tar.gz -C ~/example-nifi-deploy
    laptop:nifi-assembly myuser$ ls -lh ~/example-nifi-deploy/
    total 0
    drwxr-xr-x  10 myuser  mygroup   340B Apr 30 01:06 nifi-1.0.0-SNAPSHOT
    

    التشغيل

    انتقل إلى موقع النشر وشغّل الأمر التالي لبدء تشغيل NiFi.

    root@kitploit:~
    laptop:~ myuser$ cd ~/example-nifi-deploy/nifi-*
    laptop:nifi-1.0.0-SNAPSHOT myuser$ ./bin/nifi.sh start
    

    تشغيل bin/nifi.sh start يبدأ NiFi في الخلفية ثم يخرج. استخدم --wait-for-init مع مهلة اختيارية بالثواني لانتظار اكتمال الإقلاع قبل الخروج.

    root@kitploit:~
    laptop:nifi-1.0.0-SNAPSHOT myuser$ ./bin/nifi.sh start --wait-for-init 120
    

    المصادقة

    يُنشئ التكوين الافتراضي اسم مستخدم وكلمة مرور عشوائيين عند بدء التشغيل. يكتب NiFi بيانات الاعتماد المُنشأة إلى سجل التطبيق الموجود في logs/nifi-app.log داخل دليل تثبيت NiFi.

    يمكن استخدام الأمر التالي للعثور على بيانات الاعتماد المُنشأة على أنظمة التشغيل التي تحتوي على grep مثبتًا:

    root@kitploit:~
    laptop:nifi-1.0.0-SNAPSHOT myuser$ grep Generated logs/nifi-app*log
    

    يسجّل NiFi بيانات الاعتماد المُنشأة على النحو التالي:

    root@kitploit:~
    Generated Username [USERNAME]
    Generated Password [PASSWORD]
    

    سيكون USERNAME معرّفًا عشوائيًا (UUID) مكونًا من 36 حرفًا. وستكون PASSWORD سلسلة عشوائية مكونة من 32 حرفًا. سيتم تخزين بيانات الاعتماد المُنشأة في conf/login-identity-providers.xml مع تخزين كلمة المرور باستخدام تجزئة bcrypt. سجّل بيانات الاعتماد هذه في مكان آمن للوصول إلى NiFi.

    يمكن استبدال اسم المستخدم وكلمة المرور العشوائيين ببيانات اعتماد مخصصة باستخدام الأمر التالي:

    root@kitploit:~
    ./bin/nifi.sh set-single-user-credentials <username> <password>
    

    الوصول

    افتح الرابط التالي في متصفح الويب للوصول إلى NiFi: https://localhost:8443/nifi

    سيعرض متصفح الويب رسالة تحذير تشير إلى وجود خطر أمني محتمل بسبب الشهادة الموقّعة ذاتيًا التي أنشأها NiFi أثناء التهيئة. يعد قبول الخطر الأمني المحتمل ومتابعة تحميل الواجهة خيارًا متاحًا لبيئات التطوير الأولية. يجب على عمليات النشر في الإنتاج توفير شهادة من مرجع تصديق موثوق وتحديث إعدادات مخزن المفاتيح (keystore) ومخزن الثقة (truststore) في NiFi.

    بعد قبول الشهادة الموقّعة ذاتيًا، سيعرض الوصول إلى NiFi شاشة تسجيل الدخول. شاشة تسجيل دخول NiFi

    باستخدام بيانات الاعتماد المُنشأة، أدخل اسم المستخدم المُنشأ في حقل User وكلمة المرور المُنشأة في حقل Password، ثم اختر LOG IN للوصول إلى النظام. شاشة NiFi بعد المصادقة على التدفق

    الإعداد

    يصف دليل مستخدم NiFi كيفية إنشاء تدفق بيانات.

    الإيقاف

    شغّل الأمر التالي لإيقاف NiFi:

    root@kitploit:~
    laptop:~ myuser$ cd ~/example-nifi-deploy/nifi-*
    laptop:nifi-1.0.0-SNAPSHOT myuser$ ./bin/nifi.sh stop
    

    مشروع MiNiFi الفرعي

    MiNiFi هو مشروع فرعي تابع لـ Apache NiFi. وهو نهج تكميلي لجمع البيانات يُكمّل المبادئ الأساسية لـ NiFi في إدارة تدفق البيانات، مع التركيز على جمع البيانات عند مصدر إنشائها.

    تتمثل الأهداف المحددة لـ MiNiFi في:

    • بصمة صغيرة وخفيفة الوزن
    • إدارة مركزية للوكلاء
    • إنشاء تتبّع مصدر البيانات
    • التكامل مع NiFi لإدارة لاحقة لتدفق البيانات وسلسلة حيازة كاملة للمعلومات

    ينبغي النظر إلى دور MiNiFi من منظور الوكيل الذي يعمل مباشرة عند، أو بجوار مباشر لـ: أجهزة الاستشعار المصدرية أو الأنظمة أو الخوادم.

    للتشغيل:

    • انتقل إلى مجلد 'minifi-assembly'. في مجلد target، يجب أن يكون هناك بناء لـ minifi.

      root@kitploit:~
        $ cd minifi-assembly
        $ ls -lhd target/minifi*
        drwxr-xr-x  3 user  staff   102B Jul  6 13:07 minifi-1.14.0-SNAPSHOT-bin
        -rw-r--r--  1 user  staff    39M Jul  6 13:07 minifi-1.14.0-SNAPSHOT-bin.tar.gz
        -rw-r--r--  1 user  staff    39M Jul  6 13:07 minifi-1.14.0-SNAPSHOT-bin.zip
      
    • لاختبار التطوير المستمر، يمكنك استخدام البناء المُفكوك جاهزًا الموجود في المجلد المسمى "minifi-version-bin"، حيث version هو إصدار المشروع الحالي. للنشر في موقع آخر، استخدم إما الحزمة المضغوطة tarball أو ملف zip وفك ضغطهما أينما شئت. ستكون التوزيعة داخل مجلد رئيسي مشترك باسم الإصدار.

      root@kitploit:~
        $ mkdir ~/example-minifi-deploy
        $ tar xzf target/minifi-*-bin.tar.gz -C ~/example-minifi-deploy
        $ ls -lh ~/example-minifi-deploy/
        total 0
        drwxr-xr-x  10 user  staff   340B Jul 6 01:06 minifi-1.14.0-SNAPSHOT
      

    لتشغيل MiNiFi:

    • انتقل إلى المجلد الذي ثبّت فيه MiNiFi وشغّله.

      root@kitploit:~
        $ cd ~/example-minifi-deploy/minifi-*
        $ ./bin/minifi.sh start
      
    • اعرض السجلات الموجودة في مجلد logs $ tail -F ~/example-minifi-deploy/logs/minifi-app.log

    • للحصول على مساعدة في إنشاء أول تدفق بيانات لك وإرسال البيانات إلى مثيل NiFi، راجع دليل مسؤول النظام الموجود في مجلد docs أو استخدم minifi-toolkit، الذي يساعد في تكييف قوالب NiFi مع تنسيق ملف إعداد YAML الخاص بـ MiNiFi.

    • إذا كنت تختبر تطويرًا مستمرًا، فمن المرجح أنك ستحتاج إلى إيقاف مثيلك.

      root@kitploit:~
        $ cd ~/example-minifi-deploy/minifi-*
        $ ./bin/minifi.sh stop
      

    بناء Docker

    للبناء:

    • نفّذ بناء كامل لـ NiFi (انظر التعليمات أعلاه). ثم من مجلد minifi/ الفرعي، نفّذ mvn -P docker clean install. سيؤدي ذلك إلى تشغيل البناء الكامل، وإنشاء صورة docker بناءً عليه، وتشغيل اختبارات تكامل docker-compose. بعد اكتمالها بنجاح، يجب أن يكون لديك صورة apacheminifi:${minifi.version} يمكن تشغيلها بالأمر التالي (مع استبدال ${minifi.version} بإصدار maven الحالي لفرعك):
    root@kitploit:~
    docker run -d -v YOUR_CONFIG.YML:/opt/minifi/minifi-${minifi.version}/conf/config.yml apacheminifi:${minifi.version}
    

    المشروع الفرعي Registry

    Registry — وهو مشروع فرعي من Apache NiFi — هو تطبيق تكميلي يوفر موقعًا مركزيًا لتخزين وإدارة الموارد المشتركة عبر مثيل واحد أو أكثر من NiFi و/أو MiNiFi.

    البدء مع Registry

    1. ابنِ NiFi (انظر البدء مع NiFi)

    أو

    ابنِ المشروع الفرعي Registry فقط:

    root@kitploit:~
    cd nifi/nifi-registry
    mvn clean install
    

    إذا كنت ترغب في تفعيل فحوصات النمط والترخيص، فحدد ملف التعريف contrib-check:

    root@kitploit:~
    mvn clean install -Pcontrib-check
    

    2) ابدأ Registry

    root@kitploit:~
    cd nifi-registry/nifi-registry-assembly/target/nifi-registry-<VERSION>-bin/nifi-registry-<VERSION>/
    ./bin/nifi-registry.sh start
    

    لاحظ أن خادم الويب الخاص بالتطبيق قد يستغرق بعض الوقت ليتم تحميله قبل أن يصبح متاحًا.

    1. الوصول إلى واجهة المستخدم على الويب للتطبيق

    مع الإعدادات الافتراضية، ستكون واجهة التطبيق متاحة على http://localhost:18080/nifi-registry

    1. الوصول إلى REST API الخاص بالتطبيق

    إذا كنت ترغب في الاختبار مقابل REST API الخاص بالتطبيق، يمكنك الوصول إلى REST API مباشرةً. مع الإعدادات الافتراضية، سيكون عنوان URL الأساسي لواجهة REST API على http://localhost:18080/nifi-registry-api. ستتوفر واجهة لاختبار REST API على http://localhost:18080/nifi-registry-api/swagger/ui.html

    1. الوصول إلى سجلات التطبيق

    ستكون السجلات متاحة في logs/nifi-registry-app.log

    اختبار قاعدة البيانات

    لضمان عمل NiFi Registry بشكل صحيح مع قواعد البيانات العلائقية المختلفة، يمكن تشغيل اختبارات التكامل الحالية ضد قواعد بيانات مختلفة بالاستفادة من إطار عمل Testcontainers.

    تُستخدم ملفات تعريف Spring للتحكم في مصنع DataSource الذي سيتم توفيره لسياق تطبيق Spring. يتم توفير مصانع DataSource تستخدم إطار عمل Testcontainers لبدء حاوية Docker لقاعدة بيانات معينة وإنشاء DataSource مطابق. إذا لم يتم تحديد أي ملف تعريف، فسيتم استخدام DataSource من نوع H2 افتراضيًا ولن تكون هناك حاجة إلى حاويات Docker.

    بافتراض أن Docker يعمل على النظام الذي يتم فيه البناء، يمكن تشغيل الأوامر التالية:

    قاعدة البيانات المستهدفةأمر البناء
    كل قواعد البيانات المدعومةmvn verify -Ptest-all-dbs
    H2 (الافتراضي)mvn verify
    MariaDB 10.3mvn verify -Pcontrib-check -Dspring.profiles.active=mariadb-10-3
    MySQL 8mvn verify -Pcontrib-check -Dspring.profiles.active=mysql-8
    PostgreSQL 10mvn verify -Dspring.profiles.active=postgres-10

    للحصول على قائمة كاملة بمصانع DataSource المتاحة، راجع وحدة nifi-registry-test.

    الحصول على المساعدة

    إذا كانت لديك أسئلة، يمكنك التواصل مع قائمتنا البريدية: [email protected] (الأرشيف). بالنسبة للنقاشات الأكثر تفاعلية، غالبًا ما يمكن العثور على أعضاء المجتمع في المواقع التالية:

    • مساحة عمل Apache NiFi على Slack: https://apachenifi.slack.com/

      يمكن للمستخدمين الجدد الانضمام إلى مساحة العمل باستخدام رابط الدعوة التالي.

    لتقديم طلب ميزة أو تقرير خطأ، يرجى تسجيل تذكرة في Jira على https://issues.apache.org/jira/projects/NIFI/issues. إذا كان هذا تقرير ثغرة أمنية، فيرجى إرسال بريد إلكتروني إلى [email protected] مباشرةً ومراجعة عمليتي الإفصاح عن الثغرات الأمنية في Apache NiFi وأمن مؤسسة برمجيات Apache أولاً.

    التوثيق

    انظر https://nifi.apache.org/ لأحدث توثيقات NiFi.

    انظر https://nifi.apache.org/minifi و https://cwiki.apache.org/confluence/display/MINIFI لأحدث التوثيقات الخاصة بـ MiNiFi.

    انظر https://nifi.apache.org/registry لأحدث التوثيقات الخاصة بـ Registry.

    الترخيص

    ما لم يُذكر خلاف ذلك، هذا البرنامج مرخّص بموجب رخصة Apache، الإصدار 2.0

    مرخص بموجب رخصة Apache، الإصدار 2.0 (يشار إليها باسم "الرخصة")؛ لا يجوز لك استخدام هذا الملف إلا بما يتوافق مع الرخصة. يمكنك الحصول على نسخة من الرخصة على:

    https://www.apache.org/licenses/LICENSE-2.0

    ما لم يتطلب القانون المعمول به أو يُتفق عليه كتابيًا، يتم توزيع البرنامج بموجب الرخصة على أساس "كما هو" ("AS IS")، دون ضمانات أو شروط من أي نوع، سواء كانت صريحة أو ضمنية. راجع الرخصة للاطلاع على الأحكام المحددة التي تحكم الأذونات والقيود بموجب الرخصة.

    ضبط التصدير

    يتضمن هذا التوزيع برمجيات تشفير. قد يكون لدى البلد الذي تقيم فيه حاليًا قيود على استيراد أو حيازة أو استخدام و/أو إعادة تصدير برمجيات التشفير إلى بلد آخر. قبل استخدام أي برنامج تشفير، يرجى مراجعة قوانين بلدك وأنظمته وسياساته المتعلقة باستيراد أو حيازة أو استخدام أو إعادة تصدير برمجيات التشفير لمعرفة ما إذا كان ذلك مسموحًا به. راجع https://www.wassenaar.org/ لمزيد من المعلومات.

    صنفت وزارة التجارة الأمريكية، مكتب الصناعة والأمن (BIS)، هذا البرنامج على أنه رقم ضبط تصدير السلع (ECCN) 5D002.C.1، والذي يشمل برمجيات أمن المعلومات التي تستخدم أو تؤدي وظائف تشفير باستخدام خوارزميات غير متماثلة. إن شكل وطريقة توزيع مؤسسة برمجيات Apache هذه يجعلها مؤهلة للتصدير بموجب استثناء الترخيص ENC Technology Software Unrestricted (TSU) (انظر لوائح إدارة الصادرات الخاصة بـ BIS، القسم 740.13) لكل من الكود البرمجي والكود المصدري.

    فيما يلي مزيد من التفاصيل حول برمجيات التشفير المضمنة:

    يستخدم Apache NiFi مكتبات BouncyCastle وJCraft Inc. ومكتبات Java cryptography المدمجة لـ SSL وSSH وحماية معلمات التكوين الحساسة. انظر

    • https://bouncycastle.org/about.html
    • http://www.jcraft.com/c-info.html
    • https://www.oracle.com/corporate/security-practices/corporate/governance/global-trade-compliance.html

    لمزيد من التفاصيل حول ميزات التشفير لكل من هذه المكتبات.

    تنزيل الأداة