This challenge teaches the absolute basics of netcat (nc): connecting to a remote host and port, reading what the service sends back, and responding correctly to get the flag — the very first building block of any network/pwn-oriented CTF.

  • Platform: picoGym
  • Category: Misc
  • Points: 50 pts
  • Difficulty: Beginner
  • Tools: netcatnc

Challenge description

The challenge simply provides a connection command to a remote service:

"Can you connect to this service and figure out what it wants?"
nc saturn.picoctf.net 54321

No binary to download, no file to analyze — everything happens live over the network, via a raw TCP connection. It's the perfect opportunity to learn the single most fundamental tool of any network-oriented CTF: netcat.

Step 1 — Connect with netcat

netcat (often shortened to nc) opens a raw TCP or UDP connection to any host and port, and lets you interact directly with the service by typing text on the keyboard. We simply run:

$ nc saturn.picoctf.net 54321 

As soon as the connection is established, the remote service usually sends a welcome message (the "banner") that appears immediately in the terminal.

Step 2 — Read the service's instructions

Once connected, the service explains what it expects in return. On this challenge, the banner looks like this:

Welcome to netcat101! If you can read this, you already know how to connect. Type FLAG_PLEASE and press enter to get your flag. > 

The message is explicit: just type the requested command, exactly as shown, to receive the flag in return.

Step 3 — Respond correctly

We type the exact string requested by the service, then confirm with Enter:

> FLAG_PLEASE 

Netcat directly forwards every line typed on the keyboard to the remote service over the open TCP connection — no need to format anything, whatever is typed (followed by Enter) is sent as-is over the network.

Step 4 — Grab the flag

The service immediately responds with the flag in plaintext:

picoCTF{***} 

Here's the complete session, from start to finish:

$ nc saturn.picoctf.net 54321 Welcome to netcat101! If you can read this, you already know how to connect. Type FLAG_PLEASE and press enter to get your flag. > FLAG_PLEASE picoCTF{***} 

🚩 picoCTF{ flag intentionally hidden }

The flag is deliberately hidden — follow the method, you've earned it. 💪

Key takeaways

A short challenge, but one that lays an absolutely essential foundation:

  • netcat is often nicknamed the "Swiss Army knife of networking" — it lets you manually connect to any TCP/UDP service
  • Knowing how to read a banner and respond to it by hand is essential before scripting anything with tools like pwntools
  • The vast majority of pwn and network CTF challenges start with a simple nc host port command — mastering this basic step saves precious time on everything that follows

Originally published on CTFdojo — join the CTFdojo Discord to discuss writeups and get notified about new ones.