El descifrado de contraseñas es fácil ¿Cómo proteger tus cuentas?

El descifrado de contraseñas es fácil ¿Cómo proteger tus cuentas?

  • Categoría de la entrada:Internet

El descifrado de contraseñas puede ser más fácil de lo que piensas. Ya lo vimos en el último hackeo de cuentas Twitter de Elon Musk, Bill Gates, Kanye West, entre otros…. Pero ¿Cómo lo logran? Es tan fácil como descifrar contraseñas usted mismo (no digo esto como una forma de alentarlo a intentarlo, sino más bien como una advertencia para resaltar la importancia de usar una contraseña segura debido a lo simple que puede ser descifrar una fácil).

Cuando se trata de preservar su privacidad e identidad en Internet, las contraseñas son las más comunes para la protección. Es tan común que la mayoría de nosotros damos por sentado su importancia. Cada sitio web que visitamos, cada servicio para el que nos registramos, requiere una contraseña como forma de verificación de identidad. ¿Tienes un mismo password para todas tus cuentas? Quizá esto ya es una mala idea, o no?

Tu contraseña es la llave a tu información personal. Importancia del conocimiento del descifrado de contraseñas

Pero pocas personas toman en serio las contraseñas; Como resultado, muchas de las contraseñas de Internet son de 8 caracteres y hash con MD5 , que puede ser descifrado por un hacker cibérnetico que sabe que por $50.00 USD de algún hardware, puede descubrir tu contraseña secreta. Con tal amenaza para su ser actual o futuro, es hora de tomar la creación de contraseña más en serio.

Contraseñas de fuerza bruta. La fuerza bruta, en pocas palabras, es un método para descifrar contraseñas en el que el atacante intenta probar tantas combinaciones posibles de contraseñas como sea posible, según un conjunto de parámetros. 

Por ejemplo, un sitio web podría establecer un parámetro donde la contraseña debe tener entre 8 y 16 caracteres. En el modelo más simple, el descifrador de contraseñas puede comenzar probando 00000000. Luego puede probar 00000001, 00000010, 00000100, y así sucesivamente hasta que haya probado todas las combinaciones posibles de caracteres permitidos.

Esa es una gran combinación de personajes. El siguiente gráfico ilustra las longitudes de contraseña más comunes basadas en un análisis de más de 320 contraseñas.

La longitud favorable es 8: _ _ _ _ _ _ _ _. Cada campo puede ser:

  • Un alfabeto en minúsculas (26 posibilidades)
  • Una letra en mayúscula (26 posibilidades)
  • Un número (10 posibilidades de 0 a 9)
  • Signos de puntuación u otros caracteres especiales (33 posibilidades)

Esta gran respuesta en Stack Overflow desglosa todas las matemáticas detrás del cálculo del número final, lo que representa las posibilidades totales de que la contraseña de 8 caracteres puede ser: 3,025,989,069,143,040 o aproximadamente 3 billones, y cada uno es un intento separado.

La fuerza bruta para forzar una contraseña de 8 caracteres de la manera más básica puede requerir 3 billones de intentos.

Cómo funciona la fuerza bruta

Tal vez te lo estés imaginando: alguien escribió un programa que va a un sitio web que visitas con frecuencia, teclea tu nombre de usuario, teclea un intento de contraseña y presiona el botón de inicio de sesión. Luego lo hace 3 mil millones más de veces.

No, no es así como funciona. Suponiendo que un sitio web tarda 2 segundos en cargar una página , entonces son 2 segundos de tiempo de espera para obtener una página de “contraseña incorrecta” para cada intento. En otras palabras, duraría hasta 9 mil millones de segundos, o 287,9 millones de años, suponiendo que el sitio web no bloquee el nombre de usuario después de un cierto número de intentos sospechosos.

En realidad, lo que sucede es que su nombre de usuario y su contraseña están expuestos a una violación de datos (que ocurre con más frecuencia de lo que cree). La contraseña expuesta puede suceder de dos maneras:

  1. En un escenario muy inseguro, su contraseña no está cifrada y se almacena en texto sin formato. Ningún lector tendría que hacer nada más que copiar y pegar su contraseña. Por ejemplo, si su contraseña es contraseña1 , aparecerá como contraseña1 para cualquiera que vea el contenido de la violación de datos. El forzamiento bruto no es necesario en este escenario porque el sitio web ya entregó su información en bandeja de plata.
  2. En un escenario más seguro, su contraseña está cifrada y no se almacena en texto sin formato. Por ejemplo, si su contraseña es contraseña1 , se mostrará como 0b14d501a594442a01c6859541bcb3e8164d183d32937b851835442f69d5c94e si el sitio web introdujo su contraseña utilizando una función hash SHA-256.

Qué es el método Hashing

Esto es lo que es el hashing en un nivel básico: Es un proceso en el que tomas cualquier combinación y longitud de caracteres (números, letras, caracteres especiales) y se transforma en un patrón único e ininteligible de un número específico de caracteres y números.  Prueba algunas cosas:

  • Escriba la misma palabra en minúsculas y mayúsculas. Notarás que el hash es diferente. Eso es porque los hashes distinguen entre mayúsculas y minúsculas.
  • Escriba un montón de caracteres aleatorios lo más rápido posible. Verá que el hash se actualiza prácticamente en tiempo real (indistinguible para el ojo humano). Esto se debe a que una función hash efectiva debe ser rápida; Es algo que debería suceder en el fondo y no afectar lo que la gente está haciendo.
  • Escriba una palabra (recuerde, distingue entre mayúsculas y minúsculas), elimínela y luego escríbala nuevamente. Notarás que el hash es el mismo en ambas ocasiones. Esto se debe a que el hash es exclusivo de su palabra, y cada hash es único para cada combinación de caracteres. No hay dos combinaciones de caracteres que tengan el mismo hash.
  • Escriba una palabra, copie el hash resultante y péguelo en el cuadro de palabras. Verás que se genera un nuevo hash. Eso es porque no puedes “deshacer” un hash. Es un camino unidireccional, por lo que alguien con un hash no podrá descifrar el contenido original, excepto adivinando.
  • El enlace en el que hizo clic tiene el algoritmo de hash establecido en SHA-256. Haga clic en MD5 (debajo de la sección Hash en el lado derecho del sitio web) y escriba la misma palabra. Notará que el resultado de hash MD5 es más corto que el resultado de hash SHA-256. Eso es porque SHA-256 tiene 256 bits, mientras que MD5 tiene 128 bits.

Se pueden aplicar diferentes algoritmos de hash para diferentes casos de uso. Por ejemplo, el hashing con MD5 es más rápido que el hash con SHA-256, pero SHA-256 es más seguro. Incluso SHA-256 puede no ser lo suficientemente seguro, y es posible que deba elegir otra función hash. Finalmente, el más seguro tampoco será seguro. Esto se debe a que con CPU y GPU más rápidas (o ASIC, o incluso computadoras cuánticas en el futuro), el hash se vuelve más fácil de descifrar.

Sobre la vulnerabilidad del descifrado de contraseñas

La velocidad a la que se puede descifrar una contraseña también se ve afectada por la dificultad del algoritmo. Por lo tanto, una contraseña cifrada en SHA-256 puede ser más segura que una contraseña cifrada en MD5.

Hash MD5 para el almacenamiento de contraseñas

Desafortunadamente, gran parte de Internet aún no está a la altura del estándar SHA-256. Un artículo publicado por ZDNet a mediados de 2019 afirmó que el 25% de los principales CMS todavía usan hash MD5 . Para aquellos que no están familiarizados, un CMS es un sistema de gestión de contenido, y es lo que la mayoría de los sitios web utilizan para ejecutar y administrar todo su frontend y backend. Los populares incluyen WordPress y SugarCRM. Para darle una idea de su popularidad, un estudio publicado por W3Techs en 2018 afirmó que el 30% de los sitios web de Internet funcionan con WordPress , y WordPress es uno de los CMS que utilizan el hash MD5 para el almacenamiento de contraseñas.

Si bien un almacenamiento de contraseña hash MD5 es mejor que almacenar contraseñas en texto sin formato, no es mucho mejor. Es elegir entre vivir al lado de una carretera o vivir al lado de una carretera con una tienda de campaña.

Cómo funciona la fuerza bruta

Después de obtener la información de la violación de datos, el hacker puede iniciar el hack.  A partir de aquí, el hacker necesita dos cosas:

  1. Un programa que probará automáticamente diferentes combinaciones de caracteres y comparará los resultados con los hashes de la lista para descubrir las contraseñas.
  2. Hardware que será lo suficientemente rápido y económico como para que el pirata informático descifre las contraseñas en un corto período de tiempo sin gastar tanto dinero que sea económicamente ilógico que incluso intente descifrar la contraseña.

La primera parte es bastante fácil. Existen herramientas gratuitas de código abierto que hacen exactamente lo solicitado, como Hashcat o John the Ripper . La segunda parte, obtener el hardware, puede sonar más complicada, pero con los servicios en la nube, esas partes pueden obtenerse de manera rápida y económica.

Contraseñas predecibles dan método a la locura

Desde el microcosmos que es nuestra vida cotidiana, creemos que somos únicos y que todo lo que hacemos y creamos es único. Desafortunadamente, eso no es cierto, al menos no cuando se trata de contraseñas.

Las contraseñas creadas por humanos son vergonzosamente predecibles porque nuestros cerebros no están construidos como chips de computadora, y el almacenamiento / recuperación de datos es más fácil si no es aleatorio. Quizás eso es lo que nos hace diferentes de la IA : Somos menos impresionantes cuando se trata de memoria y procesamiento.

Hace un tiempo, WordPress Engine publicó un artículo sobre seguridad de contraseñas basado en un análisis de más de 10 millones de contraseñas filtradas. La contraseña más común en ese estudio fue 123456 . Eso fue seguido por la contraseña , 12345678 , qwerty , 123456789 y 12345.

Si bien el artículo no tenía una fecha de publicación, los tipos de contraseña sugieren que podría estar un poco desactualizado; hoy en día, las contraseñas requieren ciertas combinaciones de letras, números y, a veces, incluso símbolos.

Dicho esto, los patrones de las 6 contraseñas más utilizadas son alarmantes. 4 del total de seis son solo una secuencia de números, uno de ellos es literalmente la palabra contraseña, y qwerty solo mueve los dedos por el teclado.

Con esta previsibilidad en mente, hace que el proceso de forzar una contraseña sea más fácil porque un hacker ahora puede pasar por las permutaciones de las contraseñas más comunes. De hecho, forzar de forma bruta las contraseñas más comunes es extremadamente fácil porque los hashes de esas contraseñas probablemente ya estén almacenados en algún lugar, ya sea localmente o en algún Pastebin en algún lugar.

Con esa información, la fuerza bruta ni siquiera es necesaria. El hacker solo necesita CTRL + F y ver si alguno de los hashes de la lista de cuentas comprometidas coincide con los hashes que ya tiene. Si recuerda, un hash es único, lo que significa que las coincidencias ya son contraseñas reveladas.

También se pueden priorizar diferentes permutaciones de contraseñas. Por ejemplo, antes de entrar en una fuerza bruta completa de caracteres aleatorios, un hacker puede probar diferentes combinaciones de la palabra contraseña más algunos números. Quizás 0–999. Entonces se vería como contraseña_ _ _.

Mejora la seguridad de tu contraseña

Como mínimo, aumente la longitud de su contraseña. Si usa 8 caracteres, hay 3 billones de combinaciones posibles que conforman su contraseña. Al agregar solo 1 carácter adicional, aumenta ese número en casi 100x, lo que significa que alguien necesitaría 100x más recursos para justificar descifrar una contraseña.

Con 16 caracteres, son cerca de 36,079,602,200,334,571,635,466,603,985,857 combinaciones posibles. Ni siquiera sé cómo llamar a ese número, pero, en términos relacionales, es 11.9 billones de veces más fuerte que una contraseña de 8 caracteres. Eso llevaría un equipo de 8 GPU hasta 5,7 billones de años para descifrar, en comparación con 4,2 horas con una contraseña de 8 caracteres.

Usar autenticación de dos factores (2FA)

La autenticación de dos factores es excelente por razones que van más allá de la protección de la cuenta; en el caso de que alguien obtenga su contraseña, esa persona aún no puede acceder a su cuenta sin ingresar también una contraseña secundaria.

Idealmente, debe usar un servicio 2FA como Google Authenticator o Authy, que funciona de manera muy diferente al mensaje de texto 2FA. Sin entrar en demasiados detalles, el hecho es que el mensaje de texto 2FA es un método débil y vulnerable porque es probable que las filtraciones de datos no solo contengan información de nombre de usuario / correo electrónico / contraseña, sino también números de teléfono probables. Con esa información, los piratas informáticos pueden obtener mensajes de texto 2FA que de otro modo deberían ir a su teléfono.

Use un administrador de contraseñas

Hay una cosa que odio de los administradores de contraseñas: cuanto más los use, más bloqueo de proveedor tendrá. Por ejemplo, si usa un generador de contraseñas que está almacenado en Google Chrome, el navegador Chrome guardará su contraseña para uso futuro, pero si intenta usar otro navegador como Microsoft Edge o Mozilla FireFox, no tendrá esa contraseña guardada. Peor aún, cada contraseña es única y se genera aleatoriamente para cada sitio web, lo que significa que es poco probable que recuerde ninguna de ellas. Pero eso es lo bueno: los administradores de contraseñas crean contraseñas increíblemente seguras que aumentarán su seguridad en Internet de una manera que no podría hacer usted mismo.

Compruebe si ya está comprometido

Es poco probable que un pirata informático adivine mágicamente su contraseña a través de intentos de inicio de sesión en un sitio web; para cuando intente iniciar sesión, es probable que ya haya obtenido su contraseña.

Una buena manera de verificar si su nombre de usuario / contraseña u otra información se filtró es ingresar su (s) dirección (es) de correo electrónico en HaveIBeenPwned . Ese sitio web monitorea Internet para encontrar correos electrónicos que se remontan a violaciones de datos. Es un servicio gratuito que también lo alerta por correo electrónico cada vez que encuentra uno de sus correos electrónicos en una violación de datos. Si alguna vez recibe una notificación, es una buena idea cambiar su contraseña de inmediato en la cuenta comprometida, así como en otras cuentas que tengan la misma contraseña.