
Shell interactif pour l'énumération Active Directory et l'abus des ACL via LDAP/LDAPS. Prend en charge DCSync, RBCD, Shadow Credentials, les changements de mot de passe et la manipulation d'objets de domaine pour les évaluations de sécurité.
Ce projet est un fork de ldap_shell d'Impacket. Il fournit un shell interactif pour l'énumération et la manipulation d'Active Directory via les protocoles LDAP/LDAPS, ce qui le rend utile à la fois pour les administrateurs système et les professionnels de la sécurité.
Ces outils ne sont compatibles qu'avec Python 3.5+. Clonez le dépôt depuis GitHub, installez les dépendances et vous devriez être prêt. Installation avec pip :
git clone https://github.com/PShlyundin/ldap_shell.git
cd ldap_shell
python3 -m pip install .
Installation avec uv :
uv venv
uv pip install .
# Basic authentication with password
ldap_shell domain.local/user:password
# Specify domain controller IP address
ldap_shell domain.local/user:password -dc-ip 192.168.1.2
# Authentication using NTLM hashes
ldap_shell domain.local/user -hashes aad3b435b51404eeaad3b435b51404ee:aad3b435b51404eeaad3b435b51404e1
# Kerberos authentication using TGT
export KRB5CCNAME=/home/user/ticket.ccache
ldap_shell -k -no-pass domain.local/user
Get Info
dump [output_dir] - Vider le domaine
get_group_users group - Obtenir tous les utilisateurs d'un groupe
get_laps_gmsa [target] - Récupère les mots de passe LAPS et GMSA associés à un compte donné (sAMAccountName) ou pour tous. Supporte LAPS 2.0
get_maq [user] - Obtenir le quota de comptes machines et les utilisateurs autorisés
get_user_groups user - Récupère récursivement tous les groupes dont cet utilisateur est membre
search ldap_filter [attributes] - Rechercher des objets AD
Abuse ACL
add_user_to_group user group - Ajouter un utilisateur à un groupe
change_password user [password] - Tenter de changer le mot de passe d'un utilisateur donné. Nécessite LDAPS.
clear_rbcd target [grantee] - Effacer les autorisations RBCD pour un ordinateur cible
dacl_modify target grantee action mask - Modifier les entrées DACL pour l'objet cible
del_dcsync target - Supprimer les droits DCSync d'un utilisateur/ordinateur en supprimant les ACE dans la DACL du domaine
del_user_from_group user group - Supprimer un utilisateur d'un groupe
get_ntlm target - Obtenir le hash NTLM à l'aide de l'attaque Shadow Credentials (nécessite un accès en écriture à msDS-KeyCredentialLink)
set_dcsync target - Si vous avez un accès en écriture à l'objet domaine, attribuer le droit DS-Replication à l'utilisateur sélectionné
set_dontreqpreauth target flag - Attaque AsRepRoast ciblée. Activer ou désactiver le drapeau DONT_REQUIRE_PREAUTH pour un utilisateur cible.
set_genericall target [grantee] - Définir les autorisations GenericAll pour un objet cible
set_owner target [grantee] - Définir un nouveau propriétaire pour l'objet cible
set_rbcd target grantee - Configurer les autorisations RBCD pour un ordinateur cible
set_spn target action [spn] - Lister, ajouter ou supprimer un SPN pour un objet cible
Divers
add_computer computer_name [password] [target_dn] - Ajouter un nouveau compte machine au domaine
add_group group_name [target_dn] - Ajouter un nouveau groupe dans Active Directory
add_user username [password] [target_dn] - Ajouter un nouveau compte utilisateur au domaine
del_computer computer_name - Supprimer un compte machine du domaine
del_group group_name - Supprimer un groupe d'Active Directory
del_user username - Supprimer un compte utilisateur du domaine
disable_account username - Désactiver un compte utilisateur dans le domaine
enable_account username - Activer un compte utilisateur dans le domaine
start_tls - Démarrer une connexion TLS avec le serveur LDAP
switch_user username [password] - Changer d'utilisateur courant pour un autre
Autre
help [command] - Afficher l'aide
exit - quitter le shell
Apache License 2.0