Seguramente muchos ya conocen al @chinoogawa , ese que nos dió tantas alegrías con su Facebook Hacking Tool (Ayy, esas inyecciones de likes y ni hablar del Friendly Logout). Esta vez, comparte con todos los "kakers" una nueva herramienta llamada Instabrute, la cual podemos descargar de aquí:
https://github.com/chinoogawa/instaBrute
Como reza el título, esta vez la que esta en foco no es una imagen que subiste a Instagram, sino tu password. Si si, gracias a Instabrute podemos realizar un ataque de fuerza bruta por diccionario. Además, nos permite saber si una cuenta existe para posteriormente comenzar el ataque. Por qué podemos hacer esto?
Podemos hacer esto, gracias al pobre diseño que posee el sitio de Instagram en cuanto a la seguridad. Debemos reconocer que Instagram siempre ha tenido problemas graves de seguridad. Si viajamos a un tiempo atrás recordaremos que se descubrió que la aplicación de Instagram no cifraba las cookies de navegación, con lo cual, un atacante podía capturar esas cookies y hacer un hijacking de la sesión. Esto dió origen a la herramienta Instasheep, pariente de Firesheep, que realizaba automáticamente la captura de cookies y nos abria la sesión secuestrada al instante:
http://www.hackplayers.com/2014/07/instasheep-secuestrar-cuentas-de.html
También podemos recordar que Instagram no verificaba que el mail que ingresaste al momento de registrarte sea el tuyo (nunca te enviaba un correo con un enlace para que actives tu cuenta), con lo cual, permitía que crees un perfil con el correo de otro.
Siguiendo con los problemas de seguridad tenemos lo siguiente: Sin tener cuenta en Instagram, podemos buscar cualquier nombre de usuario ingresando en nuestro navegador: instagram.com/usuario_X
Bueno, muchos dirán, "El usuario debería configurar sus opciones de privacidad". Pero hay un problema... Instagram no permite al usuario agregarle privacidad a su cuenta. Si miramos la configuración vemos que no existe ninguna opción para hacer que nuestra cuenta no sea visible para quienes no nos siguen, o no son usuarios, o algo similar.
Solo nos permite desactivar nuestra cuenta momentáneamente.
También, podemos ver que en su página de login, un usuario puede probar ilimitadamente contraseñas sin que salte un cartel al tercer intento o un captcha por ejemplo:
Que gracioso, nos dice "Tu nombre de usuario o tu contraseña con incorrectos" como para que uno no se de cuenta si existe ese usuario pero te deja verlo si lo pones en el navegador jeje.
Gracias a esto nace Instabrute, Con esta herramienta podemos verificar si existe un usuario y posteriormente realizar un ataque de fuerza bruta por diccionario. La herramienta esta desarrollada en python y para su uso debemos tener instaladas las siguientes dependencias:
- Mechanize
- CookieLib
- Simplejson
- OptParse
python instaBrute.py -u usuario -d diccionario.txt
En el caso que tengamos una lista de usuarios podemos hacer:
python instaBrute.py -f usuarios.txt -d diccionario.txt
Veamos primero que sucede si el usuario no existe:
si instaBrute recibe el mensaje de error 404 del sitio nos informa que el usuario no existe:
Lo que recibimos en el navegador se ve así:
Ahora, probemos con una cuenta existente:
Y ahí lo tenemos! Nuestra clave en la lente de la cámara, lista para subir a Instagram con un lindo marco y efecto Nashville jeje
Esto demuestra lo importante que es restringir el número de intentos de alguna forma al momento de diseñar una página de login. Espero que se diviertan con esta linda herramienta. Gracias @chinoogawa por sorprendernos una vez mas.
Saludos y...
HAPPY HACKING Mother KAKERS!