100 ways to achieve privilege escalation in Linux
Privilege escalation in a Linux environment can be achieved through a variety of methods, often depending on misconfigurations, vulnerabilities, or unintended behaviors in the system. Here’s a list of 100 potential ways to escalate privileges from a non-root user to a root user. These are categorized into common areas like misconfigurations, vulnerabilities, binaries, and kernel exploits.
1-20: Misconfigurations
- World-writable files in sensitive directories like
/etc/. - Misconfigured
sudoprivileges allowing execution of unintended binaries. - Misconfigured
setuidbinaries owned by root. - Writable
/etc/passwdor/etc/shadow. - Writable
/etc/sudoersor/etc/sudoers.d/. - Cron jobs running as root with writable scripts.
- Writable
/var/spool/cron/directory. - Root-owned files with improper ACL permissions.
- Sticky-bit misconfigurations on sensitive directories.
- Writable scripts executed by services running as root.
- SSH keys in
/root/.ssh/with world-readable permissions. - World-writable
/var/log/files. - Incorrect permissions on kernel module files.
- Improper permissions on shared libraries.
- Misconfigured
capabilities(e.g., binaries withCAP_SYS_ADMIN). - NFS exports with
no_root_squashenabled. - Improper mount options (
execin/tmpor/home). - User writable
/devdevices. - Writable
LD_PRELOADdirectories. dockergroup membership allowing root-level access.
21-40: Exploitable Binaries
- Exploiting
vi/vimthroughsudowith improper configurations. - Exploiting
lesswhen invoked withsudo. - Using
awkto escalate privileges viasudo. - Using
pythonto execute arbitrary code withsudo. - Exploiting
tarwithsudofor arbitrary file writes. - Using
findwithsudoto execute arbitrary commands. - Exploiting
bashwithsudoto open a root shell. - Using
perlto execute code withsudo. - Exploiting
rsyncwith root permissions. - Using
cpto overwrite critical files withsudo. - Exploiting
gitwhen configured with root access. - Using
scpto overwrite files viasudo. - Leveraging
ziporunzipfor privilege escalation. - Exploiting
mysqlto gain code execution. - Using
vimtemporary files to escalate privileges. - Exploiting
journalctlwith improper configurations. - Using
envwithsudofor privilege escalation. - Misusing
screenif running with setuid or sudo. - Exploiting
tmuxsession misconfigurations. - Using
node.jsornodeinsudocontext.
41-60: Kernel and Software Vulnerabilities
- Exploiting
Dirty COW(CVE-2016-5195). - Exploiting
OverlayFSvulnerabilities (e.g., CVE-2021-3493). - Exploiting
polkitvulnerabilities (e.g., CVE-2021-4034). - Exploiting vulnerable
sudoversions (e.g., CVE-2019-14287). - Exploiting
systemdvulnerabilities. - Exploiting
ptraceto attach to a privileged process. - Exploiting vulnerable
X11configurations. - Exploiting
SELinuxbypass vulnerabilities. - Exploiting vulnerable kernel versions (e.g., buffer overflows).
- Exploiting
glibcvulnerabilities. - Exploiting
snapdvulnerabilities. - Exploiting
Apachemisconfigurations or vulnerabilities. - Leveraging
CVE-2018-14665(Xorg exploit). - Exploiting SSH agent forwarding vulnerabilities.
- Exploiting container breakout vulnerabilities.
- Using
overlaymount escape in containers. - Kernel module exploits like
RDS(CVE-2010-3904). - Leveraging
cronrace conditions. - Exploiting
chrootescapes. - Exploiting vulnerable applications with privilege escalation paths.
61-80: Abusing Services
- Exploiting vulnerable web applications.
- Manipulating database services (e.g., MySQL, PostgreSQL).
- Exploiting
openvpnmisconfigurations. - Leveraging misconfigured
rsyncservices. - Exploiting
tftporftpwith root files. - Exploiting vulnerable SMB shares.
- Using NFS shares with weak permissions.
- Abusing
cups(printing service) vulnerabilities. - Exploiting email services running as root.
- Abusing
systemdservice file misconfigurations. - Exploiting
docker.sockfor container breakout. - Manipulating
kubernetesconfigurations for root access. - Exploiting vulnerable
cronjobs for root users. - Misconfigurations in
PHPor web server modules. - Exploiting weak database passwords for services running as root.
- Exploiting vulnerable or exposed admin interfaces.
- Abusing
sudoeditfor file overwrite attacks. - Manipulating
journalctlfor command injection. - Leveraging
nmapwith root capabilities. - Exploiting misconfigured
rsyslogservice.
81-100: Advanced Techniques
- Kernel rootkits for privilege escalation.
- Exploiting
/procpseudo-filesystem vulnerabilities. - Leveraging writable
LD_LIBRARY_PATHfor library injection. - Exploiting race conditions in system calls.
- Using
ptraceto hijack root processes. - Exploiting
/etc/environmentfile manipulation. - Using
pivot_rootfor privilege escalation. - Exploiting
cgroupsmisconfigurations. - Leveraging
dbusfor privilege escalation. - Exploiting
/rundirectory misconfigurations. - Manipulating PAM modules for root access.
- Using fake binaries in
PATHfor privilege escalation. - Injecting malicious commands into
.bashrcof root. - Exploiting writable
/boot/directory. - Abusing
passwdcommand with setuid. - Exploiting
initsystem configurations. - Leveraging misconfigured network services (e.g., DHCP).
- Exploiting legacy or abandoned software.
- Using symbolic links to overwrite sensitive files.
- Exploiting user-to-root trust relationships (e.g., SSH keys).
Final Notes
- Always get permission before testing these techniques (penetration testing or ethical hacking).
- Many methods require specific preconditions like vulnerable software, misconfigurations, or inadequate permissions.
- Keeping your Linux system updated and configured properly can mitigate many of these risks.