Linux slogan
Visite também: BR-Linux.org · Dicas-L · NoticiasLinux · SoftwareLivre.org · UnderLinux · BestLinux



» Screenshot
Linux: Gnome - Menu Principal
Por maran
» Login
Login:
Senha:

Se você ainda não possui uma conta, clique aqui.

Esqueci minha senha

» Wallpaper
Linux: mini-cluster
Por danizach


Artigo

Auditando senhas com John The Ripper
Linux user
pogo
13/06/2007
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.
Por: Pedro Augusto de O. Pereira
[ Hits: 24211 ]
Conceito: 9.3   Linux conceitoLinux conceitoLinux conceitoLinux conceitoLinux conceito + quero dar nota ao artigo

Introdução

Senhas, como já citei em www.pedroaugusto.eti.br/?q=node/46, são o ponto mais fraco de qualquer sistema de segurança, pois geralmente são definidas por pessoas que não são devidamente instruídas e não imaginam que senhas fracas podem ser quebradas em, dependendo de quão fraca, menos de 10 minutos.

Por isso deve-se definir regras básicas sempre que se trabalha com senhas:
  • Definir um tamanho mínimo de senhas de 8 ou 10 caracteres;
  • Utilizar letras maiúsculas e minúsculas;
  • Utilizar caracteres especiais como * / = ! @, etc;
  • Utilizar números;
  • Fazer com que estas senhas sejam trocadas em intervalos de tempo curtos (o intervalo é definido por você, mas a cada 20 dias é uma boa média para senhas fortes);
  • Definir a quantidade de senhas já utilizadas que não poderão ser reaproveitadas. Por exemplo, o usuário não poderá trocar a senha atual por uma que ele já tenha utilizado há 5 trocas atrás;
  • Educar os usuários para que eles não contem as senhas para ninguém;
  • Educar os usuários para que não anotem as senhas em lugar nenhum.

Tomando estas providências extremamente simples pode-se impedir que algum atacante consiga quebrar a senha utilizando força bruta (com programas como Hydra ou o John The Ripper, o qual será abordado mais adiante) ou engenharia social. Mesmo que a senha consiga ser quebrada, é provável que esta já não seja mais válida, pois de acordo com sua política o usuário já a trocou, ou seja, o atacante precisará iniciar todo o processo novamente.

Quando o atacante tem acesso diretamente ao arquivo que contém as senhas (como o arquivo shadow do Linux, onde ficam as senhas de todos os usuários do sistema) ele pode utilizar um software que consiga quebrar a criptografia e descobrir a senha. Um destes softwares e talvez o mais popular é o John The Ripper.

Navegação
   1. Introdução
   2. O John The Ripper
   3. Baixando e instalando
   4. Configurando o JtR
   5. Modos
   6. Linha de comando
   7. Exemplos de uso do John
   8. Conclusão

Outros artigos deste autor

Leitura recomendada

Comentários
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.

Legal o artigo, parabéns :) nota 10.

Comentário enviado por phelipe em 13/06/2007 - 12:00h:

Ótimo artigo... Nota 10.

Comentário enviado por vodooo em 13/06/2007 - 12:10h:

Parabéns pelo artigo!

Muito bemn explicado!

Abraços

Comentário enviado por tsanches em 13/06/2007 - 13:58h:

Ola pogo,
Parabéns pelo artigo.
TSANCHES

Comentário enviado por D4rkb0y 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.

Nota 10...

abraços

Comentário enviado por marcrock em 14/06/2007 - 16:07h:


Excelente artigo!!!!
E seu site também é massa!!!

Parabéns pelo artigo.



Comentário enviado por fjunior em 18/06/2007 - 10:46h:

Criar uma senha forte realmente vai dificultar ataques.
Parabéns,
seu artigo é 10

Comentário enviado por manomauricio em 26/10/2007 - 13:10h:

Puro CTRL+C CTRL+V desse site http://www.pedroaugusto.eti.br/?q=node/49

Comentário enviado por pogo em 26/10/2007 - 13:38h:

huaehueahuehUAHUEHUAEUHAEHUAEHUHU esse site aí é meu cara :) hueahueauhaeuheauhae não copio nada de lugar nenhum :D

Comentário enviado por thorking em 27/11/2007 - 23:31h:

hehhe depois de algum tempo acabei caindo aki novamente.

to tentando instalar o john no ubuntu 7.10 porem pelo comando apt-get ele apresenta o erro:

Lendo lista de pacotes... Pronto
Construindo árvore de dependências
Reading state information... Pronto
E: Impossível achar pacote john

e pelo modo tradicional:

rm -f ../run/john ../run/unshadow ../run/unafs ../run/unique ../run/john.bin ../run/john.com ../run/unshadow.com ../run/unafs.com ../run/unique.com ../run/john.exe ../run/unshadow.exe ../run/unafs.exe ../run/unique.exe
rm -f ../run/john.exe *.o *.bak core
rm -f detect bench generic.h arch.h sparc.h tmp.s
rm -f DES_bs_s.c DES_bs_n.c DES_bs_a.c
cp /dev/null Makefile.dep
ln -sf x86-mmx.h arch.h
make ../run/john ../run/unshadow ../run/unafs ../run/unique \
JOHN_OBJS="DES_fmt.o DES_std.o DES_bs.o BSDI_fmt.o MD5_fmt.o MD5_std.o BF_fmt.o BF_std.o AFS_fmt.o LM_fmt.o batch.o bench.o charset.o common.o compiler.o config.o cracker.o crc32.o external.o formats.o getopt.o idle.o inc.o john.o list.o loader.o logger.o math.o memory.o misc.o options.o params.o path.o recovery.o rpp.o rules.o signals.o single.o status.o tty.o wordlist.o unshadow.o unafs.o unique.o x86.o x86-mmx.o"
make[1]: Entrando no diretório `/home/thorking/john-1.7.2/src'
gcc -c -Wall -O2 -fomit-frame-pointer -funroll-loops DES_fmt.c
DES_fmt.c:6:20: erro: string.h: Arquivo ou diretório inexistente
Em arquivo incluído de common.h:14,
do DES_fmt.c:10:
memory.h:13:19: erro: stdio.h: Arquivo ou diretório inexistente
memory.h:14:20: erro: stdlib.h: Arquivo ou diretório inexistente
In file included from common.h:14,
from DES_fmt.c:10:
memory.h:46: error: expected ‘)’ before ‘size’
memory.h:64: error: expected ‘)’ before ‘size’
memory.h:69: error: expected ‘)’ before ‘size’
DES_fmt.c:29: error: ‘NULL’ undeclared here (not in a function)
DES_fmt.c: In function ‘split’:
DES_fmt.c:109: warning: implicit declaration of function ‘memcpy’
DES_fmt.c:109: warning: incompatible implicit declaration of built-in function ‘memcpy’
DES_fmt.c:112: warning: incompatible implicit declaration of built-in function ‘memcpy’
DES_fmt.c: In function ‘get_key’:
DES_fmt.c:300: warning: incompatible implicit declaration of built-in function ‘memcpy’
make[1]: ** [DES_fmt.o] Erro 1
make[1]: Saindo do diretório `/home/thorking/john-1.7.2/src'
make: ** [linux-x86-mmx] Erro 2



q ,aldito erros são esses?

abraço cara!

Comentário enviado por felipezs em 01/02/2008 - 13:57h:

eu tenho um processador core 2 duo e o john só usa um processador....o outro fica livre...como eu configuro pra usar os 2?

Comentário enviado por mosoli em 08/10/2008 - 16:20h:

Exelente... ja ta nos favoritos = )


Contribuir com comentário
  
Para executar esta ação você precisa estar logado no site, caso contrário, tudo o que for digitado será perdido.
Contribuir com: [ Artigo | Conf | Dica | Pergunta | Script | Screenshot | Simulado | Wallpaper ]
Responsável pelo site: Fábio Berbert de Paula - Copyleft© 2002-2008 Viva o Linux.com.br

Viva o Linux

A maior comunidade Linux do Brasil! Artigos, dicas, tutoriais, fórum, scripts e muito mais. Ideal para quem busca auto-ajuda em Linux.