恶意软件月刊-2023年1月
在本期恶意软件月刊中,将一起了解拒绝虚拟机的恶意软件、Linux 加密矿工、RAT 突变体的规避变体,以及依赖于整个公开可用的 npm 生态系统的无处不在的软件包——所有这些都针对现代软件供应链。关注我们,我们会继续发现开源注册表中的可疑活动。
就我们支持 AI 的系统捕获的恶意软件数量而言,2023 年并没有悄然开始。
一月份,在npm注册表中捕获了691 个恶意包。大量包裹中提到了俄罗斯搜索引擎公司 Yandex。包括yandex-logger-sentry、yandex-logger-qloud和yandex-sendsms在内的软件包试图将信息泄露到流氓服务器,这可能是针对 Yandex 的漏洞赏金活动,该活动采用了依赖混淆攻击。
上个月,还在PyPI注册表中捕获了49 个恶意包。值得注意的是,由同一作者 (sexydev1337) 发布的包reqsystem和httpxfaster包含使用hyperion进行严重混淆的代码——看到这种混淆器越来越受欢迎。此处包含严重混淆代码的其他示例包括aio6、gorilla2、httpsos和pohttp包。此外,这些软件包还具有并查看执行脚本,该脚本从外部服务器下载并运行恶意二进制文件。在有的情况下,一些版本包含混淆代码,一个替换了 Discord 的可执行文件。
npm 包不会被遗忘
如果您已将您的贡献上传到 npm 注册表,可能已经注意到所有其他包共有的依赖包:作者Zalastax的no-one-left-behind。
该软件包于 2018 年发布,依赖于所有其他已知的公开可用的 npm 软件包。谈论下一级依赖地狱的情况。下面是依赖关系图的样子:
可能受到hoarders的启发,这是一个自称为“实用工具包”的软件包,该软件包于 2012 年发布(当时 hoarders 依赖 20,000 个软件包)并在作者设法找到解决方法之前被撤下了大约 9 年,没有人-left-behind 上周被 npm 安全团队删除,现在是一个占位符。
然而,在 1 月 28 日,团队发现在“infinitebrahmanuniverse”范围内发布了超过 33k+ 个包,所有包都带有“nolb-”前缀,并且自称是 no-one-left-behind 的子包。作者“ infinitebrahamanuniverse ”只发布过单一版本,没有GitHub账号,也没有任何其他个人信息。
如果你现在检查任何 npm 包,你可能会在 dependents 选项卡下找到由“infinitebrahamanuniverse”上传的nolb包之一。
现在,与本出版物最相关的一个问题是这些软件包是否被认为是恶意的。
从技术上讲,它们仅包含一个带有依赖项列表的package.json文件。那里没有恶意。并且 README 建议不要安装它。作者的一个好举动。但这仍然并不意味着该包不是恶意的。
不留下任何场景
假设一个开发人员在 npm 上发布了一些微不足道的包,现在想要取消发布。多亏了“infinitebrahmanuniverse”,该开发人员无法这样做:根据npm 规则,您只能取消发布一个“npm 公共注册表中没有其他包依赖”的包。所以现在你的小包,不幸的是,不能落在后面。很容易想象,作者是通过玩弄 npm 注册表的边界来强迫他对取消发布功能的厌恶。
现在,考虑一个利用这种依赖性进行攻击的不良行为者。通过将其添加到域名仿冒包中,威胁行为者可以对公司的下载渠道发起拒绝服务 (DoS) 攻击,这可以通过迫使开发人员等待其 npm 环境准备就绪来浪费开发人员的时间。安装具有这种依赖性的包也会导致过度的资源消耗。如果您关注本系列,您现在应该知道这样的场景并非遥不可及。
从好的方面来说,作者可能只是想推广鲜为人知的软件包并增加他们的下载统计数据。或者通过向未知包的维护者展示社区中有人正在使用它们来提高他们的士气,因此,欣赏他们的工作。一个不太可能但令人钦佩的场景,称其为真正的恶意是不公平的。
这一切甚至还有一种精神上的解释。作者的名字引用了婆罗门的概念:宇宙的终极现实、意识和源头。当一个包试图安装 npm 宇宙中每个已知的可公开访问的包时,你不得不怀疑它背后是否有某种神秘的概念。
但也许太在意作者的意图了。会监控包裹并让您知道是否有更多包裹。与此同时,你能做的最好的事情就是让它远离你的构建环境。
一堆恶意加密矿工
上个月,安全研究团队在 npm 注册表中发现了大量的加密货币矿工。如果您不熟悉加密货币挖掘,它是一种通过使用计算机解决复杂的数学问题来在线生成数字货币的方法。当矿工成功解决问题并获得加密货币奖励时,该过程将得到验证。为此,攻击者可以通过使用受害者的计算机来赚钱。
在一项发现中,speedtestgod——一个模仿合法库speedtest-cli的恶意包——包含一个package.go文件,该文件被检测为以 Linux 系统为目标的特洛伊木马,并试图使用毫无戒心的受害者的资源来挖掘加密货币。
发现了其他使用相同特洛伊木马文件的软件包,并发现其中 16 个恶意加密货币挖矿程序来自一个帐户:trendava。假定的威胁参与者已被报告并从 npm 注册表中删除。
安全研究人员发现了其他加密货币矿工,包括:best-man-fine、lagra、trova、trovam、speedgun、speedgum、flip-flop-flap、flip-flop-flip、flip-flop-flop、speedtestclix、speedtestcliz、speedtestwow、 speedtestfast、speedtestbom、speedtesta、speedtesto、speedtestis、speedtestgod、speedtestsolo、speedtestrun、speedtestgo、speedtestkas、speedtestspa、speedtestzo。
之前,介绍了加密矿工如何淹没 npm 以试图感染 Linux 主机。就像以前一样,npm 安全团队收到了关于这些加密矿工的通知。
机器停止
威胁行为者知道他们的恶意软件很可能最终会被一组安全研究人员在某个虚拟机中进行分析。预见到这种情况,一些攻击者正在设计恶意软件,在尝试执行之前验证虚拟机的存在。minimums就是这种情况,这是一个 Python中的恶意包,AI系统将其标记为恶意包,并且安全研究人员确认它是恶意包。
该软件包在 setup.py 文件中包含一个有效载荷,该文件试图从流氓服务器下载木马病毒,安装它,并使用 Discord webhook 记录安装结果。
更深入地了解一下:
该恶意软件旨在检查当前操作系统是否为 Windows。然后它会检查环境是否未在虚拟机或沙箱环境中运行。它通过验证与 VMware 和 VirtualBox 关联的特定文件的存在以及检查安全研究人员常用的某些进程的存在来实现这一点。
如果环境是虚拟机,代码会立即返回而不执行任何进一步操作。
接下来,代码检查 USERNAME 环境变量是否与指定用户名之一(beferg、kimberlyro、amamar 和 coleman、rachestew、ralphgra、raymonke、joehal、pink、victoho、sharonj 等)匹配,如果匹配则返回。
最后,代码尝试向 hxxps[:]//wtfismyip[.]com/text 发出请求,该站点用于检测受害者的公共 IP 并验证它是否应该感染该机器。在通过所有验证后(没有 VM、没有已知用户、没有运行调试进程、没有已知 IP 地址),恶意软件下载并执行二进制文件,然后使用 Discord webhook 警告攻击者该模块已安装。
如前所述,这些验证的目的是避免在可以轻松检测到的研究环境中执行有效负载。
在迷宫中追逐 RAT
在上个月的《恶意软件月刊》中,披露了一次采用独特策略的软件供应链攻击事件。DevRel 团队的 Hernán Ortiz 总结了这种策略:“通过结合远程访问木马 (RAT) 和信息窃取程序的功能,这些包是以前在 PyPI 注册表中从未见过的奇怪突变。”
Hernán 与安全研究员 Carlos Fernandez 合作,作为他的福尔摩斯的华生来解开这个谜团。Carlos 甚至在最近为 Help Net Security 制作的视频中分享了他对 RAT 突变体的发现。
Hernán在他最近发表在 HackerNoon 上的文章中更深入地研究了 RAT 突变体的起源故事和规避变体,包括 Python 包forenitq、forenith、forenity和forenitz。
Hernán 和 Carlos 的调查缝合了一个恶意软件的故事,这些恶意软件会变异以逃避检测,剪贴板劫持者代码会刷取加密货币,而坏人会从其他坏人那里窃取恶意代码。
如果没有人类看到自动化系统捕获的数据中的模式,就不可能讲述这样的开源情报 (OSINT) 故事。
恶意软件分析环境剖析
由于支持 AI 的工具为现代软件供应链提供了自动防御,因此使用这些工具的人需要跟上恶意软件分析的最新发展。
Sonatype 的安全研究员Juan Aguirre最近介绍了分析 Python 恶意软件的基础知识。在他的文章中,他带领观众进入安全研究人员的快节奏工作流程,同时通过命令行、目录和在线工具的屏幕截图补充示例仔细解释基础知识。
虽然 Juan 自己表示他的文章并没有“完全深入”恶意软件分析,但他涵盖了许多关键的基础知识,例如:
静态与动态分析
用于分析二进制文件的在线工具
如何结合使用手动检查和自动化工具
尽管他只提供了对安全研究人员生活的一瞥,但 Juan 为所有读者提供了工具和操作的实用知识,以避免在处理恶意软件时出现任何分析瘫痪。
自动防御供应链攻击
上面提到的软件包只是工具捕获的大量恶意软件的冰山一角。自 2019 年以来,共发现了 106,872 个标记为恶意、可疑或概念验证的软件包。
Sonatype 的系统使用 ML/AI 技术来识别公共存储库中新发布的组件的异常属性。通过工具的近乎实时的检测功能提供的数据有助于防止客户无意中使用恶意组件。
如果您想免受软件供应链攻击,请考虑使用Nexus 防火墙自动阻止恶意包到达您的开发版本。
编译自:sonatype.com
推荐站内搜索:最好用的开发软件、免费开源系统、渗透测试工具云盘下载、最新渗透测试资料、最新黑客工具下载……
还没有评论,来说两句吧...