发布于2022年11月4日3年前 黑吃黑的 Prynt Stealer 在恶意软件中嵌入后门 窃密对于网络犯罪来说,始终都是不可缺少的一部分。攻击者可以通过窃密获取更多信息,来判断攻击目标的价值高低,从而最大化自己的利益。为了使技术不太高的普通攻击者也能够使用,包括 Prynt Stealer 在内的信息窃取类恶意软件通常都使用构建工具进行配置。然而,Zscaler ThreatLabz 研究人员发现 Prynt Stealer 构建工具中存在一个秘密后门,监控其他攻击者收集的受害者数据并回传给构建工具开发者的私人 Telegram 聊天,这就是俗称的“黑吃黑”。Prynt Stealer 是一个新出现的窃密恶意软件家族,是通过 .NET 编写的恶意软件。分析人员确定 Prynt Stealer 与至少两个开源恶意软件家族存在代码共用。Prynt Stealer 起源Prynt Stealer 似乎直接从开源恶意软件的代码中进行复制粘贴,但借用的代码有很多并没有被实际使用。Prynt Stealer 的代码主要源自 AsyncRAT 与 StormKitty,其中 AsyncRAT 的代码作为主模块并随后调用 StormKitty 进行窃密。Prynt Stealer 中大部分 AsyncRAT 的功能都被禁用了,C&C 服务器 URL 被设置为 127.0.0.1。但恶意软件中嵌入的证书如下所示:嵌入证书值得注意的是,该证书是归属与 WorldWind 窃密恶意软件的,当然该恶意软件也由 Prynt Stealer 的开发者进行出售。AsyncRAT/StormKitty 代码比较Prynt Stealer 作者在 AsyncRAT 的配置中新增了两个字段,用于通过 Telegram 进行数据泄露。代码对比向 Telegram 发送信息的主要代码是从 StormKitty 复制的,如下所示:代码对比主要的区别在于字段的名称与顺序,并且在 Prynt Stealer 中缺少与检测色情网站相关的字段。技术细节反检测Prynt Stealer 创建了一个线程,该线程在 AsyncRAT 的静态构造函数中调用名为 processChecker 的函数,如下所示。processChecker 代码Prynt Stealer 使用该线程持续监控受害者的进程列表。如果检测到以下任何进程,恶意软件将阻止 Telegram 通信:taskmgrprocesshackernetstatnetmontcpviewwiresharkfilemonregmoncainTelegram 通信Prynt Stealer 创建一个线程使用 Telegram getUpdates API 轮询要下载的文件,如下所示。下载命令数据窃密Prynt Stealer 从各种应用程序中窃取数据,并将数据发送到构建工具中配置的 Telegram 通道,如下所示。构建工具Prynt Stealer 的日志会发送到开发者的 Telegram,如下所示。后门回传日志文件过去也有过免费使用的恶意软件,开发者在其中植入后门实现“黑吃黑”。但 Prynt Stealer 是一个收费的恶意软件,不仅恶意软件要收费还会窃取其他攻击者的劳动成果。Prynt Stealer / WorldWind / DarkEyeThreatLabz 已经确定了至少两个 Prynt Stealer 的变种,被称为 WorldWind 和 DarkEye。这三者非常相似,差别很小,应该是同一个开发者编写的恶意软件。下图显示了过去一年中发现的三类样本的百分比情况:在野分布情况Prynt 和 WorldWind 均由同一开发者在以下网站上出售:销售渠道网站的截图如下所示:销售网站截图当然,各种地下论坛也都有流传 Prynt Stealer 的破解版,并且源代码也已经上传到 GitHub 上。Prynt Stealer 在犯罪分子常用的 Telegram 频道中也有免费提供的宣传,如下所示:Telegram 频道中的宣传构建工具中嵌入了 DarkEye Stealer 和 Loda RAT 后门,这些免费版本可能就是开发者故意泄露的,以此实现“黑吃黑”。三者功能比较Prynt、WorldWind 和 DarkEye 之间的差异非常小,功能基本都相同,如下所示:三者功能对比StormKitty、Prynt Stealer、WorldWind 和 DarkEye 之间的字段名称比较如下所示:字段名称比较Prynt Stealer 构建工具带有后门的构建工具执行过程如下所示:后门执行流程Prynt Stealer 构建工具包括以下文件:Stub.exePrynt Stealer.exePrynt Stealer sub.exePrynt.exeStub.exe获取 Prynt Stealer sub.exe中的资源,并根据RCData资源部分中的设置执行操作,如下所示。资源枚举函数从字符串 C:\Users\DarkCoderSc\Desktop\Celesty Binder\Stub\STATIC\Stub.pdb可见,Prynt Stealer sub.exe 是使用 Celesty Binder 生成的。该二进制文件以明文形式将嵌入的 Payload 存储在 RBIND 资源下,被配置为在 %TEMP% 文件夹中释放并执行 Payload,如下所示:资源数据DROPIN 的其他有效路径包括:%APPDATA%%PROGFILES%%DEFDRIVE%%STARTUPDIR%%LAPPDATA%%USERDIR%Prynt Stealer.exePrynt Stealer 构建工具是 AsyncRAT 构建工具的定制化版本,修改了界面并且在 main 函数中添加了一行语句,以从 {Builder Path}/Stub/Prynt.exe运行加载程序。Prynt.exe该文件为 .NET 编写的加载程序,只是通过硬编码的 URL 下载 Payload 并执行,如下所示:混淆与去混淆操作下载的 Payload 为 DarkEye Stealer,也算是 Prynt Stealer 的一个变种。DarkEye Stealer该文件本质上还是 Prynt Stealer,只在代码布局上存在细微差别。其配置相关的信息如下所示:配置信息DarkEye 与 Prynt 和 Worldwind 的主要区别在于 AsyncRAT 的部分是通过配置相关设置来填充的,而且有些早期版本的 DarkEye 并没有使用 AsyncRAT。Loda RATLoda RAT 是一个基于 Autoit 开发的远控木马,在 2017 年被首次发现。此后一直非常活跃,并且多年来一直在持续更新,是一个相当强大的恶意软件。总结现在互联网上有许多开源的恶意软件源码,这使攻击者开发恶意软件变得非常容易。Prynt Stealer 的开发者将 Telegram Token 与聊天 ID 硬编码到恶意软件中,添加了一个后门来窃取客户的信息。
创建帐户或登录后发表意见