John The Ripper

John The Ripper
Información sobre la plantilla
94x169
DesarrolladorAlexander Peslyak[1]
Última versión estable1.7.6 (UNIX)[2], 1.7.0.1 (Microsoft Windows, DOS)[2]
Sistemas Operativos compatiblesUNIX, Microsoft Windows
LicenciaGPL [1]
Sitio web
www.openwall.com/john

John The Ripper (Software): es un crackeador de claves muy rápido, está disponible en muchos Sistemas operativos: Unix, DOS, Hasefroch32, BeOS y OpenVMS. Su principal función es un detectar claves débiles de Unix, pero puede analizar claves hash de varios sabores Unix, Kerberos AFS y Hasefroch NT/2000/XP LM hashes, y otros. Es una herramienta de seguridad muy popular, ya que permite a los administradores de sistemas comprobar que las contraseñas de los usuarios son suficientemente buenas.

Algoritmos que entiende

John the Ripper es capaz de autodetectar el tipo de cifrado de entre muchos disponibles, y se puede personalizar su algoritmo de prueba de contraseñas. Eso ha hecho que sea uno de los más usados en este campo. Utiliza la fuerza bruta para descifrar las contraseñas y entiende varios algoritmos como:

Mediante módulos externos, se puede hacer que también trabaje con:

Características

  • Optimizado para muchos modelos de procesador.
  • Funciona en muchas arquitecturas y sistemas operativos.
  • Ataques de diccionario y por fuerza bruta.
  • Muy personalizable (es software libre).
  • Permite definir el rango de letras que se usará para construir las palabras, y las longitudes.
  • Permite parar el proceso, y continuarlo más adelante.
  • Permite incluir reglas en el diccionario para decir cómo han de hacerse las variaciones tipográficas.
  • Se utiliza en línea de comando y no tiene un entorno gráfico.

Funcionamiento

John the Ripper usa un ataque por diccionario: tiene un diccionario con palabras, que pueden ser contraseñas típicas, y las va probando todas. Para cada palabra, la cifra y la compara con el hash a descifrar. Si coinciden, es que la palabra era la correcta. Esto funciona bien porque la mayor parte de las contraseñas que usa la gente son palabras de diccionario. Pero John the Ripper también prueba con variaciones de estas palabras: les añade números, signos, mayúsculas y minúsculas, cambia letras, combina palabras, etc. Además ofrece el típico sistema de fuerza bruta en el que se prueban todas las combinaciones posibles, sean palabras o no. Éste es el sistema más lento, y usado sólo en casos concretos, dado que los sistemas anteriores (el ataque por diccionario) ya permiten descubrir muy rápidamente las contraseñas débiles.

Plataformas disponibles

John the Ripper al principio fue diseñado para Unix, pero ahora funciona en al menos 15 sistemas operativos distintos: 11 tipos de Unix, MS-DOS, Windows, BeOS y OpenVMS. Se puede encontrar en la mayoría de distribuciones Linux. Es software libre distribuido bajo la licencia GPL, aunque permite que algunas partes del programa se usen con otras licencias, y otras están bajo el dominio público.

Formas de protección contra John the ripper

El mejor método de prevención de robo de contraseñas es garantizar que los atacantes no pueden acceder incluso a la contraseña cifrada. Por ejemplo, en linux, las contraseñas encriptadas se almacenan inicialmente en un archivo accesible a todos los usuarios /etc/passwd. En Unix modernos (y similares) sistemas, por otra parte, se almacenan en el archivo /etc/shadow, que sólo podrán acceder los programas que se ejecutan con privilegios de root. Esto hace más difícil para un usuario malicioso para obtener las contraseñas encriptadas en la primera instancia Los modernos sistemas de Unix han sustituido las tradiconales contraseñas basadas en hashing por fuertes métodos basados en MD5 y Blowfish. Otros sistemas también han comenzado a adoptar estos métodos. La principal forma de protegerse contar esta herramienta es evitar que los usuarios tengan acceso al fichero de contraseñas (/etc/shadow), para esto debemos configurar bien los permisos para que solo el root pueda leer en este fichero y ninguno de los otros usuarios pueda tener acceso a este, por defecto el sistema viene con esta configuración, además debemos de tratar que todos los usuarios tengan contraseñas difíciles de descifrar, las cuales deben tener las características siguientes: Que no sea corta. Cada carácter que agrega a su contraseña aumenta exponencialmente el grado de protección que ésta ofrece. Las contraseñas deben contener un mínimo de 5 caracteres y un máximo de 8. Muchos sistemas también admiten el uso de la barra espaciadora para las contraseñas, de modo que pueden crearse frases compuestas de varias palabras (una frase codificada). Por lo general, una frase codificada resulta más fácil de recordar que una contraseña simple, además de ser más larga y más difícil de adivinar. Combine letras, números y símbolos. Cuanto más diversos sean los tipos de caracteres de la contraseña, más difícil será adivinarla. No incluya secuencias ni caracteres repetidos. Cadenas como "12345678", "222222", "abcdefg" o el uso de letras adyacentes en el teclado no ayudan a crear contraseñas seguras. Evite utilizar únicamente sustituciones de letras por números o símbolos similares. Los delincuentes y otros usuarios malintencionados que tienen experiencia en descifrar contraseñas no se dejarán engañar fácilmente por reemplazos de letras por números o símbolos parecidos; por ejemplo, 'i' por '1' o 'a' por '@', como en "M1cr0$0ft" o en "C0ntr@señ@". Pero estas sustituciones pueden ser eficaces cuando se combinan con otras medidas, como una mayor longitud, errores ortográficos voluntarios o variaciones entre mayúsculas y minúsculas, que permiten aumentar la seguridad de las contraseñas. No utilice el nombre de inicio de sesión. Cualquier parte del nombre, fecha de nacimiento, número de identidad o datos similares propios o de sus familiares constituye una mala elección para definir una contraseña. Son algunas de las primeras claves que probarán los delincuentes. No utilice palabras de diccionario de ningún idioma. Los delincuentes emplean herramientas complejas capaces de descifrar rápidamente contraseñas basadas en palabras de distintos diccionarios, que también abarcan palabras inversas, errores ortográficos comunes y sustituciones. Esto incluye todo tipo de blasfemias y cualquier palabra que no diría en presencia de sus hijos. Utilice varias contraseñas para distintos entornos. Si alguno de los equipos o sistemas en línea que utilizan esta contraseña queda expuesto, toda la información protegida por esa contraseña también deberá considerarse en peligro. Es muy importante utilizar contraseñas diferentes para distintos sistemas. Evite utilizar sistemas de almacenamiento en línea. Si algún usuario malintencionado encuentra estas contraseñas almacenadas en línea o en un equipo conectado a una red, tendrá acceso a toda su información. No permita que nadie mire el teclado mientras usted escribe su contraseña. Pues podrán observar algunos de los caracteres que contiene esta y les será más fácil de adivinar. No utilice ningún ejemplo de contraseña que pueda ver en algún sitio, ya que esta también pudo ser vista pero una persona que desee conocer la suya. No se la diga a nadie ni como la construyó. Cambie la contraseña los más frecuentemente que pueda, en ocasiones descifrar una contraseña tarda días y tal vez cuando la descifren ya usted la haya cambiado y si es un administrador de sistema implementar políticas que obliguen a los usuarios a su cambio periódico. Quizás la forma más fácil de evitar el robo de contraseñas es utilizando otra forma de autenticación como lo pueden ser, por las huellas digitales, biometría pero como es sabido estos métodos son más costoso y solo pueden ser implementados por empresas poderosa o de avanzada.

Fuentes

Referencias