Skip to main content
The goal here is building a full picture of the box before touching anything: who you are, what’s running, what’s reachable, and what’s lying around unprotected. Everything on this page is information gathering, exploiting what it turns up (SUID binaries, capabilities, GTFOBins, wildcard injection) is covered separately in the upcoming Privilege Escalation page, this one is strictly “what does this system look like.”

Local Enumeration

Run from an existing shell on the box: system info, users, processes, filesystem, credentials lying in plain sight.

Automated Sweeps

linPEAS/LinEnum run everything below (and more) in one pass, worth kicking off in the background while you work through things manually.

System Information

Start broad: what distro, what kernel, what’s actually installed. The kernel version in particular is worth noting immediately, it’s the first thing to cross-reference against a kernel exploit suggester later.
Match the kernel version and distro against linux-exploit-suggester once you have it, a known unpatched kernel CVE can be a faster win than any local misconfiguration.

Container & Virtualization Check

Worth confirming early, since it changes what “privilege escalation” even means here, root inside a container is not root on the host, and some techniques (kernel exploits especially) behave differently or not at all.

Users & Groups

sudo -l is one of the highest-value commands on this entire page, run it immediately after confirming a shell. Whatever it returns feeds directly into the privilege escalation page next.

Network Information

A port bound only to 127.0.0.1 is invisible from outside but reachable from this shell directly, worth comparing the ss output against what an external nmap scan showed, the difference is often a service worth pivoting through.
Useful when this box has reach into a subnet nothing else can touch directly.

Processes & Scheduled Tasks

Scheduled tasks are worth checking even without write access to any of them, knowing what runs automatically (and as which user) shapes what to look for elsewhere.
pspy watches process creation without needing root, catching a root-run cron job’s exact command line, including one that only fires for a few seconds, is routinely how a box with nothing else wrong gets popped.

Filesystem, Permissions & Mounts

Permission bits worth enumerating now, even though acting on them belongs to the privilege escalation page:
Finding a SUID binary, a writable file owned by root, or an interesting capability here is a lead, not a result. What to actually do with each one (GTFOBins lookups, capability abuse, writable-script hijacking) belongs on the privilege escalation page, this page is where you collect the leads.

Credential & Secret Hunting

Looking for anything left behind, config files, scripts, history, logs, that leaks a password, key, or token directly.
SSH keys are one of the highest-value finds on a box, worth a dedicated pass rather than relying on the generic hidden-file search above to catch them.
Log files sometimes retain exactly what caused a failed login or a sudo invocation, worth grepping rather than reading line by line.
Cast a wider net once the targeted searches above come up empty.
manspider does the same keyword sweep against remote SMB shares instead of the local filesystem, useful once you’ve got a foothold and credentials to try against neighboring hosts.

Domain Indicators (Linux Joined to AD)

A Linux box can be domain-joined via sssd or Winbind, worth checking since it opens up every Kerberos/AD technique on top of whatever local privesc exists.

Automated Enumeration

Running a script catches things a manual pass misses or would take too long to check by hand, worth kicking off early and reviewing its output while continuing the manual checks above.

linPEAS

The most thorough automated Linux enumeration script, color-coded output flags likely privesc vectors directly.

LinEnum

Lighter and faster than linPEAS, a reasonable choice when the target is slow or linPEAS’s output is too noisy to wade through.
Grab it straight onto the target with curl or wget, piping directly into sh skips writing to disk at all, useful on a box with limited write access or where you’d rather not leave the script sitting around.
Saving a copy first lets you re-run it with flags (-a for all checks including slower ones, -s for superfast mode) and keep the output logged to a file for later review.
If outbound internet access isn’t available from the target, serve it from your attacking box instead and pull it over the local network (see File Transfer for the full set of transfer methods):

Password Hash Reference

Useful for recognizing what you’re looking at if you get hashes from/etc/shadow or a dump .
AlgorithmFormat
Salted MD5$1$…
SHA-256$5$…
SHA-512$6$…
BCrypt$2a$…
Scrypt$7$…
Argon2$argon2i$…

Quick Reference Tools

GTFOBins

Lookup table of binaries that can be abused for privilege escalation once SUID/sudo/capability enumeration above turns up a candidate.

linPEAS

Automated enumeration, see above.

pspy

Unprivileged process monitoring, catches cron jobs and scheduled tasks live.

linux-exploit-suggester

Matches the kernel version against known local kernel exploits.