hashdeep com sha1 e sha1sum criam resultados diferentes

0

Calculei um hash sha1 do arquivo '/ etc / mtab' com hashdeep no Ubuntu 16.04. Então calculei um hash sha1 do mesmo arquivo com sha1sum. E eu tenho um hash diferente!

Ao calcular hashes para outros arquivos, ambos os programas parecem criar o mesmo hash. Finalmente, copiei o arquivo para outro computador e executei os dois programas lá. No segundo computador, ambos calcularam o mesmo hash que foi calculado no primeiro computador por sha1sum. Por fim, verifiquei o arquivo '/ etc / mtab' no segundo computador, não o copiado, com hashdeep e sha1sum e também obtive resultados diferentes novamente.

O mesmo vale para o sha256 ao usar o hashdeep e o sha256sum.

Estou chamando hashdeep -c sha256 /etc/mtab e sha256sum /etc/mtab

Alguém sabe como isso pode acontecer? Existe uma implementação de cache para o hashdeep, portanto, os hashes mais antigos são armazenados?

    
por server 16.09.2017 / 18:21

1 resposta

0

Eu apenas corri isso no meu sistema e tudo correu bem, foram os meus resultados:

Ran: hashdeep -c sha256 Xwrapper.config

%%%% HASHDEEP-1.0
%%%% size,sha256,filename
## Invoked from: /home/george/Documents/askubuntu
## $ hashdeep -c sha256 Xwrapper.config
## 
630,c53eb030a8f9a2f7c08dd04e3611c9470f840d90d1261ef3e6643b1d1aff8608,/home/george/Documents/askubuntu/Xwrapper.config

Ran: sha256sum Xwrapper.config

c53eb030a8f9a2f7c08dd04e3611c9470f840d90d1261ef3e6643b1d1aff8608  Xwrapper.config

Ok, vamos explicar da melhor maneira possível, depois de verificar várias coisas, vejo como hashdeep e sha256sum ver symbolic links . Quando eu faço stat /etc/mtab , vejo que o tamanho é 19 , mas quando eu corro (com a opção de link l ,):

 hashdeep -o l /etc/mtab

Ele não retorna nada, mas se eu fizer isso:

 hashdeep -o f /atc/mtab

Ele retorna o hash abaixo, mas observe que o tamanho é 0 diferente do que stat /ec/mtab forneceu anteriormente:

 %%%% HASHDEEP-1.0
 %%%% size,md5,sha256,filename
 ## Invoked from: /etc
 ## $ hashdeep -o lf /etc/mtab
 ## 0,d41d8cd98f00b204e9800998ecf8427e,e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855,/etc/mtab

Ele vê o arquivo como arquivo normal desde que usei a opção f e, portanto, relata ou calcula o sha256 de um arquivo vazio, enquanto o sha256sum o vê como symbolic link e de tamanho 19 . Então, basta colocar quando o arquivo é um arquivo normal, dá resultados semelhantes, mas não quando um link .

Observe que esse arquivo é um link para proc/self/mounts , que hashdeep ainda vê como 0 em tamanho, mas é visto por stat como 19 size, então hashdeep segue esse link, mas não parece para poder ler o conteúdo ou ver o conteúdo desse arquivo. No entanto, ele vê o /etc/vtrgb como um arquivo não vazio, então acho que /etc/mtab link para /proc/self/mounts importa.

Ele fica ainda mais interessante e confirma minha suspeita sobre /etc/mtab link para /proc/self/mounts enquanto eu corria isso em outro link hashdeep /etc/vtrgb :

%%%% HASHDEEP-1.0
%%%% size,md5,sha256,filename
## Invoked from: /etc
## $ hashdeep /etc/vtrgb
## 158,1fb3c13c4fcfa8cc4131aba905df559e,684cd905549f78e025870dd5c8a3835e49f79f2bb08952eb7424537f6df5fa13,/etc/vtrgb

Como você notará, o tamanho não é zero como foi o caso de /etc/mtab e em execução:

 sha256sum /etc/vtrgb

Retorna o mesmo checksum :

 684cd905549f78e025870dd5c8a3835e49f79f2bb08952eb7424537f6df5fa13  /etc/vtrgb

Outras investigações mostram que hashdeep retorna o mesmo hash

0,d41d8cd98f00b204e9800998ecf8427e,e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855

para todos os arquivos e diretório em /proc/ , que na verdade é um pseudo filesystem , portanto, suas informações são armazenadas na memória e não no disco. Considerando que sha256sum não, mas retorna diferentes checksum para esses mesmos arquivos.

    
por George Udosen 16.09.2017 / 19:17