Boa noite a todos.
Vou postar um tutorial a respeito do software john the ripper, que serve para verificar a eficacia das senhas.
O ponto mais crucial dentro de um sistema e a qualidade das senhas de seus usuarios, pois muitas vezes sao criadas
por pessoas que nao tem o conhecimento necessaria para isso e criam senhas muito frageis, facilmente descobertas
em menos de 10 minutos. Para tal coisa nao acontecer, deve-se treinar os usuarios do sistema para que criem senhas
fortes e nao cometam erros para que terceiros nao a descubram por engenharia social.
Sabendo disso, vou apresentar o programa John The Ripper, para que facam teste nas senhas dos usuarios de seus sistemas,
e, para quem nao tem sistema para cuidar aumentar o conhecimento, que nunca e demais.
John The Ripper:
Software livre que consegue identificar automaticamente qual é o algoritmo de criptografia que foi utilizado para cifrar as senhas presentes no arquivo que você indicou para ele. Ele também possui uma versão paga, porém a versão livre não deixa nada a desejar.
Vou focar na sua versao livre neste artigo.
Ele e um software multiplataforma, podendo ser executado em vários sistemas Unix-like, Windows, DOS, BeOS e OpenVMS.
É desenvolvido pelo pessoal do projeto OpenWall, que além do JtR possuem vários outros ótimos softwares e até uma distribuição Linux,
a OpenWall GNU/Linux (ou Owl). O site do projeto é Apenas usuários registrados e ativados podem ver os links., Clique aqui para se cadastrar....
Instalacao:
Baixe o software para a plataforma desejava: (neste tutorial estou utilizando uma disatribuicao debian)
Apenas usuários registrados e ativados podem ver os links., Clique aqui para se cadastrar...
Feito isso, de os seguintes comandos:
// Extracao do arquivo
$ tar xzvf john-1.7.0.2.tar.gz
// Abrindo a pasta criada
$ cd john-1.7.0.2
// Dentro da pasta, existira um diretorio chamado src, vamos abri-lo
// Dentro dele estao os fontes do programa para compila-lo
$ cd src/
// Neste comando, digite make e escolha a melhor opcao para vc
// Na minha maquina, o X86 e a melhor opcao para mim
// Este comando ira melhorar o desempenho do programa
$ make clean linux-x86-mmx
//os binarios resultantes da compilacao, vao para o diretorio run, vamos acessa-lo
$ cd ../run
// Verifique se ocorrera erro ou se o programa foi devidamente instalado
$ ./john --test
// Faca o teste de benchmarking com todos os algoritmos de criptografia que o JtR suporta
// Sao eles DES, BSDI, MD5, BF, AFS e LM.
$ ./john --test --format= formato que você quer testar
//exemplo
$ ./john --test --format= MD5
Configuracao:
Toda a configuração do John é feita em um arquivo texto chamado john.conf em sistemas Unix ou john.ini no Windows
Basta abri-lo e modificar as regras como desejado.
Atente-se ao fato dele ser case sensitive
Utilizacao:
O John the Ripper possui três modos de operação:
* Dicionário (Wordlist): sendo o modo mais simples suportado pelo programa, este é o conhecido ataque de dicionário, que lê as palavras de um arquivo e verifica se são correspondentes entre si.
* Quebra Simples (Single Crack): mais indicado para início de uma quebra e mais rápido que o wordlist, este modo usa técnicas de mangling e mais informações do usuário pelo nome completo e diretório /home em combinação, para achar a senha mais rapidamente.
* Incremental: sendo o modo mais robusto no John the Ripper, ele tentará cada caractere possível até achar a senha correta, e por esse motivo é indicado o uso de parâmetros com o intuito de reduzir o tempo de quebra.
* Externo (External): o modo mais complexo do programa que faz a quebra a partir de regras definidas em programação no arquivo de configuração do programa, que irá pré-processar as funções no arquivo no ato da quebra quando usar o programa na linha de comando e executá-las. Este modo é mais completo e necessita de tempo para aprender e acostumar-se.
Aqui vou mostrar apenas o uso básico do John:
Nos exemplos que vou mostrar abaixo, utilize o /etc/passwd e o /etc/shadow da sua máquina.
Junte estes arquivos utilizando o script unshadow.
Também vale lembrar que, se você vai quebrar senhas Windows (LM ou NTLM), você vai precisar de uma ferramenta que faça dumps de hashes destes tipos de senhas.
// Para deixar o servico todo para o software. Comecara com o single crack, depois o wordlist, logo apos o incremental
$ ./john senhas.txt
// Tentar quebra a senha de mais de um arquivo ao mesmo tempo no modo single
$ ./john --single arquivo_com_senhas1.txt arquivo_com_senhas2.txt
// Para especificar o algoritmo a ser usado:
$ ./john --show --format=MD5 --single arquivo_com_senhas.txt
Algumas opcoes do john the ripper que podem ser utilizadas. Basta digitar o comando ./john dentro do diretorio run
--single "single crack" mode
--wordlist=FILE --stdin wordlist mode, read words from FILE or stdin
--rules enable word mangling rules for wordlist mode
--incremental[=MODE] "incremental" mode [using section MODE]
--external=MODE external mode or word filter
--stdout[=LENGTH] just output candidate passwords [cut at LENGTH]
--restore[=NAME] restore an interrupted session [called NAME]
--session=NAME give a new session the NAME
--status[=NAME] print status of a session [called NAME]
--make-charset=FILE make a charset, FILE will be overwritten
--show show cracked passwords
--test[=TIME] run tests and benchmarks for TIME seconds each
--users=[-]LOGIN|UID[,..] [do not] load this (these) user(s) only
--groups=[-]GID[,..] load users [not] of this (these) group(s) only
--shells=[-]SHELL[,..] load users with[out] this (these) shell(s) only
--salts=[-]COUNT load salts with[out] at least COUNT passwords only
--format=NAME force hash type NAME: DES/BSDI/MD5/BF/AFS/LM
--save-memory=LEVEL enable memory saving, at LEVEL 1..3
Escolhido o modo como vai tentar quebrar a senha, seja ele single, wordlist, incremental ou external, maos a obra e brinque de cracker.
Espero que tenha ajudado alguem.
Qualquer duvida postem no site que tentarei sanar qualquer duvida.
Abraco a todos.
Creditos do tutorial para as aulas de seguranca.
(SegComp2010/1 - UFLA - Prof. Joaquim Quintera Uchoa)
Vou postar um tutorial a respeito do software john the ripper, que serve para verificar a eficacia das senhas.
O ponto mais crucial dentro de um sistema e a qualidade das senhas de seus usuarios, pois muitas vezes sao criadas
por pessoas que nao tem o conhecimento necessaria para isso e criam senhas muito frageis, facilmente descobertas
em menos de 10 minutos. Para tal coisa nao acontecer, deve-se treinar os usuarios do sistema para que criem senhas
fortes e nao cometam erros para que terceiros nao a descubram por engenharia social.
Sabendo disso, vou apresentar o programa John The Ripper, para que facam teste nas senhas dos usuarios de seus sistemas,
e, para quem nao tem sistema para cuidar aumentar o conhecimento, que nunca e demais.
John The Ripper:
Software livre que consegue identificar automaticamente qual é o algoritmo de criptografia que foi utilizado para cifrar as senhas presentes no arquivo que você indicou para ele. Ele também possui uma versão paga, porém a versão livre não deixa nada a desejar.
Vou focar na sua versao livre neste artigo.
Ele e um software multiplataforma, podendo ser executado em vários sistemas Unix-like, Windows, DOS, BeOS e OpenVMS.
É desenvolvido pelo pessoal do projeto OpenWall, que além do JtR possuem vários outros ótimos softwares e até uma distribuição Linux,
a OpenWall GNU/Linux (ou Owl). O site do projeto é Apenas usuários registrados e ativados podem ver os links., Clique aqui para se cadastrar....
Instalacao:
Baixe o software para a plataforma desejava: (neste tutorial estou utilizando uma disatribuicao debian)
Apenas usuários registrados e ativados podem ver os links., Clique aqui para se cadastrar...
Feito isso, de os seguintes comandos:
// Extracao do arquivo
$ tar xzvf john-1.7.0.2.tar.gz
// Abrindo a pasta criada
$ cd john-1.7.0.2
// Dentro da pasta, existira um diretorio chamado src, vamos abri-lo
// Dentro dele estao os fontes do programa para compila-lo
$ cd src/
// Neste comando, digite make e escolha a melhor opcao para vc
// Na minha maquina, o X86 e a melhor opcao para mim
// Este comando ira melhorar o desempenho do programa
$ make clean linux-x86-mmx
//os binarios resultantes da compilacao, vao para o diretorio run, vamos acessa-lo
$ cd ../run
// Verifique se ocorrera erro ou se o programa foi devidamente instalado
$ ./john --test
// Faca o teste de benchmarking com todos os algoritmos de criptografia que o JtR suporta
// Sao eles DES, BSDI, MD5, BF, AFS e LM.
$ ./john --test --format= formato que você quer testar
//exemplo
$ ./john --test --format= MD5
Configuracao:
Toda a configuração do John é feita em um arquivo texto chamado john.conf em sistemas Unix ou john.ini no Windows
Basta abri-lo e modificar as regras como desejado.
Atente-se ao fato dele ser case sensitive
Utilizacao:
O John the Ripper possui três modos de operação:
* Dicionário (Wordlist): sendo o modo mais simples suportado pelo programa, este é o conhecido ataque de dicionário, que lê as palavras de um arquivo e verifica se são correspondentes entre si.
* Quebra Simples (Single Crack): mais indicado para início de uma quebra e mais rápido que o wordlist, este modo usa técnicas de mangling e mais informações do usuário pelo nome completo e diretório /home em combinação, para achar a senha mais rapidamente.
* Incremental: sendo o modo mais robusto no John the Ripper, ele tentará cada caractere possível até achar a senha correta, e por esse motivo é indicado o uso de parâmetros com o intuito de reduzir o tempo de quebra.
* Externo (External): o modo mais complexo do programa que faz a quebra a partir de regras definidas em programação no arquivo de configuração do programa, que irá pré-processar as funções no arquivo no ato da quebra quando usar o programa na linha de comando e executá-las. Este modo é mais completo e necessita de tempo para aprender e acostumar-se.
Aqui vou mostrar apenas o uso básico do John:
Nos exemplos que vou mostrar abaixo, utilize o /etc/passwd e o /etc/shadow da sua máquina.
Junte estes arquivos utilizando o script unshadow.
Também vale lembrar que, se você vai quebrar senhas Windows (LM ou NTLM), você vai precisar de uma ferramenta que faça dumps de hashes destes tipos de senhas.
// Para deixar o servico todo para o software. Comecara com o single crack, depois o wordlist, logo apos o incremental
$ ./john senhas.txt
// Tentar quebra a senha de mais de um arquivo ao mesmo tempo no modo single
$ ./john --single arquivo_com_senhas1.txt arquivo_com_senhas2.txt
// Para especificar o algoritmo a ser usado:
$ ./john --show --format=MD5 --single arquivo_com_senhas.txt
Algumas opcoes do john the ripper que podem ser utilizadas. Basta digitar o comando ./john dentro do diretorio run
--single "single crack" mode
--wordlist=FILE --stdin wordlist mode, read words from FILE or stdin
--rules enable word mangling rules for wordlist mode
--incremental[=MODE] "incremental" mode [using section MODE]
--external=MODE external mode or word filter
--stdout[=LENGTH] just output candidate passwords [cut at LENGTH]
--restore[=NAME] restore an interrupted session [called NAME]
--session=NAME give a new session the NAME
--status[=NAME] print status of a session [called NAME]
--make-charset=FILE make a charset, FILE will be overwritten
--show show cracked passwords
--test[=TIME] run tests and benchmarks for TIME seconds each
--users=[-]LOGIN|UID[,..] [do not] load this (these) user(s) only
--groups=[-]GID[,..] load users [not] of this (these) group(s) only
--shells=[-]SHELL[,..] load users with[out] this (these) shell(s) only
--salts=[-]COUNT load salts with[out] at least COUNT passwords only
--format=NAME force hash type NAME: DES/BSDI/MD5/BF/AFS/LM
--save-memory=LEVEL enable memory saving, at LEVEL 1..3
Escolhido o modo como vai tentar quebrar a senha, seja ele single, wordlist, incremental ou external, maos a obra e brinque de cracker.
Espero que tenha ajudado alguem.
Qualquer duvida postem no site que tentarei sanar qualquer duvida.
Abraco a todos.
Creditos do tutorial para as aulas de seguranca.
(SegComp2010/1 - UFLA - Prof. Joaquim Quintera Uchoa)
Comment