Quiero crear algunos usuarios de Linux en mi computadora para probar JohnTheRipper con diferentes tipos de contraseñas (incluida la longitud, el conjunto de caracteres y el método hash de cifrado). ¿Cómo puedo especificar fácilmente qué algoritmo hash utilizar al crear un nuevo usuario? Sé que el archivo /etc/login.defs contiene la variable ENCRYPT_METHOD que está configurada en SHA512 de forma predeterminada en muchos sistemas Debian, pero sabría si es posible utilizar otro hash de cifrado sin modificar este archivo.
ps: intenté modificar este archivo, reiniciar y crear un nuevo usuario con el comando adduser pero el usuario del método hash de cifrado es siempre el SHA512
gracias
Respuesta1
El método más sencillo para configurar una contraseña con un método de hash no predeterminado es hacer hash manualmente la contraseña primero y luego proporcionar esa contraseña al configurar el usuario:
adduser --password HASHEDPASSWORD user
Donde HASHEDPASSWORD debe seguir los estándares de su sistema para la crypt
función ( man 3 crypt
):
Si salt es una cadena de caracteres que comienza con los caracteres "$id$" seguidos de una cadena terminada en
"$"
:$id$salt$encrypted
luego, en lugar de utilizar la máquina DES, id identifica el método de cifrado utilizado y esto determina cómo se interpreta el resto de la cadena de contraseña. Se admiten los siguientes valores de id:
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)
También lo
$5$salt$encrypted
es una contraseña codificada SHA-256 y$6$salt$encrypted
una codificada SHA-512.
Para generar un hash correcto desde la línea de comandos, puedes miraraquí.
Respuesta2
Después de algunas pruebas, la mejor manera de crear diferentes usuarios con diferentes algoritmos hash se compone de 3 pasos:
- Crear el usuario sin contraseña
- Cree la contraseña en formato UNIX utilizando los parámetros especificados (salt, contraseña, algoritmo hash)
- Establezca la contraseña UNIX generada en /etc/shadow
Aquí un ejemplo de un usuario.prueba1, con contraseña1234ymd5como función hash.
sudo adduser test1 --disabled-password sudo mkpasswd --method=md5 --salt=coolsalt 1234 $1$coolsalt$qTXiZzGn08J.xYkV1ce1y1
y ahora, simplemente edita el/etc/sombra
Antes de editar
test1:*:16559:0:99999:7:::
Después de editar
test1:$1$coolsalt$qTXiZzGn08J.xYkV1ce1y1:16559:0:99999:7:::
Después, puedes intentar iniciar sesión con este usuario para comprobar si el formato es correcto.
whoami root su test1 Password: 1234 whoami test1
Gracias por la ayuda