jueves, 2 de enero de 2014

Ataque por fuerza bruta (I de III)

Muchas veces las empresas contemplan el hecho de ofrecer mas servicios en la red, como lo son servicios de mensajería, compartir archivos, copias de seguridad en linea, tiendas en linea y una enorme lista que se podría enumerar con ellos. Y como es bien sabido, antes de lanzar un nuevo servicio al publico , es necesario que este pase por una auditoria de seguridad, para asegurar que el servicio cumple con las normas y políticas de de seguridad establecidas por la empresa y de encontrarse un algún fallo solucionarlo.    

Un ataque que seguramente ya conocerás es el ataque por fuerza bruta, este ataque consiste en averiguar un usuario o contraseña probando todas las combinaciones posibles que permitan obtener acceso, también se suelen utilizar diccionarios que permitan comprobar si la clave o usuario se encuentra listado dentro del diccionario.


    Figura 1: Ataque por diccionario vs Ataque por fuerza bruta

Sea cual fuere el servicio que sea atacado por medio de esta técnica, los resultados pueden ser catastróficos si no toman las medidas necesarias para asegurar los sistemas. Como por ejemplo un ataque a un servidor FTP, puede realizarse con diferentes herramientas que automatizan dichos ataques, por ejemplo hydra, medusa, entre otros que permite establecer ataques a diferentes servicios o john the ripper, ophcrack, etc, para crackear contraseñas. Realizando una prueba con la empresa XXX, realizando un ataque de inyección SQL, puede obtenerse el usuario y el hash de las contraseñas utilizadas.

  Figura 2: Ataque inyección SQL, con password de MYSQL  

El primer ataque realizado es por medio de diccionario, tratando de averiguar si algún password coincide, aunque es una técnica poderosa y efectiva, es necesario tener un enorme listado y eso no garantiza que en verdad obtengamos el password.   

 Figura 3: Cuatro password's encontrados por diccionario

Si no es posible obtener todos los password's por medio de diccionarios, se puede recurrir a un ataque de fuerza bruta, utilizando sufijos, al utilizar estos, se realiza un comparación de patrones, si se identifica alguno, mediante múltiples iteraciones se van añadiendo nuevos patrones hasta obtener el password.

    Figura 4: Matriz de patrones para ataque de fuerza bruta.

 Figura 5: Utilizando sufijos en el ataque.

Cuando se realiza un ataque por fuerza bruta a hashes de contraseñas es muy fácil en muchas ocasiones obtenerlas, ya que no se suelen tener buenas políticas para establecer contraseñas seguras, ya que el utilizar contraseñas complejas ayuda a mitigar los este tipo de ataques, realizados a contraseñas.        
Figura 6: Resultados obtenidos con el ataque

El resultado final fueron 6 contraseñas adicionales a las 4 obtenidas con diccionario, las contraseñas obtenidas, en definitiva no cumplían con un estricto nivel de complejidad, la única visible es consulta( ya que las demás reflejan el nombre de la Empresa XXX) que es una contraseña débil ante un ataque como este.

Y como decía en principio este ataque puede utilizarse tanto atacar usuarios o contraseñas con conexión o sin conexión al sistema o servicio, el ataque realizado anteriormente fue mediante un archivo con los hash alamacenados temporalmente(sin conexión) y efectuar el ataque de fuerza bruta de forma local.

Posteriormente veremos como atacar servicios mediante fuerza bruta y diccionarios a servicios con un conexión directa al servicio.

Saludos.
Lexer Pars.        

***************************************************************************************************************************************
Ataque por fuerza bruta (I de III)
Ataque por fuerza bruta (III de III)
***************************************************************************************************************************************

No hay comentarios:

Publicar un comentario