
Audita a exposição do kernel Linux a exploits de escalonamento de privilégios e verifica as medidas de segurança de hardening do kernel usando análise heurística e verificações de config/sysctl.
Download rápido:
wget https://raw.githubusercontent.com/mzet-/linux-exploit-suggester/master/linux-exploit-suggester.sh -O les.sh
Detalhes sobre o uso e o funcionamento interno do LES:
https://blog.z-labs.eu/2019/05/10/les-paper.html
Recursos adicionais para o LES:
https://github.com/mzet-/les-res
| Nome | CVE | no LES | Verificado em | Referência |
|---|---|---|---|---|
| CopyFail | CVE-2026-31431 | Ainda não | - | https://copy.fail/ |
| DirtyFrag | CVE-2026-43284 | Ainda não | - | https://www.openwall.com/lists/oss-security/2026/05/07/8 |
| DirtyAH6 | Ainda não | - | https://heyitsas.im/posts/lpe-quartet/ | |
| PPPoEject | Ainda não | - | https://heyitsas.im/posts/lpe-quartet/ | |
| TUNderflow | Ainda não | - | https://heyitsas.im/posts/lpe-quartet/ | |
| DiagSpill | Ainda não | - | https://heyitsas.im/posts/lpe-quartet/ | |
| OVSwrap | Ainda não | - | https://heyitsas.im/posts/ovswrap/ | |
| CIFSwith | Ainda não | - | https://heyitsas.im/posts/cifswitch/ | |
| RefluXFS | Ainda não | - | URL | |
| vsockpwn | CVE-2025-21756 | Ainda não | - | https://hoefler.dev/articles/vsock.html |
| CrackArmor | múltiplos | Ainda não | - | URL |
| needrestart | múltiplos | Ainda não | - | https://www.qualys.com/2024/11/19/needrestart/needrestart.txt |
| StackRot | CVE-2023-3269 | Ainda não | - | https://www.openwall.com/lists/oss-security/2023/07/28/1 |
A ferramenta LES foi projetada para auxiliar na detecção de deficiências de segurança em um determinado kernel Linux/máquina baseada em Linux. Ela oferece a seguinte funcionalidade:
A ferramenta avalia (usando métodos heurísticos discutidos em detalhes aqui) a exposição do sistema Linux em questão a exploits de escalada de privilégios no Linux publicamente conhecidos. Exemplo da saída da ferramenta:
$ ./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
...
Para cada exploit, a exposição é calculada. Os seguintes estados de 'Exposure' são possíveis:
Highly probable - o kernel avaliado é muito provavelmente afetado e há uma grande probabilidade de que o exploit PoC funcione imediatamente, sem quaisquer modificações importantes.
Probable - é possível que o exploit funcione, mas muito provavelmente será necessária a personalização do exploit PoC para se adequar ao seu alvo.
Less probable - é necessária uma análise manual adicional para verificar se o kernel é afetado.
Unprobable - é altamente improvável que o kernel seja afetado (o exploit não é exibido na saída da ferramenta)
O LES pode verificar a maioria das configurações de segurança disponíveis no seu kernel Linux. Ele verifica não apenas as configurações de tempo de compilação do kernel (CONFIGs), mas também as configurações de tempo de execução (sysctl), proporcionando uma visão mais completa da postura de segurança de um kernel em execução. Esta funcionalidade pretende ser uma continuação moderna do switch --kernel da ferramenta checksec.sh de Tobias Klein. Exemplo de saída da ferramenta:
$ ./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
...
Avalie a exposição da máquina Linux a exploits publicamente conhecidos:
$ ./linux-exploit-suggester.sh
Mostra o estado dos recursos de segurança na máquina Linux:
$ ./linux-exploit-suggester.sh --checksec
Avalie a exposição do kernel Linux a exploits publicamente conhecidos com base na string 'uname' fornecida (ou seja, a saída do comando uname -a):
$ ./linux-exploit-suggester.sh --uname <uname-string>
Para mais exemplos de uso, consulte aqui.
Você provavelmente agora sabe o que é o LES e o que ele pode fazer por você. Agora veja o que você pode fazer pelo LES: