Você está na página 1de 20

O que temos para hoje?

www.eSecurity.com.br

Menu do dia:

 Hashes
 Entendendo o que são hashes
 Principais Hashes
 Gerando Hashes Online
 Conhecendo o MD5SUM
 Testando Textos e arquivos com checksum
 Conhecendo Base64
 Comparativo entre outras Hashes
 Senhas
 Criando Wordlists
 Brinde: Lista com várias Wordlists
Hashes
www.eSecurity.com.br
Hashes
www.eSecurity.com.br

Hash é uma sequência de bits geradas por um algoritmo de dispersão, em geral


representada em base hexadecimal, que permite a visualização em letras e
números (0 a 9 e A a F), representando um nibble cada. O conceito teórico diz
que "hash é a transformação de uma grande quantidade de informações em
uma pequena quantidade de informações".
Nibble - Sucessão de quatro cifras binárias
0010 0011 1001 0100 0111 0010 1000 0011 = 8 Nibbles
Principais Hashes
www.eSecurity.com.br

MD4: Desenvolvido em 1990/91 por Ron Rivest, vários ataques foram


detectados, o que fez com que o algoritmo fosse considerado frágil.
MD5: O MD5 (Message-Digest algorithm 5) é um algoritmo de hash de 128 bits
unidirecional desenvolvido pela RSA Data Security, Inc., descrito na RFC 1321, e
muito utilizado por softwares com protocolo par-a-par (P2P, ou Peer-to-Peer, em
inglês), verificação de integridade e logins. Existem alguns métodos de ataque
divulgados para o MD5
SHA-1 (Secure Hash Algorithm): Desenvolvido pelo NIST e NSA. Já foram
exploradas falhas no SHA.
WHIRLPOOL: função criptográfica de hash desenvolvida por Paulo S. L. M. Barreto
e por Vincent Rijmen (co-autor do AES). A função foi recomendada pelo projeto
NESSIE (Europeu). Foi também adotado pelo ISO e IEC como parte do padrão
internacional ISO 10118-3.

O processo é unidirecional e impossibilita descobrir o conteúdo original a partir do


hash. O valor de conferência ("check-sum") muda se um único bit for alterado,
acrescentado ou retirado da mensagem.
Principais Hashes
www.eSecurity.com.br

Em um ataque a um banco de dados o MD5 é o mais utilizado no quesito Hash

Encriptadores Online
http://www.md5encrypter.com/
http://md5encryption.com/
http://md5-encryption.com/
http://www.getrank.org/tools/md5-encrypter/
http://www.md5online.org/md5-encrypt.html

Decriptadores Online
http://www.md5decrypter.com/
http://www.md5decrypter.co.uk/
http://www.md5online.org/
http://www.md5decrypt.org/
Principais Hashes: MD5SUM
www.eSecurity.com.br

Md5sum é um programa de computador de código aberto que permite verificar a


integridade de arquivos transmitidos por rede, como a internet, garantindo que os
dados não tenham sidos corrompidos durante a transferência.
Esta disponível também para Windows e é instalado por padrão na maioria dos
sistemas UNIX, GNU/Linux e Mac OS.

O md5sum é capaz de calcular uma soma de verificação a partir do arquivo,


criando uma "impressão digital" na forma de uma número hexadecimal usando o
algoritmo MD5.
Principais Hashes: MD5SUM
www.eSecurity.com.br

Para se executá-lo, basta digitar:


md5sum

Para gerar o hash de uma mensagem, efetuando a leitura de modo binário


usamos a opção:
md5sum –b “eSecurity”

Para gerar um hash de um arquivo, basta digitar o nome do arquivo na frente do


checksum:
md5sum teste.iso

Lembre-se que o padrão do md5sum é a opção –t (text) ao qual você poderá


escolher a opção –b (binário).
Principais Hashes: Base64
www.eSecurity.com.br

Base64 é um método para codificação de dados para transferência na Internet


(codificação MIME para transferência de conteúdo) . É utilizado frequentemente
para transmitir dados binários por meios de transmissão que lidam apenas com
texto, como por exemplo para enviar arquivos anexos por email.

É constituído por 64 caracteres ([A-Za-z0-9], "/" e "+") que deram origem ao seu
nome. O carácter "=" é utilizado como um sufixo especial e a especificação
original (RFC 989) definiu que o símbolo "*" pode ser utilizado para delimitar
dados convertidos, mas não criptografados, dentro de um stream.

A codificação Base64 é frequentemente utilizada quando existe uma necessidade


de transferência e armazenamento de dados binários para um dispositivo
designado para trabalhar com dados textuais. Esta codificação é amplamente
utilizada por aplicações em conjunto com a linguagem de marcação XML,
possibilitando o armazenamento de dados binários em forma de texto
Principais Hashes
www.eSecurity.com.br

Codificando a palavra eSecurity nas Hashes


MD4: 7dd57338cce3cbbcdf5309718ea234c7

MD5: bdbf8a7cb16b61a228fac2291921299f

SHA1: 70f1dc695fa947bd280b19e72b3f81b064858304

SHA256: d613fbd08df9abf8dcd07eb00f7987ab021c8f4f606831eb90efaa0f53932161

SHA348:
5c01905f778a8fb02e40a72f85a9a8f16b7d5d30e8fd9cd5e415de4254038d12acd467e
4c71cc834cddda207879a8c69

Whirlpool:
5eb8afe55309b6fa1ec31ff221bf3027c0966fdc1bfee82a069f6e5803c4ccd9c025571f8
e01b1a2dcfd2ad0726eeb26983468270ad7b251a7fbd3a61c6fcda5
Senhas
www.eSecurity.com.br

Senhas são talvez o elo mais fraco em qualquer sistema de segurança existente
hoje em dia. Nem sempre o administrador, que tem conhecimento de questões
relacionadas à segurança da informação, pode acompanhar o usuário e garantir
que ele faça uma escolha de senha segura.

Muitas vezes, nem mesmo quando se define regras para senhas pode-se ter 100%
de certeza que uma senha segura será a escolhida. Por exemplo, imagine que você
definiu uma regra que requer que seja escolhida uma senha de no mínimo 8
caracteres, letras maiúsculas e minúsculas e números. Se o seu usuário escolher
algo como “Pedro123″ você continuará a ter uma senha insegura.

Mas o pior lado dessa estória é que o atacante também sabe que senhas são
inseguras e muito frequentemente se aproveita desse fato para ganhar acesso
ilegal ao seu sistema. A técnica mais simples utilizada por usuários maliciosos é
o brute forcing.
Criando Wordlist
www.eSecurity.com.br
Criando WL com Crunch
www.eSecurity.com.br

Existem várias wordlists que podem ser encontradas online, como no projeto
http://wordlist.sourceforge.net mas, muitas vezes, queremos wordlists com senhas
que somente possuem números e com uma quantidade específica de caracteres.
Ex: no mínimo de 5 e máximo 8 caracteres formadas somente por números, ou
muitas vezes que comecem com uma determinada string e que seja seguida por
quatro números.
Todas essas combinações de wordlists podem ser geradas utilizando o programa
Crunch, que já vem instalado por padrão no Kali Linux.
Criando WL com Crunch
www.eSecurity.com.br

Você pode usar a seguinte string:


crunch [tam_minimo] [tam_maximo] [caracteres] wordlist.txt

crunch 4 8 0123456789 -o /tmp/numerica.txt


Crunch will now generate the following amount of data: 7650000 bytes
941 MB
0 GB
0 TB
0 PB
Crunch will now generate the following number of lines: 111110000
100%
Se você especificar a opção -o a geração da lista não será ecoada na sua tela,
geralmente enquanto está se aprendendo a utilizar o comando é bom deixar sem
a opção -o para que possa ver se o que está sendo gerado é o que realmente
deseja
Criando WL com Crunch
www.eSecurity.com.br

crunch 4 8 0123456789 -o /tmp/numerica.txt


Traduzindo o comando acima, temos a seguinte explicação:
# Crie um arquivo chamado numérica.txt com todos os números com o mínimo de 4
caracteres e o máximo de 8.

Vejamos outros exemplos:


crunch 9 9 0123456789 -t admin@@@@ -o /tmp/wordlist.admin.txt
# Crie um arquivo chamado wordlist.admin.txt, as senhas devem ter somente 9
caracteres, porém, deve-se iniciar com a palavra admin e os demais 4 caracteres
deve ser preenchido com todos os números
O Crunch entenderia isso gerando uma sequencia como o exemplo abaixo:
admin0000
admin0001
admin0002
Até...
admin9999
Criando WL com Crunch
www.eSecurity.com.br

Você também pode utilizar as variáveis (@) para fazer senhas mais complexas, por
exemplo:
@@admin@@
99@admin
Perceba que o Crunch irá preencher apenas onde encontram-se as arrobas
Vamos supor que queiramos utilizar um padrão específico de senha, ao qual é
baseado em um número de telefone celular.

(@@) 9@@@@-@@@@
Criando WL com Crunch
www.eSecurity.com.br

O Arquivo CHARSET.LST
O arquivo charset.lst tem o objetivo de facilitar a sua vida oferecendo listas de
caracteres pré-definidas, para que você não precise especificar manualmente todos os
caracteres que deseja utilizar na criação da sua wordlist.
O charset.lst oferece os seguintes conjuntos de caracteres:
• lalpha: apenas letras minúsculas;
• ualpha: apenas letras maiúsculas;
• lalpha-numeric: letras minúsculas e números;
• ualpha-numeric: letras maiúsculas e números;
• lalpha-numeric-all-space: letras minúsculas, números e caracteres especiais
incluindo espaço;
• ualpha-numeric-all-space: letras maiúsculas, números e caracteres especiais
incluindo espaço;
• mixalpha: letras minúsculas e maiúsculas;
• mixalpha-numeric-all-space: letras maiúsculas, minúsculas, números, caracteres
especiais e espaço.
Criando WL com Crunch
www.eSecurity.com.br

Um exemplo de comando a ser utilizado é:


crunch 6 8 -f charset.lst mixalpha /tmp/wordlist.charset.txt
Lembre-se que o caminho do charset.lst deve estar completo, no caso do Kali
Linux, o caminho correto é: /usr/share/crunch/charset.lst
Com este comando você irá gerar uma wordlist de no mínimo 6 caracteres, no
máximo 8 e irá utilizar o conjunto de caracteres mixalpha ( letras maíusculas e
letras minúsculas ) e o resultado será gerado no arquivo /tmp/wordlist.charset.txt,
lembrando que você também pode utilizar os “@” com o charset.lst.

Se você não definir quais caracteres deverão ser utilizados para gerar as strings, o
crunch irá assumir “abcdefghijklmnopqrstuvwxyz” como os caracteres que
participação da geração da wordlist.
Se quiser entender melhor o comando e suas opções a dica é dar uma lida no
manual do programa, basta digitar no console:

# man crunch
Brinde: Wordlists
www.eSecurity.com.br

Seguem wordlists em Português e Inglês:

Dicionário da Lingua Portuguesa retirada do BROffice:


# http://www.esecurity.com.br/blackhat2/wordlists/dicionario.txt

Dicinário: Nomes masculinos e femininos (ENG):


# http://www.esecurity.com.br/blackhat2/wordlists/female-names.txt
# http://www.esecurity.com.br/blackhat2/wordlists/male-names.txt
# http://www.esecurity.com.br/blackhat2/wordlists/other-names.txt

Dicionário com senhas comuns:


# http://www.esecurity.com.br/blackhat2/wordlists/senhas-comuns.txt

Dicionário com palavras em Português + de 120.000 palavras:


# http://www.esecurity.com.br/blackhat2/wordlists/wordlist-ptbr.txt
# http://www.esecurity.com.br/blackhat2/wordlists/wordlist70k.txt

Dicionário baseada nas contas mais comuns criadas no Linux:


# http://www.esecurity.com.br/blackhat2/wordlists/etc-hosts.txt
Chega por hoje
www.eSecurity.com.br

www.eSecurity.com.br

E-mail: alan.sanches@esecurity.com.br

Twitter: @esecuritybr e @desafiohacker

Skype: desafiohacker

Fanpage: www.facebook.com/academiahacker

Você também pode gostar