Se eu cat /etc/shadow
conseguir obter as senhas criptografadas do root e do meu usuário.
Essas senhas são as mesmas (eu sei, segurança ruim) para cada conta, mas /etc/shadow
elas aparecem como sendo seqüências criptografadas diferentes.
Por quê? Algoritmos diferentes são usados para cada um?
Respostas:
Usuários separados significa um ID de usuário separado e, portanto, hashes separados serão envolvidos com o algoritmo.
Mesmo um usuário com o mesmo nome, mesma senha e criado ao mesmo tempo (com quase certa probabilidade) terminará com um hash diferente. Existem outros fatores que ajudam a criar a criptografia.
Se você quiser ver um exemplo rápido aqui, ele pode ser melhor explicado.
fonte
/etc/passwd
,/etc/shadow
é o nome de usuário, não ID de usuário (que não é sequer mencionado em/etc/shadow
).O algoritmo é o mesmo. Os modernos conjuntos de sombra usam módulos de autenticação conectáveis (PAM), e o PAM permite configurar um algoritmo de hash. É tudo uma questão de "salgar", o que significa selecionar aleatoriamente a senha para dar o efeito que você está perguntando.
Salgar é uma contra-medida para ataques de dicionário, em que um invasor com um dicionário de pares conhecidos de senha / hash tenta descobrir se o valor de hash fornecido para uma senha desconhecida corresponde ao valor de hash para uma das senhas conhecidas.
A salga impede que, como um valor de sal diferente leve a um valor de hash diferente, não importando que a senha seja igual. (No entanto, é uma prática ruim, mas por outras razões.) Para que o ataque ao dicionário seja bem-sucedido, o atacante agora precisa ter dicionários para todos os valores possíveis de sal. Um sal verdadeiramente aleatório de tamanho suficiente tornará insignificante a probabilidade de sucesso de um ataque desse tipo.
Leitura sugerida: como as senhas são armazenadas no Linux (Noções básicas sobre hash com shadow utils)
fonte
No arquivo de sombra, você verá um número entre $$ (digamos $ 1 $ ou algo parecido). Indica qual algoritmo de hash é usado por sua máquina. Identifique o algoritmo e veja como ele funciona. Por exemplo, $ 6 $ é SHA 512, que é projetado de tal maneira que, mesmo que duas pessoas tenham a mesma senha, o resumo de hash da senha será diferente.
fonte