区块链中解密出一个木马IP地址"

admin 2026-10-17 09:40:12 网络安全文章 来源:ZONE.CI 全球网 0 阅读模式

cover_image

区块链中解密出一个木马IP地址

原创

suntiger
suntiger

二进制空间安全

2026年8月14日 10:24
北京

在小说阅读器读本章

去阅读

将二进制空间安全设为\"星标⭐️\"

第一时间收到文章更新

技术背景

先看一个公开样例。以太坊收款地址 0xa658863ea658863e68656c6c6f6970626f742121,去掉 0x 后取前八个十六进制字符 a658863e,每两位转成一个十进制数,得到 166.88.134.62;地址后半段还能读出ASCII标记 helloipbot!!。这不是手工猜出来的,而是2026年7月底一批npm投毒包在运行时自动完成的解码结果。木马回连控制服务器地址就藏在这笔链上交易的 to 字段里。

2026年7月底,一批仿冒前端UI工具的npm包悄悄上架。包名贴近日常开发习惯,例如:bianira-ui、fluid-type-ui,以及一串仿冒Tailwind动画插件的名字。安装日志往往一切正常;真正危险的一步发生在运行时,恶意脚本不去读硬编码域名,也不去调智能合约,而是查询攻击者钱包最近一笔以太坊转账,从收款地址的字节里还原出回连IP,再向外发起连接。研究者把这条链路命名为NullReceiver,可看作早期 EtherHiding思路的改进,以前有人把恶意内容写进智能合约或交易附加数据,现在则把C2直接编码进一笔金额为零、附加数据为空的转账收款地址。

对企业前端与平台工程团队来说,影响面不只是某一个UI组件。开发机装过恶意包后,攻击者可能继续窃取源码仓库凭据、向下游提交投毒提交,或借开发环境跳到内网持续渗透。

技术原理

整条解码链路可以概括成五步:查询硬编码钱包 → 取最近一笔出站交易 → 读取该交易的收款地址 → 把地址前四个字节按十六进制转成四个十进制数拼成 IPv4 → 连接该 IP。

旧做法EtherHiding更像把配置写进合。攻击者在公链上部署或调用合约,把 URL、脚本片段或IP放进合约存储或交易附加数据;木马固定去读那个合约地址,再解析载荷。优点是抗下架,缺点也很明显:合约地址固定、字段可指纹化,防守方可以对着同一个目标持续盯梢,每次更新还要为附加数据多付一笔费用。

NullReceiver则正好相反。攻击者不需要合约,也不往交易里塞附加数据。他只做一件事:从硬编码钱包发起一笔金额为零、数据为空的转账,收款地址故意写成看起来像地址、实际上从来不会被谁真正收款的字节串。这条链路更难盯,是因为收款地址本身就是一次性编码容器,NullReceiver不会复用同一个收款地址,每次更新回连点都可以换一个全新地址;交易形态又是最廉价、最不起眼的空转账,没有可供稳定指纹的附加字段。代价是编码容量变小:它装不下完整URL或大段脚本,通常只够塞一个IP和少量标记字节。

攻击过程

攻击从包名伪装开始。样本偏好UI、CSS、Tailwind动画一类高频检索词,上传账号使用npmuser加数字的弱特征命名。开发者若在脚手架文档、面试作业或二手教程里看到先装这个动画包,很容易在审查不足时直接写入package.json。包进入依赖树后,恶意逻辑不必在安装瞬间暴露,更常见的是在业务进程require相关模块时触发链上查询。

运行时行为与普通前端库差异很大。合法UI包几乎不会去读以太坊钱包交易;一旦脚本里出现固定钱包、查询最近出站交易、对收款地址做parseInt与字节切片,再把结果拼成点分IP,就应直接按高风险处理。样例外联目标为 166.88.134.62。IP可以随新的空转账更换,锁文件里的包名却可能已经写入私服镜像,因此包已从公网下架,并不等于环境已干净。

失陷排查可以按三条线并行。第一条线查依赖:在完整package-lock.json或 yarn.lock、pnpm-lock.yaml里检索 bianira-ui、fluid-type-ui、post-css-transfer、scrollbar-hide-plugin、tailwind-anim、tailwind-animation-founder、tailwindcss-anim,不要只看npm list顶层。第二条线查脚本与持久化:开发机、构建机上的 node\_modules 与临时目录里检索上述钱包地址、eth\_getTransaction一类RPC调用,以及对地址前八个十六进制字符做四段parseInt的代码形态。第三条线查网络:把历史外联IP与地址前四字节解码结果对照,命中同一IP或同一解码规则即应隔离主机、轮换仓库与云凭据,并在干净基线上重建环境。

如何防御

NullReceiver说明,供应链攻击已经会借用公链交易形态来发布回连点。过去很多检测默认恶意配置要么写在文件里,要么写在某个固定合约里;今天这笔配置可以是一笔没有附加数据的空转账,收款地址本身就是编码后的IP。包名可以换,IP可以换,只要开发机仍会查询那个钱包的最近出站交易,回连就能继续更新。

前端与平台同学:依赖变更合并前必须审完整锁文件,而不是只看直接依赖;npm 安装走内网私服与允许列表,陌生UI/CSS工具包默认不信。

安全与运维同学:终端与构建机对Node进程访问以太坊RPC并立即外联陌生IP建立关联规则;命中恶意包或解码C2后,该环境的仓库令牌、云密钥与npm令牌须停用并轮换,在干净基线上重建,再重新接入业务仓库。

(全文完)


区块链中解密出一个木马IP地址" 网络安全文章

区块链中解密出一个木马IP地址"

本文披露名为NullReceiver的npm供应链攻击。攻击者通过仿冒前端UI包,在运行时查询以太坊钱包的零金额空转账,将收款地址解码为C2的IP。该方法无需智能合约,以收款地址作一次性编码容器,极难指纹识别。建议审查依赖锁文件,监控Node进程异常访问以太坊RPC行为,失陷后须隔离主机并轮换凭据重建环境。
关于举办人工智能安全工程师(高级)培训班的通知" 网络安全文章

关于举办人工智能安全工程师(高级)培训班的通知"

该通知由中国计算机行业协会网络和数据安全专业委员会发布,旨在举办人工智能安全工程师(高级)培训班。培训目的是提升AI安全技能,涵盖机器学习、模型安全、大模型安全等。培训对象为相关从业人员及学生,报名需满足学历或工作经验条件。费用为9900元,考核合格后颁发双证书。可操作建议是联系指定方式报名。
评论:0   参与:  0