¿Cómo aplicar una fuerza bruta a un applet de Java en el navegador?

4

Estoy resolviendo un desafío CTF y tiene varios niveles: enlace

(Los navegadores modernos ya no son compatibles con los applets de Java y tuve que descargar el navegador Opera 9.x para ejecutar el applet correctamente)

Me doy cuenta de que debo forzar la aplicación bruta de Java para encontrar la combinación correcta de ajustes.

Lo que intenté:

  • Noté el applet en la página y usé wget para descargarlo y jd-gui para revertirlo. Notado algunas otras clases que se extrae de y los descargué también. Pero no veo cómo puedo volver a crear la aplicación en mi sistema local, de manera tal que pueda forzarlo brutalmente.

  • Se utilizó Wireshark para capturar los paquetes que van a la página web en Para manipular la solicitud y reenviar las consultas de fuerza bruta ajustes Sin embargo, la página web es HTTPS (encriptación de extremo a extremo) y así que realmente no puedo leer la comunicación después de que "siga el TCP transmisión "en el navegador.

  • Descargué los archivos de clase de Java e intenté recrear la máquina en mi sistema local, pero es complicado y no pude hacer que funcione.
  • Se utilizó el proxy Burp Suite para capturar las solicitudes que van a la página web. No hay suerte allí. Una vez que se carga el applet de Java, jugar con la configuración no genera nuevas solicitudes en mi proxy Burp. Así que nada que capturar y manipular. Supongo que esto se debe a que el applet está cargado en mi cliente y no se están enviando solicitudes HTTP al servidor cuando estoy jugando con el applet de Java.

Mi pregunta:

¿Cómo puedo aplicar fuerza bruta a la máquina del rotor en el applet de Java? En otras palabras, ¿cómo envío datos diferentes a la máquina y observo los resultados de forma automatizada?

    
pregunta whoami 17.12.2017 - 01:58
fuente

1 respuesta

4

Está en el camino correcto al descargar el applet manualmente y al descompilarlo, así es como lo abordaría yo también. Es posible que necesite más comprensión del código para revertir la forma en que se están descargando clases adicionales sobre la marcha. Tenga en cuenta que no necesita ejecutar la aplicación para entender cómo funciona, el desafío es recuperar los llamados "ajustes del rotor", que deberían ser bastante fáciles de averiguar a partir de las clases descompiladas.

También puede usar una herramienta como Charles Proxy para solucionar el problema HTTPS: Charles le dará un certificado raíz que necesita instalar en el almacén de confianza del navegador (y posiblemente en el almacén de confianza de Java) en mi Mac, por ejemplo, el El panel de preferencias de Java tiene su propio almacén de confianza), la herramienta luego interceptará HTTPS y presentará certificados de servidor válidos firmados por ese certificado raíz a la aplicación Java. Sin embargo, me sorprendería mucho si esta aplicación en particular está llamando a un servicio externo más allá de su carga inicial.

En el peor de los casos, siempre puedes usar el applet normalmente y usar algunas herramientas de automatización como AutoIt para interactuar con él.

¡Buena suerte!

    
respondido por el André Borie 17.12.2017 - 02:44
fuente

Lea otras preguntas en las etiquetas