Para começar, acesse o site do programa e procure pela última versão do ou uma de acordo com a sua distribuição (dê preferência sempre por versões mais novas pois incorporam mais recursos):
http://www.openwall.com/john/
Enquanto escrevo a versão mais recente é a: http://www.openwall.com/john/f/john-1.7.0.2.tar.gz
… que é considerada estável pelos desenvolvedores. Depois de baixar o pacote, descompacte-o usando o comando:
Em seguia acesse a pasta que será criada:
A partir daqui você deve logar-se como root. Para verificar a lista dos sistemas suportados digite o comando abaixo:
Ele mostrará uma lista similar a essa:
linux-x86-any Linux, x86
linux-x86-any-a.out Linux, x86, a.out binaries (obsolete)
linux-x86-64 Linux, AMD x86-64, 64-bit native
linux-x86-64-mmx Linux, AMD x86-64, 32-bit with MMX
linux-alpha Linux, Alpha
linux-sparc Linux, SPARC 32-bit
linux-ppc32-altivec Linux, PowerPC w/AltiVec (best)
linux-ppc32 Linux, PowerPC 32-bit
linux-ppc64 Linux, PowerPC 64-bit
freebsd-x86-mmx FreeBSD, x86 with MMX (best)
freebsd-x86-any FreeBSD, x86
freebsd-x86-any-a.out FreeBSD, x86, a.out binaries (obsolete)
freebsd-alpha FreeBSD, Alpha
openbsd-x86-mmx OpenBSD, x86 with MMX (best)
openbsd-x86-any OpenBSD, x86
openbsd-x86-any-a.out OpenBSD, x86, a.out binaries (obsolete)
openbsd-x86-64 OpenBSD, AMD x86-64
openbsd-alpha OpenBSD, Alpha
openbsd-sparc64 OpenBSD, SPARC 64-bit (best)
openbsd-sparc OpenBSD, SPARC 32-bit
openbsd-sparc-a.out OpenBSD, SPARC 32-bit (obsolete)
openbsd-ppc32 OpenBSD, PowerPC 32-bit
openbsd-ppc64 OpenBSD, PowerPC 64-bit
openbsd-pa-risc OpenBSD, PA-RISC
openbsd-vax OpenBSD, VAX
netbsd-vax NetBSD, VAX
solaris-sparc64-cc Solaris, SPARC V9 64-bit, cc (best)
solaris-sparc64-gcc Solaris, SPARC V9 64-bit, gcc
solaris-sparcv9-cc Solaris, SPARC V9 32-bit, cc
solaris-sparcv8-cc Solaris, SPARC V8 32-bit, cc
solaris-sparc-gcc Solaris, SPARC 32-bit, gcc
solaris-x86-any Solaris, x86, gcc
sco-x86-any-gcc SCO, x86, gcc
sco-x86-any-cc SCO, x86, cc
tru64-alpha Tru64 (Digital UNIX, OSF/1), Alpha
aix-ppc32 AIX, PowerPC 32-bit
macosx-ppc32-altivec Mac OS X, PowerPC w/AltiVec (best)
macosx-ppc32 Mac OS X, PowerPC 32-bit
macosx-ppc64 Mac OS X 10.4+, PowerPC 64-bit
macosx-x86-mmx Mac OS X, x86 with MMX
hpux-pa-risc-gcc HP-UX, PA-RISC, gcc
hpux-pa-risc-cc HP-UX, PA-RISC, ANSI cc
irix-mips64-r10k IRIX, MIPS 64-bit (R10K) (best)
irix-mips64 IRIX, MIPS 64-bit
irix-mips32 IRIX, MIPS 32-bit
dos-djgpp-x86-mmx DOS, DJGPP 2.x, x86 with MMX (best)
dos-djgpp-x86-any DOS, DJGPP 2.x, x86
win32-cygwin-x86-mmx Win32, Cygwin, x86 with MMX (best)
win32-cygwin-x86-any Win32, Cygwin, x86
beos-x86-mmx BeOS, x86 with MMX
beos-x86-any BeOS, x86
generic Any other Unix-like system with gcc
Como possuo um processador Celeron compilei o programa para linux-x86-any que deve server para todos sistemas com processadores Intel ou AMD de 32 bits.
Para compilar o programa use:
Seguindo o raciocínio anterior compilei o meu assim:
Aperte enter e aguarde a compilação ela costuma não demorar mas isso varia conforme seu sistema. Ao terminar ele libera o console para digitação.
Se tudo deu certo até aqui podemos testar o programa, para isso precisamos trocar de pasta:
# cd /run
Agora vamos testar o programa usando o comando:
Ele deve retornar o seguinte:
Many salts: 117882 c/s real, 130661 c/s virtual
Only one salt: 110728 c/s real, 121389 c/s virtual
Benchmarking: BSDI DES (x725) [24/32 4K]… DONE
Many salts: 3738 c/s real, 4325 c/s virtual
Only one salt: 1538 c/s real, 3663 c/s virtual
Benchmarking: FreeBSD MD5 [32/32]… DONE
Raw: 1454 c/s real, 2881 c/s virtual
Benchmarking: OpenBSD Blowfish (x32) [32/32]… DONE
Raw: 157 c/s real, 200 c/s virtual
Benchmarking: Kerberos AFS DES [24/32 4K]… DONE
Short: 106283 c/s real, 120743 c/s virtual
Long: 195806 c/s real, 316449 c/s virtual
Benchmarking: NT LM DES [32/32 BS]… DONE
Raw: 1501K c/s real, 1817K c/s virtual
Agora que sabemos que tudo está ok você dispensar o ./john para usar somente o comando john. Para isso pode criar um link para o executável em seu pacth conforme abaixo:
(Verifique o path antes de executar esse comando)
Para usar o John, o primeiro passo é verificar a lista de palavras pré-definidas que o programa usa, quanto maior a lista mais chances o programa tem de achar a senha rapidamente.
Altere a lista usando o vi ou o seu editor de texto preferido, salve-a depois de concluir.
Agora vamos copiar o arquivo passwd e o arquivo shadow afinal não queremos parar o sistema caso algo dê erado 😀
Depois de copiados os dois vamos juntá-los para o john verificar para isso usamos o script unshadow que acompanha o john:
Então podemos rodar o john para descobrirmos as senhas no sistema:
Esse comando faz rodar o John no modo Single Crack. Executado nesse modo de operação, ele passará para o modo Wordlist e por último para o modo Incremetal. Para informações mais detalhadas sobre os modos de John, consulte o MODES, na pasta doc dentro da pasta do John the Ripper.
Ao terminar de verificar o arquivo ele deve retornar algo como:
passarinho (root)
colorado (kurumin)
guesses: 2 time: 0:00:00:00 100% (2) c/s: 14200 trying: angie – einstein
Pronto. Agora que sabemos que algumas contas do sistema foram cadastradas com senhas fáceis, podemos implementar melhorias para que o sistema não fique vulnerável. Vale a recomendação de que as senhas do sistema devem possuir pelo menos 8 caracteres e serem compostas por uma mistura de letras, números, caracteres maiúsculos e caracteres especiais. Senhas complexas são quase impossíveis de se descobrir usando esse método.
Deixe seu comentário