sábado, 25 de outubro de 2008

Quebrando senhas criptografadas de usuários do Linux

A primeira coisa a fazer é conseguir as senhas criptografadas que ficam em /etc/shadow.
Sabe-se que o /etc/shadow só pode ser lido pelo usuário root, portanto usuários normais não podem ler esse arquivo por questão de segurança.

Essa técnica usando o John The Ripper é interessante para que o administrador de sistemas GNU/Linux teste a eficiência de senhas dos seus usuários e reforçe depois a política de segurança.

Vamos supor que consegui as linhas:
root:$1$YtJpdTAX$9FzIngB/wriqze2vl8SH3.:14162:0:99999:7:::
user:$1$daE7WJYF$bHcNTBPNupjvoMQRWlvy/1:14162:0:99999:7:::

# aptitude install john
# cd /root
# echo “root:$1$YtJpdTAX$9FzIngB/wriqze2vl8SH3.:14162:0:99999:7:::” > senhas
# echo “user:$1$daE7WJYF$bHcNTBPNupjvoMQRWlvy/1:14162:0:99999:7:::” >> senhas

# john senhas
Loaded 2 password hashes with 2 different salts (FreeBSD MD5 [32/32])
1234567 (user)

Assim você já descobre de cara a senha do user, que é bem fraca: 1234567
Como é uma seqüencia numérica para o algoritmo do john isso é uma moleza!

Só que a senha de root vai demorar demais (supondo a senha é mais forte)...
Quando demora assim o ideal é utilizar uma wordlist que são arquivos que contém milhares de palavras de dicionário. Na internet, é muito fácil encontrar wordlists.

Baixei uma wordlist chamada wordList.txt na internet e coloquei no /root.

Depois editei um arquivo do John que indica em quais wordlists procurar:

# vim /etc/john/john.conf

Acrescentei a linha:
[Options]
# Wordlist file name, to be used in batch mode
Wordlist = /usr/share/john/password.lst
Wordlist = /root/wordList.txt

Salvei o arquivo:

E digitei:
# john shadow

Loaded 1 password hash (FreeBSD MD5 [32/32])
outubro (root)

Portanto, nunca use palavras de dicionários em senhas!!!

Solução: Leonardo Afonso Amorim
E-mail: leonardoafonso@gmail.com

0 comentários: