Overview

Guides

GTFOBins

GTFOBins is a curated list of Unix binaries that can be used to bypass local security restrictions in misconfigured systems. GTFOBins

Automated

LinPEAS

Linux Privilege Escalation Awesome Script PEASS-ng/linPEAS at master · carlospolop/PEASS-ng · GitHub

LinEnum

Scripted Local Linux Enumeration & Privilege Escalation Checks GitHub - rebootuser/LinEnum

Linux Smart Enumeration (LSE)

Linux enumeration tool for pentesting and CTFs with verbosity levels GitHub - diego-treitos/linux-smart-enumeration

Linux Exploit Suggester (LES)

Linux privilege escalation auditing tool GitHub - mzet-/linux-exploit-suggester

linuxprivchecker.py

A Linux Privilege Escalation Check Script GitHub - sleventyeleven/linuxprivchecker

Unix-privesc-check

Unix-privesc-checker is a script that runs on Unix systems (tested on Solaris 9, HPUX 11, Various Linuxes, FreeBSD 6.2). It tries to find misconfigurations that could allow local unprivileged users to escalate privileges to other users or to access local apps (e.g. databases). unix-privesc-check | Kali Linux Tools

Manual

Kernel exploits

Get linux/kernel version E.g. Linux kali 5.14.0-kali2-arm64 #1 SMP Debian 5.14.9-2kali1 (2021-10-04) aarch64 GNU/Linux

Get "marketing" name of distribution E.g. Ubuntu 20.04.1 LTS

Get stuff like gcc E.g. Linux version 5.14.0-kali2-arm64 (devel@kali.org) (gcc-10 (Debian 10.3.0-11) 10.3.0, GNU ld (GNU Binutils for Debian) 2.37) #1 SMP Debian 5.14.9-2kali1 (2021-10-04)

-> Use searchsploit (exploit-db.com), Google, GitHub, etc. to check for public available kernel exploits.

Manual information gathering

Operating system

Users

Info about current user

Check for other users (non-service users normally start at id 1000)

Filter users with a login shell

Groups

Interesting unix groups

  • 44(video) <- has access to video output (weird stuff)

  • 6(disk) <- has raw access to the file system, read disk using e.g. debugfs

Sudo

Check current privilege status

Todo: LD_PRELOAD https://rafalcieslak.wordpress.com/2013/04/02/dynamic-linker-tricks-using-ld_preload-to-cheat-inject-features-and-investigate-programs/

SUID

Find files that have SUID or SGID bit set

Capabilities

List enabled capabilities

Cron Jobs

NFS

Check for no_root_squash option in

Mount share

Create SUID binary

Compile it, set SUID bit

Run it on target

Processing running

See also: PSPY

-> Is there something special, maybe related to the users found?

Network

-> Is any service running, we missed in the port scan (firewall?)

Packages

Debian

CentOS, OpenSuse, Fedora, RHEL

OpenBSD, FreeBSD

Check for manually installed stuff

Weak services

Look for files that have root privileges but are writeable for everyone -> replace file with exploit

Check tools potentially vulnerable to priv esc

setuid

Check if available mount -> must not have nosuid

setuid.c

Alternative setuid.c

TODO: This doesn't seem to be working.. Did it ever? Where did I get this from? PWK? 😬

Writable /etc/passwd

Change root, remove the x (password flag) root:x:0:0:root:/root:/bin/bash -> root::0:0:root:/root:/bin/bash su -> root

linux - Privilege escalation using passwd file - Information Security Stack Exchange

Public exploits

Dirty COW

Dirty COW (CVE-2016-5195) is a privilege escalation vulnerability in the Linux Kernel

Rational Love

glibc - 'getcwd()' Local Privilege Escalation 2018 local root exploit local-root-exploits/linux/CVE-2018-1000001 at master · 5H311-1NJ3C706/local-root-exploits · GitHub

Last updated