Como encontrar o algoritmo de hash usado para ofuscar as senhas?

8

Eu tenho a senha de trabalho e consigo ver o hash (/ etc / passwd). Como faço para encontrar o algoritmo de hash usado para hash a senha, sem tentar manualmente diferentes algoritmos até encontrar uma correspondência?

    
por Dorin Botan 14.03.2018 / 11:44

1 resposta

23

Isso está documentado na mana crypt(3) , que você pode encontrar via página de manual do shadow(5) , ou passwd(5) 's . Esses links são apropriados para sistemas modernos baseados em Linux; a descrição lá é:

If salt is a character string starting with the characters "$id$" followed by a string optionally terminated by "$", then the result has the form:

$id$salt$encrypted

id identifies the encryption method used instead of DES and this then determines how the rest of the password string is interpreted. The following values of id are supported:

ID  | Method
─────────────────────────────────────────────────────────
1   | MD5
2a  | Blowfish (not in mainline glibc; added in some
    | Linux distributions)
5   | SHA-256 (since glibc 2.7)
6   | SHA-512 (since glibc 2.7)

Portanto, se uma senha com hash estiver armazenada no formato acima, você poderá encontrar o algoritmo usado observando o id ; caso contrário, é o algoritmo DES padrão de crypt .

Outras plataformas suportam outros algoritmos, portanto, verifique a% man_de% manpage lá. Por exemplo, O crypt do OpenBSD suporta o DES (que é o padrão desde o Unix V7) e o Blowfish, que ele identifica usando o id “2b”.

    
por 14.03.2018 / 11:57