Raiz e minha senha são iguais

8

Se eu cat /etc/shadowconseguir 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/shadowelas aparecem como sendo seqüências criptografadas diferentes.

Por quê? Algoritmos diferentes são usados ​​para cada um?

user75027
fonte
Eu recomendaria ler isso como um bom ponto de partida. A resposta curta é que os hashes são salgados e que um hash sem sal não é nenhum hash.
Boris the Spider

Respostas:

10

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.

Sem tempo
fonte
17
Apenas para mencionar a palavra aqui: chama-se salgar o hash.
Ulrich Schwarz
1
Usuários separados não significam necessariamente IDs de usuários separados. Os IDs de usuário não têm relação com isso. A chave primária em /etc/passwd, /etc/shadowé o nome de usuário, não ID de usuário (que não é sequer mencionado em /etc/shadow).
Stéphane Chazelas
A explicação não responde bem à pergunta. O que o ID do usuário tem a ver com isso? Além disso, o URL realmente não esclarece a resposta à pergunta.
Countermode #:
@ StéphaneChazelas Não, usuários separados significam IDs de usuário separados. Pode haver várias entradas no (s) banco (s) de usuário (s) com nomes de usuário diferentes para o mesmo ID de usuário, mas todos são o mesmo usuário, compartilhando todos os contextos de segurança (propriedade do arquivo, sinais etc.) e diferindo apenas nos métodos de login ( por exemplo, senhas diferentes e conchas diferentes, mas que levam à mesma conta).
Gilles 'SO- stop be evil'
@ Gilles, eu não concordo. Você pode ter usuários diferentes com o mesmo uid, mas diferentes gid e suplementares (veja como os membros do / etc / group são referenciados por nome, não uid), diferentes parâmetros de login ... É cada vez menos comum, especialmente considerando que as coisas como sudo não funciona bem com isso.
Stéphane Chazelas
2

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)

contra-modo
fonte
0

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.

RNJ
fonte