Possible privilege escalation vectors - Manual checklist

Check list for common vectors to escalate on Linux & Windows. Use index ->

Linux check list

Check for sudo current user privileges

sudo -l                 #Shows what sudo privileges the user has
sudo su -               #If (ALL:ALL) ALL or privileges on "su", switchs to root user

#user ALL=(ALL) NOPASSWD: /usr/bin/php
sudo php -r “system(‘/bin/sh’);        #/bin/sh to return root shell but you can execute whatever  ?"-r" runs php code directly from the CLI, "system" is a function used to execute external commands 

Check if sudo version is outdated and vulnerable

sudo -V | grep "Sudo ver" | grep "1\.[01234567]\.[0-9]\+\|1\.8\.1[0-9]\*\|1\.8\.2[01234567]"
searchsploit sudo 

OS & Kernel outdated

cat /etc/os-release 
uname -a

searchsploit versionFound

PATH

If you can write on $PATH directories you may be able to exploit some binaries or libraries.

Vulnerable software installed

Over-privileged processes

Writable .service files

If you find any writable .service files, you could modify them so they execute your scripts with higher privileges, also you could place a shell to establish a backdoor and maintain persistence.

Cron jobs

If you have write permissions to cron jobs you could place a script with a reverse shell which would activate once the timer is up granting us access

Exposed credentials

Some files can contain plain text credentials, its common in config files, logs and user history files (bash_history or PSReadLine in Windows). We could also check for password reuse as passwords used for non-critical software could also be used for root for example.

SSH Keys

If we have access to the .ssh directory we may find there their private ssh keys and use them to log as the user without credentials with the -i flag

If we can access to a users .ssh directory we could place our public key at /home/user/.ssh/authorized_keys this way we could have a more stable access as we can ssh into the system, of course after we first exploited and gained a shell.


Windows

Check for vulnerable software installed

Last updated