-[ 0x0C ]-------------------------------------------------------------------- -[ Se cual es tu password ]-------------------------------------------------- -[ by SiuL+Hacky ]----------------------------------------------------SET-24- [ LISTADO DE PASSWORDS. ENFOQUE ESTADISTICO ] ------------------------------ 1. PLANTEAMIENTO Para los que tiene prisa por saber de lo que va la historia, se trata de plantear el tema de las contrase~as desde un punto de vista estadistico, mas cercano al criptoanalisis. El objetivo es optimizar el dise~o de diccionarios y reglas en los crackeadores de passwords. Contamos para ello con un buen conjunto de passwords DES/unix descifrados. 2. INTRODUCCION Las contrase~as han sido, y siguen siendo un elemento basico dentro de los sistemas de seguridad informatica. De su robusted dependen ya no solo el acceso a nuestro ordenador, sino a un cada vez mas amplio numero de servicios: correo electronico, comercio electronico, banca por internet, etc... Es de preveer que en un tiempo razonable se generalicen los sistemas de autentificacion basados en parametros biologicos, ya sabeis como en las pelis: huellas dactilares, pupila, voz y mano. Tambien es de preveer que tarde o temprano (mas bien temprano), sean vulnerables y halla que recurrir a cosas mas aparatosas. El caso es que mientras tanto, hay que seguir acordandose de ese cada vez mayor numero de combinaciones de letras y numeros que son las contrase~as. La cada vez mayor potencia de calculo disponible, hace que los sistemas criptograficos y las contrase~as se vean cada vez mas amenazados. El modelo de fuerza bruta no solo es viable, sino que el uso de entornos distribuidos lo hace mas atractivo y factible. Esta claro que su efectividad aumenta enormemente si eliminamos los retardos entre cada ensayo/error. Esta fuerza bruta, en las contrase~as, se puede suavizar de alguna forma mediante el uso de diccionarios de palabras que restringen el espacio de claves. Daros cuenta de que un conjunto de unos 65 caracteres (letras mayusculas/minusculas y numeros) dan un espacio de claves con longitud 8 de unos 300 billones (con B de Burro, no de Pesetas) de combinaciones. Bastante lejos de las posibilidades de un Pc o un conjunto distribuido peque~o. En SET no es un tema que haya aparecido muy frecuentemente a pesar de su importancia. Podria parecer que desde que se generalizo el uso de los shadow password, el tema es menos delicado, pero creo que no es en absoluto cierto. En SET nš2 aparecio un proto-diccionario con palabras de diversos temas. Cualquiera en la red puede conseguir completos diccionarios en diversos idiomas y sobre los mas diversos temas. El ataque mediante diccionario cuando se dispone de un fichero de passwords encriptadas, supone poco problema de tiempo en la actualidad. No es tan critico seleccionar palabras comunes, sino tener un diccionario cuanto mas gordo mejor. En pocas horas estara todo revisado por nuestro amigo John o similares. En el siguiente numero, SET 3, aparecio informacion referente a un ataque concreto a un usuario del que se dispone de informacion. Cuando los diccionarios ya no funcionan, queda el recurso de la denominada busqueda incremental, que consiste en buscar combinaciones aleatorias de numeros letras (mezclados o no). Estamos ante un conjunto de claves casi infinito, con lo que vamos a intentar dar algunos criterios que ayuden a mejorar los porcentajes de acierto. Para ello nos basaremos en el trabajo realizado sobre varias decenas de miles de passwords descifrados (cortesia de la organizacion Passwords Sin Fronteras ;) y con muchas horas de johnny). Debido a la mezcla liguistica existente y a la archifamosa y mediatica GLOBALIZACION, evitaremos dar rankings de palabras y daremos criterios UNIVERSALES. 3. BASES DE ESTUDIO Vayamos con los datos tecnicos, como en las encuestas (a ver si nos equivocamos menos). Partimos de 86.865 passwords (TIPO UNIX) descifrados, que supone aproximadamente un 60% del conjunto disponible, lo cual no esta nada mal. En este estudio se trata simplemente de sacar conclusiones sobre este conjunto de passwords. No pretende, por tanto, considerarlo como la madre de todos los password, es mas, puede que no coincida en absoluto con un conjunto reducido que querais atacar. Otra cosa, estos passwords no son (desgraciadamente :) passwords de administrador, por lo que estan mas sujetos a trivialidades como mismo usuario/password. Esto no es una contrariedad, al reves, son reflejo de passwords normales y corrientes. Por ultimo y mas importante, las estadisticas estan hechas sobre passwords descifrados, no sobre el conjunto total. Aparte de la materia prima, usaremos la HERRAMIENTA: John The Ripper (JTR) v1.6 (ver SET 15 para mas se~as). Ya hay versiones de desarrollo mas nuevas que no han sido utilizadas. Se han utilizados sus configuraciones por defecto, aunque en un momento dado se introdujeron nuevos ficheros .chr en base a lo calculado en ese momento. Han ido pasando todas las opciones del JTR, desde las busqueda con los mas diversos diccionarios hasta las busquedas incrementales. 4.1 ANALISIS GENERICO Vamos analizar ya las claves obtenidas en funcion de criterios genericos. Luego pasaremos a diferenciar las distintas estadisticas para los subconjuntos alfabetico, numerico y alfanumericas (en el que se incluyen ademas otros simbolos ascii que algunos meten en los passwords para incordiar). Empecemos en primer lugar por ver como se reparten estos subconjuntos: PASSWORDS TOTALES: 86865 P.ALFABETICAS: 57753 (66,5 %) P.NUMERICAS: 24601 (28,3 %) P.ALFANUMERICAS: 4511 (5,2 %) Llama la atencion la cantidad de passwords numericos puros existentes, un 28%. Cabe advertir una circunstancia al respecto: los passwords numericos son mas accesibles a un ataque por fuerza bruta, es mas, en estos casos es posible atacar el conjunto de claves completo. Tenemos, por tanto, todos los passwords numericos descifrados, algo que no podemos desgraciadamente decir para los otros 2 conjuntos. Ya vereis mas adelante que las contrase~as numericas son si cabe mas vulnerables de lo que reflejan estas cifras. Otra conclusion generica se puede aplicar al numero de caracteres. Merecera la pena realizar las busquedas incrementales sobre 8 caracteres ? Las cifras son las siguientes: PASSWORDS TOTALES: 86865 8 CARACTERES: 19576 (22,54%) 7 CARACTERES: 16573 (19,08%) 6 CARACTERES: 50600 (58,25%) 5 CARACTERES: 42 (0,05%) 4 CARACTERES: 54 (0,06%) 3 CARACTERES: 12 (0,01%) 2 CARACTERES: 7 (0,01%) 1 CARACTERES: 1 (0,00%) A punto estaba de utilizar una contrase~a de 0 caracteres, pero dado que el sistema se lo impediria, decidio poner una "a". BRAVO ! por nuestro intrepido, e ingenioso usuario. Tonterias aparte, es de extra~ar el alto contenido de claves con 6 caracteres, que corroborado con las claves concretas, hacen pensar que un cierto subconjunto de las claves estuvo limitado a 6 caracteres. 4.2 CLAVES ALFABETICAS Entremos en ese largo 66% de las claves. El resto de las estadisticas se daran por tanto sobre estas 57753 claves. Repitamos el analisis anterior para el numero de caracteres: PASSWORDS TOTALES: 57753 8 CARACTERES: 17198 (29,78%) 7 CARACTERES: 14997 (25,97%) 6 CARACTERES: 25488 (44,13%) 5 CARACTERES: 34 (0,06%) 4 CARACTERES: 21 (0,04%) 3 CARACTERES: 8 (0,01%) 2 CARACTERES: 6 (0,01%) 1 CARACTERES: 1 (0,00%) Tomando las 50 contrase~as mas comunes, nos encontramos con 7664 (13,27%) claves, lo cual da idea de un cierto reparto en las claves alfabeticas. De estas 50 contrase~as alfabeticas mas comunes, 44 (6415 usuarios) son nombres propios de hombre y de mujer. Muy, muy significativo creo que es esto. Si de lo que se trata es de crear un diccionario rapido o de probar al azar, un gran diccionario de nombres propios es mas que recomendable. Palabras habituales en documentos sobre el tema aparecen algo rezagadas; hablamos de clasicos como "qwerty" (112 usuarios) y "password" (102 usuarios). En cuanto al tema de mayusculas y minusculas, hay tambien una aplastante predominancia de las minusculas: PASSWORDS TOTALES: 57753 TODO MAYUSCULAS 120 (0,21%) TODO MINUSCULAS 57598 (99,73%) ALGUNA MAYUSCULA 165 (0,29%) Del ultimo dato, 164 de los 165 usuarios pusieron la primera letra como mayuscula. Es, por tanto, bastante inhabitual (o dificil de descifrar ...) contrase~as con mayusculas aisladas en medio. 4.3 CLAVES NUMERICAS Vayamos con los numeros, en los que tenemos un conjunto completamente descifrado. Esta la ventaja adicional de que las password numericas son, en general, universales e independientes (hasta cierto punto como veremos) del origen de los usuarios. Sobre el numero de caracteres: PASSWORDS TOTALES: 24601 8 CARACTERES: 1219 (4,96%) 7 CARACTERES: 792 (3,22%) 6 CARACTERES: 22545 (91,64%) 5 CARACTERES: 8 (0,03%) 4 CARACTERES: 32 (0,13%) 3 CARACTERES: 4 (0,02%) 2 CARACTERES: 1 (0,00%) 1 CARACTERES: 0 (0,00%) Vuelve a ser claramente superior el numero de contrase~as con 6 caracteres. No parece en este caso solo un error sino una realidad palpable y que responde a un tipo de contrase~as muy habitual, el del tipo fecha. El raking de la popularidad en cuanto a numeros es el siguiente (primeros 50 clasificados): PASSWORDS TOTALES: 24601 PASSWORD USUARIOS 123456 2543 (10,34%) 111111 296 (1,20%) 12345678 282 (1,15%) 666666 179 (0,73%) 000000 116 (0,47%) 555555 109 (0,44%) 654321 108 (0,44%) 222222 101 (0,41%) 1234567 89 (0,36%) 777777 74 (0,30%) 431266 67 (0,27%) 121212 61 (0,25%) 101010 52 (0,21%) 123123 51 (0,21%) 999999 50 (0,20%) 444444 50 (0,20%) 112233 49 (0,20%) 7777777 47 (0,19%) 131313 47 (0,19%) 333333 42 (0,17%) 987654 40 (0,16%) 696969 38 (0,15%) 232323 38 (0,15%) 220678 36 (0,15%) 888888 35 (0,14%) 141414 35 (0,14%) 252525 30 (0,12%) 212121 28 (0,11%) 789456 27 (0,11%) 171717 26 (0,11%) 272727 25 (0,10%) 151515 25 (0,10%) 123321 25 (0,10%) 131193 24 (0,10%) 123654 24 (0,10%) 147896 23 (0,09%) 242424 22 (0,09%) 181818 22 (0,09%) 262626 20 (0,08%) 12345 20 (0,08%) 202020 19 (0,08%) 88888888 18 (0,07%) 456789 18 (0,07%) 234567 17 (0,07%) 191919 17 (0,07%) 159753 17 (0,07%) 11111111 17 (0,07%) 98765432 16 (0,07%) 123789 16 (0,07%) 686868 15 (0,06%) El hecho de que la secuencia mas repetida sea 123456, en lugar de 12345678 podria dar lugar a pensar que hay contrase~as que han sido limitadas externamente a 6 caracteres. Sin embargo, la presencia en las primeras posiciones de secuencias como 654321 (que inequivocamente es una secuencia de 6 cifras no cortada), hace pensar lo contrario. Por lo demas abundan en los primeros puestos secuencias de numeros, asi como repeticiones de numeros de 1 o 2 cifras. Aunque no aparezcan en los primeros puestos, por razones evidentes como comprendereis, hay un muy alto numero de contrase~as de 6 cifras que responden al patron fecha. En ellas incluimos las de DDMMAA y las de MMDDAA; donde DD es el dia, MM el mes y AA, el a~o de nacimiento (o cualquier otra fecha de interes. Sospechoso seria que coincidieran muchas ;). Dicho eso, las que responden al formato DDMMAA son 10830 (44 %) y las que responden al formato MMDDAA son 9994 (41 %). Respecto a este dato, considerar primero que ambos conjuntos tienen elementos comunes (como 121299), y que en ambos se han incluido elementos que aun respondiendo al criterio no "deberian" considerarse como fechas (por ejemplo 111111). Aun asi es interesante el dato. 4.4 CLAVES ALFANUMERICAS Finalmente analicemos el conjunto restante que incluye mezcla de numeros, letras y algun que otro (pocos) caracter raro. Este seria el conjunto que en principio daria mas problemas, y de hecho es del que menos claves descifradas hay. Tal como hemos hecho antes, los datos en cuanto a numero de caracteres son: PASSWORDS TOTALES: 4511 8 CARACTERES: 1159 (25,69%) 7 CARACTERES: 784 (17,38%) 6 CARACTERES: 2567 (56,91%) 5 CARACTERES: 0 (0,00%) 4 CARACTERES: 1 (0,02%) 3 CARACTERES: 0 (0,00%) 2 CARACTERES: 0 (0,00%) 1 CARACTER: 0 (0,00%) Dentro de estos 4511 passwords, tenemos que 4415 (97,87%) son numeros y letras, mientras que entre el resto tan solo el caracter "_" es significativo apareciendo en 87 contrase~as (1,93%) Ya contando solo los alfanumericos (puros) la frecuencia de aparicion de numeros es la siguiente: PASSWORDS TOTALES: 4415 7 NUMEROS: 0 (0,00%) 6 NUMEROS: 2 (0,05%) 5 NUMEROS: 105 (2,38%) 4 NUMEROS: 545 (12,34%) 3 NUMEROS: 390 (8,83%) 2 NUMEROS: 1445 (32,73%) 1 NUMERO 1928 (43,67%) Solo cabe significar que en las contrase~as que contienen 3 numeros (390), aproximadamente el 30% (131) corresponde con la secuencia "123". Veamos como se reparten 2 de los subconjuntos que a priori se podrian considerar mas importantes: aquellos que corresponden con grupos de numeros y letras no intercalados. Que significa ? pues el grupo de los que empiezan por letras y a~aden numeros al final y viceversa. PASSWORDS TOTALES: 4415 NUMEROS + LETRAS 361 (8,17%) LETRAS + NUMEROS 3967 (89,85%) Entre ambas suponen practicamente el 98% de este tipo de claves, por lo cual parece que las claves que intercalan numeros y letras son dificilmente descifrables (tanto porque son escasas como porque se crackean peor). Estos son los datos de los 2 subgrupos por separado: PASSWORDS TOTALES: 4415 NUMEROS + LETRAS 361 (8,17%) 1 NUMERO + LETRAS 48 (1,08%) 2 NUMEROS + LETRAS 39 (0,83%) 3 NUMEROS + LETRAS 39 (0,83%) 4 NUMEROS + LETRAS 146 (3,30%) 5 NUMEROS + LETRAS 68 (1,54%) LETRAS + NUMEROS 3967 (89,85%) LETRAS + 1 NUMERO 1846 (41,81%) LETRAS + 2 NUMEROS 1363 (30,87%) LETRAS + 3 NUMEROS 326 (7,38%) LETRAS + 4 NUMEROS 365 (8,26%) LETRAS + 5 NUMEROS 35 (0,79%) LETRAS + 6 NUMEROS 1 (0,03%) Bastante perezosos por tanto nuestros usuarios a la hora de teclear numeros al final. 5. CONCLUSIONES Las conclusiones de este primer estudio son las siguientes, resumiendo cada uno de los grupos tratados: 1) En las contrase~as alfabeticas las contrase~as mas numerosas son nombres propios de hombre y de mujer 2) En las claves numericas las secuencias de numeros y las repeticiones son las combinaciones mas frecuentes. Para el caso de tener informacion adicional sobre el propietario, las contrase~as tipo fecha suponen casi el 50% de los casos de las claves numericas 3) Para las claves alfanumericas, el procedimiento mas habitual es a~adir uno o dos numeros al final de una palabra. 6. AGRADECIMIENTOS Al autor de JTR y a los programadores de la textutils para linux (maravillas tales como egrep, cut, uniq, sort, etc ...) 7. APENDICE Juro por mi' muela' que es cierto: una vez acabado todo esto, y mientras buscaba otra cosa (como suele ser habitual) me encontre con un articulo de un tal ozzie con estadisticas de passwords en ingles. La pagina la podeis encontrar en: http://members.xoom.com/niekai/passtats.htm El ambito es algo distinto no solo por el tipo de passwords (en ingles exclusivamente), sino porque analiza tambien nombres de usuario. El estudio se basa en 31917 contrase~as descifradas, y resulta muy interesante comparar sus conclusiones. Los 5 passwords mas repetidos eran: 1234 pussy 123456 12345 123 De nuevo, passwords numericos (y vuelven a aparecer las famosas 6 cifras !!!!). En cuanto a los passwords alfabeticos dominan los de contenido sexual, pero dada su procedencia tampoco es de extra~ar :). SiuL+Hacky *EOF*