
Esamina l'esposizione del kernel Linux a exploit di escalation dei privilegi e verifica le misure di hardening del kernel utilizzando analisi euristiche e controlli config/sysctl.
Download rapido:
wget https://raw.githubusercontent.com/mzet-/linux-exploit-suggester/master/linux-exploit-suggester.sh -O les.sh
Dettagli sull'utilizzo e sul funzionamento interno di LES:
https://blog.z-labs.eu/2019/05/10/les-paper.html
Risorse aggiuntive per LES:
https://github.com/mzet-/les-res
| Nome | CVE | in LES | Verificato su | Riferimento |
|---|---|---|---|---|
| CopyFail | CVE-2026-31431 | Non ancora | - | https://copy.fail/ |
| DirtyFrag | CVE-2026-43284 | Non ancora | - | https://www.openwall.com/lists/oss-security/2026/05/07/8 |
| DirtyAH6 | Non ancora | - | https://heyitsas.im/posts/lpe-quartet/ | |
| PPPoEject | Non ancora | - | https://heyitsas.im/posts/lpe-quartet/ | |
| TUNderflow | Non ancora | - | https://heyitsas.im/posts/lpe-quartet/ | |
| DiagSpill | Non ancora | - | https://heyitsas.im/posts/lpe-quartet/ | |
| OVSwrap | Non ancora | - | https://heyitsas.im/posts/ovswrap/ | |
| CIFSwith | Non ancora | - | https://heyitsas.im/posts/cifswitch/ | |
| RefluXFS | Non ancora | - | URL | |
| vsockpwn | CVE-2025-21756 | Non ancora | - | https://hoefler.dev/articles/vsock.html |
| CrackArmor | multiple | Non ancora | - | URL |
| needrestart | multiple | Non ancora | - | https://www.qualys.com/2024/11/19/needrestart/needrestart.txt |
| StackRot | CVE-2023-3269 | Non ancora | - | https://www.openwall.com/lists/oss-security/2023/07/28/1 |
Lo strumento LES è progettato per assistere nell'individuazione di carenze di sicurezza per un dato kernel Linux/macchina basata su Linux. Fornisce le seguenti funzionalità:
Lo strumento valuta (utilizzando metodi euristici discussi in dettaglio qui) l'esposizione del dato sistema Linux rispetto a exploit di escalation dei privilegi su Linux pubblicamente noti. Esempio dell'output dello strumento:
$ ./linux-exploit-suggester.sh
...
[+] [CVE-2017-16995] eBPF_verifier
Details: https://ricklarabee.blogspot.com/2018/07/ebpf-and-analysis-of-get-rekt-linux.html
Exposure: highly probable
Tags: debian=9.0{kernel:4.9.0-3-amd64},fedora=25|26|27,[ ubuntu=14.04 ]{kernel:4.4.0-89-generic},ubuntu=(16.04|17.04){kernel:4.(8|10).0-(19|28|45)-generic}
Download URL: https://www.exploit-db.com/download/45010
Comments: CONFIG_BPF_SYSCALL needs to be set && kernel.unprivileged_bpf_disabled != 1
[+] [CVE-2017-1000112] NETIF_F_UFO
Details: http://www.openwall.com/lists/oss-security/2017/08/13/1
Exposure: probable
Tags: [ ubuntu=14.04{kernel:4.4.0-*} ],ubuntu=16.04{kernel:4.8.0-*}
Download URL: https://raw.githubusercontent.com/xairy/kernel-exploits/master/CVE-2017-1000112/poc.c
ext-url: https://raw.githubusercontent.com/bcoles/kernel-exploits/cve-2017-1000112/CVE-2017-1000112/poc.c
Comments: CAP_NET_ADMIN cap or CONFIG_USER_NS=y needed. SMEP/KASLR bypass included. Modified version at 'ext-url' adds support for additional distros/kernels
[+] [CVE-2016-8655] chocobo_root
Details: http://www.openwall.com/lists/oss-security/2016/12/06/1
Exposure: probable
Tags: [ ubuntu=(14.04|16.04){kernel:4.4.0-(21|22|24|28|31|34|36|38|42|43|45|47|51)-generic} ]
Download URL: https://www.exploit-db.com/download/40871
Comments: CAP_NET_RAW capability is needed OR CONFIG_USER_NS=y needs to be enabled
...
Per ogni exploit viene calcolata l'esposizione. Sono possibili i seguenti stati di 'Exposure':
Highly probable - il kernel valutato è molto probabilmente interessato e c'è un'ottima probabilità che l'exploit PoC funzioni immediatamente senza alcuna modifica significativa.
Probable - è possibile che l'exploit funzioni, ma molto probabilmente sarà necessaria una personalizzazione dell'exploit PoC per adattarlo al proprio target.
Less probable - è necessaria un'ulteriore analisi manuale per verificare se il kernel è interessato.
Unprobable - è altamente improbabile che il kernel sia interessato (l'exploit non viene mostrato nell'output dello strumento)
LES può controllare la maggior parte delle impostazioni di sicurezza disponibili nel kernel Linux. Verifica non solo le configurazioni in fase di compilazione del kernel (CONFIG) ma anche le impostazioni in fase di esecuzione (sysctl), offrendo un quadro più completo della postura di sicurezza di un kernel in esecuzione. Questa funzionalità è pensata come una moderna continuazione dell'opzione --kernel per lo strumento checksec.sh di Tobias Klein. Esempio di output dello strumento:
$ ./linux-exploit-suggester.sh --checksec
Mainline kernel protection mechanisms:
[ Disabled ] GCC stack protector support (CONFIG_HAVE_STACKPROTECTOR)
https://github.com/mzet-/les-res/blob/master/features/stackprotector-regular.md
[ Disabled ] GCC stack protector STRONG support (CONFIG_STACKPROTECTOR_STRONG)
https://github.com/mzet-/les-res/blob/master/features/stackprotector-strong.md
[ Enabled ] Low address space to protect from user allocation (CONFIG_DEFAULT_MMAP_MIN_ADDR)
https://github.com/mzet-/les-res/blob/master/features/mmap_min_addr.md
[ Disabled ] Restrict unprivileged access to kernel syslog (CONFIG_SECURITY_DMESG_RESTRICT)
https://github.com/mzet-/les-res/blob/master/features/dmesg_restrict.md
[ Enabled ] Randomize the address of the kernel image (KASLR) (CONFIG_RANDOMIZE_BASE)
https://github.com/mzet-/les-res/blob/master/features/kaslr.md
[ Disabled ] Hardened user copy support (CONFIG_HARDENED_USERCOPY)
https://github.com/mzet-/les-res/blob/master/features/hardened_usercopy.md
...
Valuta l'esposizione della macchina Linux a exploit pubblicamente noti:
$ ./linux-exploit-suggester.sh
Mostra lo stato delle funzionalità di sicurezza sulla macchina Linux:
$ ./linux-exploit-suggester.sh --checksec
Valuta l'esposizione del kernel Linux a exploit pubblicamente noti in base alla stringa 'uname' fornita (ovvero l'output del comando uname -a):
$ ./linux-exploit-suggester.sh --uname <uname-string>
Per ulteriori esempi d'uso, vedere qui.
Ora dovresti sapere cos'è LES e cosa può fare per te. Ora vedi cosa puoi fare tu per LES: