近日,Cyble研究实验室发现了一种名为Prynt Stealer的新信息窃取软件。该窃取软件是网络犯罪论坛上的新成员,具备各种功能。除了窃取受害者的数据外,还可以使用剪辑器和键盘记录操作进行财务盗窃。此外,它可以针对30多种基于Chromium的浏览器、5个以上基于Firefox的浏览器,以及一系列的VPN、FTP、消息和游戏应用软件。此外,构建者可以自定义此窃取软件的功能。

最近,窃取软件的开发者声称该窃取软件的最新版本是完全无法监测的,如下图所示。Telegram频道上也有一些免费的窃取软件日志。

嵌入的二进制文件包含使用AES256和Rijndael加密算法加密的硬编码字符串。Prynt Stealer 是一种基于.Net的恶意软件。下图为文件详细信息。

技术分析

该示例( SHA 256 : 1283c477e094db7af7d912ba115c77c96223208c03841768378a10d1819422f2)具有存储为字符串的二进制文件,如下图所示。

二进制是使用ROT13密码进行编码的。在这个样本中,rot13算法被应用于Base64编码的二进制文件。恶意软件没有丢弃有效载荷,而是使用AppDomain.CurrentDomain.Load()直接在内存中执行它。

该恶意软件使用ServicePointManager类来建立加密通道与服务器交互。一些使用AES256算法加密的硬编码字符串,都是通过调用Settings.AES256.Decrypt()进行解密的。Decrypt()方法被分配到相同的变量,如下图所示。

此后,恶意软件会在AppData文件夹中创建一个隐藏目录,该目录将使用MD5哈希值命名。下图显示了恶意软件中用于创建和隐藏目录的代码。

在上面创建的父目录中创建一个子文件夹,并使用“username@computername_culture”格式命名。恶意软件还会在此文件夹中创建其他文件夹,例如Browsers、Grabber等。这些文件夹将用于保存从各个来源窃取到的数据。

 

恶意软件使用DriveInfo()类识别受害者系统中存在的所有逻辑驱动器,并检查是否存在可移动设备。接下来,恶意软件将驱动器的名称和路径添加到其目标列表中以窃取数据。在识别驱动器详细信息后,恶意软件会从目标目录中窃取文件,如下图所示。恶意软件使用多线程方法从受害者的计算机中快速窃取文件。Prynt Stealer仅窃取小于5120字节且具有以下扩展名的文件:

·  文档:pdf、rtf、doc、docx、xls、xlsx、ppt、pptx、indd、txt、json。

· 数据库:db、db3、db4、kdb、kdbx、sql、sqlite、mdf、mdb、dsk、dbf、钱包、ini。

· 源代码:c、cs、cpp、asm、sh、py、pyw、html、css、php、go、js、rb、pl、swift、java、kt、kts、ino。

· 图片:jpg、jpeg、png、bmp、psd、svg、ai。


浏览器

在从受害者的系统中窃取文件后,Prynt Stealer会从浏览器中窃取数据。

目标浏览器包括:

· 基于Chromium的浏览器

· 微软边缘浏览器

· 基于Firefox的浏览器

1 基于Chromium的浏览器

首先创建一个名为“Browsers”的文件夹,然后使用Directory.Exists()方法检查“AppData”文件夹中的Browsers目录(参见下图)。如果返回true,则恶意软件开始从相应位置窃取数据。从下图中可以看出,窃取软件可以针对几乎所有基于Chromium的浏览器。Chromium浏览器使用多个.sqlite文件来存储用户数据。

Prynt Stealer从“Local Sate”文件中窃取主密钥,该文件用于解密存储在浏览器中的敏感信息。

 

该窃取软件从浏览器中窃取信用卡、密码、Cookie、自动填充、历史记录、下载和书签数据,并将窃取的数据保存在“Browsers\Browser_Name\”目录下创建的相应文本文件中。

 

恶意软件窃取数据的目标文件:

· Web 数据(用于自动填充数据)

· 登录数据(用于登录凭据)

· 历史(用于搜索历史)

· Cookies(用于浏览器Cookies)



在从浏览器窃取数据的同时,恶意软件还使用ScanData()方法检查浏览器数据中是否存在属于银行、加密货币和色情等服务的关键字。下图为恶意软件检查特定服务。



2 微软边缘浏览器

恶意软件首先检查目录“\AppData\Local\Microsoft\Edge\User Data”,该目录有助于识别受害者系统上是否安装了边缘浏览器。之后,它会枚举系统中的所有文件并检查是否存在“登录数据”文件。如果是这样,那么它会从浏览器中窃取数据,如下图所示。最后,再次使用ScanData()方法从边缘浏览器中窃取数据。



3 基于Firefox的浏览器

Prynt 窃取软件针对基于Firefox的浏览器,如下图所示。

只有在“AppData\Browser_name”目录下存在Profile文件夹时,恶意软件才会继续窃取数据。Firefox浏览器使用此文件夹来保存用户数据。恶意软件将“logins.json”文件从“Profile”文件夹复制到最初创建的文件夹以保存被盗数据。“Logins.json”文件用于存储Firefox登录凭据。以下文件是恶意软件的目标,用于窃取数据,位于“配置文件”文件夹下:

· Places.sqlite(用于书签和历史)

· cookies.sqlite(用于浏览器cookie)

· logins.json(用于登录凭据)



消息应用软件

从浏览器窃取数据后,恶意软件会针对以下消息传递应用软件:

· Discord

· Pidgin

· Telegram


该恶意软件首先创建一个名为Messenger的文件夹,将用于保存这些应用软件的数据。

1 Discord

在此之后,恶意软件会检查Discord令牌。它首先会搜索以下目录:

· Discord\\本地存储\\leveldb

· discordptb\\本地存储\\leveldb

· Discord Canary\\leveldb

仅当上述目录存在时它才会继续。如果存在目录,恶意软件会检查以.ldb或.log结尾的文件,并使用正则表达式从中提取Discord令牌。然后创建一个名为“Discord”的文件夹,并将被盗的令牌写入“Tokens.txt ”。


2 Pidgin

Pidgin是一个聊天软件,可让同时登录多个帐户,它与以下聊天网络兼容:Jabber/XMPP、Bonjour、Gadu-Gadu、IRC、Novell GroupWise Messenger、Lotus Sametime、SILC、SIMPLE 和 Zephyr。

 

恶意软件首先识别AppData文件夹中是否存在“.purple\\accounts.xml”,此文件存储Pidgin的登录凭据。恶意软件窃取登录凭据和协议详细信息,并将它们保存到accounts.txt文件中以进行渗透。


3 Telegram

恶意软件调用Process.GetProcessByName()方法来获取受害者设备中正在运行的进程名称和路径。然后,检查Telegram字符串是否存在于检索到的路径中。最后,获取Telegram目录并从那里窃取数据(如果存在的话)——恶意软件以“tdata”文件夹为目标来窃取Telegram会话。



游戏应用软件

Prynt Stealer针对以下游戏应用软件:

· Steam

· Minecraft

· Uplay

1 Steam

该恶意软件通过检查“HKEY_LOCAL_MACHINE\Software\Valve\Steam”中的注册表项值来识别Steam安装路径。执行此操作后,它会枚举“HKEY_LOCAL_MACHINE\Software\Valve\Steam\Apps”下的子项以获取应用软件的详细信息,如下图所示。该恶意软件还以Steam 的SSFN文件为目标,将其复制以进行渗透。


2 Uplay

恶意软件在AppData文件夹中查找“Ubisoft Game Launcher”,如果该文件夹存在,它会复制其中的所有文件以进行渗透。


3 Minecraft


对于Minecraft,窃取软件会检查AppData目录下是否存在“.minecraft”文件夹。如果存在,它会在“Gaming”文件夹下创建一个名为“Minecraft”的文件夹来保存被盗数据。

 

该窃取软件将“launcher_profiles.json”、“servers.dat”和屏幕截图复制到“Minecraft”文件夹中以进行渗透。它还提取模组和版本的详细信息,并将它们保存到“Minecraft”文件夹中的相应文本文件中。



加密钱包

该恶意软件针对加密钱包:Zcash,Armory,Bytecoin, Jaxx,Ethereum, AtomicWallet,Guarda和 Coinomi等加密钱包。

它创建一个名为“Wallets”的文件夹,然后枚举硬编码钱包列表,以识别受害者使用的加密钱包。

恶意软件查询注册表以确定区块链的位置,例如Litecoin、Dash和Bitcoin,如下图所示。它凭HKEY_CURRENT_USER/Software/Blockchain_name Blockchain_name-Qt注册表键中的注册表数据“strDataDir ”获取路径。


FTP应用软件


Prynt窃取软件的目标是FileZilla,这是一个免费开源跨平台FTP应用软件。它从“sitemanager.xml”和“recentservers.xml”中窃取数据,并将数据存储在“FileZilla”文件夹下的“Hosts.txt”文件中以进行渗透。




VPN

Prynt Stealer针对以下 VPN 应用软件:

· OpenVPN

· PorotonVPN

· NordVPN


它复制ProtonVPN、OpenVPN的配置文件并从NordVPN配置文件中窃取用户凭据。


目录树


如下图所示,执行此操作后,恶意软件会创建一个名为“Directories”的文件夹,然后获取目录结构并将其写入文本文件。恶意软件所针对的目录包括最初用于复制数据的目录。



系统信息

恶意软件会创建一个名为“System”的文件夹,存储有关运行进程、网络详细信息和受害者系统截图等信息。

流程细节


Prynt窃取软件使用Process.GetProcesses()方法识别受害者系统中所有正在运行的进程,并将它们写入“Process.txt”文件中,格式如下:

· 进程名称

· 进程ID

· 可执行路径


此操作后,它使用process.MainWindowTitle ()方法获取活动窗口,并将数据写入“Windows.txt”文件,格式如下:

· 进程名称

· 进程ID

· 可执行路径




截屏



现在该窃取软件会截取受害者系统的屏幕截图并将其保存为“Desktop.jpg”文件。



网络信息



Prynt Stealer还使用命令“chcp 65001 && netsh wlan show profile”提取网络凭据,并将其保存到“Savednetworks.txt”文件中。之后,使用“/C chcp 65001 && netsh wlan show networks mode=bssid”命令获取可用网络列表并保存到“ScanningNetworks.txt”文件中。



Windows产品密钥



Prynt Stealer从“HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion”中窃取Windows产品密钥,对其进行解码,然后保存到“ProductKey.txt”中。




数据泄露



如下图所示,恶意软件会创建一个列表并将被盗数据的概览添加到其中。然后使用Telegram 机器人发送聊天消息。

为了识别公共IP,它向hxxp[:]//icanhazip[.]com发送请求。

为了识别地理位置,它向hxxps[:]//api.mylnikov.org/geolocation/wifi?v=1.1&bssid=发送请求。


该恶意软件会压缩保存被盗数据的文件夹并将其泄露给Telegram机器人。此外,它使用安全的网络连接将被盗数据泄露到远程服务器上。



其他功能

研究人员分析发现,样本中的特定模块没有被恶意软件执行,包括Anti-analysis、Keylogger和Clipper。威胁参与者还为此窃取软件提供了一个构建器,可以对其进行自定义以控制这些功能。以反分析为例,它正在处理恶意软件中存在的硬编码字符串。下图显示了负责执行反分析功能的方法。同样,其他进程也依赖于这些硬编码的字符串。


1 剪辑器



下图显示了威胁参与者可以存储其加密地址的列表。这些条目没有被填入,表明威胁参与者可能没有在构建器中选择此功能。


2 键盘记录器



仅当硬编码的特定应用软件在系统中运行时,此窃取软件才启用键盘记录功能。被盗数据将被保存在“logs\keylogger”文件夹中。



结论




Prynt Stealer是最近的Infostealer菌株。它有很多功能。尽管网络犯罪市场上有相当受欢迎的窃取者,但 TA 确实采用了新的工具包来帮助他们更新他们的策略、技术和软件。这些类型的恶意软件为 TA 进入公司网络提供了一种简单的方法,因为闯入网络并不是每个人都喜欢的。

Prynt Stealer是Infostealer恶意软件最近的一个变种,它有很多功能。尽管在网络犯罪市场上已有相当受欢迎的信息窃取软件,威胁参与者也会采用新的工具包来帮助他们更新战术、技术和软件。这些类型的恶意软件为威胁参与者们进入公司网络提供了一种更简单的方式。



建议




· 避免从warez/torrent网站下载盗版软件。YouTube、种子网站等网站上出现的“黑客工具”主要包含此类恶意软件。 


· 尽可能使用强密码并实施多因素身份验证。 

 

· 在计算机、移动设备和其他连接的设备上打开软件自动更新功能。 


· 在连接的设备(包括PC、笔记本电脑和移动设备)上使用知名的防病毒和互联网安全软件包。 


· 请勿在未验证其真实性的情况下打开不可信的链接和电子邮件附件。  


· 教育员工保护自己免受网络钓鱼/不可信的URL等威胁。


· 阻止可能被用于传播恶意软件的URL,例如Torrent/Warez。 


· 在网络层面上监控信标,以阻止恶意软件或TA的数据渗出。 


· 在员工系统上启用数据丢失防护(DLP)解决方案。



MITRE ATT&CK技术 






妥协指标(IoCs)