30 abr 2017

Diccionario de 5.000 millones de contraseñas en GitHub

Ben (aka berzerk0) ha publicado un repositorio en Github, otro de Fuzz-Security y otro de Daniel Miessler que seguro hará las delicias de todo aquel que quiera hacer un ataque de fuerza bruta o, mejor dicho, de diccionario para obtener una contraseña. Efectivamente, se trata de diccionarios pero, ¿qué tienen de especial? Pues que son bastante extensos y ordena las contraseñas por uso o más probables...

Normalmente podemos encontrar algunas listas con contraseñas ordenadas por popularidad, pero el problema es que la gran mayoría de las listas, especialmente las listas más grandes, son ordenados alfabéticamente. Evidentemente esto no es muy práctico. Si asumimos que la contraseña más común es "password" y estamos realizando un ataque de diccionario usando uno en inglés, vamos a tener que empezar con "aardvark" y pasar por "passover" para llegar a "password". "Aardvark" no parece una contraseña que elija mucha gente por lo que podríamos estar perdiendo mucho tiempo al no comenzar el ataque con la contraseña más común en nuestra lista!

Para crear los diccionarios, Ben fue a SecLists, Weakpass y Hashes.org y descargó casi todas las listas de palabras que contenían contraseñas reales. Estas listas eran enormes y terminó con más de 80GB reales, con contraseñas utilizadas y generadas por personas. Luego dividió los diccionarios entre más de 350 archivos de longitud variable, tipo de clasificación u orden, codificación de caracteres, origen y otras propiedades. Ordenó esos archivos, eliminó los duplicados de los propios archivos y juntó todos.

Si encontraba una contraseña en varios archivos, consideraba que era una aproximación de su popularidad. Si encontraba una entrada en 5 archivos, no era demasiado popular. Si una entrada se podía encontrar en 300 archivos, era muy popular. Usando comandos de Unix, concatenó todos los archivos en un archivo gigante que contenía 4 mil millones de claves usados en distintos sitios de la web, y los ordenó por el número de apariciones en el archivo único. Con esto, pudo crear una lista de palabras muy grande clasificada por popularidad, no por orden alfabético.

El resultado, un repositorio de 24GB indispensable para cualquier cracker.

Fuente: berzerk0 | HackPlayers

Suscríbete a nuestro Boletín

19 comentarios:

  1. Como cuanto tardaria en probar todas las contraseñas?
    Supongo tiene que ver con que tan potente es tu procesador,digamos un core i7 7ta genracion,cuanto tardaria aprox?

    ResponderBorrar
  2. Necesita usar un "GPU" y el software Hashcat/ocl-hashcat.
    con un Nvida 1070 se necesita una o dos horas - aproximadamente

    -berzerk0

    ResponderBorrar
  3. Respuestas
    1. abre una terminal y escribe esto sin las comillas "git clone https://github.com/berzerk0/Probable-Wordlists.git" luego le das enter y deberia iniciar la descarga.

      post-data: si el conocimiento es libre, para mi es un placer compartirlo.

      Borrar
    2. GENIO!.. Gracias!!

      Borrar
  4. Respuestas
    1. https://github.com/berzerk0/Probable-Wordlists

      Borrar
  5. Donde esta el enlace de descarga?

    ResponderBorrar
  6. buenas , alguien tiene un diccionario de la "a" hasta la "Z" segudido de Los numeros "1234567890" ??? si es asi porfavor compartanmelo , les devolvere el favor ;)

    ResponderBorrar
  7. Puedes crearlo con C++, pero tendrías que dejar corriendo el programa posiblemente por unos días debido a las millones de contraseñas que te va a crear

    ResponderBorrar
    Respuestas
    1. Bro una vez que descargas el archivo donde consigo las propiedades de las contraseñas

      Borrar
    2. Como programo un diccionario con Python?. Sera que es muy complejo?

      Borrar
  8. Hola! Dónde podría conseguir el repositorio con el diccionario de 24GB del que habla el articulo? Ya que en un Link dejado en los comentarios hay un diccionario que es de 4Mb que dista mucho del de 24Gb, no sé si me expliqué correctamente. Gracias a quien pueda ayudarme. Saludos.

    ResponderBorrar
  9. Como puedo descargar el mejor diccionatio para empezar a ejecutar?

    ResponderBorrar

Gracias por dejar un comentario en Segu-Info.

Gracias por comentar!