
Shell interativo para enumeração do Active Directory e abuso de ACLs via LDAP/LDAPS. Suporta DCSync, RBCD, Shadow Credentials, alterações de senhas e manipulação de objetos do domínio para avaliações de segurança.
Este projeto é um fork do ldap_shell do Impacket. Ele fornece um shell interativo para enumeração e manipulação do Active Directory via protocolos LDAP/LDAPS, tornando-o útil tanto para administradores de sistemas quanto para profissionais de segurança.
Estas ferramentas são compatíveis apenas com Python 3.5+. Clone o repositório do GitHub, instale as dependências e estará pronto. Instalação com pip:
git clone https://github.com/PShlyundin/ldap_shell.git
cd ldap_shell
python3 -m pip install .
Instalação com uv:
uv venv
uv pip install .
# Autenticação básica com senha
ldap_shell domain.local/user:password
# Especificar endereço IP do controlador de domínio
ldap_shell domain.local/user:password -dc-ip 192.168.1.2
# Autenticação usando hashes NTLM
ldap_shell domain.local/user -hashes aad3b435b51404eeaad3b435b51404ee:aad3b435b51404eeaad3b435b51404e1
# Autenticação Kerberus usando TGT
export KRB5CCNAME=/home/user/ticket.ccache
ldap_shell -k -no-pass domain.local/user
Obter Informações
dump [output_dir] - Despeja o domínio
get_group_users grupo - Obtém todos os usuários em um grupo
get_laps_gmsa [target] - Recupera senhas LAPS e GMSA associadas a uma conta (sAMAccountName) ou para todas. Compatível com LAPS 2.0
get_maq [user] - Obtém a cota de conta de máquina e usuários permitidos
get_user_groups user - Recupera todos os grupos recursivamente dos quais este usuário é membro
search ldap_filter [attributes] - Pesquisa objetos do AD
Abusar de ACL
add_user_to_group user group - Adiciona um usuário a um grupo
change_password user [password] - Tenta alterar a senha de um determinado usuário. Requer LDAPS.
clear_rbcd target [grantee] - Limpa permissões RBCD para um computador alvo
dacl_modify target grantee action mask - Modifica entradas DACL para o objeto alvo
del_dcsync target - Remove direitos de DCSync de um usuário/computador deletando ACEs na DACL do domínio
del_user_from_group user group - Remove um usuário de um grupo
get_ntlm target - Obtém hash NTLM usando ataque Shadow Credentials (requer acesso de escrita a msDS-KeyCredentialLink)
set_dcsync target - Se você tem acesso de escrita ao objeto do domínio, atribui o direito de replicação DS ao usuário selecionado
set_dontreqpreauth target flag - Ataque AsRepRoast direcionado. Ativa ou desativa o flag DONT_REQUIRE_PREAUTH para um usuário alvo.
set_genericall target [grantee] - Define permissões GenericAll para um objeto alvo
set_owner target [grantee] - Define novo proprietário para objeto alvo
set_rbcd target grantee - Configura permissões RBCD para um computador alvo
set_spn target action [spn] - Lista, adiciona ou remove SPN para um objeto alvo
Diversos
add_computer computer_name [password] [target_dn] - Adiciona uma nova conta de computador ao domínio
add_group group_name [target_dn] - Adiciona novo grupo ao Active Directory
add_user username [password] [target_dn] - Adiciona uma nova conta de usuário ao domínio
del_computer computer_name - Exclui uma conta de computador do domínio
del_group group_name - Exclui grupo do Active Directory
del_user username - Exclui uma conta de usuário do domínio
disable_account username - Desabilita uma conta de usuário no domínio
enable_account username - Habilita uma conta de usuário no domínio
start_tls - Inicia conexão TLS com o servidor LDAP
switch_user username [password] - Alterna o usuário atual para outro
Outros
help [command] - Mostra ajuda
exit - sair do shell
Apache License 2.0