Prueba de concepto: Generador "BruteForce"

Volviendo a los temas interesantes hoy tocaré los Brute Force y aprovecho para decir a todos los lectores que bajaré la frecuencia diaria que mantuve la primera semana a dos o tres actualizaciones semanales.

Entrando en el tema: Un Brute Force consiste en extraer "algo", sea una password u otra cosa mediante el uso indiscriminado de cientos, miles, o más bien, billones de combinaciones de letras generando así "palabras" con cierta, ínfima, posibilidad de encontrar lo que buscamos.
Pero... y si no tenemos prisa y nada nos limita las oportunidades de reintento, ¿llegaremos realmente a conseguirlo? ¿Es una opción el BF? ¿Realmente, podemos llegar a obtener "algo" a base de BF?
Al contrario de lo que muchos piensan; Con un motor optimizado y preparado para cada caso en concreto, siempre que se cuente con las maquinas suficientes como para dividir el trabajo o el tiempo sea algo irrelevante: Sí, es posible.
A modo de prueba de concepto y en ningún caso con intención de dañar ni de buscar tarifas gratuitas o cualquier otra actividad ilícita mostraré un ejemplo de un motor Brute Force que, pacientemente, hace peticiones al motor java que devuelve por AJAX las tarifas en la página web de la Renfe; Podéis entrar y ver el formato que utilizan, se trata de una petición javascript que, según la Key solicitada (p.ej: GL011 niños, GL016 adultos..) devuelve el precio al que saldrá. Captura con firebug:



En este "motor para estudio" programado, podéis hacer peticiones para los Euromed Valencia-Barcelona con fechas cambiantes para que no "caduque" el programa; La cosa es simple, como funciona por HTTPS el sistema viene integrado con un navegador el cual, tenemos que accionar a mano siguiendo el orden de los botones y pulsando donde corresponda, por ejemplo, primero, obtenemos la cookie (en cada paso hay que esperar a que la página termine de cargar al 100% en el navegador visual integrado, pues este no es una maravilla y puede provocar errores que requieran del reinicio de la aplicación añado: tarda y puede dar la sensación de estar "colgado"), después, realizamos la búsqueda de trenes, aquí, Renfe, nos solicita un "captcha", que muy amablemente el programa nos ofrecerá para escribir, más tarde solicitamos la página de compra y por último el "precio adultos" que lanzará contra el servidor una petición con la Key GL016; Aquí, podremos iniciar el Brute Force System, un generador integrado en el programa que realicé íntegramente en Delphi hace bastante tiempo y que da mucho juego por qué no carga a la maquina siendo bastante rápido; Por ejemplo, si en "Palabra inicial" insertamos (en mayúsculas) "GL010", e iniciamos el sistema pulsando el botón iniciar, este, empezará a lanzar peticiones siguiendo un orden alfabético, pocos segundos más tarde, ya habremos encontrado dos "Keys" la de niños, GL011, y la de adultos, GL016.

El programa, va creando un "log" con que Key's han retornado una respuesta válida, así como almacena la respuesta para su visualización posterior; Es cierto quela velocidad es mínima (aproximadamente unas 90 palabra por minuto), pero, teniendo en cuenta que podemos retomar el brute force en apenas unos segundos desde el punto donde se cortara (también guarda log de ultimas key's testeadas), y que podemos dividir la carga en segmentos de caracteres así como punto de inicio entre diferentes maquinas, y, contando que el estándar de la aplicación son exactamente 5 caracteres, la cosa, se reduce considerablemente; así que es más que una opción válida, y, por ejemplo, en este caso, si existiera una "Key" de "debug" cuya respuesta fueran siempre gratuitos, "0 €" a todos los billetes, ya tendríamos algo que de ningún otro método podríamos obtener.

Por favor, como ya digo mi intención es puramente educativa, no me gustaría que empezaran miles de peticiones contra la web de tarifas de Renfe, no obstante, adjuntaré la aplicación par que podáis ver en funcionamiento la "máquina" para aplicarlo en usos que hagan avanzar la ciencia.

Descarga la aplicación aquí
Pulsa aquí para descarga el código fuente (Para evitar abusos pídemelo personalmente en los comentarios y te lo enviaré).

Capturas de pantalla:







Suerte a tod@s.

1 comentarios:

Anónimo dijo...

Yo quiero el programa, pero ya no esta disponible en el link de descarga proporcionado en el blog. Me harias el favor de mandarmelo por mail? laska25346@hotm...

Publicar un comentario