I am solving a CTF challenge and it is multi-layered: https://net-force.nl/challenge/level314/
(Modern browsers don't support Java Applets anymore and I had to download Opera browser 9.x to run the Applet properly.)
I realize that I need to brute force the Java Applet to find the right combination of settings.
What I tried:
I noticed the Applet on the page and used
wget
to download it andjd-gui
to reverse it. Noticed some other classes that it pulls from and downloaded them too. But I don't see how I can re-create the app in my local system such that I can brute force it.Used
Wireshark
to capture the packets going to the web page in order to manipulate the request and re-send queries that brute force settings. However, the webpage is HTTPS (end-to-end encryption) and so I can't really read the communication after I "follow the TCP stream" on the browser.- Downloaded the Java class files and tried to recreate the machine on my local system but it is complicated and I couldn't get it working.
- Used
Burp Suite
proxy to capture the requests going to the webpage. No luck there. Once the Java applet is loaded, playing around with the settings does not generate new requests in my Burp proxy. So nothing to capture and manipulate. I am guessing this is because the Applet is loaded on my client and no HTTP requests are being sent to the server when I am playing with the Java Applet.
My question:
How can I brute force the rotor machine in the Java Applet? In other words, how do I send different data to the machine and observe output in an automated fashion?