Como definir o hash de criptografia ao criar um usuário Linux? [fechadas]

1

Eu quero criar alguns usuários de Linux no meu computador para testar o JohnTheRipper contra diferentes tipos de senha (incluindo o método hash de comprimento, charset e criptografia). Como posso especificar facilmente qual algoritmo de hashing 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 eu sei se é possível usar outro hash de criptografia sem modificar este arquivo.

ps: Eu tentei modificar este arquivo, reinicializar e criar um novo usuário com o comando adduser, mas o usuário do método hash de criptografia é sempre o SHA512

obrigado

    
por Cyrill Gremaud 04.05.2015 / 08:23

2 respostas

4

O método mais fácil de configurar uma senha com um método de hashing não padrão é o de fazer o hash manualmente da senha e depois fornecer a senha ao configurar o usuário:

 adduser --password HASHEDPASSWORD user

Onde o HASHEDPASSWORD deve seguir os padrões do seu sistema para a função crypt ( man 3 crypt ):

If salt is a character string starting with the characters "$id$" followed by a string terminated by "$":

         $id$salt$encrypted

then instead of using the DES machine, id identifies the encryption method used and this then determines how the rest of the password string is interpreted. The following values of id are supported:

          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)

So $5$salt$encrypted is an SHA-256 encoded password and $6$salt$encrypted is an SHA-512 encoded one.

Para gerar um hash correto a partir da linha de comando, você pode procurar aqui .

    
por 04.05.2015 / 08:54
0

Após alguns testes, a melhor maneira de criar diferentes usuários com diferentes algoritmos de hash é composta por três etapas:

  1. Crie o usuário sem senha
  2. Crie a senha do formato UNIX usando parâmetros especificados (salt, senha, algoritmo de hashing)
  3. Defina a senha do UNIX gerada em / etc / shadow

Aqui, um exemplo de um usuário test1 , com a senha 1234 e md5 como função de hashing.

sudo adduser test1 --disabled-password sudo mkpasswd --method=md5 --salt=coolsalt 1234 $1$coolsalt$qTXiZzGn08J.xYkV1ce1y1

e agora, basta editar o / etc / shadow

Antes de editar test1:*:16559:0:99999:7:::

Depois de editar test1:$1$coolsalt$qTXiZzGn08J.xYkV1ce1y1:16559:0:99999:7:::

Depois, você pode tentar entrar com este usuário para verificar se o formato está correto.

whoami root su test1 Password: 1234 whoami test1

Obrigado pela ajuda

    
por 04.05.2015 / 10:27