Me llama la atención como los webmails y algunos otros servicios protegen a los usuarios de ataques de fuerza bruta mediante distintas medidas como son el bloqueo de cuentas, de direcciones IP o mediante el uso de CAPTCHAs. En cambio, otras aplicaciones de gran difusión como son las redes sociales, parecen no preocuparles este problema, pese a que el contenido puede ser muy sensible y los usuarios tienen zonas privadas de mensajes.
Aprovechando la reflexión, he comprobado como Tuenti no limita estas peticiones con la estupenda herramienta de Edge-Security: wfuzz.
El siguiente ejemplo muestra su ejecución para lanzar el comando (lo siento para los amantes de las ventanitas) contra este fabuloso portal
$ python wfuzz.py -c -z file -f wordlists/common.txt --hc 200 -d"email=securik@gmail.com&input_password=FUZZ&timezone=1" "https://www.tuenti.com/?m=Login&func=do_login"Lo único que nos haría falta es una buena lista de palabras (o todas las posibles de 8 caracteres, total, es gratis) y la cuenta de correo del teenager a atacar.
Los argumentos son los siguientes:
- -c colorea la salida para una fácil visualización
- -z file indica que se pasará un fichero como diccionario
- -f wordlist/common.txt es el archivo con las contraseñas a probar (aseguraros que tiene CristianoRonaldo como una de ellas)
- --hc 200 solicita que todo lo que devuelva un error 200 no sea mostrado
- -d especifica los parámetros que serán enviados como POST.
- FUZZ indica donde se hará la rotación de palabras, en este caso en el campo "input_password"
Target: https://www.tuenti.com/?m=Login&func=do_loginLa siguiente captura muestra la ejecución completa:
Payload type: file
Total requests: 948
=================================
ID Response Lines Word Request
==================================
00947: C=302 0 L 0 W "ecurity"
En cambio Facebook bloquea la cuenta y exige se haga un reinicio de contraseña, enviando un aviso al correo electrónico.
46 comments :
Creo que wordpress y la mayoria de los CMS que no implementan estos sistemas por defecto tambien lo deberían hacer. Quizás no un captcha pero algo que limite los intentos, algo como un "Throttling login attempts"
Sigo diciendo que comentar estas cosas en 'público', es un peligro para los críos aburridos :(
Estoy de acuerdo con Chencho.
Buenas, aquí no se describe ninguna vulnerabilidad importante y aunque así fuera, si desgraciadamente hay crios que quieren realizar ataques, ellos sabrán cuales son las consecuencias.... siento si no os ha gustado la entrada, pero la audiencia son consultores, auditores y analistas de seguridad y no gente sin ética ni conocimientos legales de sus acciones.
Gracias por vuestros comentarios!
Yo pienso que puede ser para evitar el robo de cuentas por parte de spammers (no para proteger a los usuarios), ya que de nada les servirían los captchas para registrar cuentas si pueden hacer ataques de diccionario a un montón de correos. Y las redes sociales no lo harán porque no se realizarán este tipo de ataques contra ellos.
Nadie nace sabiendo, y si no hubiera webs como estas, que muestran al mundo la inseguridad de terceras webs...(un suspiro).
Si JDownloader "lee" los CAPTCHAs, cualquier soft también podría hacer algo parecido, ¿no?
Asi que eso de poner un CAPTCHA no es la solución aunque si se combina con el un maximo de veces permitido, pues entonces sube la seguridad...
¿o que piensan?
un saludo.
@dx4cpc: Un captcha debe ser ser legible por humanos pero ilegible para maquinas. Para romper captchas puedes hacerlo usando redes neuronales, pero para esto debes programar un bot que rompa especificamente un captcha bajo unas circunstancias X. Para que un captcha sea seguro es necesario que tenga que en cada generacion de si mismo cambie su tipografia, rotacion de texto, fondo, lineas para hacer "ruido" etc, de manera tal que no puedas programar un bot usando redes neuronales, ya que es practicamente imposible determinar como vas a mostrar el captcha.
Cuando programas un bot para romper captchas debes hacer que el programita lea la imagen, le quite el ruido, separe los colores, quite el fondo y deje las puras letras lo mas derechas y legibles posibles y de esta forma poder leer el texto, pero como te puedes imaginar, para hacer esto tienes que saber como se va a mostrar el captcha, si le dices al bot que el texto esta en 90º entonces debes enderesarlo y quizas funcione, pero que pasa si el texto aparece en 360º? El bot solo lo girara 90º.
De todas formas es posible programar un bot para distintos escenarios, pero creo que mientras mas dinamico sea un captcha, mas seguro es.
Dejad, que la gente aprenda a usar ataques. Mientras sólo sean unos pocos los que generen ataques, todo seguirá igual.
Si llegado el momento, los ataques aumentan considerablemente, las empresas empezarán a ponerse las pilas y mejorar los sistemas.
Prevenir es mejor que curar, pero prevenir les cuesta un dinero que quizá piensen "aún no es necesario gastar".
Felicidades al autor por el artículo.
No estoy de acuerdo con los comentarios sobre la peligrosidad de publicarlo, ya que realmente no se está mostrando ningún fallo grave de seguridad. Al contrario, se está favoreciendo que las aplicaciones web sean seguras por defecto. A ver si Tuenti se ve afectado por tantos ataques que les replantee mejorar su seguridad y, lo que es más importante, la seguridad de sus usuarios.
Pasky
Alejandro, un 10 por los posts que haces y otro por la currada que llevas con la investigación de los captchas.
Bueanas Alejandro, interesante articulo :) Para los que quieran una version con frontend grafico y mas opciones pueden probar con la herramienta WebSlayer
http://www.edge-security.com/webslayer.php
Saludos
Llego un poco tarde para comentar, pero me gustaría añadir una idea que veo que nadie ha nombrado.
La "solución" que hace Facebook de bloquear la cuenta y enviar un email soluciona el tema de probar contraseñas por fuerza bruta, pero crea uno nuevo quizá peor: un sencillísimo DoS contra las cuentas.
Ej: creo un programa que intente constantemente logearse con cualquier contraseña. Cuenta bloqueada. El usuario usa el email para desbloquearla, pero el programa sigue probando, con lo que se bloquea de nuevo al momento.
En MSN (hotmail, live messenger, ..) tomaron una decisión parecida (se bloquea la cuenta durante un breve lapso de tiempo), y ya hay programas que explotan esta idea.
Lo más seguro creo que es bloquear la(s) IP atacante(s). No creo que nadie vaya a alquilar una botnet para sacar una contraseña de una web por fuerza bruta ;)
Un saludo, y ¡seguid así!
Nada mas se me abre el programa se me cierra con xp ....que hago
Cual es la mínima longitud de clave que exige tuenti? 6 caracteres?
ola no me va el tuenti xat algien me podria decir ke acer??
Francamente no creo que tengas razón, los captchas se saltan, incluso hay un ocr bastante bueno en javascript, si, he dicho javascript.
Los ataques de fuerza bruta sirven para claves cortas, tuenti pide creo que como mínimo 6 caracteres, hacer eso con el ancho de banda que hay en españa es un suicidio, puedes intentar hackear algo así por fuerza bruta, pero habrán pasado meses, incluso años antes de conseguir nada, otra historia serían ataques de diccionario
Estuve haciendo mis investigaciones sobre el tema con una herramienta que me hize en c++ antes de leer este post. Después de ponerla en práctica, pensé que tuenti habia bloqueado la direccion ip pero no fue así, puede loguearme con otra cuenta. Tuenti ante ataques de brute force bloquea al usuario como en otras paginas que citaba un Anónimo más arriba es decir puedes hacer DoS, al menos con mi herramienta.
Alex, y podrías pasarnos tu utilidad en c++?
Si claro, aqui dejo una archivo comprimido con el proyecto, el ejecutable, el codigo fuente en un txt y un archivo leeme con los pasos que seguí para que me bloqueara el user. Es una version vb6 (inconclusa) que hecho hace poco para elegir mas opciones de charset y mas comodamente.
PD: No genereres un charset de mas de 6 carácteres o te harás el DoS en tu propio pc. XD
http://www.mediafire.com/?5tn1uxtycgb
Un saludo!
Rectifico: Bloquea la ip. Me confundio que aun teniendo la ip bloqueada a esa cuenta puedes entrar a otras. Para evitar eso: wfuzz, me la tendré que mirar detenidamente.
Gracias ;)
A ver si saco un rato y leo el código ^^
Un saludooo
Jaja, te han hecho caso Alejandro. Ahora cuando pruebas unas cuantas contraseñas erroneas, no te permite logear, aunque pongas email y contraseña correctos. Te filtra por IP de origen...
Jaja, te han hecho caso Alejandro. Ahora cuando pruebas unas cuantas contraseñas erroneas, no te permite logear, aunque pongas email y contraseña correctos. Te filtra por IP de origen...
Son realmente impresionante los fallos que podeis encontrar con unas pocas horas de investigación.
Solo bloquean a la IP para acceder a la cuenta para la que se ha intentado usar wfuzz, pero ¿Cuanto tiempo exáctamente?
Recientemente se ha corregido bugs de inyección SQL ( http://www.tuentiadictos.es/tuenti-tiene-un-fallo-que-permite-sacar-datos-privados/ )
Saludos
A mi lo que me extraña es que tuenti no hubiera tomado medidas antes de la privacidad por ataques de fuerza bruta
Alguien sabe cuántos intentos por fuerza bruta hay??
El problema a un numero limitados de intentos por usuario/ip se solucionaria haciendo el ataque de forma anónima, es decir ocultando la ip que tenemos...
Para XP se abre el cmd, se hace cd en el directorio se ejecuta wfuzz seguido de los comandos.
Por cierto, no me funciono con ninguna cuenta, y eso que probe el archivo big, el problema es que estuve haciendo cuenta y con 6 caracteres y a unas 15 contraseñas que se prueban por segundo se necesitan muchisimos minutos para probar:
a) Solo letras minúsculas
b) Letras mayúsculas y minúsculas y números (cualquier combinación prácticamente)
Alguna solución? Diccionario de la lengua castellana? xD ... ^^'
He estado probando el programa, y con un diccionario de números de 90Mb se ha quedado pillado :)
Compañeros nuestros amigos de Tuenti ya han reparado este error, y ahora te bloquean por intentos fallidos de autentificación, un punto para ellos :D
de eso nada tuenti sigue vulnerable pero para poder "jackearlo" necesitas tener un buen diccionario porque a saber lo que piensan los jovenes de hoy en dia sexo, drogas, alcohol y mas sexo
asi que como para crear el diccionario perefecto para eso, en resumen los crios aburridos no tienen nada que hacer y yo sigo votando que la mejor manera para hacerlo es por tunneling :)
att
oldrider88@hotmail.com
sigue funcionando? hay alguna lista mejorada si es que funciona aun, si bloquea la IP el programa lo save cambia el c=200 a error 404 o 500? gracias por el post ^^
mmm parece que pusieron más seguridad ahora que si fallas algunas veces ya te pone captcha jeje
mmm parece que espabilaron ahoray cuando fallas 15 veces o por ahí ya ponen captcha los de tuenti jeje ahora hay que currárselo más reconociendo los captcha por OCR...
Y ahora yo le hago la siguiente pregunta... de que les vale poner captchas si tienen bugs xss por todos los lados ?
En concreto tuenti aún los tiene....
Saludos...
mmm parece que espabilaron ahoray cuando fallas 15 veces o por ahí ya ponen captcha los de tuenti jeje ahora hay que currárselo más reconociendo los captcha por OCR...
Y ahora yo le hago la siguiente pregunta... de que les vale poner captchas si tienen bugs xss por todos los lados ?
En concreto tuenti aún los tiene....
Saludos...
Compañeros nuestros amigos de Tuenti ya han reparado este error, y ahora te bloquean por intentos fallidos de autentificación, un punto para ellos :D
A mi esto no me funcionaa !!! :(
eing?
quiero aprender de ti a piratear si sabes por fa me gustaria saber tantas cosas
tambien por seguridad propia podria intentar crearse un contra osea si intentan meterse pudes contratacar con el progama y... evitar el acceso seria posible eso¿?
k dice
se podria poner por ejemplo en una captcha 5+4+2 seria una buena idea?
Publicar un comentario