The password for the next level can be retrieved by submitting the password of the current level to port 30001 on localhost using SSL encryption.
This level is very similar to the last one, but with a twist: the service on port 30001 requires an SSL/TLS encrypted connection. If I try to use regular Netcat (nc), the connection will fail because Netcat doesn’t know how to “speak” in encryption.
To solve this, I used openssl, a toolkit for the Transport Layer Security (TLS) and Secure Sockets Layer (SSL) protocols. I used the s_client tool to initiate a secure connection.
Here is the command I used:
$ openssl s_client -connect localhost:30001
Once the connection was established and the “handshake” was finished, the terminal waited for my input. I pasted the password for bandit15, and the server responded with the password for Level 16.
[SPOILER]