Skip to main content

Linuxprivchecker.py

A Linux Privilege Escalation Check Script

Orginal Author: Mike Czumak (T_v3rn1x) -- @SecuritySift

Current Maintainer: Michael Contino (@Sleventyeleven)

This script is intended to be executed locally on a Linux box to enumerate basic system info and search for common privilege escalation vectors such as world writable files, misconfigurations, clear-text passwords and applicable exploits.

Linuxprivchecker is designed to identify potential areas to investigate further, not provide direct action or exploitation. This is to help users further learn how these privilege escalations work and keep it in line with the rules, for self directed exploitation, laid out for the OSCP, HTB, and other CTFs/exams.

We will try our best to addtional information and reference where possible. As the current Maintainer, I also plan to accompany new feature adds, with a post on my blog (hackersvanguard.com) to further explain each potential area for privilege escalation and what criteria may be required.

Running on Legacy Python 2.6/2.7 System

To run on legacy python >2.6 systems just get the all in one python script and run it.

wget https://raw.githubusercontent.com/sleventyeleven/linuxprivchecker/master/linuxprivchecker.py

python linuxprivchecker.py -w -o linuxprivchecker.log

Running on Current Python 3.X System (Beta)

Right now Linuxprivchecker for python 3.X should be considered a stable beta versions. Issues can happen with the script and it certainly can miss possible vulnerabilities (open an issue or PR).

To run the python 3 version, just utilize pip.

pip install linuxprivchecker

Then just run via commandline if runpy is available.

linuxprivchecker -w -o linuxprivchecker.log

or if runpy fails to add the script to your path

python3 -m linuxprivchecker -w -o linuxprivchecker.log

Command Options and arguments

If the system your testing has Python 2.6 or high and/or argparser installed, you can utilize the following options. If importing argparser does not work, all checks will be run and no log file will be written. However, you can still use terminal redirection to create a log, such as 'python linuxprivchecker.py > linuxprivchecker.log.'

usage: linuxprivchecker.py [-h] [-s] [-w] [-o OUTFILE]

Try to gather system information and find likely exploits

optional arguments: -h, --help show this help message and exit

-s, --searches Skip time consumming or resource intensive searches

-w, --write Wether to write a log file, can be used with -0 to specify name/location

-o OUTFILE, --outfile OUTFILE The file to write results (needs to be writable for current user)

Warning

This script comes as-is with no promise of functionality or accuracy. I have no plans to maintain updates, I did not write it to be efficient and in some cases you may find the functions may not produce the desired results. For example, the function that links packages to running processes is based on keywords and will not always be accurate. Also, the exploit list included in this function will need to be updated over time. Feel free to change or improve it any way you see fit.

Modification, Distribution, and Attribution

You are free to modify and/or distribute this script as you wish. I only ask that you maintain original author attribution and not attempt to sell it or incorporate it into any commercial offering (as if it's worth anything anyway :)

Metadata

Release files for linuxprivchecker 1.0.0

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for linuxprivchecker 1.0.0
File Size Uploaded
linuxprivchecker-1.0.0.tar.gz 14.3 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for linuxprivchecker 1.0.0
File Interpreter ABI Platform
linuxprivchecker-1.0.0-py3-none-any.whl Python 3 none any Details

Total release size: 28.3 kB

Release files / linuxprivchecker-1.0.0.tar.gz

Download URL linuxprivchecker-1.0.0.tar.gz
Size 14.3 kB
Tags Source
SHA-256 checksum
How to use checksums
4f39867a89c89df51d86315e09475e0795b6b5b6cf60b7a88e1a03f30fa984b0
BLAKE2b-256 checksum
How to use checksums
fc71dd50775c359aeab5585d98ba8f389381c7a2f5231497b906cf4a7307330a
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/3.3.0 pkginfo/1.7.0 requests/2.25.1 setuptools/49.2.1 requests-toolbelt/0.9.1 tqdm/4.57.0 CPython/3.8.7

Release files / linuxprivchecker-1.0.0-py3-none-any.whl

Download URL linuxprivchecker-1.0.0-py3-none-any.whl
Size 14.0 kB
Tags Python 3
SHA-256 checksum
How to use checksums
9191a269f2d1cc562c24ae5675b14b6c44f36ff9c83e61af06ace704d3003dbe
BLAKE2b-256 checksum
How to use checksums
4bd7412fd82c83e6768f4388bc25abe163895531ad04d7129250958eeae89c44
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/3.3.0 pkginfo/1.7.0 requests/2.25.1 setuptools/49.2.1 requests-toolbelt/0.9.1 tqdm/4.57.0 CPython/3.8.7

Release history Release notifications | RSS feed

This release

1.0.0 This release

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page