O documento descreve como o palestrante quebrou milhões de senhas criptografadas em português brasileiro ("pt_BR") usando técnicas como força bruta, dicionários e regras. Ele indexou os hashes quebrados em Elasticsearch para permitir buscas rápidas.
How i cracked millions of “pt br” hashed passwords
1. How I Cracked Millions of
“pt_BR” Hashed Passwords
NullByte Security Conference 2015
2. Aviso
O conteúdo aqui apresentado representa minhas próprias conclusões e opiniões e
não as de meus empregadores, clientes e etc
Senhas apresentadas nesta palestra foram inseridas como exemplo fictício e
qualquer semelhança com a realidade é mera coincidência.
3. Algumas Definições
OSINT “Open source intelligence ou Inteligência de Fontes Abertas é o termo usado para descrever a
inteligência no sentido de informações, (...) obtida através dados disponíveis para o público em geral,
como jornais, revistas científicas, sql injection e emissões de TV. (...)” Wikipedia
SQL INJECTION “(...) WHAT'S THAT REALLY MEAN? People can possibly piggyback SQL commands into
your statements. (...)" Puppy, Phrack 1998
PÚBLICO "público, pú.bli.co, adj (lat publicu) 1 Pertencente ou relativo a um povo ou ao povo. 2 Que serve
para uso de todos. 3 A que todos têm o direito de assistir." http://michaelis.uol.com.br
19. Combinator
● Você tem dois dicionários, um para cada "lado".
● Cada palavra do dicionário da "direita" é anexada a cada palavra do lado
esquerdo.
● Se seu dicionário do lado esquerdo tem 100 palavras e o dicionário do lado
direito tem 50, o número total de candidatos geradados é 100 * 50 = 5000
ricardosaudadeseternas
soeuseiminhasenha2
MarceloRoberto
larissalourenço
coredevices23
TheOffspring1998Americana
P@ssw0rd194543P@ssw0rd
20. Fingerprint
● Automático e Cíclico
● Sem interação humana
● Expander sobre a lista de hashes quebradas + Combinator
Ex: Palavra “nullbyte” expandida gera 66 candidatos que quando combinados
podem encontrar senhas como as abaixo:
null123
bytenull
123nullbyte
22. Rule-Based
● Rules são como pequenas linguagens de programação, tanto Hashcat como
John The Ripper tem um interpretador próprio (porém compatíveis em sua
grande maioria de regras)
● Por exemplo uma regra para inserir um caractere no começo da palavra,
inverter uma palavra, remover caracteres, etc
● Tanto John como Hashcat vem com alguns arquivos de .rule prontos para
utilizar
● Utilizando o modo debug é possível gerar rules para cada hash quebrada
24. Markov Brute
● Usa a tool hcstatgen (hashcat-utils) para gerar arquivo hcstat
● Otimiza por posição através de “ranking”
[s] [e] [n] [h] [a]
1a. s , b , t , r , p
2a. a , e , i , k , h
3a. r , t , e , w , s