Senhas são a parte mais fraca de qualquer sistema de segurança, pois pessoas que não conhecem os riscos causados por senhas fracas são responsáveis por criar tais senhas. Auditar as senhas que seus usuários utilizam para acessar os servidores é necessário para se garantir o mínimo de segurança nesse quesito. Com uma ferramenta como o John The Ripper, isso fica muito fácil.
Manter uma política de senhas fortes pode lhe poupar muita dor de cabeça com ataques brute force. Uma auditoria nas senhas de todos os seus usuários deve ser feita para garantir que você continua seguro e não corre muitos riscos utilizando senhas simples demais.
Tentei abranger o máximo possível das opções do John para que você tenha um bom entendimento do software e consiga utilizá-lo eficientemente para garantir a segurança de sua rede ou para melhorar o seu penetration testing. O que você vai fazer com o software é responsabilidade sua.
Caso você precise de mais informações sobre algum tópico que não foi coberto neste texto, consulte a documentação on-line do John. Ela é excelente, porém está disponível apenas em inglês. Acesse este site www.openwall.com/john/doc/ e dê uma lida nela!
Se você tiver alguma sugestão, crítica, correção ou quiser simplesmente se manifestar pode fazê-lo mandando um email para pedro@pedroaugusto.eti.br ou nos comentários aí embaixo!
A versão atualizada deste artigo e de vários outros que escrevo, você pode encontrar no meu site www.pedroaugusto.eti.br. Lá você vai encontrar vários textos sobre redes, segurança e administração de sistemas em geral.
Também tenho um blog focado em segurança, o blog.pedroaugusto.eti.br. Ele é atualizado diariamente (várias vezes ao dia) e nele você encontra várias dicas de softwares para ajudar na gestão de segurança, alertas de segurança e outras coisas.
Espero que o artigo tenha sido de ajuda para a comunidade e que visitem os sites aí para conhecer meus outros textos!
[1] Comentário enviado por y2h4ck em 13/06/2007 - 08:36h
"Definir um tamanho mínimo de senhas de 8 ou 10 caracteres;" Isto é bem relativo, dependendo principalmente do algoritmo utilizado.
Existem métodos para se quebrar senhas de usuários windows no padrão NTLMv1, inclusive comerciais, que conseguem quebrar uma senha de até 15 caracteres em no máximo 10 minutos.
[5] Comentário enviado por acollucci em 13/06/2007 - 17:52h
Otimo artigo. Agora quanto ao comentario do y2h4ck, sim existem metodos para se quebrar senhas fortes, porem senhas fortes dificultam ataques do tipo wordlists, ou de engenharia social.
[13] Comentário enviado por elgio em 30/01/2009 - 10:50h
A leitura do teu artigo sobre VPN hoje me fez olhar os demais artigos que escreveste. Muito interessante, a gente meio que se interessa pelos mesmos assuntos ;-)
Sobre senhas, reforço o que meu amigo Anderson (y2h4ck: depois de alguns mal entendidos com ele, ambos concordamos em nos tratarmos como amigo! :-D hehehe Forte abraço): para senhas lmpasswd nenhuma senha (NENHUMA NENHUMA) é segura. De nada adianta colocar 14 cars de senha no lmpasswd (e é o máximo que ele aceita. Mais que isto é truncado), pois ele divide a tua senha em duas partes de 7, logo uma força bruta é sobre 7 cars. John the Ripper sempre conseguirá quebrar as senhas e creio que em questão de horas com os processadores domésticos de hoje.
Ntpasswd é melhor pois usa o MD4 e não tem os vícios do LM, mas a falta de salt numbers torna ele também não confiável pois perece ao ataque de Rainbow Tables (muito embora uma tabela de RB completa até 8 cars custe $499 e tem o tamanho de 52G - http://ophcrack.sourceforge.net/tables.php ). A princípio senhas maiores que 9 caracteres para o NTpasswd são seguros pois parece (PARECE) que ninguém ainda conseguiu compilar uma Rainbow tables para tantos cars.
No Linux porém, que usa MD5 com salt numbers, qualquer senha maior do que SEIS cars torna INVIÁVEl o força bruta (cuidado, estou falando de força bruta, não de outros ataques. Mesmo que tu use 15 cars de senha ela será estúpida se for apenas números, como este artigo explica).
A presença de salt numbers torna inviável a técnica de Rainbow tables.