为了隐藏恶意NPM包的攻击行为,攻击者可能会试图规避安全研究人员的调查。最常见的做法是恶意软件在启动时检查受害设备的环境,确认不在安全研究人员的沙箱中,才执行恶意行为。如今,也有攻击者开始滥用云服务进行过滤。
安全公司Socket披露了一批恶意NPM包,这些包引起注意的原因是攻击者试图利用名为Adspect的云服务,过滤掉研究人员,仅对真实目标发动攻击。这批包的主要目的是将受害者引导至加密货币诈骗网站实施欺诈。Adspect是一种云过滤服务,可用于阻止机器人或未经授权的访问,仅允许正常用户访问网页内容。
这批包共有7个,均由名为dino_reborn的开发者上传,发布时间介于今年9月至11月,其中6个包含恶意代码,最后一个功能不同,用于生成恶意网页。Socket向NPM平台报告后,NPM已将这些包封禁并列入监管名单。
在包含恶意代码的6个包中,其共同点是均包含约39KB的恶意代码,差异主要体现在Adspect的配置上。这些代码采用立即执行函数表达式(IIFE)封装,会在网页加载过程中自动运行。值得注意的是,攻击者还试图禁用浏览器开发者工具,以阻止受害者进行手动排查。
具体而言,他们屏蔽了右键菜单、F12功能键、Ctrl+U和Ctrl+Shift+I等快捷键,防止用户直接打开开发者工具、查看源代码或检查页面元素。即使用户绕过这些限制成功打开开发者工具,页面也会不断自动刷新。
随后,恶意代码会收集受害设备的系统信息,包括用户代理字符串、主机名、URI、协议、语言等13种指纹数据,并发送至攻击者的代理服务器,调用Adspect API判断用户身份。若判定为真实目标,用户将被重定向至假冒的加密货币平台的CAPTCHA验证页面;若被识别为安全研究人员,则会跳转至最后一个包提供的无害虚假网站Offlido,以降低其警觉性。