Senhas – como saber se os usuários não estão usando senhas vazadas ou listadas em dicionários de senhas

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

Leave a Comment

O seu endereço de e-mail não será publicado. Campos obrigatórios são marcados com *