-[ 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 n2 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*
