你有没有收到过那种主题像是酒店预订确认的邮件,附件里带个压缩包,解压后似乎是一张图片?如果顺手双击了那个“图片”,你的电脑接下来就可能静悄悄地在给攻击者打工。这不是猜测,LevelBlue的研究人员就在一次客户环境的告警里挖出了这样一套攻击链。恶意快捷方式正在把一次看似日常的下载变成完整的远程代码执行据点。
这波操作的恶心之处在于,它几乎不靠传统恶意程序打天下,而是把Windows自带的工具和一个正版的Node.js运行环境拼在一起,每个组件单独拎出来查,都清白得像张A4纸。连分析人员都说,PowerShell、node.exe还有标准网络服务,单看哪一个行为都不算出格。可攻击者就是利用这种“正常人做的事我都做”的思路,把后门、持久化、加密通信和后续文件投递整套流程一锅端了。
研究人员每天都能抓到新样本,超过400个样本被关联到同一个机器标识符,说明这根本不是零星垃圾邮件,而是一场有规模、有节奏的持续运营。更让人背脊发凉的是,早在这些样本大面积扩散之前,就有一些被投到了公开论坛的评论区里。酒店、旅行社这类天天要处理外部预订信息的企业,直接成了最肥的那块肉。
下面我们把整个攻击链拆成五步,看看攻击者到底有多会“回收利用”。
一、预订垃圾邮件与伪装图标
攻击起点是一封看着像预订确认的垃圾邮件,诱导收件人打开附带的ZIP压缩包。压缩包里并不是文件,而是一个借了系统图标库shell32.dll里某张图片图标的快捷方式,文件图标看起来完全就是张图。一旦双击,它启动的可不是图片查看器,而是一行藏在后面的PowerShell指令。那种“我觉得这是个图片”的直觉,在这里就是个坑。
更鸡贼的是,那个快捷方式本身并不直接写死要连接的恶意地址,而是用了一堆大数字和简单四则运算,当场算出下一跳的URL。这样一来,随便扫一眼命令行的安全工具看到的都是一串数字算式,真正的目标地址被藏在了数学题背后。攻击者深谙一个道理:只要第一步没拦住,后面的事就由他说了算。
二、先借个Node.js,没装就帮你装
第一步的PowerShell跑起来之后,会立刻检查受害机器上有没有Node.js。如果系统里已经装了,那就顺手拿来用;如果没装,攻击脚本会直接从官方源抓一个合法的Node.js包,解到当前用户的LocalAppData目录下。这一步看似多此一举,其实精得很。Node.js是无数开发者日常依赖的运行时,签名正常、流量正常,安全软件看到它就像看到Excel一样放心。把后门寄生在这样的环境里,比丢个古怪的exe进去隐蔽太多。
接着,一段加密过的JavaScript载荷被解密出来,为后门的真正启动铺路。这一整套操作都在正常的工具链里完成,没有甩一个陌生的文件落地,也不需要在系统目录里乱写东西。攻击者把“利用好人身份作恶”这件事发挥到了一个新高度。
三、混淆到极致的JS,外加自定义虚拟机
别以为加载个脚本就完了,那段JavaScript可没那么简单。它被严重混淆,还内置了一套自定义的虚拟机式解释器,实际指令要到运行时才动态解释。你拿到代码想看它到底做了什么?不好意思,静态分析几乎撞墙。它不光负责解密和启动后门,还会先检查是否已经有同类Node.js进程在跑,避免自己跟自己打架导致资源占用异常而暴露。
同时,它也不忘给后门留条后路:在注册表Run键下面建个项,让这个后门进程每次用户登录都自动重新起来。启动方式也格外小心,进程是分离运行,窗口隐藏,输出全部抑制,只要不去翻任务管理器,用户压根感觉不到多了一个node.exe。攻击者像是在帮你的系统“优化运行”,只不过他优化的,是他自己的控制权。
四、一个点击,换来全套远程控制
后门一旦站稳脚跟,能干的事就多了。它可以从远程拉取更多内容并直接执行,无论是Windows可执行文件、PowerShell脚本还是JavaScript,来者不拒。更绝的是,它在执行下载的exe前,会先校验一下文件是不是真的像个合法的Windows程序,别搞到中途崩溃暴露痕迹。通过验证之后,它还主动往Microsoft Defender里给这个文件的路径加个排除项,也就是跟杀软说:“这位兄弟是自己人,别查了。”这样一来,后来投放的任何工具都能免于被默认查杀。
一次最初的快捷方式双击,最终演变成对整台机器的彻底掌控。攻击者可以随时下发新指令、上传新载荷,每一步都踩在“正常”的范畴里,让检测变得异常困难。你看到的可能只是一个偶尔闪一下的cmd窗口,或者什么都没有,但远端的黑手已经摸到了所有他要的东西。
五、用区块链藏控制端地址,让封堵扑空
这类后门如果直接硬编码一个命令与控制服务器的地址,安全团队只要抓到样本,就能把那个域名或IP封掉,整个攻击基础设施瞬间失效。但这波攻击没有把C2地址直接写在文件里,根据LevelBlue的分析,它转而依赖区块链域名检索技术——不把实际的通信地址放在样本内,而是动态从区块链网络中获取。这样即便分析出了样本,也没法通过静态信息直接封堵,因为攻击者可以随时更换指向,而原先的样本依然有效。
这种利用去中心化技术提高抗干扰能力的法子,让传统基于黑名单的防御手段十分尴尬。再加上前面400多个样本同源的规模,可以想见背后的操盘手不是玩票,而是把隐蔽性和持续性当成了工程目标。论坛评论区的早期投放也说明,他们在测试阶段就已经想好了怎么把钩子撒得更远更自然。
对每天收到大量外部预订信息的组织来说,这种攻击最大的蛊惑性就在于它太符合业务流程了。预订吗?有的。附件吗?正常的。一张图吗?打开看看。结果就是,一次不假思索的点击,让攻击者在你眼皮底下建了个合法工具驱动的远程后门。LevelBlue的这份发现与其说是一次威胁预警,不如说是一次提醒:攻击者已经不再执着于写恶意软件,他们更爱骑在你信任的软件身上,用你最熟的命令行工具,干他自己的买卖。
热门跟贴