Importante: Para executar uma verificação das senhas das contas da rede é necessário obter autorização da gestão e os usuários afetados devem ter ciência em relação do procedimento adotado, assim como ter assinado termo informando estarem de acordo com o processo a fim de possuir como respaldo legal para o profissional e para a empresa.
Primeiramente defina uma variável de data para usar na nomenclatura de nomes dos arquivos gerados:
DATE=`/usr/bin/date +%Y-%m-%d-%H-%M`
Em seguida é necessário possuir instalado o pacote com os binários que serão usados. Para isso execute:
apt update ; apt install -y impacket-scripts hashcat wget unzip
Em seguida execute o dump dos hashes de senhas das contas do Active Directory com o comando abaixo. Lembrando que é necessário alterar:
- “domínio/usuário” pelo nome do seu domínio do AD e uma conta de domain admin :
- “senha” pela senha da conta administrativa;
- IP-DO-AD pelo IP do seu servidor de domínio;
impacket-secretsdump -just-dc-ntlm -user-status -outputfile pwdump-$DATE.txt dominio/usuario:'senha'@IP-DO-AD
Em seguida filtre as credenciais para analisar somente as contas ativas.
cat pwdump-$DATE.txt.ntds | grep "status=Enabled" | cut -f 1,4 -d ":" >> pwdump-$DATE.txt.run
Em seguida baixe os dicionários de senhas que desejar. No exemplo abaixo é criado um subdiretório, baixadas as listas de dois projetos do GitHub, o sue conteúdo é combinado e filtrado por senhas únicas.
mkdir tmp ; cd tmp wget https://raw.githubusercontent.com/HideMeBr/SambaTu/refs/heads/main/SambaTu.txt wget https://github.com/danielmiessler/SecLists/archive/refs/heads/master.zip unzip master.zip SecLists-master/Passwords/Leaked-Databases/* cat SambaTu.txt SecLists-master/Passwords/Leaked-Databases/*txt >> senhas.txt cat senhas.txt| sort -n | uniq >> senhas_run.txt
Em seguida volte para o diretório onde está o dump dos hashes das senhas e execute o comando abaixo:
hashcat --username --show -m 1000 pwdump-$DATE.txt.run tmp/senhas_run.txt | sort -n | sed -e 's/dominio\\//g' >> compromissed_accounts.txt
Após finalizado o processo, as contas com as respectivas senhas que constam nos dicionários estarão disponíveis no arquivo “compromissed_accounts.txt“. Agora é só seguir o processo interno para notificar os devidos usuarios e solicitar a alteração da senha. Como podem ocorrer mudanças nas contas a qualquer hora é recomendado repetir o processo diariamente.
Outros dicionários podem ser baixados do site https://weakpass.com/weakpass