此篇文章发布距今已超过182天,您需要注意文章的内容或图片是否可用!
(本文为国外技术文章翻译,加上译者个人观点;英文原文点击“阅读原文”)
ReversingLabs的研究人员于8月1日在npm 仓库中发现了数个恶意的js包。这些恶意的js包通过伪造的包名欺骗用户下载,然后调用开源软件Luna Token Grabber(偷令牌的露娜)下载并执行木马程序,最后将窃取的受害者凭证传回至Luna Token Grabber的discord机器人上。这一恶意活动将js包伪装成了合法的noblox.js包,该包主要用于封装API,以创建与Roblox(罗布乐思)游戏平台交互的脚本。ReversingLabs将这一活动描述为 2021 年 10 月的 攻击的重演,因为这两次攻击的目标都与Roblox游戏平台相关,且都使用npm仓库作为平台进行投放恶意软件。软件威胁研究员 Lucija Valentić 在周二的一份分析报告中说:"恶意的js包复制了合法noblox.js 包的代码,但添加了下载木马程序的功能,该木马程序可执行信息窃取功能。"这些软件包在被删除前累计被下载了 963 次。它们的名称如下:
noblox.js-vps(4.14.0-4.23.0)
noblox.js-ssh(4.2.3-4.2.5)
noblox.js-secure(4.1.0、4.2.0-4.2.3)
虽然此次攻击与之前的攻击有许多相似之处,但它也展示了自身的特点。尤其是利用了由pyinstaller编译的可执行文件来执行攻击,从而窃取了诸如浏览器历史记录、浏览器保存的凭证以及本地的discord应用等信息。Valentić进一步指出:“在针对软件供应链的恶意活动中,真正的复杂之处在于恶意软件包到底与合法程序有多么相似。”例如,这些模块巧妙地将恶意功能隐藏在一个名为postinstall.js的单独文件中,并在安装后立即调用。而真正的noblox.js软件包也使用了一个同名文件,用于向用户展示感谢信息,并提供了文档和GitHub仓库的链接。另一方面,恶意软件会先验证软件包是否安装在 Windows 机器上,如果是,则下载并执行托管在 Discord CDN 上的第二阶段恶意可执行程序,或者显示错误消息。值得注意的是,此次网络攻击背后的黑客似乎仅使用了Luna Token Grabber默认提供的几种配置从受害者那里窃取信息,并没有进一步开发,添加新的恶意功能。Luna Token Grabber并非首次被利用来协助网络犯罪。今年6月早些时候,Trellix揭露了一种名为Skuld的基于Go的恶意软件,该软件用于窃取用户凭证,从中也能看到Luna Token Grabber的影子。 Valentić总结说:“这次安全事件再次凸显了恶意行为者使用误植技术(typosquatting)的趋势。这种恶意行为会以与合法软件包相似的名称作为掩饰,从而诱使开发者下载恶意代码。”不如一块先看看Luna Token Grabber是怎么其作用的:可以看到这是一个payload的生成器。可以生成具有特定凭证盗取功能的exe文件,值得一提的是,其编译的机制就是上文提到的pyinstaller。
(图片来源Luna-Grabber项目GitHub)
同时可以导入discord作为机器人来接收受害者的凭据。
(图片来源Luna-Grabber项目GitHub)
经笔者在本地进行测试,其虽然能绕过windows defender,但是并没有完善的免杀功能。因此如果不进行免杀改造,仅仅能在少数机器上获取凭证。
无杀软虚拟机的测试可获取登录凭证
综上,笔者认为,这是一次相对粗糙且初级的攻击,几乎完全依托Luna Token Grabber完成。但是其利用误植技术在npm仓库进行投放的思路确实值得开发者在今后留意。
从另外一个角度来说,开源社区和仓库由于其性质和检测成本问题本身对于提交的内容缺乏对恶意代码成熟的检测机制,而作为许多开发者也常常不会部署签名校验机制去校验相关官方的package的完整性。
因此,在开发过程中对开源组件的安全使用对于任何开发团队而言都是至关重要的:即使团队严格规定了章程和安全规定,依然会因为人员问题导致隐患——因此,安全开发的规范和开源安全工具(比如SCA)的使用都是软件供应链安全中不可或缺的存在。
信息安全爱好者与从业者,先后担任过数据安全、安全合规等岗位,现在是一名活跃的渗透测试工程师,偶尔参与众测。
个人热衷于探索网络安全、合规标准、渗透技术以及商业战略领域。持有众多认证,目标是不停歇的学习新的知识和技能。
推荐站内搜索:最好用的开发软件、免费开源系统、渗透测试工具云盘下载、最新渗透测试资料、最新黑客工具下载……
宙飒zhousa.om
还没有评论,来说两句吧...