在广阔的开源生态系统中,影子偶尔会移动。虽然这个领域依靠协作和知识共享而蓬勃发展,但它也是掠夺者的游乐场,从新手黑客到协调良好的民族国家行为者。近几个月来,这样一种威胁不断出现、不断增长并完善其武器库。
自 4 月初以来,我们 Checkmarx 供应链安全团队一直在追踪该恶意行为者,记录其演变的每一步。我们一直在积极观察攻击者,他们似乎在不断完善自己的技术。
这是一个攻击者从简单到巧妙规避的故事
关键点
自 2023 年 4 月上旬以来,攻击者不断通过各种用户名部署数百个恶意软件包,累计下载量近 75,000 次。
攻击者的演变是显而易见的,从纯文本到加密,随后到多层混淆和二次反汇编有效负载。
该恶意包撒下广泛的网络,旨在窃取大量敏感数据,包括来自目标系统、应用程序、浏览器和用户的数据。此外,他们通过修改加密货币地址将交易重定向到攻击者来瞄准加密货币用户。威胁行为者最新的软件包巧妙地摧毁了系统防御,使其暴露无遗且脆弱。
恶意代码明确设计为在 Windows 系统上运行。
攻击者成功的证据是显而易见的,他们的一个加密钱包地址显示,在恶意软件包活跃期间,传入交易(资金直接存入攻击者的账户)达到六位数。
在代码更新和包部署的流程中,从 2023 年 4 月上旬开始,Python 生态系统中开始显现出一种明显的模式。一名难以捉摸的攻击者在无数看似随机的用户名下发起了一场无情的攻击活动。数百个带有极其相似的元数据和代码结构的恶意软件包开始充斥开源存储库。这些软件包获得了可观的约 75,000 次下载。这些部署的庞大数量和持久性暗示攻击者有着精心策划的议程。
盗梦空间
在其初期,攻击者的包裹是具有欺骗性的透明的。他们的软件包以纯文本编写,会巧妙地将自己集成到毫无戒心的系统中,同时为他们的恶意活动奠定基础:
隐形安装
安静而谨慎地安装了依赖项。攻击者利用一个子进程来阻止任何控制台窗口出现并确保用户不被察觉。
感知环境:
该恶意软件展现了经验丰富的猎人的本能,感知周围的环境并在最轻微的危险迹象时撤退。这些包括:
虚拟环境
特定用户、计算机名称、硬件 ID 和 IP 地址。
低资源环境(表示虚拟机或测试设置)。
与 VM 软件链接的注册表项。
广泛的数据盗窃
一旦解决,恶意软件就开始大规模的数据窃取。其中包括:
浏览器泄露:从各种浏览器(Opera、Chrome、Microsoft Edge、Brave 和 Yandex)中提取敏感数据,包括用户名、密码、历史记录、cookie 和支付信息。
应用程序数据提取:从 Atomic、Exodus、Steam 和 Nationsglory 等应用程序中挖掘数据,在发送之前将数据打包成 zip 文件。
文件盗窃:在用户的目录中搜索潜在有价值的文件,将任何发现上传到hxxps[:]//transfer[.]sh
Discord:收集徽章、电话号码、电子邮件地址、硝基状态等信息。
游戏平台:针对Minecraft、Roblox等热门游戏,寻找用户数据。
屏幕截图:截取屏幕截图以捕获实时用户活动。
加密货币处理:
深入研究攻击者的武器库揭示了他们对加密货币的狡猾兴趣。该恶意软件始终保持警惕,密切关注用户的剪贴板,扫描加密货币地址。通过巧妙的手段,任何合法地址都很快被攻击者自己的地址取代,从而重新定向资金。在无数恶意软件包中发现了类似的加密地址,这暗示着一种集中化策略,将重定向的资金引导到几个主要收集点。
顶部:攻击者加密地址。底部:用攻击者替换目标地址的函数
应用程序篡改
攻击者通过替换其电子档案来篡改 Exodus 应用程序。(对于那些不熟悉的人来说,Exodus 是一个加密货币钱包管理应用程序)。通过更改其核心文件,攻击者可以将自己的机制和链接注入到应用程序中。此操作允许攻击者注入其 Webhook URL,绕过应用程序的内容安全策略,从而实现不受限制的数据泄露。
下一阶段:加密歧义
随着春天过去了,夏天过去了,攻击者的手段也变得更加狡猾。以前明目张胆的纯文本现在被加密所笼罩,使得没有经验的人更难察觉恶意的暗示,但核心功能仍然惊人相似。
下一阶段的包大部分已加密
Masterstroke:层层叠加
最近的软件包展示了混淆方面的大师级作品。一个充满欺骗层的迷宫。
第三阶段包包含数十层混淆
解开复杂性
真正的恶意意图嵌套在包的核心文件(init .py)中,隐藏在多种混淆技术后面。一旦破译,它就会显示从外部来源获取的辅助有效负载。辅助文件以随机名称和“.pyw”扩展名保存,然后自动执行。这个辅助有效负载包含额外的混淆层,掩盖了其背后复杂的恶意反汇编代码。
功能丰富:
该代码揭示了许多功能,这些功能扩展了早期软件包中泄露的数据量。
系统统治:激活后,脚本会采取措施巩固其权威。它检查了其权限,在提升的 PowerShell 终端中使用 PowerShell 脚本禁用了系统防御,并测试了其网络连接。它还操纵Windows“主机”文件来阻止访问安全和防病毒网站,阻止用户下载防病毒软件或检查文件是否有病毒。
隐藏和删除:恶意软件隐藏其创建的文件,使用户不易看到它们,除非它们明确显示隐藏文件和系统文件。然后,恶意软件将从系统中删除程序的可执行文件和脚本。
屏幕截图和网络摄像头捕获:该脚本捕获可用屏幕的屏幕截图并将其保存为 .png 文件。如果启用,它还会捕获网络摄像头图像。
Discord 数据挖掘:该恶意软件通过检查是否启用了设置(Settings.DiscordInjection),在从 Discord 中挖掘数据的基础上更进了一步 ,如果启用,它会将恶意 JavaScript 注入 Discord 中。然后,它根据 Discord 的名称执行任务终止,可能会确保注入的代码在 Discord 重新启动时运行。
广泛的机器数据挖掘:恶意软件从目标机器窃取各种数据,包括加密货币钱包、系统信息、防病毒信息、任务列表、Wi-Fi 密码、剪贴板数据以及桌面、图片、文档、音乐等目录中的特定文件,视频和下载。它还窃取与 Steam、Uplay 和 Roblox 等游戏服务相关的用户数据。
Telegram 数据挖掘:如果启用,恶意软件会通过将会话数据复制到指定目录来搜索并窃取 Telegram 会话。
渗透:最后阶段
被盗信息被保存到各种文件中,然后使用密码保护进行存档。尝试将存档数据上传到gofile.io和anonfiles.com等文件共享服务。如果不成功,数据将通过 Telegram 的机器人 API URL 泄露。
影响
对与攻击者相关的加密钱包地址的分析提供了他们成功的证据。在恶意软件包活跃传播期间,仅其中一个钱包就记录了高达六位数的交易。这一数字不仅强调了攻击者获得的经济收益,而且还有力地提醒人们,此类网络威胁对毫无戒心的用户和企业在现实世界中的影响。
结论
这篇博文强调了恶意软件传播的持续危险,并强调了保持持续警惕和适应性以有效防范恶意软件的重要性。本文中讨论的攻击者表现出了随着时间的推移调整和完善其方法的坚定决心,从而在检测和删除恶意软件方面提出了更大的挑战。这有力地提醒我们,安全专业人员必须保持消息灵通,并对新技术保持警惕,才能成功防御此类攻击。此外,它还强调了开源威胁情报和安全专业人员之间的信息共享对于领先攻击者一步的重要意义。利用混淆、加密、多个用户名、
在开源代码生态系统中运作的持续威胁参与者正在积极尝试并对版本控制系统(特别是 GitHub)以及 PyPi 和 NPM 等软件包注册表发起攻击。
发起此类攻击固有的低风险和简单性确保了现有攻击者将继续其活动,而新进入者也将开始试验和发起类似的攻击。
IOCs
hxxps[:]//bananasquad[.]ru/downloadhandler
hxxps[:]//bananasquad[.]ru/app.asar
hxxps[:]//discord[.]com/api/webhooks/827123456789012345/getn1gga
hxxps[:]//bananasquad[.]ru/handler
hxxps[:]//paste.bingner[.]com/paste/fhvyp/raw
hxxps[:]//kekwltd[.]ru/relay/bluescreen
hxxps[:]//kekwltd[.]ru/relay/download
bc1qlxay4saq3tjv79yqc6devlty6jfgjnalgmhu2a (btc_address)
bc1qfgzwcxx32kwjf9naw2zdnl00zlvz8cqr4sn0fj (btc_address)
0x69b2bBa5DC9D0f68Ce0AE98395F72CEfaD7E543a (eth_address)
0xde876b3b623a4c9e5266717fceee89b3dd0237ec (eth_address)
46sbPVnovtHSLqhBz7HBp7Nk3JkE3NZqajK8AMXD4LngEkCQezyGMNyQrainPpj76FD7hXNTFiH5zYee1AMvTAec8Gc5Hpo (monero_address)
468h7xcjtieam26idzme1jtvqjyxxaf1an9qhpnjfshpy6qiu3cvxyr3s9t8zaz2xlh856m7ne8kx4ysqb4kajn2ahkydh2 (monero_address)
addr1qygzxaunnw4qddxr4xe0phzg5mk6d73vrmgpgldx5h4en9ssydme8xa2q66v82dj7rwy3fhd5mazc8ksz376df0tnxtqhumzmz (ada_address)
addr1qylpptmy52g032y2dfhu73qerny2mphnegemyggzaung53f7zzhkfg5slz5g56n0eazpj8xg4kr08j3nkgss9mex3fzs462m3v (ada_address)
XeRy9cBSdCWSmSPaq7GYmgwV1X8e6gJJPE (dash_address)
xpaql6jrd5jay1ymmuaqhbh9nyahsxahuv (dash_address)
johannes.mayer@yahoo.com
nick.faltermeier@gmx.de
SuSB0t@gmail.com
NHJonas@gmail.com
转载来源:https://checkmarx.com/blog/the-evolutionary-tale-of-a-persistent-python-threat/
图片来源网络侵权可联系删除