Pagina 1 di 2

Come generare password per /etc/passwd ?

Inviato: dom 15 mar 2009, 14:29
da DanBadJar
Ciao!
che voi sappiate c'è modo di generare una password con algoritmo NBS/DES , quindi compatibile col file /etc/passwd ?
Mi servirebbe un comando che, banalmente, presa la stringa in input, la codifichi.
Sapete se c'è niente del genere?

Re: Come generare password per /etc/passwd ?

Inviato: dom 15 mar 2009, 18:28
da anycolouryoulike
Ma in /etc/passwd ci sono password?

Re: Come generare password per /etc/passwd ?

Inviato: dom 15 mar 2009, 18:36
da DanBadJar
Se il secondo campo è x allora utilizza il file shadow per memorizzare le password. Altrimenti puoi memorizzarle direttamente li dentro.
L'algoritmo è sempre quello, ma non conosco tool che possano generare una password del genere! :?

Re: Come generare password per /etc/passwd ?

Inviato: dom 15 mar 2009, 18:38
da anycolouryoulike
Non lo sapevo.

Re: Come generare password per /etc/passwd ?

Inviato: dom 15 mar 2009, 19:25
da sixjan
Qui c'è qualcosa che esserti utile:
http://www.dia.unisa.it/~ads/corso-secu ... ml#esempio

Re: Come generare password per /etc/passwd ?

Inviato: dom 15 mar 2009, 19:53
da sixjan
Oppure c'è un'altro esempio qui:

http://www.gnu.org/software/libtool/man ... crypt.html

Codice: Seleziona tutto


#include <stdio.h>
#include <time.h>
#include <unistd.h>
#include <crypt.h>
     
     int
     main(void)
     {
       unsigned long seed[2];
       char salt[] = "$1$........";
       const char *const seedchars =
         "./0123456789ABCDEFGHIJKLMNOPQRST"
         "UVWXYZabcdefghijklmnopqrstuvwxyz";
       char *password;
       int i;
     
       /* Generate a (not very) random seed.
          You should do it better than this... */
       seed[0] = time(NULL);
       seed[1] = getpid() ^ (seed[0] >> 14 & 0x30000);
     
       /* Turn it into printable characters from `seedchars'. */
       for (i = 0; i < 8; i++)
         salt[3+i] = seedchars[(seed[i/5] >> (i%5)*6) & 0x3f];
     
       /* Read in the user's password and encrypt it. */
       password = crypt(getpass("Password:"), salt);
     
       /* Print the results. */
       puts(password);
       return 0;
     }

Gli esempi si compilano con:

gcc -lcrypt esempio.c -o eseguibile

Ciao.

Re: Come generare password per /etc/passwd ?

Inviato: dom 15 mar 2009, 20:16
da DanBadJar
Grazie! Era proprio quello che cercavo!

Re: Come generare password per /etc/passwd ?

Inviato: dom 15 mar 2009, 23:21
da zoros
Se può essere utile questo comando genera password compatibili /etc/passwd:

Codice: Seleziona tutto

echo la_mia_pass | /usr/sbin/ftpasswd --hash --md5 --stdin | cut -d":" -f2 | cut -d" " -f2
per cui messo in uno script può generare utenti in automatico:

Codice: Seleziona tutto

 PASSWORD_=`echo $pass_ | /usr/sbin/ftpasswd --hash --md5 --stdin | cut -d":" -f2 | cut -d" " -f2`
 useradd -g $group_ -c "$desc_" -m -k /etc/skel -s /bin/bash -d "/home/$user_" -f -1 -p `echo "$PASSWORD_"` $user_

Re: Come generare password per /etc/passwd ?

Inviato: lun 16 mar 2009, 15:56
da Ansa89
Domanda un po' OT: ma in "/etc/passwd" (o "/etc/shadow") non ci sono gli hash della password criptate con md5?

Re: Come generare password per /etc/passwd ?

Inviato: lun 16 mar 2009, 20:27
da zoros
Ansa89 ha scritto:Domanda un po' OT: ma in "/etc/passwd" (o "/etc/shadow") non ci sono gli hash della password criptate con md5?
Non ho capito se la domanda è generale o si riferisce al precedente post ... puoi esplicitarla meglio ?

Re: Come generare password per /etc/passwd ?

Inviato: lun 16 mar 2009, 22:13
da urka58
Perchè creare una password e trasformarla in un hash, visto che la stessa criptata, è un hash?
Se serve una password con un buon grado di casualità in modo da evitare ( o almeno renedere un po' più difficili) attacchi di tipo dizionario, basta generarla da random,es

Codice: Seleziona tutto

cat /dev/urandom | tr -dc _A-Z-a-z-0-9 | head -c 8 | less
A meno che lo scopo non sia tutt'altro, e allora se mi spiegate...? giusto per curiosità.
Ciao

Re: Come generare password per /etc/passwd ?

Inviato: lun 16 mar 2009, 22:51
da Ansa89
La mia voleva essere una domanda generale, non per forza legata ai precedenti post.
@urka58: non ho capito se il tuo post è una risposta alla mia domanda.

Re: Come generare password per /etc/passwd ?

Inviato: lun 16 mar 2009, 22:57
da urka58
Ansa89 ha scritto:La mia voleva essere una domanda generale, non per forza legata ai precedenti post.
@urka58: non ho capito se il tuo post è una risposta alla mia domanda.
No, non capisco a cosa serva criptare una password che il sistema cripta da solo, siccome sono curioso, chiedo...la domanda è rivolta a chi ha iniziato il thread, DanBadJar credo, visto che tra tutti stiamo facendo un po' di casino.
Ciao

Re: Come generare password per /etc/passwd ?

Inviato: lun 16 mar 2009, 23:00
da DanBadJar
Non si tratta di generare una password casuale o complessa.
Stavo chiedendo come fare a generare una password per un utente di sistema, tramite un banale comando (ho compilato il sorgente che mi è stato consigliato), dato che sto scrivendo un'applicazione che crea utenti unix senza usare il classico useradd e lavora direttamente sul file /etc/passwd.

Re: Come generare password per /etc/passwd ?

Inviato: lun 16 mar 2009, 23:03
da Ansa89
Da quanto ho capito DanBadJar vuole editare a mano il file "/etc/passwd" e quindi deve scrivere dentro al file l'hash della password, perché quando il sistema va a leggere il file si aspetta un hash.
Questo è quello che ho capito io, spero di essere stato chiaro nell'esposizione.