Skip to content
KitploitKITPLOIT
工具博客
提交
工具博客
提交

黑客、渗透测试和网络安全工具,武装您的安全武器库!

Kitploit 是一个黑客、网络安全和渗透测试工具的目录。发现最新的项目更新,查找漏洞、分析系统、自动化测试并加强你的安全。

··订阅源·联系·隐私·© 2026 Kitploit

工具目录

分类

查看所有分类
Loading categories
DCS932L-Emulation-CVE-2024-37606-Attack — 使用预修补组件简化D-Link DCS-932L固件模拟,并包含针对CVE-2024-37606的概念验证漏洞利用。 | Kitploit
工具/GitHubGitHub/itwizardo/dcs932l-emulation-cve-2024-37606-attack
嵌入式系统安全物联网安全漏洞分析漏洞利用逆向工程硬件安全学习与教育固件分析二进制利用

最受欢迎

查看全部 →

发现我们社区最常用的工具。

探索所有工具

浏览我们的工具集合

查看所有工具 →
分享
GitHubitwizardo/dcs932l-emulation-cve-2024-37606-attack

DCS932L-Emulation-CVE-2024-37606-Attack

使用预修补组件简化D-Link DCS-932L固件模拟,并包含针对CVE-2024-37606的概念验证漏洞利用。

查看仓库
121年前尚未审核

让仿真再次变得简单

ChatGPT Image Apr 22, 2025, 12_56_50 PM

欢迎!本仓库提供了用于仿真 D-Link DCS-932L 固件并演示 CVE-2024-37606 漏洞的工具和环境。它包含了预补丁的二进制文件和必要的库,简化了仿真设置,因此您无需手动使用 Ghidra 等工具进行修补。

CVE-2024-37606

本项目包含一个针对 CVE-2024-37606 的概念验证漏洞利用脚本(CVE-2024-37606-DCS932L.py)。该漏洞涉及 alphapd 服务中的缓冲区溢出。请负责任地使用,仅用于教育目的。 点击图片观看视频 观看演示

仿真的修改

为增强固件仿真环境的功能和易用性,进行了以下几项修改:

  1. 启动脚本: 添加了启动脚本(startup.sh)以简化仿真。
  2. Libnvram.so 调整: 从原始 libnvram.so 中移除了第 338 至 342 行,以确保 NVRAM 仿真器的正常运行。已包含修改后的文件(firmadyne/libnvram.so)。
  3. Firmadyne 集成: 添加了 Firmadyne 文件夹以促进固件仿真。
  4. Alphapd 补丁: 使用 Ghidra 修补了 alphapd 二进制文件,以解决仿真期间无法从 sysinfo 获取 IP 的错误。
  5. 添加 Qemu-mipsel-static: 包含 qemu-mipsel-static 用于 MIPS 小端仿真。

设置与使用

按照以下步骤设置仿真环境并运行漏洞利用脚本。

1. 前提条件

  • Linux 环境(已在基于 Ubuntu/Debian 的系统上测试)。
  • git
  • qemu-user-static
  • python3 和 pip

2. 克隆仓库

root@kitploit:~
git clone https://github.com/itwizardo/DCS932L-Emulation-CVE-2024-37606-Attack DCS932L-CVE
cd DCS932L-CVE

3. 安装 QEMU 用户仿真工具

  • 在 Linux 上(Debian/Ubuntu):
    root@kitploit:~
    sudo apt update
    sudo apt install qemu-user-static
    
  • 在 macOS 上(使用 Homebrew):
    root@kitploit:~
    brew install qemu
    # 通过 Homebrew 安装 QEMU 包含用户模式静态二进制文件。
    
  • 在 Windows 上(使用 Chocolatey 或手动安装):
    • 使用 Chocolatey(需要已安装 Chocolatey):
      root@kitploit:~
      choco install qemu
      
    • 手动安装:从 官方 QEMU 网站 下载 QEMU 安装程序,并确保安装目录已添加到系统的 PATH 中。

4. 准备固件文件系统

将 QEMU 静态二进制文件复制到固件的文件系统中:

root@kitploit:~
sudo cp /usr/bin/qemu-mipsel-static ./usr/bin/

对 web 目录设置不可变属性。这可以防止修改仿真和漏洞利用正常运行所需的关键 Web 服务器文件:

  • 在 Linux 上:
    root@kitploit:~
    sudo chattr +i etc_ro/web/
    
  • 在 Windows 上(PowerShell - 设置只读属性):
    root@kitploit:~
    Set-ItemProperty -Path ./etc_ro/web -Name IsReadOnly -Value $true
    # 注意:这会将目录设置为只读,防止意外更改。
    # 要使内容也变为只读,请使用 -Recurse 参数配合 Get-ChildItem:
    # Get-ChildItem -Path ./etc_ro/web -Recurse | Set-ItemProperty -Name IsReadOnly -Value $true
    
  • 在 macOS 上:
    root@kitploit:~
    sudo chflags schg etc_ro/web/
    

5. 启动仿真环境

使用 MIPS 小端 QEMU 二进制文件进入 chroot 环境:

root@kitploit:~
sudo chroot . /usr/bin/qemu-mipsel-static /bin/sh

在 chroot shell 中,运行启动脚本并启动 Web 服务器:

root@kitploit:~
# 执行启动任务(网络设置等)
./startup.sh

# 为 nvram 仿真设置环境变量
export LD_PRELOAD=/firmadyne/libnvram.so
export HOME=.
export RANDFILE=$HOME/.rnd

# 启动易受攻击的 Web 服务器(绑定到 0.0.0.0,完全初始化可能需要 1-2 分钟)
alphapd 

保持此终端运行。仿真设备的服务将可通过主机访问,使用 startup.sh 配置的 IP 地址(通常为 192.168.0.1)。

6. 运行漏洞利用脚本

在主机的 新终端窗口 中(在 chroot 环境外部)。

在新终端中:

root@kitploit:~
cd /path/to/DCS932L # 必要时调整路径

(可选)如果脚本需要,安装必要的 Python 包(例如 requests):

root@kitploit:~
# pip3 install requests # 如果需要,取消注释

执行漏洞利用脚本。它会自动针对本地仿真环境(由 startup.sh 设置的 192.168.0.1):

root@kitploit:~
python3 CVE-2024-37606-DCS932L.py

要针对不同的 IP 地址,请使用 --ip 参数:

root@kitploit:~
# 示例:python3 CVE-2024-37606-DCS932L.py --ip <target_ip>

跟随脚本的输出查看漏洞利用过程。

⚠️ 注意事项

  • 该固件是 MIPS 小端序。您 必须 使用 qemu-mipsel-static。
  • 使用 qemu-mips-static(大端序)将导致 Invalid ELF image 错误。
  • alphapd 服务在 chroot 环境内绑定到 0.0.0.0,执行后可能需要 1-2 分钟 才能完全响应。
  • startup.sh 脚本可能会设置一个网络接口(例如 tap0),IP 为 192.168.0.1。如果漏洞利用脚本无法连接,请验证此项。
  • 确保所需的库(如 /lib/ld-uClibc.so.0)存在于 chroot 环境的 /lib 目录中。

免责声明

本项目仅用于教育和研究目的。它演示了一个已知的漏洞(CVE-2024-37606)。作者不对任何滥用本信息或代码的行为负责。请负责任且合乎道德地使用此环境和漏洞利用脚本。

本项目是作为 Novi Hogeschool 学校项目的一部分开发的。

作者

Georgio T. - itwizardo

欢迎为此项目做出贡献,并改进用于固件逆向工程和安全分析的工具!

下载工具