← retour aux outils back to tools

# 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-suggester

## Overview

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 confidence
- `probable` — version matches but may need specific conditions
- `less 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
- `probable` doesn’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ée
- `probable` : la version correspond mais des conditions spécifiques peuvent être nécessaires
- `less 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
- `probable` ne 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