ClubEnsayos.com - Ensayos de Calidad, Tareas y Monografias
Buscar

60 Minutos Y más De 200 Mil Contraseñas


Enviado por   •  30 de Octubre de 2013  •  1.628 Palabras (7 Páginas)  •  330 Visitas

Página 1 de 7

La idea de este post es sencilla pero interesante: tomemos una gran cantidad de contraseñas que se hayan filtrado de algún sitio web, almacenadas originalmente como el resultado de aplicar alguna función de hash a ellas, y veamos cuántas podemos romper en una hora. Adicionalmente, sería deseable que lo hiciéramos sin demasiados recursos y con técnicas no muy complicadas. Así, si logramos romper una buena cantidad de ellas, podemos llegar a una reflexión sobre las capacidades que tendrían los cibercriminales con equipos más potentes y técnicas más refinadas.

Para poder llevar a cabo estas pruebas como mínimo es necesario contar con:

una lista de hashes a romper.

una lista de palabras comunes utilizadas en contraseñas, a la que se conoce como diccionario.

alguna aplicación que calcule la función de hash para las palabras de la segunda lista y compare el resultado contra los hashes de la primera lista.

A lo largo de los últimos años hemos observado ataques a grandes compañías en Internet, produciéndose importantes fugas de información. Es muy notorio el caso de Playstation Network, en el que no solo se filtró información de usuario y contraseña, sino también datos personales y bancarios. También recordamos el caso de Yahoo!, en el que se filtraron contraseñas que estaban almacenadas en texto plano en la base de datos. Sin embargo, las empresas son cada vez más conscientes de que no se debe almacenar las contraseñas sin antes aplicarles alguna transformación: en el caso de LinkedIn, las contraseñas filtradas tenían aplicada la función SHA1. Dado que la función no puede ser aplicada a la inversa para obtener las contraseñas a partir de los hashes, los cibercriminales se ven obligados a calcular la función para distintas palabras, y comparar contra los valores que se filtraron. Además, sería ideal que el hashing se aplique en varios niveles, que se utilicen “granos de sal” y otras técnicas más para dificultar la tarea de los atacantes.

Por lo tanto, para que este experimento sea válido será deseable utilizar contraseñas reales. Por ello, se partirá de un set inicial de 415321 hashes distintos, correspondientes a contraseñas de Battlefield Heroes que se filtraron en junio de 2011. En este caso, la función de hash aplicada antes de almacenar las contraseñas era MD5, lo cual simplificará mucho las pruebas, al ser un algoritmo de cálculo rápido. Como diccionario se utilizará la lista de RockYou, que contiene más de 14 millones de contraseñas reales. Curiosamente, esta lista también surgió de un caso de fuga de información, por lo que hoy en día forma parte del arsenal de casi cualquier cracker. Por último, la aplicación a utilizar será hashcat, cuyo funcionamiento hemos analizado antes en este blog.

Para empezar, se utilizará la versión de hashcat de Windows con interfaz gráfica: es probable que la mayoría de nosotros tengamos a mano una computadora con Windows y que no deseemos ingresar comandos largos ni aprender la sintaxis de hashcat, con lo cual ésta es la mejor opción. En la siguiente imagen se observa una captura de pantalla de esta aplicación:

01

Primero se especifica el archivo con los hashes a romper; en este caso la lista de Battlefield Heroes. Luego el modo de ataque; inicialmente se hará un ataque directo: aplicar MD5 a las palabras del diccionario y comparar con la lista de hashes para encontrar coincidencias. Por último se elige el archivo donde se almacenarán las contraseñas recuperadas, es decir, aquellas que “coincidieron”. Antes de presionar el botón, cabe aclarar que la ejecución se llevará a cabo en una laptop con un procesador Core i5 de Intel de media gama, simplemente porque es la computadora que tenía a mano. Si bien el procedimiento puede acelerarse con la versión de hashcat que soporta procesamiento por GPU, en este experimento sólo utilizaremos la CPU. Quizás no se obtengan los mejores resultados, pero justamente esa es la idea: utilizar hardware que cualquiera puede tener en casa.

Cuando se presiona el botón comienza el procesamiento. Entonces, ¿qué realiza nuestro procesador? Calcular la función MD5 para cada una de las 14 millones de palabras en el diccionario, y comparar contra cada uno de los 400 mil hashes en la lista. Luego de sólo 2 minutos de ejecución se completa la operación, arrojando los siguientes resultados:

hashcat procesamiento straight con rockyou

Se han recuperado casi 120 mil contraseñas en 2 minutos. Aquí vemos la utilidad de este diccionario y por qué se ha hecho tan popular. Para el siguiente paso utilizaremos el mismo diccionario, pero además aplicaremos reglas a cada una de las palabras antes de calcular la función. Podríamos, por ejemplo, sacar algunas letras y remplazarlas por otras, o ignorar palabras muy largas o muy cortas, entre otras operaciones. Si bien es posible crear nuestras propias reglas, en este caso se utilizarán reglas que vienen incluidas con hashcat, dado que es lo más sencillo y no tenemos mucho tiempo. Así, se agregará el archivo de reglas best64, el cual condensa

...

Descargar como (para miembros actualizados)  txt (10.1 Kb)  
Leer 6 páginas más »
Disponible sólo en Clubensayos.com