Privilege Escalation Techniques
Take a low-privilege shell on a deliberately misconfigured Linux VM and escalate to root using manual enumeration, linPEAS, and the GTFOBins lookup workflow that turns a misconfigured sudo rule or SUID binary into full access.
Prerequisites: Completion of Exploiting Common Web Vulnerabilities; a hypervisor (VirtualBox or VMware) capable of running a local Linux VM; comfort with basic Linux permissions (users, groups, chmod).
Targeted versions: Verified against the PEASS-ng project repository (linPEAS is distributed from github.com/peass-ng/PEASS-ng/releases — the project moved under the peass-ng GitHub organization; always fetch the latest release tag rather than a pinned version, since it updates frequently) and GTFOBins (gtfobins.github.io), the standard curated reference for abusing Unix binaries during privilege escalation, referenced here only as a lookup workflow — not reproduced in full, since it's a living community-maintained catalog best consulted directly.
⚠ This project deliberately keeps the target a learner-built or Vulnhub-style local VM rather than a hosted CTF platform, so there is no ambiguity about authorization — build the VM yourself, in your own hypervisor, on hardware you own.
An initial exploit almost never lands you the access you actually want — a web app vulnerability like the ones from the previous project typically gets you a shell running as a low-privilege service account (www-data, a dedicated app user), not root. Privilege escalation is the process of turning that limited foothold into full control, and on Linux it almost always comes down to finding one specific misconfiguration: a SUID binary that shouldn't be SUID, a sudo rule that's broader than intended, a writable file a privileged process trusts. This project builds the manual checks worth knowing by heart, the automated tool that runs all of them for you, and the GTFOBins workflow that turns "I found a misconfiguration" into "I have root."
Manual enumeration: the checks you should know cold
Automated enumeration with linPEAS
Turning a finding into root: the GTFOBins workflow
A second path: writable cron jobs
Secret Mission: build a two-path vulnerable VM and time yourself
Before You Go
Test what you just learned
Self-testing is one of the best ways to retain new skills. Unlock project quizzes to check your understanding.
Log in to unlock0 / 7 complete
