Linux Exploit Suggester
Suggère des exploits d'escalade de privilèges locale en fonction de la version du noyau Linux et des paquets installés. Couvre les CVE de la dernière décennie avec des liens directs vers les exploits. Suggests local privilege escalation exploits based on Linux kernel version and installed packages. Covers CVEs from the last decade with direct exploit links.
↗ https://github.com/The-Z-Labs/linux-exploit-suggesterOverview
Linux Exploit Suggester (LES) checks the current Linux kernel version and installed packages against a database of known privilege escalation vulnerabilities. It suggests applicable CVEs with links to exploits and PoCs, accelerating local privesc research.
Basic Usage
# Download and run on target
wget https://raw.githubusercontent.com/The-Z-Labs/linux-exploit-suggester/master/linux-exploit-suggester.sh
chmod +x linux-exploit-suggester.sh
Run on current system
./linux-exploit-suggester.sh
Specify kernel version manually
./linux-exploit-suggester.sh --kernel 4.15.0
Check only for highly probable exploits
./linux-exploit-suggester.sh --checksec
Full output with CVE details
./linux-exploit-suggester.sh --full
Output as JSON
./linux-exploit-suggester.sh --json
Options
Skip package checks (faster)
./linux-exploit-suggester.sh --skip-more-checks
Check specific CVE
./linux-exploit-suggester.sh --cve CVE-2021-4034
Set kernel uname output manually
./linux-exploit-suggester.sh --uname "Linux host 5.4.0-42-generic #46-Ubuntu SMP"
Output Interpretation
[+] [CVE-2021-4034] PwnKit
Details: https://www.qualys.com/2022/01/25/cve-2021-4034/pwnkit.txt
Exposure: probable
Tags: [ debian=10 ],ubuntu=10|11|12|13|14|15|16|17|18|19|20|21,fedora,manjaro
Download URL: https://codeload.github.com/berdav/CVE-2021-4034/zip/main
ext-url: https://raw.githubusercontent.com/berdav/CVE-2021-4034/main/cve-2021-4034.c
Exposure levels:
highly probable— kernel version matches, high confidenceprobable— version matches but may need specific conditionsless probable— version is in range but many factors affect exploitability
Common Linux Privesc CVEs
| CVE | Name | Target |
|---|---|---|
| CVE-2021-4034 | PwnKit | pkexec on most Linux distros |
| CVE-2021-3493 | OverlayFS | Ubuntu kernel |
| CVE-2022-0847 | Dirty Pipe | Linux 5.8-5.16 |
| CVE-2021-22555 | Heap out-of-bounds | Linux 2.6.19-5.12 |
| CVE-2017-16995 | eBPF UaF | Linux 4.4-4.14 |
| CVE-2016-5195 | Dirty COW | Linux 2.6.22-4.8.3 |
| CVE-2015-1328 | OverlayFS | Ubuntu 12.04-15.10 |
| CVE-2010-3904 | RDS | Linux 2.6.30-2.6.36 |
Combining with Other Tools
# After LES identifies candidates, download and compile:
gcc -o exploit exploit.c
./exploit
# Or use precompiled from exploit-db:
searchsploit -m CVE-2021-4034
./exploit
Check with linpeas first for context
./linpeas.sh | grep -A5 "CVE"
Tips
- Run both LES and
linpeas.sh— they complement each other - Always test exploits in a lab environment before a real engagement
probabledoesn’t mean it will work — kernel patch level matters- For package-based privesc (sudo misconfigs, SUID binaries), prefer linpeas
Alternative tools
linux-exploit-suggester-2 # Similar but different CVE database
linpeas.sh # Broader enumeration, includes kernel CVEs
BeRoot # Python-based privesc checker
unix-privesc-check # Another Unix privesc checker
# Run multiple for best coverage:
./linux-exploit-suggester.sh
./linpeas.sh | tee linpeas_output.txt
./unix-privesc-check detailed
Vue d’ensemble
Linux Exploit Suggester (LES) vérifie la version du noyau Linux courant et les paquets installés par rapport à une base de données de vulnérabilités d’escalade de privilèges connues. Il suggère les CVE applicables avec des liens vers des exploits et des PoC, accélérant la recherche de privesc local.
Utilisation de base
# Télécharger et lancer sur la cible
wget https://raw.githubusercontent.com/The-Z-Labs/linux-exploit-suggester/master/linux-exploit-suggester.sh
chmod +x linux-exploit-suggester.sh
# Lancer sur le système courant
./linux-exploit-suggester.sh
# Spécifier manuellement la version du noyau
./linux-exploit-suggester.sh --kernel 4.15.0
# Vérifier uniquement les exploits hautement probables
./linux-exploit-suggester.sh --checksec
# Sortie complète avec détails des CVE
./linux-exploit-suggester.sh --full
# Sortie en JSON
./linux-exploit-suggester.sh --json
Options
# Ignorer les vérifications de paquets (plus rapide)
./linux-exploit-suggester.sh --skip-more-checks
# Vérifier une CVE spécifique
./linux-exploit-suggester.sh --cve CVE-2021-4034
# Définir manuellement la sortie uname du noyau
./linux-exploit-suggester.sh --uname "Linux host 5.4.0-42-generic #46-Ubuntu SMP"
Interprétation de la sortie
[+] [CVE-2021-4034] PwnKit
Details: https://www.qualys.com/2022/01/25/cve-2021-4034/pwnkit.txt
Exposure: probable
Tags: [ debian=10 ],ubuntu=10|11|12|13|14|15|16|17|18|19|20|21,fedora,manjaro
Download URL: https://codeload.github.com/berdav/CVE-2021-4034/zip/main
ext-url: https://raw.githubusercontent.com/berdav/CVE-2021-4034/main/cve-2021-4034.c
Niveaux d’exposition :
highly probable: la version du noyau correspond, confiance élevéeprobable: la version correspond mais des conditions spécifiques peuvent être nécessairesless probable: la version est dans la plage mais de nombreux facteurs affectent l’exploitabilité
CVE de privesc Linux courantes
| CVE | Nom | Cible |
|---|---|---|
| CVE-2021-4034 | PwnKit | pkexec sur la plupart des distributions Linux |
| CVE-2021-3493 | OverlayFS | Noyau Ubuntu |
| CVE-2022-0847 | Dirty Pipe | Linux 5.8-5.16 |
| CVE-2021-22555 | Heap out-of-bounds | Linux 2.6.19-5.12 |
| CVE-2017-16995 | eBPF UaF | Linux 4.4-4.14 |
| CVE-2016-5195 | Dirty COW | Linux 2.6.22-4.8.3 |
| CVE-2015-1328 | OverlayFS | Ubuntu 12.04-15.10 |
| CVE-2010-3904 | RDS | Linux 2.6.30-2.6.36 |
Combinaison avec d’autres outils
# Une fois que LES a identifié des candidats, télécharger et compiler :
gcc -o exploit exploit.c
./exploit
# Ou utiliser une version précompilée depuis exploit-db :
searchsploit -m CVE-2021-4034
./exploit
# Vérifier d'abord avec linpeas pour le contexte
./linpeas.sh | grep -A5 "CVE"
Conseils
- Lancer à la fois LES et
linpeas.sh: ils se complètent - Toujours tester les exploits dans un environnement de lab avant un vrai audit
probablene signifie pas que ça va fonctionner : le niveau de patch du noyau compte- Pour le privesc basé sur les paquets (mauvaises configs sudo, binaires SUID), préférer linpeas
Outils alternatifs
linux-exploit-suggester-2 # Similar but different CVE database
linpeas.sh # Broader enumeration, includes kernel CVEs
BeRoot # Python-based privesc checker
unix-privesc-check # Another Unix privesc checker
# Run multiple for best coverage:
./linux-exploit-suggester.sh
./linpeas.sh | tee linpeas_output.txt
./unix-privesc-check detailed