
su 바이너리를 통한 로컬 권한 상승을 위해 glibc 동적 로더의 parse_tunables()를 대상으로 하는 CVE-2023-4911(Looney Tunables)용 Python 기반 개념 증명 익스플로잇.
이것은 CVE-2023-4911("Looney Tunables")에 대한 PoC로, glibc 동적 로더의 GLIBC_TUNABLES 환경 변수 파싱 함수 parse_tunables()의 버그를 이용합니다.
이것은 C PoC를 순수 파이썬 방식으로 다시 작성한 것입니다. 다른 플랫폼에서 익스플로잇을 쉽게 커스터마이즈할 수 있도록 하기 위해 이렇게 했습니다. 유일한 요구 사항은 pwntools이며, 다음과 같이 설치할 수 있습니다:
python3 -m pip install --upgrade pwntools
원본 C PoC는 다음에서 가져왔습니다: https://github.com/leesh3288/CVE-2023-4911
이 코드는 Ubuntu 22.04.3에서 glibc 버전 2.35-0ubuntu3.1로 테스트되었습니다.
이 이미지는 Ubuntu su 실행 파일을 보여줍니다. 이것이 "가 디렉터리 심볼로 선택된 이유이며, -20바이트의 오프셋이 해당 심볼을 가리킵니다:

대상 머신에서 su 바이너리를 확인하여 오프셋과 심볼이 올바른지 확인해야 합니다.