tutorial · bandit

Bandit Level 15 → 16

Use a TLS client to communicate with an encrypted local service.

By

bandittlsopenssl
Marks this level complete in your browser.

Goal

Submit the current password to localhost port 30001 using TLS encryption.

Why this matters

TLS wraps application data with authenticated encryption; a raw TCP client is not interchangeable with a TLS-aware client.

Progressive hints

  1. Hint 1

    Use OpenSSL's client mode.

  2. Hint 2

    Connect to localhost:30001.

  3. Hint 3

    After the handshake, submit one line.

Method

Run only the lines that match the evidence you observe.

openssl s_client -connect localhost:30001 -quiet
# Paste the current game password only into this TLS session.

Expected non-secret observation

A TLS handshake completes, then the service returns the next credential after valid input.

Explanation

s_client negotiates TLS before carrying the same line-oriented application exchange.

Troubleshooting

  • Do not use plain nc for a TLS-only listener.
  • Remove -quiet temporarily to inspect handshake diagnostics.

Safety and cleanup

  • Use only the OverTheWire game host and your own local practice directory.
  • Do not paste a level password into this site, screenshots, notes, or submissions. Baitaphish never asks for credentials.
  • Treat commands as learning prompts: inspect paths and flags before running them.

Completion and next step

Use the recovered credential only in the official Level 16 login. Then mark this transition complete and continue.