Saúdo todos e obrigado por fazer a minha apresentação finalizando a conferência DEFCON deste ano. Eu realmente aprecio isso e tento não decepcioná-lo. Meu nome é Matt Weir, sou estudante de pós-graduação na Florida State University. Antes de começarmos a falar diretamente sobre a quebra de senhas, quero dizer que trabalho com uma equipe muito boa e nomeio seus membros agora. Este é meu líder, professor, Dr. Sidir Eggrvol, que participou da minha apresentação e o professor Breno de Medeiros. Também gostaria de agradecer ao Instituto Nacional de Justiça e ao Centro Nacional de Pesquisa Criminal de Colar Branco por financiar minha pesquisa.

Eu realmente aprecio isso porque essa ajuda deu à minha pesquisa um pouco de legitimidade. Porque, quando fui ao conselho científico aprovar o tópico de minha pesquisa, iniciei a conversa com o fato de que ela é dedicada a hackers de senhas. Essas palavras provocaram uma reação indignada, então tive que explicar o que era necessário para, por exemplo, capturar e processar molestadores de crianças e outros criminosos desse tipo.
Portanto, o principal objetivo da minha pesquisa é ajudar a jurisprudência.
As agências policiais são fortes o suficiente em criptografia, então eu não as ajudaria com isso, simplesmente não teria cérebros suficientes para isso. Decidi investigar os problemas associados aos ataques aos usuários, porque é muito mais fácil do que quebrar cifras complexas. Eu queria desenvolver um modelo melhor de como as pessoas criam suas senhas na vida real e depois usá-las em uma estratégia para criar senhas resistentes a ataques.
A primeira coisa que precisamos é ter uma idéia de como as pessoas criam suas senhas. Passamos um pouco de tempo apenas navegando na Internet e encontrando listas de senhas abertas. Eles aparecem lá por várias razões, por exemplo, alguns hackers invadem o site e estabelecem uma lista de senhas de usuários para dizer a todos: "olha como eu sou legal!" Coletamos essas senhas e analisamos.
Existem muitos fóruns de crackers, quadros de avisos e afins na Internet, onde também coletamos uma "captura" de senhas. Agora você raramente vê senhas de texto simples, mas isso é ótimo, porque tudo o que precisamos fazer é apenas encontrá-las e lê-las. No entanto, a maioria das senhas é hash; portanto, para entender como as pessoas as criam, precisamos primeiro decifrá-las.
Isso é realmente bom para nós, pois nos faz focar em objetivos práticos. Quero dizer, simplesmente não podemos nos sentar e escrever trabalhos de pesquisa enquanto bebemos vinho. Nós realmente devemos seguir em frente e tentar aplicar o que recebemos em nossas listas de senhas e verificar como isso funciona. Eu estava realmente interessado em como criar proteção eficaz contra hackers e melhorar as senhas, usando estratégias mais eficazes para criar senhas com base no conhecimento adquirido ao quebrá-las.
Eu acho que é muito mais fácil invadir algo do que consertá-lo. Nesta apresentação, tentarei evitar uma descrição detalhada das ferramentas e ninharias que usei. Não vou passar os próximos 50 minutos analisando cada linha de comando do programa
John the Ripper , que serve para recuperar senhas de seus hashes ou analisar página por página, com que frequência as pessoas usam os nomes de equipes esportivas como senhas. Eu não quero perder seu tempo.
Se você estiver interessado nos detalhes, pode visitar meu blog de quebra de senha,
www.reusablesec.blogspot.com, ou o site com minhas ferramentas e documentação, disponíveis gratuitamente na Internet, em
www.reusablesec.sites.google.com . Por favor, deixe seus comentários e não hesite em dizer se parece que estamos fazendo algumas coisas estúpidas. Eu realmente aprecio esses comentários, porque esta é a melhor maneira de avaliar a eficácia do nosso trabalho.
Você também não precisa escrever nada febrilmente ou tem medo de perder um dos slides piscando na tela, pois esta apresentação está disponível no CD da conferência. Além disso, você pode fazer o download desses slides na Internet. Também gravei vários instrumentos adicionais no disco. Vou falar brevemente sobre as ferramentas usadas: este é o nosso dicionário, criado com base na versão online do
RainbowCrack Tables , vários scripts para quebrar senhas, scripts de análise que usamos para analisar listas de senhas e várias listas de senhas de usuários que nós mesmos compilamos.
Vale ressaltar que provavelmente temos a maior coleção de codificações ASCII de linha única de amostras de senhas na Internet. Então você pode dizer que meus pais podem se orgulhar de mim. Observo que as pessoas criam senhas mesmo assim, para que você possa tirar proveito disso e quebrá-las.

Você pode dizer: “Oh meu Deus, senhas são uma merda! Os usuários são idiotas porque criam senhas estúpidas e, em geral, estamos todos condenados! ” Sim, eu poderia gastar tempo tirando sarro dos usuários porque é divertido, mas completamente improdutivo. Quero dizer, sabemos há muitos anos que o fogo está quente, a água está molhada, que o usuário simplesmente seleciona uma senha 1-2-3. Isto não é novo. Mas nós, como comunidade de segurança, precisamos descobrir o que fazer sobre isso.
Não direi que sou otimista, mas não sou muito pessimista sobre o futuro das senhas. Quero dizer, estamos “presos” nessas estrelinhas que precisam ser preenchidas e sempre as usaremos porque são realmente boas.
Existem muitos fatores diferentes que permitem que você se livre de qualquer "água", deixando apenas segurança. Hackear senhas se torna difícil porque as pessoas estão começando a usar criptografia forte, hashes de senha mais fortes e é mais responsável pelas senhas. Eu acho que é por isso que existe tanto interesse em quebra de senha. Espero que o
Windows 7 finalmente atinja uma posição de destaque no coração do
XP , e estamos começando a ver cada vez menos casos de uso do algoritmo de segurança
WEP para redes Wi-Fi, apesar do fato de que ainda é bastante difundido. Quero dizer, devemos trabalhar no problema de proteger senhas contra hackers, em vez de destruir o sistema existente.
Essa abordagem realmente melhorará a situação, portanto, quero me concentrar no que é uma sessão de quebra de senha, em quais técnicas são usadas e em quais etapas você precisa executar para quebrar listas de senhas.
Quero me concentrar em dois estudos de caso diferentes. Primeiro, criamos um banco de dados de senhas para hackers usando dados
CISSP - uma certificação independente em segurança da informação. Coletamos muitas senhas em todos os lugares, mas essas duas fontes,
phpbb.com e
webhostingtalk.com , eram as melhores porque havia listas muito grandes de senhas no domínio público.
Portanto, primeiro falaremos sobre a invasão de senhas na lista
phpbb.com e, em seguida, sobre os resultados da invasão de
webhostingtalk.com . Não darei um curso introdutório no
CISSP porque você conhece o idioma e a terminologia. Depois disso, farei uma pequena pausa e você poderá fazer perguntas relacionadas à pesquisa usando o programa
TrueCrypt , além de falar sobre algumas frases secretas e senhas não padrão. Então, vamos falar sobre o básico sobre quebra de senha.

Existem dois tipos diferentes de senhas e, portanto, duas maneiras de decifrá-las, e elas são muito diferentes uma da outra. A primeira são as senhas online. Nos filmes, você sabe que pode não ter acesso ao site se não souber a senha. Portanto, você está tentando chegar lá, escolhendo nomes de usuário e senhas diferentes. O principal é que os criadores de sites tentam se proteger de hackers com a ajuda de funções adicionais, por exemplo, limitando o número de tentativas de inserir dados de autorização.
A segunda maneira é decifrar as senhas offline quando você baixa um hash de senha e o quebra no seu computador. Esses são grandes problemas na análise forense de computadores, portanto, você deve tentar decifrar senhas antes que os policiais entrem na sua porta com um mandado de prisão, derrubando a porta. Ao mesmo tempo, eles removerão o disco rígido no qual o seu programa de cracking
TrueCrypt será instalado junto com as senhas quebradas. Além disso, a invasão de senhas offline requer um computador muito poderoso e muito tempo.
De fato, após um invasor invadir um site e fazer o download de todas as senhas e nomes de usuários, ele é limitado apenas pelo tempo após o qual ele pode ser capturado.
A questão é por que um hacker deve decifrar senhas se ele pode simplesmente obter acesso total ao site através de um roteador. A resposta é que as pessoas em todos os lugares usam a mesma senha. Assim, é mais fácil acessar seu email, conta bancária e
conta do PayPal .
Nós não fizemos isso. Com senhas quebradas, nunca as usamos para verificação, acesso a qualquer site ou à conta de alguém. Digo isso não porque acho que existem muitos agentes federais na platéia, mas porque é muito ruim.
Portanto, existem três etapas diferentes ao quebrar uma senha. Eu quero diferenciá-los, porque vou me referir a eles mais tarde. Eu tive problemas em cada uma dessas três etapas.
O primeiro passo é sobre a quebra de senha offline. A computação forense pressupõe que você já possui um hash de senha; no nosso caso, todo o disco rígido do computador foi preenchido com esses dados. Portanto, o primeiro passo que você deve executar é tentar adivinhar que tipo de senha o usuário criou. Para fazer isso, use a primeira tentativa, suponha a
senha123 . Então você o mistura e obtém um conjunto de letras e números
52F8A73082B1290 . Na maioria dos casos,
é usado um algoritmo de hash
MD5 simples e rápido. Depois disso, você compara esse conjunto com o hash da senha real do usuário que possui, por exemplo,
82503CA693453D1 . Se corresponder, você decifra a senha. Mas desde
52F8A73082B1290 ≠ 82503CA693453D1 , você tenta novamente e usa o
palpite monkey123 . Você repete isso várias vezes até ficar entediado e sair.

Esquerda: como os especialistas em criptografia imaginam isso.
“O laptop dele está criptografado. Vamos criar um decodificador de um milhão de dólares e cortá-lo! ”
"Não vai funcionar, é uma cifra de 4096 bits!"
- Droga! Nosso plano criminal falhou!
Certo: como geralmente acontece.
“O laptop dele está criptografado. Vamos dar uma bebida nele e bater nele com essa chave de cinco dólares até que ele nos diga a senha! "
"Eu concordo!"
Vamos falar sobre o "entusiasmo" nas senhas. Esta informação é adicionada à senha para complicar sua quebra. Acontece que duas pessoas diferentes decidem usar a mesma senha. Nesse caso, por exemplo, você pode adicionar nomes de usuário diferentes à senha
“defcon” ; nesse caso, os hashes serão muito diferentes um do outro.

Isso é especialmente importante para senhas armazenadas na rede. Muitas vezes, as pessoas adicionam seu próprio nome de usuário à senha da
Microsoft como destaque, mas isso é realmente uma má ideia. Porque o "entusiasmo" também protege contra ataques por busca de hash. Geralmente, um hacker simplesmente copia todos os hashes de senha de cada vez e, se precisar decifrar uma senha, ele simplesmente analisa o hash roubado e isso acontece muito rapidamente. Mas se você usar "zest", o hacker não poderá fazer isso até que verifique o hash de cada usuário específico quanto à presença de "zest" lá.
Suponha que as pessoas tenham um “toque” para cada senha da
“microsoft” , então o hacker pode não querer criar uma tabela inteira com nomes de usuário. No entanto, ele sabe que entre eles pode haver um nome muito popular
“administrador” , as pessoas estão acostumadas a confiar nele, portanto, nesse caso, um hacker pode obter sucesso.
Portanto, ao criar "destaques", é necessário considerar estas coisas importantes:
- isso não é um segredo. É bom que você mantenha em segredo o princípio de criar "entusiasmo" pelas senhas, mas antes de tudo você precisa garantir a segurança da própria senha;
- os usuários não precisam saber disso. Não quero dizer que o usuário não deva saber que as senhas estão armazenadas no servidor; quero dizer que o "destaque" deve ser exclusivo para cada usuário;
- O "Destaque" protegerá se o invasor visar apenas um usuário, e não um monte de senhas. Nesse caso, evita ataques de pesquisa de hash.
No entanto, esse método não protege o usuário de ataques de outro tipo, e você ainda precisa pensar em como quebrar um hash de senha relativamente "caro" para um criminoso.
E agora vamos diretamente para problemas de quebra de senha.

Geralmente me perguntam que equipamento eu uso para quebrar senhas. Eu tenho um computador de mesa com um processador dual-core de 2,4 GHz, 3 GB de RAM e uma
placa de vídeo
NVidia GeForce 8800GTS , que já tem 2 anos. Este não é um tipo especial de quebra de senha. Eu também uso este
MacBook um pouco. Então, eu tenho 2 computadores no total.
Infelizmente, após algumas semanas de pesquisa, a conta de luz aumentou em 75%.
É difícil conversar com seu colega de quarto quando os refrigeradores de computador rugem literalmente sem parar nas últimas duas semanas. No entanto, depois que terminei o trabalho, o consumo de energia voltou ao normal.
Agora, realizo quase todas as operações de quebra de senha em um computador em um laboratório universitário. Eu costumava usar a geração de dicionário
RainbowCrack Table . Quando você ouvir o que as pessoas estão dizendo sobre você, que você tem racks inteiros de algo como o
Play Station 3 e uma botnet inteira para quebrar senhas, você quer responder: "você sabe, cara, eu só tenho um laboratório Dell". Portanto, quando você considera a modelagem de ameaças, deve-se ter em mente que um invasor pode definitivamente disponibilizar muito mais recursos. Por exemplo, invadir um site como
phpbb.com . Este é um
site de desenvolvimento de software
phpbb . Foi invadido em 14 de janeiro de 2009 e essa lista foi publicada na Internet no início de fevereiro. O invasor postou muitas informações sobre hashes de senha, nomes de usuário do site, contas de email e uma descrição muito detalhada do próprio ataque.

Foi uma leitura muito boa, e a lista em si continha aproximadamente 259 mil hashes de senha MD5 sem “zest” e 83 mil senhas com hash com “zest”, criadas usando o
algoritmo de hash
phpbb3 . No entanto, esse é um algoritmo novo e bastante raro; portanto, em nossos estudos, quebramos apenas senhas com os hashes
MD5 tradicionais. Excluímos as senhas com “entusiasmo” da consideração, porque invadi-las é uma tarefa muito demorada e realmente não descobrimos isso. Portanto, focamos na lista de senhas
MD5 . Portanto, as senhas com “entusiasmo” são muito mais protegidas e qualquer hacker prefere lidar com algo mais fácil.
Mas quero enfatizar mais uma vez que, se você for atacado e sua lista de senhas for revelada, ainda será necessário "curá-la" e perceber o ataque como um evento sério, porque mais tarde o invasor poderá tirar proveito do resultado de seu roubo.
Em seguida, analisamos a lista de senhas do site de
hospedagem de sites invadida. Por uma ou duas semanas, o hacker usou a quebra de senha online, tentando quebrar cerca de 117 mil contas. Como resultado, ele conseguiu obter 28.635 senhas, o que representou 24% do total. Portanto, depois de analisar o resultado, podemos dizer que, mesmo como resultado de um poderoso ataque online, um hacker consegue decifrar não mais do que um quarto de todas as senhas disponíveis.
Em seguida, compararei a eficácia do quebra de senha on-line. Os resultados são obtidos em
http://www.hashkiller.com/ , a maioria deles se aplica à Alemanha. Mas o
Babel Fish se sai muito melhor - eles não apenas têm seus próprios fóruns on-line de crackers de senhas, mas também monitoram a eficácia da maioria das outras comunidades de crackers. Segundo as estatísticas, o sucesso dos hackers on-line é de 20 a 40% de todas as senhas disponíveis para hackers. Existem ferramentas de hacking
MD5 que coletam hashes de senha on-line de vários sites. Eles podem ser baixados neste link:
http://sourceforge.net/projects/md5-utils/ . Atualmente, existem 33 sites em que esses utilitários podem ser usados.
Quero avisar que há sérios problemas de privacidade, porque se você acha que aqueles para quem você envia hashes de senha os mantêm para sua coleção, você é uma pessoa muito confiante.
Hoje existem várias ferramentas populares para quebrar senhas.

O mais popular é
John, o Estripador (John, o Estripador), é um software livre, e eu recomendo antes de tudo. Mas a principal razão de sua popularidade, pela qual está à frente de programas pagos, é a disponibilidade do código-fonte aberto. Se você quiser decifrar senhas, este programa irá lidar com tudo o que você deseja. Minha opção favorita no
JtR é
STDIN . Se você se lembra dos slides de abertura, nesse caso não preciso executar os estágios 1 e 2, posso escrever meu próprio programa de "adivinhação" e depois transferir os resultados para o
JtR . E ele descriptografará os hashes e tentará decifrar senhas. «», , , .
, . , , , , . , .
JtR Cain & Able ( ), .
JtR , , , .
,
JtR :
- 4 – 38% ;
- 1 – 62% ;
- 1 1 – 89%;
- 98% , 95% MD5 .
, . . , .
DefCon , . , 95%
MD5 , 2525 , , 2677 , . , .
, , 97%, . , , , . , .
«» , , , , 7,2 . 6% 1 % — , 51% . 5% , .
, .
brute-force , . , . , , . , .
, , . , , . , – ,
brute-force . , «» . .
,
Dictionary Attack , . « », , , , , 2 .
,
Dictionary Attack . – «», , . ,
zibra123 , ,
zibra , . – , 123. , , .
, , , , .

, input-. ,
brute-force. Eu chamo isso de Síndrome da Mulher Gato Louca, que recebe de 50 a 60 gatos em casa e eles estragam tudo. Portanto, usando dicionários de entrada ao criar senhas, pense em quão volumosas elas devem ser e não "inflate" excessivamente o vocabulário. Pense no que é melhor usado para segurança - 1 dicionário ou 40.25:15 minContinuação:
Conferência DEFCON 17. Hackear 400.000 senhas, ou como explicar a um colega de quarto por que a conta de luz aumentou. Parte 2Obrigado por ficar conosco. Você gosta dos nossos artigos? Deseja ver materiais mais interessantes? Ajude-nos fazendo um pedido ou recomendando a seus amigos, um
desconto de 30% para os usuários da Habr em um análogo exclusivo de servidores básicos que inventamos para você: Toda a verdade sobre o VPS (KVM) E5-2650 v4 (6 núcleos) 10GB DDR4 240GB SSD 1Gbps da US $ 20 ou como dividir o servidor? (as opções estão disponíveis com RAID1 e RAID10, até 24 núcleos e até 40GB DDR4).
VPS (KVM) E5-2650 v4 (6 núcleos) 10GB DDR4 240GB SSD de 1Gbps até dezembro de graça quando pagar por um período de seis meses, você pode fazer o pedido
aqui .
Dell R730xd 2 vezes mais barato? Somente nós temos
2 TVs Intel Dodeca-Core Xeon E5-2650v4 128GB DDR4 6x480GB SSD 1Gbps 100 a partir de US $ 249 na Holanda e nos EUA! Leia sobre
Como criar um prédio de infraestrutura. classe usando servidores Dell R730xd E5-2650 v4 custando 9.000 euros por um centavo?