2026年9月,GitHub上出现了一个不起眼的仓库。
![]()
作者只有一句话说明:震网!由我重现,仅用于研究和教育目的。
看到震网(Stuxnet)这个词,我立刻从椅子上坐直了,因为这个病毒实在是太匪夷所思了。
因为它不像普通病毒那样偷密码、锁文件、勒索钱财,而是摧毁了伊朗近五分之一的离心机,直接延缓了伊朗的核计划。
美国和以色列都没有公开承认对此负责,但外界普遍认为这是两国联合开发的网络武器。
这是人类历史上第一次用代码跨越物理隔离的网络,从虚拟世界进入物理世界,实实在在地摧毁了工业设备。
震网病毒的攻击路径,堪称一部谍战大片。
0 1
谍战大片
第一幕:U盘里的不速之客
故事从一个被遗落在地上的U盘开始。
有人捡到了它,好奇地插进了自己的Windows笔记本电脑。
U盘里只有几张风景图片,看起来什么都没有。
但就在U盘插入的瞬间,一个蠕虫病毒已经悄悄运行,把自己复制到了电脑里。
它使用了三种办法保证复制的成功,一个不行就试下一个,其中两种利用了0day漏洞。
![]()
所谓 0day 漏洞,是软件厂商和杀毒公司都尚未发现的漏洞,没有补丁,无法防御。
在黑市上,一个 0day 漏洞可以卖到几十万美元,而震网病毒一口气用了四个,真是霸气无比。
笔记本电脑里虽然装着杀毒软件,但这个蠕虫被设计得极为精妙,杀毒软件根本发现不了它。
进入系统后,它又利用两个0day漏洞获取了管理员权限,然后把自己隐藏起来。
从此以后,没有人、也没有杀毒软件能找到它。
第二幕:穿越物理隔离
感染了笔记本电脑后,病毒什么都没做,只是静静潜伏。
它悄悄访问了两个网站,告诉服务器自己已经成功入驻,同时下载了最新版本把自己更新了。
直到有一天,这台笔记本被带进了一个工厂,工厂的网络与外界物理隔离,理论上不可能被网络攻击。
但不幸的是,工厂的工作人员用U盘从这台笔记本上拷贝了文件!
病毒立刻感知到U盘插入了电脑,毫不犹豫地把自己复制了进去。
为了做到这一点,它安装了一个伪造的设备驱动,而驱动需要合法的数字签名才能被操作系统认可,否则就会提示用户"有诈"。
这难不倒它,它的制造者送了它一份大礼:Realtek和JMicron两家公司的数字签名私钥。
熟悉非对称加密的人都知道,私钥是一家公司的核心资产,必须严加保管。这两家公司的私钥是如何泄露的,至今无人知晓。
U盘被带进了工厂内网,病毒的征程才刚刚开始。
第三幕:入侵工业心脏
进入内网后,病毒开始占领内网的电脑。
这一次它没有奢侈地使用0day漏洞,而是利用了两个已知漏洞,一个和网络打印机相关,一个和网络文件共享相关,很快,整个内部局域网的所有电脑都被感染了。
但它依然没有破坏任何东西,对它来说,锁定硬盘勒索钱财这种"小破坏"太小儿科了,根本不屑去干。
它牢记着自己的使命,在网络中耐心寻找一样东西:西门子的Step 7工控软件。
![]()
找到后,它利用第五个0day漏洞(这次是西门子软件的漏洞,由西门子来"背锅"),把自己植入了可编程逻辑控制器(PLC)中。
PLC是工业设备的大脑,在这里,病毒开始搜寻特定型号的变频驱动机,这种机器用于驱动工业离心机,而离心机的用途是提纯化学物质,比如:
铀。
病毒的正式任务,即将拉开帷幕。
第四幕:温柔的杀戮
现在,病毒完全控制了离心机。它可以直接让离心机超速旋转,瞬间摧毁。
但它没有这么做,它是最聪明的病毒,有自己的计划:做好清理,隐藏自己。
一旦控制了工厂的所有离心机,这个病毒居然进入了休眠!
到了某个时刻,它会悄悄唤醒自己,随机挑选一些离心机,修改参数,让转速慢那么一点点,或者快那么一点点。
与此同时,它还增加离心机中的气压,离心机中的气体是六氟化铀,压力的增加使得六氟化铀固化,离心机中居然出现了"小小的石头",很快就会被损坏。
但工厂有传感器监控,一旦异常就会触发报警。
病毒放出了最后的大招,充分展示了自己的天才:它以21秒为周期,记录离心机正常运转时传感器的数据,然后在攻击执行时,以固定的循环重复播放这21秒的数据。
它的创造者肯定看过美国大片《生死时速》 :
![]()
控制室里,操作人员检查了系统的运行数据,一切都很正常。他放下心,向上司汇报后,站起来去倒了一杯咖啡,然后继续工作。
很快,悲催的事情发生了:离心机开始坏掉了,没有规律,完全随机。
铀的产量暴跌,工厂无法生产出足够的浓缩铀。
工程师们赶紧替换新的离心机,可是崭新的离心机安装好、投入使用,没用多久便又坏掉了!他们一遍一遍地检查,就是发现不了问题,抓狂了:这到底是怎么回事?
而那一群潜伏在PLC中的蠕虫杀手们,冷冷地看着这一切。
它们走过了异常曲折的道路,用了U盘+多个0day漏洞+数字证书才来到高度设防的工厂,终于完成了创造者交代的任务。
在不久的将来,它们将拥有一个震惊世界的名字:Stuxnet(震网病毒)。
0 2
开源的争议:这是真的吗?
源代码公开后,Hacker News上的讨论很快转向了一个核心问题:这代码,是真的吗?
有眼尖的评论者指出了问题:代码中出现了字符串"Stuxnet",比如注册表删除路径中的Stuxnet,以及WMI消费者命名为StuxnetConsumer。
这挺搞笑的,因为这个名字是后来安全公司给它起的,原作者不可能这么叫它。
还有人发现了类似g_dwCentrifugeDestroyed++(离心机摧毁计数++)这样的变量名,带着明显的"玩梗"味道。
后来作者本人也承认了:“是的,我使用了AI 来辅助逆向工程,人工搞起来实在太枯燥了。”
虽然如此,作为网络战“教科书级”的案例,震网病毒的开源依然很有价值,可以让研究从“外部分析”进入“内部审视”阶段,这也是 AI 带来的进步吧!
0 3
结语
震网病毒诞生于大约16年前,它的编写者不但要精通计算机系统和网络,还要精通工业控制设备和软件,这样的工作,绝非单打独斗的黑客可以完成。它是国家级的工程,是数字时代的"曼哈顿计划"。
如今,它的源代码以一种并不完美的方式出现在GitHub上,虽然不是最"正宗"的,但它重新唤起了人们对这段历史的关注。
它值得被记住,值得被研究,也值得被警惕。
因为下一个震网,可能已经在路上了。
特别声明:以上内容(如有图片或视频亦包括在内)为自媒体平台“网易号”用户上传并发布,本平台仅提供信息存储服务。
Notice: The content above (including the pictures and videos if any) is uploaded and posted by a user of NetEase Hao, which is a social media platform and only provides information storage services.