O que é hash?

Posted: 15 março 2011 by Bhior in Marcadores: ,
12


Obs: Tentei encontrar uma imagem semelhante a explicação... :D

O que é Hash?

Um hash (ou escrutínio) é 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 1/2 byte 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".

Essa sequência busca identificar um arquivo ou informação unicamente. Por exemplo, uma mensagem de correio eletrônico, uma senha, uma chave criptográfica ou mesmo um arquivo. É um método para transformar dados de tal forma que o resultado seja (quase) exclusivo. Além disso, funções usadas em criptografia garantem que não é possível a partir de um valor de hash retornar à informação original.

Como a sequência do hash é limitada, muitas vezes não passando de 512 bits, existem colisões (sequências iguais para dados diferentes). Quanto maior for a dificuldade de se criar colisões intencionais, melhor é o algoritmo.

Uma função de hash recebe um valor de um determinado tipo e retorna um código para ele. Enquanto o ideal seria gerar identificadores únicos para os valores de entrada, isso normalmente não é possível: na maioria dos casos, o contra-domínio de nossa função é muito menor do que o seu domínio, ou seja, x (o tipo de entrada) pode assumir uma gama muito maior de valores do que hash (x) (o resultado da função de hash).
Fonte: http://pt.wikipedia.org/wiki/Hash

Explicando um pouco a função Hash?

Como descrito acima, você pode ter uma noção do que e uma hash, mas muitos acreditam que as hashes podem ser decifradas, bem, isso e um equivoco comum, elas são geradas por algorítimo hash criptografo, o algoritmo que criou elas não podem ser revertidas para determinar a senha em texto simples.
Essa procedimento utilizados por computadores, e uma forma de evitar que as senhas sejam armazenas em texto puro na memoria, ao invés, quando uma senha e inserida (Ex: numa tela de login) um algoritmo hash cria um resultado da senha fornecida, e em seguida a saída hash e comparada com a hash para esse usuario que esta armazenado na memoria. Se os dois hashes não coincidirem, o usuario e autenticado, se os dois hashes não são os mesmo as senhas não combinam e o usuario tem acesso negado.

Tipos de hashes e como identificá-los

MD5 - O hash mais comuns que você vai encontrar na natureza é um hash MD5
(Message-Digest algorithm).

Esses hashes são facilmente identificados pelos seguintes fatores:
- Eles estão sempre 32 caracteres de comprimento (128 bits)
- Eles são sempre hexadecimal (Utilize apenas caracteres 0-9 e A-F)

Exemplo - f5d1278e8109edd94e1e4197e04873b9

Se o hash quebra uma dessas regras não é MD5.

SHA1 - Ainda usado com frequência na internet e faz parte de uma grande família de Secure Hash Algorithms.

Esses hashes são facilmente identificados pelos seguintes fatores:
- Eles estão sempre 40 caracteres de comprimento (160 bits)
- Eles são sempre hexadecimal (Utilize apenas caracteres 0-9 e A-F)

Exemplo - ab4d8d2a5f480a137067da17100271cd176607a1

Se o hash quebra uma dessas regras  não é SHA1.

MySQL 4.1 - Estes não são usados ​​com muita frequência, mas ainda surgem em muitas vezes porque as pessoas não têm ideia do que fazer com eles, eles são usados ​​em versões mais antigas do Mysql.

Esses hashes são facilmente identificados pelos seguintes fatores:
- Eles estão sempre 16 caracteres (64 bits)
- Eles são sempre hexadecimal (Utilize apenas caracteres 0-9 e A-F)

Se o hash quebra uma dessas regras não é MYSQL 4.1.

Exemplo- 606727496645bcba

MYSQL5 - usado em versões mais novas do MySQL para armazenar senhas de usuários de banco de dados.

Esses hashes são facilmente identificados pelos seguintes fatores:
- Eles estão sempre 41 caracteres de comprimento
- Eles são sempre capitalizados
- Eles sempre começam com um asterisco

Se o hash quebra uma dessas regras não é MYSQL5.

Exemplo: *C8EB599B8E8EE7BE9F1A5691B7BC9ECCB8DE1C75

MD5 (Wordpress) - palavra usada em sites de imprensa dirigida, um dos hashes mais comumente confundidos em HF.

Estes Hashes são facilmente identificados pelos seguintes fatores:
- Eles sempre começam com $P$
- Eles estão sempre alfa caso variável numérica (0-9 a-z A-Z)
- Eles estão sempre 32 caracteres

Se o hash quebra uma dessas regras não é MD5(Wordpress).

Exemplo - $P$9QGUsR07ob2qNMbmSCRh3Moi6ehJZR1

MD5 (phpBB3) - Usado em fóruns PHPBB, outro hash comumente identificados.

Estes Hashes são facilmente identificados pelos seguintes fatores:
- Eles sempre começam com $H$
- Eles estão sempre alfa caso variável numérica (0-9 a-z A-Z)
- O sempre são 32 caracteres

Se o hash quebra uma dessas regras não é MD5(phpBB).

Exemplo - $H$7zrZa3mV3zwqTk0DCZc/89nm2GHR6R
                                   _____________
          _____________//

Dicas e sugestões reporte abaixo ou mandem por e-mail (blogdobhior@gmail.com) - Greatz raven1959

12 comentários:

  1. XxX.4LPH4.XxX says:

    Bela explicação, hoje md5 criptografia bem complexa para ser decifrada mesmo assim poucos ainda conseguem fazer disso um simples joguinho facil de se resolver.

  1. Bom texto negritude .. ;D

    vou catar pode? aihaihaih

    bjuu ..

  1. Bhior says:

    @unn4,

    Você que manda meu camarada... :p

    Abraços

  1. Anônimo says:

    o bhior vlw ai, poh faz mais aulas de pentest :] adorei as aula que voce fez.

  1. m4g0 says:

    Exclareceu muita coisa..bom mesmo..
    Vlxx

  1. Eae tudo certo Bhior, vc sabe se tem essa skin do seu blog para wordpress ou você que fez?
    Outra questão alguem sabe como coloco wallpaper no fundo do MSDOS e do Putty no Win? isso é simples nas versões Unix ;~~
    Gostei da sua info sobre hash seus assuntos podem ser replicados com fonte?

  1. Bhior says:

    Ola Gustavo Franco,

    Tudo tranquilo! e contigo?
    Não foi eu que fez, ja peguei dessa forma.

    Sobre o wallpaper, creio que isso não e possível, pois o DOS foi desenvolvido antes do sistema operacional gráfico, então, ele não suporta imagens.

    R= Sim.

    Abraços

  1. Cara muito boa essa matéria.
    Bem simples de fácil compreensão, explicou as hash mais comuns usadas hoje em dia, seus parâmetros e como identifica-las, muito bom.
    Ultimamente ando queimando meus neorônios encima disso, para achar meios de sempre tirar minhas ferramentas dos AV's.

    Um abraço.

  1. Anônimo says:

    o tamanho é de 32 caracteres e não 34.

  1. Bhior says:

    Equivoco corrigido!

    Obriado

  1. kra eu gostei muito do seu post.
    Tenho uma hash de 32 caracteres hexadecimais o qual nao tem em nenhum data base. Tentei varias formas de " quebrar", usei o ravan, cain e abel, backtrack 5, passwordpro ( recomendo ) e banco de dados na web para achar a hash, mas nada. Tem alguma sugestão ai ?