Index for Linux Privilege Escalation
Guides to have at hand
- HackTricks. Written by the creator of WinPEAS and LinPEAS.
- Vulnhub PrivEsc Cheatsheet.
- s0cm0nkey's Security Reference Guide.
This is a nice summary related to Local Privilege Escalation by @s4gi_:
Basic enumeration
See Linux Enumeration Cheat sheet
Enumeration scripts
Enumeration scripts
Privilege escalation techniques
Techniques
- Configuration files
- Crack sensitive files
- Cron jobs: path, wildcards, file overwrite
- Dirty cow
- Dirty Pipe
- Escaping restricted shells
- Escaping docker: Pentesting docker
- Escaping kubernetes
- Hijacking Tmux Sessions
- Kernel vulnerability exploitation
- Lxd privileges escalation
- Logrotate
- Netfilter
- NFS
- Password Mining: logs, memory, history, configuration files
- Path Abuse
- Polkit
- Process capabilities: getcap
- Python Library Hickjacking
- Shared libraries: LD_PRELOAD / LD_LIBRARY_PATH.
- Shared object hijacking
- ssh keys
- Sudo Rights Abuse
- Suid binaries: shared object injection, symlink, environmental variables
- Vulnerable services:
- Wildcard Abuse
Linux hardening
1. Updates and Patching
- Keep your system up to date to mitigate known privilege escalation vulnerabilities.
- Ubuntu/Debian: Use
unattended-upgrades
for automated updates.
- Red Hat-based systems: Use
yum-cron
for automatic updates.
2. Configuration Management
File and Directory Security
- Audit writable files and SUID binaries:
- Remove unnecessary SUID binaries:
Cron Jobs and Sudo Security
- Ensure absolute paths are used in cron jobs and sudo commands.
- Review cron job permissions:
Credential Management
- Do not store plaintext passwords in world-readable files.
- Clean up home directories and bash history:
Library Security
- Prevent low-privileged users from modifying custom libraries.
- Audit shared library usage:
Remove Unnecessary Packages and Services
- Disable unused services:
- Remove unnecessary packages:
SELinux/AppArmor
- Enable SELinux for additional security:
- Check AppArmor status:
3. User Management
Limit User Accounts and Privileges
- Check active users:
- Check sudo privileges:
- Restrict sudo access based on least privilege:
Password Policies
- Enforce password history using
/etc/security/opasswd
:
- Enforce password expiration:
Monitoring and Automation
- Use tools like Puppet, SaltStack, Zabbix, and Nagios for automation.
- Enable remote alerts for security events.
4. Audit and Security Baselines
- Perform regular security audits using industry standards like DISA STIGs, ISO27001, PCI-DSS, and HIPAA.
- Supplement with penetration testing and vulnerability scans.
Lynis Security Auditing Tool
- Install and run Lynis:
Example Output Warnings
Lynis Hardening Suggestions
- Set a GRUB boot loader password:
- Disable core dumps:
- Run
pwck
to check password file integrity: