Password cracking: diferència entre les revisions

Contingut suprimit Contingut afegit
m neteja i estandardització de codi
m Plantilla de format de referències
Línia 9:
El sistema Windows funciona amb una estratègia '''semblant a la d'Unix'''. Hi ha un fitxer on es guarda tot el relacionat amb els passwords dels usuaris, aquest fitxer es troba a: ''\windows\system32\config\sam''. Aquest fitxer es coneix com a ''Security Accounts Manager''. La diferència entre aquest fitxer i els d'Unix és que només es pot accedir al SAM '''abans''' de què el sistema operatiu '''s'iniciï''', és a dir, un cop s'ha iniciat el Windows aquest fitxer es torna '''inaccessible'''.<ref name="Sam"/>
 
En sistemes més antics (com [[Windows XP]]) en el fitxer, hi havia dues contrasenyes per cada usuari, una de local''([[LAN]])'' i una de Windows, quan un usuari ficava una contrasenya i coincidia amb alguna d'aquestes, l'usuari podia accedir. Aquest sistema era fàcil d'atacar pel fet que la LAN es processava d'una forma molt poc segura. La LAN tenia un màxim de 14 [[caràcters]], i al guardar-se es dividia en dues parts de 7, el problema va aparèixer quan l'usuari no guardava una contrasenya de 14 caràcters. Quan succeïa això, els espais en blanc se substituïen per un Null. Això feia que enlloc de tenir contrasenyes xifrades de 14 caràcters es podia tenir una contrasenya de 7 caràcters i una plena de Nulls. Això provocava que diversos atacs fossin molt més ràpids, ja que podien atacar a una contrasenya amb la meitat de caràcters que els previstos.<ref>{{format ref}} https://support.microsoft.com/es-es/help/102716/ntlm-user-authentication-in-windows</ref>
=== Passwords en pàgines web===
En moltes [[pàgines web]] també existeix un sistema de contrasenyes, el problema és que aquest molts cops no està [[Estandardització|estandarditzat]]. Hi ha webs que no guarden els passwords d'una forma segura, ja què el sistema de contrasenyes no ha estat fet amb una forta capa de seguretat per darrere. Per exemple, hi han hagut algunes companyies o pàgines que han tingut vulnerabilitats diverses. I s'ha pogut observar com guardaven les contrasenyes dels usuaris, en una base de dades [[SQL]], en clar, és a dir, sense cap xifratge.
Línia 19:
Aquest atac consisteix a tenir un diccionari amb els '''passwords més utilitzats'''. Aquests passwords es poden trobar fàcilment per ''Internet'', ja que hi ha moltes estadístiques públiques informant dels passwords més típics o diccionaris ja fets per altra gent. Amb aquest diccionari es pot aconseguir augmentar bastant la probabilitat de trobar la contrasenya en '''poc temps''', encara que segueix sent un temps bastant elevat. D'aquest tipus d'atac podem trobar diverses modificacions segons el que tingui el diccionari.<ref name="Pass"/> Les dues més destacables són:
====Diccionaris en clar====
Al diccionari en clar es guarden les contrasenyes sense el seu hash, això fa que el diccionari ocupi molta menys memòria, però té el problema de tenir un cost de temps (al moment de fer l'atac) semblant a l'Atac per força bruta, ja que s'han de calcular els hashos per cada contrasenya què es provi.<ref>{{format ref}} https://www2.cs.arizona.edu/~collberg/Teaching/466-566/2012/Resources/presentations/2012/topic7-final/report.pdf</ref>
 
====Diccionaris Pre-Computats====
Línia 35:
<center><math>X=Password En Clar,Y=Hash Password</math></center>
De tota aquesta cadena, que pot ser tan gran com es vulgui, en una Rainbow Table es pot veure el primer i l'últim element. I en el fitxer es troben diferents entrades on cada una d'elles és una cadena.
Per poder fer un atac amb una Rainbow Table cal mirar si el Hash en el sistema coincideix amb algun últim element d'alguna cadena. Quan es trobi alguna coincidència s'agafa el primer valor de la cadena i es reconstrueix fent servir les funcions R i H. S'anirà expandint la cadena fins que algun hash coincideixi amb el guardat al sistema. Quan s'ha trobat la coincidència la contrasenya serà el valor anterior.<ref>{{format ref}} https://lasec.epfl.ch/~oechslin/publications/crypto03.pdf</ref> Per exemple:
<center><math>HashContrasenyaGuardada=428</math></center>
<center><math>Cadena: 2->428</math></center>
Línia 47:
La salt és el '''mètode més utilitzat''' per tal de fer que els atacs siguin molt més complicats de fer. Una salt és un valor de X bits, depenent del sistema serà d'un nombre de bits o d'un altre, que es guardarà en clar conjuntament amb la contrasenya. Aquest valor varia és aleatori i canvia de valor per a cada un dels usuaris del sistema. En el moment de fer el hash es farà:
<center><math>FuncioHash(Password,Salt)</math></center>
Amb aquest mètode s'aconsegueix que els diccionaris pre-computats i les Rainbow Tables costin molt més temps de fer, a més que els diccionaris ocuparan molta més memòria. Això és pel fet que en fer la pre-computació no es pot saber quina salt es ficarà, ja que varia segons cada usuari. A l'únic atac que no afecta és al de força bruta, ja que com s'ha de fer quan es té accés a la màquina ja es pot conèixer la salt, però en ser un atac molt poc viable de fer no representa cap problema.<ref>{{format ref}} https://crackstation.net/hashing-security.htm#salt</ref>
===Augmentar dificultat de les contrasenyes===
Una altra solució és augmentar la dificultat de les contrasenyes. Segons molts estudis i investigacions molta gent utilitza contrasenyes molt fàcil d'endevinar, la contrasenya més utilitzada al món és la de:"123456" i la segona:"12345".<ref>{{format ref}} https://www.imperva.com/docs/gated/WP_Consumer_Password_Worst_Practices.pdf</ref>Cal tenir a totes les contes una contrasenya suficientment llarga i barrejant el màxim de caràcters possible. Escollir una contrasenya molt llarga i difícil tampoc és una opció, ja que amb el temps s'acaba oblidant i llavors l'usuari és qui no pot accedir a la seva pròpia conta. La millor opció per escollir una contrasenya és utilitzar el sentit comú, agafar una contrasenya que sigui molt lògica i fàcil només per tú, i si pot contenir números, caràcters i lletres millor.<ref>{{format ref}} https://www.lightbluetouchpaper.org/2011/11/08/want-to-create-a-really-strong-password-dont-ask-google/</ref>
 
==Probabilitats d'encertar un password==
Línia 62:
 
== Atacs més utilitzats==
Hi ha una gran diversitat d'atacs a [[Internet]] amb els que es pot atacar un sistema de contrasenyes, dins d'aquest conjunt es poden destacar:<ref>{{format ref}} http://resources.infosecinstitute.com/10-popular-password-cracking-tools/#gref</ref>
* '''John The Ripper'''
* '''Brutus'''