
Интерактивная оболочка для перечисления Active Directory и эксплуатации ACL через LDAP/LDAPS. Поддерживает DCSync, RBCD, Shadow Credentials, смену паролей и манипулирование объектами домена для оценки безопасности.
Этот проект является форком ldap_shell из Impacket. Он предоставляет интерактивную оболочку для перечисления и управления Active Directory через протоколы LDAP/LDAPS, что делает его полезным как для системных администраторов, так и для специалистов по безопасности.
Эти инструменты совместимы только с Python 3.5+. Склонируйте репозиторий с GitHub, установите зависимости, и всё заработает. Установка с помощью pip:
git clone https://github.com/PShlyundin/ldap_shell.git
cd ldap_shell
python3 -m pip install .
Установка с помощью uv:
uv venv
uv pip install .
# Базовая аутентификация с паролем
ldap_shell domain.local/user:password
# Укажите IP-адрес контроллера домена
ldap_shell domain.local/user:password -dc-ip 192.168.1.2
# Аутентификация с использованием NTLM-хешей
ldap_shell domain.local/user -hashes aad3b435b51404eeaad3b435b51404ee:aad3b435b51404eeaad3b435b51404e1
# Аутентификация Kerberos с использованием TGT
export KRB5CCNAME=/home/user/ticket.ccache
ldap_shell -k -no-pass domain.local/user
Get Info
dump [output_dir] - Дамп домена
get_group_users group - Получить всех пользователей группы
get_laps_gmsa [target] - Извлекает пароли LAPS и GMSA, связанные с указанной учётной записью (sAMAccountName) или для всех. Поддерживается LAPS 2.0
get_maq [user] - Получить квоту учётных записей компьютеров и разрешённых пользователей
get_user_groups user - Рекурсивно извлечь все группы, в которых состоит пользователь
search ldap_filter [attributes] - Поиск объектов AD
Abuse ACL
add_user_to_group user group - Добавить пользователя в группу
change_password user [password] - Попытка изменить пароль указанного пользователя. Требуется LDAPS.
clear_rbcd target [grantee] - Очистить права RBCD для целевого компьютера
dacl_modify target grantee action mask - Изменить записи DACL для целевого объекта
del_dcsync target - Удалить права DCSync у пользователя/компьютера путём удаления ACE в DACL домена
del_user_from_group user group - Удалить пользователя из группы
get_ntlm target - Получить NTLM-хеш с помощью атаки Shadow Credentials (требует права на запись в msDS-KeyCredentialLink)
set_dcsync target - При наличии права на запись в объект домена, назначить выбранному пользователю право DS-Replication
set_dontreqpreauth target flag - Целевая атака AsRepRoast. Установить или снять флаг DONT_REQUIRE_PREAUTH у целевого пользователя.
set_genericall target [grantee] - Установить права GenericAll для целевого объекта
set_owner target [grantee] - Установить нового владельца для целевого объекта
set_rbcd target grantee - Настроить права RBCD для целевого компьютера
set_spn target action [spn] - Вывести, добавить или удалить SPN для целевого объекта
Misc
add_computer computer_name [password] [target_dn] - Добавить новую учётную запись компьютера в домен
add_group group_name [target_dn] - Добавить новую группу в Active Directory
add_user username [password] [target_dn] - Добавить новую учётную запись пользователя в домен
del_computer computer_name - Удалить учётную запись компьютера из домена
del_group group_name - Удалить группу из Active Directory
del_user username - Удалить учётную запись пользователя из домена
disable_account username - Отключить учётную запись пользователя в домене
enable_account username - Включить учётную запись пользователя в домене
start_tls - Запустить TLS-соединение с LDAP-сервером
switch_user username [password] - Переключить текущего пользователя на другого
Other
help [command] - Показать справку
exit - выход из оболочки
Apache License 2.0