开发者生态
morning
Show HN:Stuxnet——臭名昭著的网络武器的重构源代码
摘要
This repository contains a strictly educational and research-oriented reconstruction of the infamous Stuxnet worm. It is the product of countless hours of reverse engineering work conducted by the glo...
the
and
for
This
repository
research
original
malware
analysis
sys
2026-09-08
1 阅读
约6分钟阅读
CMDDestory
字号:
该存储库包含臭名昭著的 Stuxnet 蠕虫的严格教育和研究导向的重建。它是全球安全研究社区对 2010 年发现的原始二进制样本进行无数小时逆向工程工作的产物。免责声明:该代码仅供学术研究、恶意软件分析培训和防御研究之用。它无意用于任何恶意目的,也不是可部署的恶意软件。作者和贡献者不容忍非法或不道德的活动。目录 概述 核心组件 技术架构 构建说明 使用 法律和许可致谢 Stuxnet 被广泛认为是第一个已知的旨在对工业控制系统 (ICS) 造成物理破坏的网络武器。它专门针对西门子 Step 7 软件和 S7-300/400 PLC,最终操纵变频器驱动器损坏离心机转子。该存储库是从反编译的二进制文件派生的重构源代码。它保留了原始逻辑和攻击向量,同时构建代码库以提高可读性和分析性。主要特性 目标:Siemens SIMATIC WinCC、Step 7 和 S7 PLC。传播:USB 驱动器(LNK 漏洞利用)、网络共享(后台打印程序)、点对点 (P2P)。有效负载:修改 PLC 块逻辑 (OB1/OB35) 以改变电机频率。隐秘:用于隐藏文件、进程和注册表的高级 Rootkit 功能(MRxCls.sys、MRxNet.sys)。该存储库由在分析原始恶意软件期间识别的主要模块进行组织。模块:Loader/Dropper 文件名:winsta.exe、~WTR4141.tmp 描述:负责初始感染、权限提升和其他组件部署的入口点。模块:权限提升 文件名:~WTR4132.tmp 说明:利用 Win32k.sys 漏洞获取系统级权限。模块:S7 Hook Library 文件名:s7otbxdx.dll 说明:恶意替换原来的s7otbxsx.dll。拦截 Step 7 和 PLC 之间的通信。模块:Step7 Hook 库 文件名:s7aaapix.dll 描述:拦截 Step 7 工程环境中的 AUT(自动化工具)API 调用。模块:Rootkit(文件系统) 文件名:mrxcls.sys 描述:内核模式驱动程序,用于通过 SSDT 挂钩隐藏 Stuxnet 文件、进程和注册表项。模块:Rootkit(网络) 文件名:mrxnet.sys 描述:过滤文件系统请求以隐藏恶意文件并启用 P2P 传播。模块:有效负载(攻击) 文件名:s7plcmain 描述:负责损坏离心机的“频率篡改”攻击的核心逻辑。下面描述Stuxnet框架的高层执行流程。第 1 阶段:初始感染媒介(USB/网络) 第 2 阶段:植入和升级 第 3 阶段:检查环境 第 4a 阶段:找到目标(西门子软件)-> 安装 S7 挂钩 第 4b 阶段:非目标 -> 自毁/空闲 第 5 阶段:监控 PLC 写入 第 6 阶段:检测 OB1/OB35 写入 -> 注入有效负载 第 7 阶段:修改频率输出 第 8 阶段:离心机物理损坏9:安装 Rootkit (MRxCls) 第 10 阶段:隐藏文件和注册表 第 11 阶段:加载网络模块 (MRxNet) 第 12 阶段:P2P 传播执行流环境侦察:蠕虫检查是否存在特定西门子软件(WinCC,步骤 7)和特定目标 PLC(S7-315、S7-417)。 DLL注入:拦截s7blk_write函数调用。代码注入:当用户将项目下载到 PLC 时,恶意代码会附加到 OB1/OB35 块中。物理影响:PLC 执行被操纵的代码,导致连接的变频驱动器 (VFD) 以异常频率(高/低)旋转,从而导致机械损坏。构建说明 重要提示:该代码库专为在受控虚拟环境中进行静态分析和调试而设计。它不适用于任何关键基础设施上的实时部署。要求构建环境:Microsoft Visual Studio 2019/2022 (Windows) 或 mingw-w64。目标操作系统:Windows XP / Windows 7(用于驱动程序兼容性)。驱动程序套件:Windows Driver Kit (WDK) 7600(如果编译内核驱动程序)。构建用户模式模块 克隆存储库 git clone https://github.com/Sadpainy/Stuxnet.git cd stuxnet-analysis 构建主释放器 cd winsta nmake /f Makefile.win 构建 S7 挂钩库 cd ../s7otbxdx cl /LD s7otbxdx.c user32.lib ws2_32.lib 此代码的用途是: 恶意软件分析:了解所使用的特定代码逻辑高级持续性威胁 (APT)。防御性研究:为 ICS 安全工具开发检测签名(例如 YARA 规则、Snort 签名)。学术研究:研究网络安全和关键基础设施保护的交叉点。分析设置隔离环境:使用启用了 Host-Only 网络的虚拟机 (VMWare/VirtualBox)。禁用互联网连接。加载模块:Analyz
这篇文章对您有帮助吗?
订阅66必读
每日精选科技资讯,直达你的邮箱