Skip to main content

July 24, 2026

The picoCTF General Skills Roadmap: The Category Everything Else Rests On

General Skills roadmap for picoCTF: a tiered path through the shell, file inspection, encodings, scripting, remote services, git, and permissions.

Five slender pillars of different heights standing on one broad low plinth.

General Skills is the prerequisite for every other category

General Skills is where almost everyone starts, and it is the category most people underrate. It has no single technique to master, which makes it feel like a grab bag of unrelated puzzles. It is not. It is the set of operations you will perform in every other category: move around a filesystem, look inside a file you did not write, decode something, automate a repetition, and talk to a service on a port.

Nobody solves a heap exploitation challenge without first downloading a binary, checking its type, running it, and connecting to a remote instance. Those four steps are General Skills. This roadmap orders the whole category into seven tiers, links the full guide for each, and names the picoCTF challenges that drill it.

The other five categories teach you attacks. This one teaches you the hands you perform them with.

If you have not competed before at all, read the picoCTF beginners guide first for how the platform, scoring, and instances work, then come back here for the skills.

Why this category is different

Three things distinguish General Skills from the specialist categories, and they change how you should study it.

  • There is no theory to learn, only fluency to build. Nothing here is conceptually hard. The difficulty is entirely in speed and recall: knowing that grep -r exists, that file comes before strings, that tab completion beats typing a path. Fluency comes from repetition, not from reading.
  • The skills compound instead of replacing each other. In crypto, learning RSA does not help you with AES. Here, every tier is used forever. The shell you learn in tier 1 is the shell you use in a privilege escalation challenge three years from now.
  • It is the largest beginner surface in picoCTF. Roughly eighty challenges sit in this category across every event, and they range from one-command warmups to restricted-shell escapes that would be at home in a pwn track.
Key insight: The most valuable habit in this category is refusing to open a file in a GUI. Every time you reach for a text editor or a file manager, ask what the command-line equivalent would be. That reflex is what separates people who finish a category in an evening from people who grind it for a week.

The triage table: what the challenge is really asking

General Skills challenges disguise themselves. Read the prompt and the provided files, then match them against this table. The first match tells you which tier to work in.

If the challenge gives youIt is really aboutTier
An SSH login and a vague hintNavigating and searching a filesystemTier 1
One downloadable file of unclear typeFile interrogationTier 2
A wall of digits, hex, or padded textEncoding and representationTier 3
Thousands of files, or a thousand roundsScripting the repetitionTier 4
A host and a portTalking to a remote serviceTier 5
A repository or a .git directoryHistory archaeologyTier 6
A shell you cannot fully usePermissions and escapesTier 7

Tier 1: The shell, and being fast in it

Everything begins with moving around and finding things. The commands are few, and the skill is combining them. If you can express "find every file under this directory that contains the word flag, ignoring case" without stopping to think, tier 1 is done.

Learn the portable subset first. POSIX.1-2024 specifies the shell language and around 155 standard utilities, and everything in that set behaves the same on Ubuntu, macOS, and the Alpine container a challenge drops you into. GNU extensions are convenient and not guaranteed: grep -P for Perl-compatible regex, sed -i without an argument, and find -printf are all outside POSIX and all commonly missing on a minimal challenge box. When a one-liner that works locally fails on the remote shell, that distinction is almost always why.

ls -la # including dotfiles, with permissions
cd - ; pushd ; popd # move without retyping paths
find . -name '*.txt' # by name
find . -type f -size +1M # by property
grep -ri 'picoCTF{' . # recursive, case-insensitive search
cat file | head -20 | tail -5
sort | uniq -c | sort -rn # the counting idiom
wc -l ; cut -d: -f1 ; tr -d '\n'
  • The Linux CLI guide teaches the core command set, pipes and redirection, globbing, and the search idioms that solve most of tier 1 on their own.
Tip: Learn tab completion and Ctrl-R history search on day one. They are not conveniences, they are the difference between a challenge taking two minutes and taking fifteen. A surprising number of picoCTF challenges are specifically about a filename you cannot type or a directory listing you have to search rather than read.

Tier 2: Interrogating a file you did not write

You get one file and no explanation. The workflow never changes: identify the type, look for readable content, then look at the bytes. Three commands, in that order, answer most of it.

file mystery # what is it, by magic bytes
strings -n 8 mystery | less # readable runs of 8+ characters
xxd mystery | head -40 # the actual bytes, with a header you can identify
ls -l ; stat mystery # size and timestamps, sometimes the answer
chmod +x mystery && ./mystery # sometimes you are just meant to run it
  • Hex dumps for CTF teaches reading xxd output, spotting structure in bytes, and the endianness that trips up every beginner exactly once.
  • File carving and magic bytes teaches identifying a file by its header when the extension lies, and pulling embedded files back out.
Warning: The extension is a suggestion. file reads the actual header, and in CTF the two disagree on purpose. A .txt that is really a zip, a .jpg that is really an ELF binary, and a file with no extension at all are all standard.

Tier 3: Encodings and how data is represented

This tier is recognition. Base64, hex, binary, decimal ASCII, ROT-N, and URL encoding all have distinctive shapes, and knowing them on sight turns a five-minute puzzle into a five-second one. Nothing here is encrypted, so nothing here needs cracking.

  • Encodings in CTF teaches fingerprinting each format and peeling a multi-layer chain in the right order.
  • The recipe-chain workflow turns that triage into a repeatable pipeline you can drive on-site without writing a script.
  • XOR for CTF covers the moment a blob stops being an encoding and starts being a homemade cipher, which is the boundary between this tier and the crypto category.
Note: Number bases belong here too. Converting between binary, octal, decimal, and hex, and understanding that a byte is eight bits with a value from 0 to 255, is assumed by every later tier and by all of binary exploitation. Challenges built entirely on base conversion and bitwise operations are common and quick.

Tier 4: Scripting, the moment repetition appears

The tell is scale: a thousand files, a thousand rounds, a server that asks a hundred questions. The intended solution is never to do it by hand. Bash covers gluing commands together; Python covers anything with logic or state.

for f in *.txt; do grep -l 'picoCTF' "$f"; done
cat files/* | grep -o 'picoCTF{[^}]*}' | sort -u
seq 1 1000 | while read n; do curl -s "http://host/$n"; done
# python, when there is state or math
import re, requests
s = requests.Session()
while True:
q = s.get(URL).text
s.post(URL, data={'answer': eval(re.search(r'\d+ [+*-] \d+', q).group())})
  • Bash scripting for CTF teaches loops, conditionals, quoting, and the one-liners that replace an hour of clicking.
  • Python for CTF teaches the bytes-versus-string model, requests, regex extraction, and the script skeletons you will reuse in every category.
Key insight: If you find yourself doing the same thing a third time, stop and script it. The rule is not about elegance, it is about error rate: a loop that runs a thousand times gets it right a thousand times, and your hands do not.

Tier 5: Talking to something on a port

Half of picoCTF hands you a hostname and a port. Connecting is one command, and the skill is knowing what to do once the connection is open: read the banner, answer the prompt, keep the session alive, and pipe data in and out.

nc host 12345 # the standard connection
ssh user@host -p 12345 # when they give you credentials
echo 'answer' | nc host 12345 # non-interactive
nc host 12345 < payload.txt # send a prepared file
curl -i http://host:12345/ # when the port speaks HTTP
  • The netcat guide teaches connections, banners, listeners, and the piping patterns that make a remote service scriptable.
  • Networking tools for CTF covers the wider toolkit: port scanning, DNS lookups, and identifying what protocol is actually on the other end.
  • HTTP for CTF is the specific case where the service speaks HTTP, which is more often than beginners expect.
Tip: When a service asks questions faster than you can type, that is not a difficulty spike, it is the challenge telling you to switch to a script. Combine this tier with tier 4 and use pwntools, whose guide covers remote(), recvuntil, and sendline.

Tier 6: Git, where deleted things are not deleted

Git is a General Skills staple because it is a database of everything anyone ever committed, including the commit where they added a password and the next one where they removed it. Removing a secret from the working tree does nothing to the history.

git log --oneline --all # every commit on every branch
git show <commit> # the full diff of one commit
git diff HEAD~1 HEAD
git stash list ; git stash show -p
git reflog # commits no branch points at anymore
git cat-file --batch-all-objects --batch-check # every object in the repo
  • Git forensics for CTF teaches the full archaeology workflow: branches, stashes, reflog, dangling objects, and recovering an exposed .git directory from a website.
Note: The web-facing version of this is finding /.git/ exposed on a target and cloning it back out. That crosses into web recon, and it is one of the highest value checks in any web challenge.

Tier 7: Permissions, sudo, and restricted shells

The hardest General Skills challenges hand you a shell that cannot do what you want. A file you cannot read, a binary you can run as another user, a shell with most builtins removed. This tier is the doorway into privilege escalation, and the reasoning is identical: enumerate what you are allowed to do, then find the one allowed action with an unintended consequence.

id ; groups # who am I, really
sudo -l # what may I run as someone else
ls -l /path/to/target # who owns it, what bits are set
find / -perm -4000 -type f 2>/dev/null # setuid binaries
cat /etc/passwd ; ls -la /home/*
  • Linux privilege escalation teaches the full enumeration checklist and the standard escalation paths from setuid binaries, sudo rules, cron, and capabilities.
  • Python sandbox escapes is the same reasoning inside an interpreter rather than a shell, and the two challenge types often blur together.
Warning: Restricted shells fall to the same handful of tricks: a command that spawns a subshell (a pager, an editor, find -exec), a wildcard the shell expands for you, a PATH entry you can write to, or an alternative binary that does the same job under a different name. Enumerate first, then match what you have to that list.

A practice path through the category

Work these in order. They are chosen so that each one drills a single tier, and so that the difficulty ramps without gaps.

Tip: After each solve, write down the one command you did not know before. A page of those, accumulated over a category, is worth more than any cheat sheet you download, because it is indexed by the problems you actually hit.

Quick reference

The seven tiers in one screen

  1. Shell. Linux CLI. Navigate, search, pipe.
  2. Files. hex dumps, magic bytes. Identify before you open.
  3. Encodings. encodings, recipe chain, XOR. Recognition, not cracking.
  4. Scripting. bash, Python. Automate the third repetition.
  5. Remote. netcat, networking tools, HTTP. A host and a port.
  6. Git. git forensics. Deleted is not deleted.
  7. Permissions. privilege escalation, sandbox escapes. Enumerate, then abuse what you are allowed.

The five commands to run on anything

file, strings, xxd, grep -r, ls -la. Run them before you think. They cost ten seconds and they end a meaningful fraction of challenges outright.

Once this category is comfortable, every other roadmap on this site opens up: web, cryptography, forensics, reverse engineering, and binary exploitation. They all assume the seven tiers above, and none of them will teach you these.

Sources and further reading

Every tier above is a manual you can read. Reading the actual man page once beats collecting flags from memory.

Run it in the browser

Tools on this site that do the work described above. No install, nothing uploaded: they run entirely in your browser.

Try it on these picoCTF challenges

Walkthroughs that put this technique to work, grouped by event.

Keep reading

Guides that build on the same ideas, plus the roadmap this topic sits under.