INTRO

Overview

Features

Some of the checks/functionalities that are performed by the tool.

Misconfigurations

Dangerous Binaries

Vulnerable versions of sudo - CVEs

Dangerous Environment Variables

Credential Harvesting

Writable directories where scripts reside

Binaries that might be replaced

Identify missing scripts

What version 2 of SK includes:

New checks and/or scenarios CVE-2019-14287 - runas No CVE yet - sudoedit - absolute path CVE-2019-18634 - pwfeedback User Impersonation list of users in sudo group

Performance improved

Bugs corrected (checks, export, report,...)

Continous improvement of the way output presented

New videos will be added soon

Annonying password input several time removed

New functionality: offline mode - ability to extract the required info from audited system and run SK on host.

Testing environment : A docker to play with the tool and different scenarios, you can also train on PE.

Usage

Example Online mode

./sudo_killer.sh -c -e -r report.txt -p /tmp

Example Offline mode

Note: Three checks are missing in the offline mode, still in dev... coming soon...

./sudo_killer.sh -c -i /path/sk_offline.txt

Optional arguments

-c : include CVE checks with respect to sudo version

-i : import (offline mode) from extract.sh

-e : include export of sudo rules / sudoers file

-r : report name (save the output)

-p : path where to save export and report

-s : supply user password for sudo checks (not recommended ++except for CTF)

-h : help

CVEs check

Providing password (Important)

How to run SK on the targetted/audited machine

Notes

a list of commands to exploit

a list of exploits

some description on how and why the attack could be performed





Why is it possible to run "sudo -l" without a password?

Docker - Vulnerable testing environment

Pull SUDO_KILLER_DEMO Docker Image from the docker hub (This version maybe a bit more up-to-date):

service docker start docker pull th3xace/sudo_killer_demo docker run --rm -it th3xace/sudo_killer_demo Build locally from Dockerfile :

service docker start git clone https://github.com/TH3xACE/SUDO_KILLER.git cd SUDO_KILLER docker build -t th3xace/sudo_killer_demo . docker run --rm -it th3xace/sudo_killer_demo

Demos

Credits

Disclaimer

Linux Privilege Escalation through SUDO abuse.If you like the tool and for my personal motivation so as to develop other tools please a +1 star *The tool can be used by pentesters, system admins, CTF players, students, System Auditors and trolls :).**WARNING: SUDO_KILLER is part of the KILLER project. SUDO_KILLER is still under development and there might be some issues, please create an issue if you found any. **** Stay tuned : Follow me on twitter @ https://twitter.com/TH3xACE **SUDO_KILLER is a tool that can be used for privilege escalation on linux environment by abusing SUDO in several ways. The tool helps to identify misconfiguration within sudo rules, vulnerability within the version of sudo being used (CVEs and vulns) and the use of dangerous binary, all of these could be abused to elevate privilege to ROOT.SUDO_KILLER will then provide a list of commands or local exploits which could be exploited to elevate privilege. It is worth noting that the tool does not perform any exploitation on your behalf, the exploitation will need to be performed manually and this is intended.Run extract.sh on system to be audited/victim machine. Copy the output from /tmp/sk_offline.txt on the system to be audited/victim machine to your host.Run SK with the below parameter:To update the CVE database : run the following script ./cve_update.shIf you need to input a password to run sudo -l then the script will not work if you don't provide a password with the argument -s.**NOTE : sudo_killer does not exploit automatically by itself, it was designed like this on purpose but check for misconguration and vulnerabilities and then propose you the following (if you are lucky the route to root is near!) :By default, if the NOPASSWD tag is applied to any of the entries for a user on a host, he or she will be able to run "sudo -l" without a password. This behavior may be overridden via the verifypw and listpw options.However, these rules only affect the current user, so if user impersonation is possible (using su) sudo -l should be launched from this user as well.Sometimes the file /etc/sudoers can be read even if sudo -l is not accessible without password.**IMPORTANT: The recommended way to test the tool is to use the docker image created on purpose for the testing. The image contained several vulnerabilities and misconfigurations related to the usage of SUDO.Everything is tested from the Docker container available on Docker Hub !**A Docker image is available on Docker Hub and automatically re-built at each update: https://hub.docker.com/r/th3xace/sudo_killer_demo . It is initially based on official debian:jessie Docker image (debian:jessie).Several videos are provided below with different scenarios of exploitation.The script was developed from myself with the help of online resources found on github and in the wild. Credits also to the authors of the exploits related to CVEs. The authors information and links can be found in the exploit and in the notes provided when running the tool. Special kudos to Vincent Puydoyeux, who gave me the idea to develop this tool and Koutto, for helping me with the docker thing and for improving the tool.This script is for Educational purpose ONLY. Do not use it without permission. The usual disclaimer applies, especially the fact that me (TH3xACE) is not liable for any damages caused by direct or indirect use of the information or functionality provided by these programs. The author or any Internet provider bears NO responsibility for content or misuse of these programs or any derivatives thereof. By using these programs you accept the fact that any damage (dataloss, system crash, system compromise, etc.) caused by the use of the script is not my responsibility.