PicoCTF Nice Netcat Writeup — Talk to a Remote Service with netcat

Misc 2026-12-28 · picoGym · By CTFdojo · ⏱ ... · 👁 ... views
𝕏 Share
TL;DR

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.

PlatformpicoGym
CategoryMisc
Points50 pts
DifficultyBeginner
Tools netcat nc

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:

Resources

CTFdojo
CTFdojo
Community of ethical hackers writing beginner-friendly CTF writeups and guides.

Got a question or a different approach?

Discuss this writeup with the community on the CTFdojo Discord.

Join the Discord →