La fuerza bruta, bruteforce

  • 0

La fuerza bruta, bruteforce

La fuerza bruta

La fuerza bruta es una de las más utilizadas técnicas dentro del mundo del hacking. Consiste en probar sistemáticamente claves y comparar el resultado de su encriptación con la clave que se quiere descifrar, o directamente si el sistema al que queremos acceder nos da acceso al introducir alguna de las claves que estamos probando.

Seguramente esta técnica surgió cuando se empezaron a implantar sistemas de claves de acceso a los ordenadores y alguien intentó entrar en la computadora de un tercero sin su permiso sentándose delante del teclado ajeno y probando contraseñas. Esto lo hemos visto todos en Hollywood y acertaban. En muchos casos porque el atacante investigaba la vida y costumbres de la persona que había diseñado el sistema (Juegos de guerra , JOSUA) o simplemente por el “supuesto ego” del administrador (Hackers piratas informáticos, GOD).

El caso es que realmente esta técnica funciona, muchos usuarios utilizan contraseñas como la fecha de su aniversario, el día de su boda, el nombre de su mascota, por no hablar de las passwords más utilizadas, tal es hay una auditoría del ranking de las passwords más utilizadas : http://splashdata.blogspot.com.es/2014/01/worst-passwords-of-2013-our-annual-list.html

Las noticias sobre seguridad en las contraseñas son quizás el punto más importante de seguridad en un sistema, puesto que la mínima vulnerabilidad que exponga un fichero del sistema que contenga contraseñas, podría ser objeto de análisis para su desencriptación y tener acceso al sistema vulnerado por suplantación.

¿Se puede desencriptar una clave? La pregunta del millón que todo el mundo hace cuando comienza con esto del “cracking”. Respuesta, algunas sí, otras no y otras no sabemos.

Como muchos ya saben la fuerza de un clave depende de su algoritmo y de longitud. Existen numerosos algoritmos de encriptación de claves AES, MD5, SHA1 entre otros muchos, que no vamos a describir por su complejidad matemática. Por ejemplo el algoritmo utilizado para el protocolo de seguridad wireless WEP, como ya muchos se imaginan, está roto. Técnicamente La implementación del vector de inicialización (IV) en el algoritmo WEP tiene varios problemas de seguridad mas info ( htp://www.monografias.com/trabajos18/protocolo-wep/protocolo-wep.shtml)

Como se ve, algunos algoritmos a través de algunas técnicas pueden hacerse reversibles, esto no quiere decir que a través de la clave cifrada se pueda obtener la clave original, pero como es bien sabido reuniendo suficiente información como hace aircrack (una suite para hacking wireless) , se puede desencriptar dicha clave, en base a un protocolo de seguridad fallido.

 

Las GPUS, un nuevo nicho del cracking.

En algún momento, alguien calló en la cuenta de que utilizar las GPU de las tarjetas de vídeo eran excelentes para realizar el tipo de operaciones criptográficas que necesitan los cálculos matemáticos durante el encriptado, de esta forma la GPU puede realizar estos cálculos en ciclos muy rápidos y en paralelo, multiplicando el número de operaciones que puede realizar un procesador con creces, e incluso se ha creado un mercado en torno a las tarjetas ASIC, exclusivas para este tipo de operaciones por ejemplo en minado de moneadas virtuales, como Bitcoin o DogeCoin, que necesitan de operaciones criptográficas complejas.

Recientes noticias nos confirman que cualquier clave de windows puede ser descifrada en 6 horas con un cluster de 25 tarjetas de video o GPUS:

http://arstechnica.com/security/2012/12/25-gpu-cluster-cracks-every-standard-windows-password-in-6-hours/

Esto nos indica que la vulnerabilidad de un sistema, en muchos casos depende de unas 6 horas y estamos hablando del sistema operativo más extendido del mundo, todo gracias a la potencia de las GPUS.

Pese a todo, aún no está todo perdido en cuanto a las contraseñas. Como ya todo el mundo adivina, hay formas en las que podemos mitigar, en cuanto a los ataque por fuerza bruta , puesto que hay rumores de que ciertos gobiernos tienen la capacidad de desencriptar todo tipo de cifrados. Así lo revelaron numerosos diarios y medios donde se habla de un espionaje masivo por parte de la NSA americana. Si bien es un tema controvertido ya que se rumorea que hubiera necesitado introducir falsos generadores de pares de números aleatorios para crear certificados web que les permitirían de alguna manera atacar el vector del cifrado SSL.

A tener en cuenta sobre la seguridad en las contraseñas:

La fuerza de las contraseñas reside en el algoritmo que las genera, en su longitud y en su complejidad.

Nos referiremos a la complejidad se refiere al número de símbolos utilizados.

La fuerza de la contraseña reside en parte al número de símbolos o caracteres que utiliza, probabilisticamente hablando una contraseña es más fuerte si utiliza un mayor número de símbolos, es por ello que se recomiende usar Mayúsculas minúsculas, números y caracteres en una contraseña.

Aún así el fallo más común respecto a la elección de este tipo de contraseñas sigue siendo la longitud. Muchos usarios creen que usar “l33t” como “1l0v3y0u” o “D4n13l” son suficientes como para eludir un crackeo por parte de hackers de su password. Pues va a ser que no. Ya no solo por los famosos diccionarios l33t, sino porque una contraseña de menos de 8 caracteres es hoy por hoy factible en términos matemáticos atacarla por fuerza bruta y descifrarla en pocas horas.

Así pues en un teclado medio qwerty, tenemos 26×2 letras (mayúsculas y minúsculas) + 10 números + 127 símbolos ascci. Si tenemos en cuenta esto 52 letras + 10 números + 127 símbolos, nos da una suma finita 251. Suponiendo una clave de 7 digitos obtenemos :

Selección_011

En combinatoria da un número bastante grande, pero no lo suficiente para cualquier computador moderno. Como con 251 no nos va a funcionar en cualquier calculadora ordinaria para el caso vamos a utilizar uno que nuestra calculadora si podremos factorizar para este ejemplo, el 150, para que se pueda comprobar el ejemplo con la calculador de windows o una calculadora de mano. Para el caso por ejemplo, de que el ataque no contase con que el usuario use símbolos raramente utilizados en las contraseñas como & % o ~.

Tal que:

Selección_010

Parece un número grande, pero no se engañe, este número habrá que dividirlo entre el número de contraseñas que puede calcular el hardware por cada segundo y luego podremos estimar el tiempo que se tardará en descifrar la clave dependiendo como dijimos de su fuerza. Como ya dije, las claves de windows son totalmente inseguras para un hardware aparentemente asequible para cualquier organización criminal o de espionaje.

Hay varios sitios para comprobar la dureza de una clave y para calcular el tiempo necesario teórico para crackearla

http://superpatanegra.com/generadores/claves/comprobar/

http://calc.opensecurityresearch.com/

http://geodsoft.com/cgi-bin/crakcalc.pl

Iceweasel_026

 

Como mostramos en la imagen, hemos probado con un tipo de clave http autentication, y nos dice 1 years 45 days 15 hours 40 minutes 2 seconds , pero estamos hablando de un solo ordenador, ahora imaginemos 10 GPUs y veremos que el tiempo se reduciría en una relacion 1/10 a 41 días, aproximadamente.
La contraseña no es en sí una medida de seguridad. La contraseña en sí es un impedimento para que cualquiera pueda acceder al sistema, pero un sistema debe implementar sus propias medidas de seguridad. Olvide la vieja idea de “Le he puesto password, está protegido”, sería como decir que los ladrones tienen miedo a los candados.

Por ejemplo que los usuarios utilicen contraseñas seguras no son ninguna garantía de seguridad informática, aunque indirectamente ayuden a impedir accesos no deseados al sistema, hay muchas otras técnicas que pueden poner una contraseña al descubierto, como el phising, malware, virus, etc.

Es importante que dentro de la cultura corporativa especialmente los usuarios tengan en cuenta lo siguiente:

No mezclar los passwords del trabajo con los de web externas.

No usar el mismo password en muchos sitios web.

Cambiar el password habitualmente, en aquellos casos donde el servicio sea crítico y hacer buen recaudo de el mismo.

Nunca revelar la password. Pese a que alguien te lo suplique por correo. Casi siempre el administrador de un sistema tiene suficiente control sobre el mismo para resetear, cambiar o reasignar una contraseña sin necesidad de consulta al usuario, normalmente es el usuario es el que suele solicitar ese cambio o información y no al revés.

Hacer las auditorías necesarias para la seguridad, en el sistema informático y sobre la seguridad de los equipos que lo componen.

Que los usuarios tengan cultura sobre ciberseguridad ayuda mucho más que todo lo anterior junto, porque ellos mismos podrían darse cuenta de alguna anomalía, avisar o incluso tomar medidas.

Pablo Martínez Team Sec


Leave a Reply