Quero criar alguns usuários Linux no meu computador para testar JohnTheRipper em relação a diferentes tipos de senha (incluindo comprimento, conjunto de caracteres e método de hash de criptografia). Como posso especificar facilmente qual algoritmo de hash usar ao criar um novo usuário? Eu sei que o arquivo /etc/login.defs contém a variável ENCRYPT_METHOD que é definida como SHA512 por padrão em muitos sistemas Debian, mas gostaria de saber se é possível usar outro hash de criptografia sem modificar este arquivo.
ps: Tentei modificar este arquivo, reiniciando e criando um novo usuário com o comando adduser mas o usuário do método hash de criptografia é sempre o SHA512
obrigado
Responder1
O método mais fácil de configurar uma senha com um método de hash não padrão é primeiro fazer o hash manual da senha e, em seguida, fornecê-la ao configurar o usuário:
adduser --password HASHEDPASSWORD user
Onde o HASHEDPASSWORD deve seguir os padrões do seu sistema para a crypt
função ( man 3 crypt
):
Se salt for uma string de caracteres começando com os caracteres "$id$" seguido por uma string terminada por
"$"
:$id$salt$encrypted
então, em vez de usar a máquina DES, id identifica o método de criptografia usado e determina como o restante da string da senha é interpretado. Os seguintes valores de id são suportados:
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)
O mesmo
$5$salt$encrypted
acontece com uma senha codificada SHA-256 e$6$salt$encrypted
uma senha codificada SHA-512.
Para gerar um hash correto a partir da linha de comando, você pode procuraraqui.
Responder2
Após alguns testes, a melhor forma de criar usuários diferentes com algoritmos de hash diferentes é composta de 3 etapas:
- Crie o usuário sem senha
- Crie a senha no formato UNIX usando parâmetros especificados (salt, senha, algoritmo de hash)
- Defina a senha UNIX gerada em /etc/shadow
Aqui está um exemplo de usuárioteste1, com senha1234emd5como função hash.
sudo adduser test1 --disabled-password sudo mkpasswd --method=md5 --salt=coolsalt 1234 $1$coolsalt$qTXiZzGn08J.xYkV1ce1y1
e agora, basta editar o/etc/sombra
Antes de editar
test1:*:16559:0:99999:7:::
Depois de editar
test1:$1$coolsalt$qTXiZzGn08J.xYkV1ce1y1:16559:0:99999:7:::
Depois, você pode tentar fazer o login com este usuário para verificar se o formato está correto.
whoami root su test1 Password: 1234 whoami test1
Obrigado pela ajuda