
CVE-2015-1328에 대한 개념 증명(PoC) 익스플로잇
CVE-2015-1328에 대한 개념 증명(PoC) 익스플로이트입니다. 이는 Linux 커널의 overlayfs 구현에 영향을 미치는 권한 상승 취약점입니다. 이 취약점은 로컬 비특권 사용자가 사용자 네임스페이스 내 overlayfs 마운트 작업에서 부적절한 권한 검사를 악용하여 루트 액세스를 획득할 수 있게 합니다.
CVE-2015-1328은 overlayfs 지원 및 사용자 네임스페이스가 활성화된 Linux 커널에 영향을 미치는 심각한 보안 취약점입니다. 이 취약점은 비특권 로컬 사용자가 다음을 수행할 수 있게 합니다:
unshare(CLONE_NEWUSER)를 사용하여 사용자 네임스페이스 생성/etc/ld.so.preload에 쓰기이 PoC는 다음을 통해 취약점을 시연합니다:
/etc/ld.so.preload를 통해 사용자 정의 공유 라이브러리 주입getuid()를 하이재킹하여 루트 셸 실행kernel.unprivileged_userns_clone=1)-m32 플래그 지원)이 프로젝트는 쉬운 컴파일을 위해 Makefile을 포함하고 있습니다:
make
다음을 컴파일합니다:
ofs - 메인 익스플로이트 바이너리 (정적 32비트)ofs-lib.so - LD_PRELOAD 후크용 공유 라이브러리 (32비트)수동으로 컴파일하려면:
# Compile main exploit
gcc -o ofs ofs.c -m32 -static
# Compile shared library
gcc -m32 -fPIC -shared -o ofs-lib.so ofs-lib.c -ldl -static-libgcc
⚠️ 경고: 이 익스플로이트는 시스템 파일을 수정하고 루트 권한을 획득하려 시도합니다. 적절한 권한이 있는 통제된 환경에서만 사용하십시오.
Compile the exploit:
make
Run the exploit:
./ofs
If successful, the exploit will:
/etc/ld.so.preload에 쓰기/bin/su 실행 (악성 라이브러리 트리거)unshare(CLONE_NEWUSER)를 사용하여 새로운 사용자 네임스페이스 생성clone()과 CLONE_NEWNS를 사용하여 마운트 네임스페이스 생성/etc/ld.so.preload에 쓰기/tmp/ofs-lib.so에 쓰기/bin/su 실행 (프리로드된 라이브러리 트리거)getuid()를 하이재킹하고 루트 셸 생성clone()을 사용하여 격리된 마운트 네임스페이스 생성ofs-lib.so)가 LD_PRELOAD를 통해 getuid()를 후킹/bin/su가 getuid()를 호출하면 악성 함수가 대신 실행됨.
├── ofs.c # Main exploit code
├── ofs-lib.c # Shared library for privilege escalation
├── lib_so.h # Embedded binary library data
├── Makefile # Build configuration
└── README.md # This file
getuid() 후크 구현이 취약점으로부터 보호하려면:
echo 0 > /proc/sys/kernel/unprivileged_userns_clone
이 코드는 교육 및 보안 연구 목적으로만 제공됩니다.
이 프로젝트는 교육 목적으로 있는 그대로 제공됩니다. 모든 적용 법률 및 규정을 준수하여 책임감 있게 사용하십시오.