/ etc / shadow no formato antigo, onde o sal é armazenado?

3

Em / etc / shadow, tenho entradas como admin:YtChlvAGYzva2:16318:0:99999:7::: . Eu sei a senha original e gostaria de gerar o mesmo hash de alguma forma. No entanto, executar openssl passwd -crypt password me dá resultados diferentes toda vez que eu o executo. Eu presumo que sal esteja envolvido, então onde posso encontrar o sal usado para criar o hash original?

Editar: recebi o hash original usando o seguinte comando:

openssl passwd -crypt -salt Yu password
    
por JohnEye 06.10.2014 / 21:50

1 resposta

6

O sal e a senha criptografada são ambos purificados na string YtChlvAGYzva2.

A partir do Howto de senha para sombra :

When a user picks or is assigned a password, it is encoded with a randomly generated value called the salt. This means that any particular password could be stored in 4096 different ways. The salt value is then stored with the encoded password.

When a user logs in and supplies a password, the salt is first retrieved from the stored encoded password.

As seqüências de senha mais longas que você vê nos sistemas modernos separam o hash usando $ . Mas para os sistemas mais antigos, foi apenas amassada ( Wikipedia ):

Earlier versions of Unix used a password file (/etc/passwd) to store the hashes of salted passwords (passwords prefixed with two-character random salts). In these older versions of Unix, the salt was also stored in the passwd file (as cleartext) together with the hash of the salted password.

No seu exemplo, acredito que o sal é "Yt" e a senha criptografada é "ChlvAGYzva2". São literalmente os dois primeiros caracteres da string.

    
por 06.10.2014 / 22:02

Tags