terça-feira, 20 de outubro de 2015

Gerando suas Wordlists com Crunch



Uma coisa que tem me incomodado nesse pouco tempo de Blogger e atuante na área de segurança da informação são pessoas que não possuem nem um pouco de força de vontade e ficam mendigando Wordlists. Perdi a conta de quantas vezes me pediram Wordlists para efetuar Bruteforces e etc.
Não é comum, nem ético compartilhar Wordlists com os demais. Ao meu ver, isso vai além do ato de "compartilhar conhecimento" e passa a ser "passar um arquivo com possíveis senhas que podem ser utilizadas contra as pessoas".

Bom, matando esse problema, estarei realizando uma demonstração de como gerar suas próprias Wordlists com Crunch.

A utilização do Crunch é bem simples, o que complica é que determinadas combinações podem gerar wordlists de Petabytes de tamanho.

Vamos realizar um estudo simples com a sintaxe:

 # crunch <min> <max> <caracteres>

 # crunch 5 5 12345 


Neste exemplo iremos gerar combinações de mínimo 5 caracteres, máximo 5 caracteres combinados entre os números 12345


root@fidelis:/home/matheus# crunch 5 5 12345
Crunch will now generate the following amount of data: 18750 bytes
0 MB
0 GB
0 TB
0 PB
Crunch will now generate the following number of lines: 3125 
11111
11112
11113
11114
11115
11121
11122
...




Agora vamos realizar o mesmo exemplo mandando todo o conteúdo gerado para um arquivo chamado 5pin.txt com a opção -o

 # crunch 5 5 12345 -o 5pin.txt

É Importante entender o tamanho da Wordlist em bytes em grande escala. Se colocarmos todos os caracteres latino americanos no crunch e gerar passwords simples de 8 caracteres.

 # crunch 8 8 !@#$%abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ1234567890

root@fidelis:/home/matheus# crunch 8 8 abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ1234567890
Crunch will now generate the following amount of data: 1965060950264064 bytes
1874028158 MB
1830105 GB
1787 TB
1 PB
Crunch will now generate the following number of lines: 218340105584896 
aaaaaaaa
aaaaaaab
aaaaaaac
aaaaaaad
aaaaaaae
aaaaaaaf
aaaaaaag

Note que só com letras e números, sem caracteres especiais e gerando passwords simples de 8 caracteres ocuparíamos 1 PT de memória em disco, fora o processamento.

Em um outro cenário, vamos supor que você saiba os primeiros 5 caracteres de uma senha de 8.
Podemos repetir o mesmo exemplo classificando as letras que você não quer que mude as colocando em modo estático e deixando ele gerar as combinações com as restantes. Assim diminuindo o tamanho vivo de nossa Wordlist.


 # crunch 8 8 abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ -t nanos@@@

root@fidelis:/home/matheus# crunch 8 8 abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ -t nanos@@@

Crunch will now generate the following amount of data: 1265472 bytes

1 MB
0 GB
0 TB
0 PB

Crunch will now generate the following number of lines: 140608 

nanosaaa
nanosaab
nanosaac
nanosaad
nanosaae


SOBRE O AUTOR

Matheus Fidelis

http://msfidelis.github.io/

Power Ranger, Piloto de Helicópteros e Astronauta da NASA. Desenvolvedor Web PHP com foco em Backend e POO, Linux SysAdmin DevOps e Entusiasta Python. Criou esse site pra contribuir com a comunidade com coisas que aprende dentro de um setor maluco de TI :)

1 comentários:

  1. esse negocio de wordlists genéricas são perda de tempo. São BILHÕES de combinações que demorariam ANOS para serem testadas.

    Isso tem que ser feito de forma inteligente. Veja isso:

    https://youtu.be/qT_Zqe_E_QE

    ResponderExcluir

 
Nanoshots | Open Source Security, Linux e Tutoriais © 2015 - Designed by Templateism.com