http://tools.question-defense.com/Cracking_Passwords_Guide.pdf http://acacha.org/~sergi/Cracking_Passwords_Guide.pdf
Curs: | SeguretatXarxesInformàtiques |
Fitxers: | EinesHacking.pdf (EinesHacking.odp) |
Repositori SVN: | https://[email protected]/svn/iceupc/SeguretatXarxesInformàtiques |
Usuari: | anonymous |
Paraula de pas: | sense paraula de pas |
Autors: | Sergi Tur Badenas |
Una paraula de pas és una paraula o conjunt de caràcters que s'utilitza per autenticar, per proveir una identitat o guanyar accés a un recurs.
NOTA: La paraula de pas ha de ser conservada en secret envers aquells que no han de tenir accés al recurs
Se sap que les paraules de pas s'utilitzaven en l'antiguitat (consulteu [1]]).
En temps moderns el ús de paraules de pas s'ha generalitzat i té múltiples usos:
Tot i el nom (paraula de pas), no és necessari que sigui una paraula. De fet, utilitzar una frase o conjunt de paraules pot fer la contrasenya més segura.
IMPORTANT: És recoman l'ús del terme passphrase, que deixa més clar la possibilitat d'utilitzar una frase com a paraula de pas
Si el codi és només numèric se l'anomena passcode (p.ex. PIN).
El ús de paraules de pas té múltiples inconvenients:
El protocols criptogràfics s'utilitzen en informàtica com un sistema més modern i potent d'autenticació.
Criteris:
Tècniques:
D0g..................... PrXyc.N(n4k77#L!eVdAfp9
Comproveu a:
https://www.grc.com/haystack.htm
IMPORTANT: ENTROPY/Entropia: (randomness and unpredictability of data) If you are mathematically inclined, or if you have some security knowledge and training, you may be familiar with the idea of the entropy or the randomness and unpredictability of data. If so, you'll have noticed that the first, stronger password has much less entropy than the second (weaker) password. Virtually everyone has always believed or been told that passwords derived their strength from having “high entropy”. But as we see now, when the only available attack is guessing, that long-standing common wisdom . . . is . . . not . . . correct!
https://www.grc.com/haystack.htm
https://wiki.skullsecurity.org/Passwords#Leaked_passwords aka Leaked Passwords
Estadístiques reals de les paraules de pas utilitzades a partir de llistes de usuaris i paraules de pas obtingudes en forats de seguretat de grans companyies:
Les funcions criptogràfiques de hash suportades són:
$ mkpasswd -m help Métodos disponibles: des standard 56 bit DES-based crypt(3) md5 MD5 sha-256 SHA-256 sha-512 SHA-512
Les paraules de pas s'emmagatzemen al fitxer /etc/shadow el format segons:
$ man 3 crypt
és:
Glibc Notes The glibc2 version of this function supports additional encryption algorithms. 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. "salt" stands for the up to 16 characters following "$id$" in the salt. The encrypted part of the password string is the actual computed password. The size of this string is fixed: MD5 | 22 characters SHA-256 | 43 characters SHA-512 | 86 characters The characters in "salt" and "encrypted" are drawn from the set [a–zA–Z0–9./]. In the MD5 and SHA implementations the entire key is significant (instead of only the first 8 bytes in DES).
La configuració de quin tipus de paraules de pas s'estan utilitzant la trobareu a:
$ cat /etc/login.defs | grep ENCRYPT_METHOD # This variable is deprecated. You should use ENCRYPT_METHOD. ENCRYPT_METHOD SHA512 # Only used if ENCRYPT_METHOD is set to SHA256 or SHA512.
I també al fitxer:
/etc/pam.d/common-password
Recursos:
Vegeu Criptoanàlisi de contrasenyes de Windows
Tipus d'atacs:
Recursos:
Hi han un munt d'aplicacions que utilitzen les seves pròpies contrasenyes i que poden contenir contrasenyes sensibles per una màquina (sovin l'usuari de root utilitza la mateixa contrasenya per a tot ;-) ). Això pot ser un problema per si ens entra un atacant al sistema o si tenim usuaris que tot i no tenir permisos de root poden visualitzar aquest fitxers. Veiem alguns exemples:
A la home dels usuaris:
.subversion/servers
El client de subversion guarda les paraules de pas sense xifrar.
Fitxers .httacces i .htpasswd
$ locate .htaccess
o
$ find / -name .htaccess
El fitxer LocalSettings.php de mediawiki conté les contrasenyes (en clar) de la mediawiki. Aquest fitxer però, sovint només el pot visualitzar l'administrador del sistema:
$ locate LocalSettings /etc/mediawiki1.5/LocalSettings.php $ sudo cat /etc/mediawiki1.5/LocalSettings.php | grep pass $wgDBpassword = "123456";
Hi ha un fitxer config.php al menys en les instal·lacions des de el paquet Debian que conté la contrasenya de base de dades:
$ locate config.php | grep moodle /etc/moodle/config.php ............... $ sudo cat /etc/moodle/config.php | grep pass $CFG->dbpass = 'contrasenya';
També el més normal és que la contrasenya sigui de només lectura.
Un error típic de Mysql és deixar la contrasenya per defecte de root (cap contrasenya). Això no hauria de ser un problema per que només es per l'execució de mysql des de la màquina local. El problema es que sovint després la gent instal·la PhpMyadmin o eines web similar que permeten l'accés via web a la base de dades. L'aplicació PhpMyadmin a l'estar instal·lada en local pot utilitzar la contrasenya de root. Podem localitzar instal·lacions de Phpmyadmin amb Google. Consulteu l'article Utilitzar_Google_per_tal_de_detectar_vulnerabilitats#PhpMyAdmin.
Usuari de debian amb tots els permisos a la base de dades:
$ sudo cat /etc/mysql/debian.cnf
Un altres que té un fitxer de contrasenyes, però aquest cop almenys no esta en text clar:
$ cat /etc/awstats/.passwd admin:Fezgp7NA4ULQY
Però potser la contrasenya no és molt forta, cal provar amb John The Ripper.
Hi han moltes paraules claues que ens poden ajudar a buscar contrasenyes:
$ locate htaccess $ locate passwd $ locate htpasswd $ locate secret $ locate password $ locate contrasenya $ locate contraseña
etc...
Com preguntar paraules de pas per línia d'ordres i desactivar l'eco.
Vegeu apg
$ sudo apt-get install makepasswd $ makepasswd DnqTBW96
NOTA: No és un generador de paraules de pas, realment és una eina per crear hashs de paraules de pas amb diferents funcions criptogràfiques de hash
$ sudo apt-get install mkpasswd
Generador de paraules de pas fàcils de recordar:
PAM té un sistema per forçar als usuaris a escollir contrasenyes potents:
pam_passwdqc
Pam_passwdqc permet comprovar la potència de les contrasenyes i ofereix suport per a frases de pas (passphrases) i proveeix de contrasenyes aleatòries.
Vegeu també cracklib
Recursos:
Consulteu LOG_UNKFAIL_ENAB i /etc/login.defs.
Consulteu keepassx.