View Full Version : Password di root limitata a 8 caratteri
Scoperchiatore
11-12-2005, 22:45
Ieri sera ho cambiato le password dell'utente e di root, cercandone una mediamente lunga con un po' di caratteri speciali per l'utente, ed una molto complessa (una 50 ina di caratteri speciali...) per root.
Prima ne tenevo una "semplice" anche per root, solo una decina di caratteri
Oggi scopro con mia somma sorpresa, che basta inserire i primi 8 caratteri della password per accedere a root! :eek:
Ho provato a loggarmi sia da konsole, che da bash da terminale non grafico, ma il risultato è sempre lo stesso: bastano i primi 8 caratteri per entrare...
A questo punto ho provato a cambiare la password di root (ho sempre usato chpasswd) ed il risultato è sempre lo stesso: qualunque cosa metta, anche caratteri semplicissimi, più di 8 non me ne accetta!
La password di utente è invece più lunga di 8 caratteri, e servono tutti e 15 per entrare...
Ho Fedora Core 4, kernel 2.6.14 ricompilato. Qualcuno sa come mai questa cosa? Posso aver compilato con qualche strana opzione?
Scoperchiatore
11-12-2005, 23:05
Il problema è questo:
Traditional crypted passwords that use DES are limited to eight characters
due to the built-in nature of the DES algorithm. MD5 passwords can be of
any length.
It looks like for some reason you're using DES to encrypt your passwords,
when you should be using MD5.
Your /etc/pam.d/system-auth file should include:
password sufficient /lib/security/$ISA/pam_unix.so nullok use_authtok md5 shadow
And your /etc/pam.d/passwd file should contain:
password required pam_stack.so service=system-auth
Perhaps something overwrote various files in your /etc/pam.d directory.
Come dice il tizio, entrambe le entry sono presenti nel file. Questo in teoria dovrebbe permettermi di accedre con una password MD5 di lunghezza arbitraria... E invece no!
Scoperchiatore
11-12-2005, 23:20
Ok, scoperto l'arcano, era un'opzioncina di chpasswd da abilitare :D
Difatti, se non si specifica -m, cripta col DES.
Ora viene il bello :cool:
[root@Scoperchiatore ~]# echo 'root:lamianuovapassword' | chpasswd -m
*** buffer overflow detected ***: chpasswd terminated
======= Backtrace: =========
/lib/libc.so.6(__chk_fail+0x41)[0x877565]
/lib/libc.so.6(__strcpy_chk+0x0)[0x876bb8]
chpasswd[0x8049797]
/lib/libc.so.6(__libc_start_main+0xc6)[0x7adde6]
chpasswd[0x80494d1]
======= Memory map: ========
00635000-00645000 r-xp 00000000 03:06 717987 /lib/libselinux.so.1
00645000-00646000 rw-p 00010000 03:06 717987 /lib/libselinux.so.1
00695000-0069a000 r-xp 00000000 03:06 717990 /lib/libcrypt-2.3.5.so
0069a000-0069b000 r--p 00004000 03:06 717990 /lib/libcrypt-2.3.5.so
0069b000-0069c000 rw-p 00005000 03:06 717990 /lib/libcrypt-2.3.5.so
0069c000-006c3000 rw-p 0069c000 00:00 0
0077b000-00795000 r-xp 00000000 03:06 717974 /lib/ld-2.3.5.so
00795000-00796000 r--p 00019000 03:06 717974 /lib/ld-2.3.5.so
00796000-00797000 rw-p 0001a000 03:06 717974 /lib/ld-2.3.5.so
00799000-008bd000 r-xp 00000000 03:06 717975 /lib/libc-2.3.5.so
008bd000-008bf000 r--p 00124000 03:06 717975 /lib/libc-2.3.5.so
008bf000-008c1000 rw-p 00126000 03:06 717975 /lib/libc-2.3.5.so
008c1000-008c3000 rw-p 008c1000 00:00 0
00b03000-00b0c000 r-xp 00000000 03:06 716674 /lib/libgcc_s-4.0.1-20050727.so.1
00b0c000-00b0d000 rw-p 00009000 03:06 716674 /lib/libgcc_s-4.0.1-20050727.so.1
08047000-0804e000 r-xp 00000000 03:06 1286697 /usr/sbin/chpasswd
0804e000-0804f000 rw-p 00006000 03:06 1286697 /usr/sbin/chpasswd
0804f000-08071000 rw-p 0804f000 00:00 0 [heap]
b7d4c000-b7f4c000 r--p 00000000 03:06 1273547 /usr/lib/locale/locale-archive
b7f4c000-b7f4e000 rw-p b7f4c000 00:00 0
b7f65000-b7f68000 rw-p b7f65000 00:00 0
bff53000-bff68000 rw-p bff53000 00:00 0 [stack]
ffffe000-fffff000 ---p 00000000 00:00 0 [vdso]
Abortito
Ho compilato il kernel senza SeLinux. Sarà quello?
Oppure magari manca qualche algoritmo di criptaggio?
Certo che un core dump a questo livello non me lo immaginavo :fagiano:
Scoperchiatore
11-12-2005, 23:36
Maledetti tool da terminale :muro:
Uno li preferisce a quelli grafici e si rivelano uno schifo :cry:
Il tool da "Impostazioni di sistema" funziona bene e crea una password di lunghezza arbitraria.
Grazie per aver ascoltato il mio monologo :D Spero che serva a qualche altro malcapitato che dovesse provare a cambiare la password di root da terminale :D
ma dove l'hai trovato chpasswd?
echo "abcdefghilm" |passwd --stdin root
ma dove l'hai trovato chpasswd?
echo "abcdefghilm" |passwd --stdin root
Se non erro passwd --stdin è deprecato per problemi di sicurezza, tanto che su alcune versioni (mi viene in mente Trustix, la mia attuale Gentoo) tale opzione non è più presente, sostituita da chpasswd!
Ciao!
Se non erro passwd --stdin è deprecato per problemi di sicurezza, tanto che su alcune versioni (mi viene in mente Trustix, la mia attuale Gentoo) tale opzione non è più presente, sostituita da chpasswd!
ah buono a sapersi.
rimane strano che abbia detto di usare Fedora Core 4 perchè è la stessa dalla quale sto scrivendo ora e quel comando non c'e' :confused:
ah buono a sapersi.
rimane strano che abbia detto di usare Fedora Core 4 perchè è la stessa dalla quale sto scrivendo ora e quel comando non c'e' :confused:
Non so..non ho mai provato FC... comunque a differenza di passwd è accessibile solo da root (o con sudo), almeno nella Gentoo!
vBulletin® v3.6.4, Copyright ©2000-2025, Jelsoft Enterprises Ltd.