深入分析 RedLine 窃取器恶意软件 - BRANDEFENSE
2023-6-15 10:41:49 Author: Ots安全(查看原文) 阅读量:21 收藏

概述

范围

File Name:NetFlix Checker by xRisky v22.exeMD5:8556792f20126e1ed89f93e1e26030e5SHA-1:e733716554cf9edf2a5343aef0e93c95b7fa7cd4SHA256:e3544f1a9707ec1ce083afe 0ae64f2ede38a7d53fc6f98aab917ca049bc63e69

介绍

Redline Stealer 是一种在地下论坛上出售的恶意软件,也可以按月订阅。该恶意软件从浏览器收集信息,例如保存的凭据、自动完成数据和信用卡信息。当在目标机器上运行时,还会进行系统清单,包括用户名、位置数据、硬件配置和有关已安装安全软件的信息等详细信息。

背景

Redline Stealer 于 2018 年首次被发现,此后被用于针对全球个人和组织的众多网络攻击。

目标 - 交付

Redline Stealer 通常通过网络钓鱼电子邮件或已被入侵的网站进行传播。一旦该恶意软件安装在系统上,它就可以在后台运行并在用户不知情的情况下收集敏感信息,例如登录凭据、信用卡号和其他财务数据。

行为图


执行摘要

xRisky v22.exe 的 NetFlix Checker 似乎在系统上创建多个进程,包括 winlogon.exe,它是 Redline Stealer 恶意软件的已知负载,旨在从受感染的系统中窃取敏感信息,例如系统信息、钱包, 和申请信息。此外,似乎已生成 svchost.exe 进程,这又会创建 cmd.exe 进程,最后创建 chrome.exe 进程。

技术分析

创建进程

初始可执行文件伪装成 Netflix 检查器,是主要有效载荷的释放器。恶意软件提取资源,该资源将被解密并保存在 AppData 目录中。


图 2:从恶意软件中提取的资源

初始可执行文件伪装成 Netflix 检查器,是主要有效载荷的释放器。恶意软件提取资源,该资源将被解密并保存在 AppData 目录中。


图 3:AES 算法

然后将解密的有效负载保存到名为“winlogon.exe”的文件中。该文件包含恶意软件的主要有效负载,用于在受感染的系统上执行恶意活动。


图 4:从恶意软件中提取的资源

执行恶意软件后,受感染系统上会产生多个进程,包括 winlogon.exe、xRisky v22.exe 的 NetFlix Checker 副本和 svchost.exe。


图 5:执行恶意软件后运行的进程

在受感染系统上创建的文件夹位于 AppData 文件夹中,这是恶意软件存储文件和数据的常见位置。


图 6:从恶意软件中提取的资源

恶意软件创建的“winlogon.exe”文件是主要的有效负载,该文件通常经过混淆处理。一旦代码被去混淆,恶意软件中的其他模块就会揭示有关其预期功能的提示。其中一个模块是“happy.exe”模块,它包含用于从受感染系统中泄露敏感信息的代码。


图 7:去混淆的恶意软件类

C2 通信

当与 C2 服务器通信时,窃取者创建一个 BasicHttpBinding 对象,该对象使用 HTTP 作为发送 SOAP 消息的传输方式。Windows Communication Foundation (WCF) 在序列化和反序列化 SOAP 消息时使用 XmlDictionary 实例。创建一个新的 XmlDictionaryReaderQuotas 对象,其中包含 XmlDictionaryReader 类使用的多个配额。


图 8:创建用于通信 C2 的 BasicHttpBinding 对象

窃取者使用 SOAP 消息与 C2 服务器通信。在与 C2 服务器通信时,窃取者可以发送各种 SOAP 请求,每个请求都有特定的目的。


图 9:SOAP 请求

恶意进程可能旨在根据 SOAP 响应启用或禁用某些功能。例如,通过在 SOAP 消息的“ScanWallets”字段中指定值“false”,恶意软件可能被编程为跳过扫描受感染系统的加密货币钱包。


图 10:SOAP 响应示例

该进程存储数据,例如防病毒软件、已安装输入语言列表、已安装程序列表、正在运行的进程列表以及名为 ScanDetails 的类中有关处理器的信息。


图 11:ScanDetails 类

恶意软件从 ScanDetails 收集信息后,窃取者将与受感染机器对应的 ID、操作系统版本、当前输入语言的文化等存储在 ScanResult 中。


图 12:ScanResult 类

之后,恶意二进制文件通过初始化 ChannelFactory 类的新实例来创建一个将在网络通信期间使用的通道工厂。


图 13:创建的 ChanenlFactory 类

C2 服务器的域(“siyatemi.duckdns[.]org:17044”)和版本 ID 被硬编码到恶意软件的代码中。这意味着恶意软件将始终尝试连接到相同的 C2 服务器,并将使用相同的 Release ID 进行所有通信。


图 14:硬编码域和版本 ID

该恶意软件还通过查询以下网站获取本机公网IP、所在国家、邮政编码等信息:

https[:]//api.ip.sb/geoip,

https[:]//api.ipify.org,or

https[:]//ipinfo.io/ip。

WebClient.DownloadData 方法用于下载资源。

解密数据

该文件使用 BcryptOpenAlgorithmProvider API 来加载和初始化 AES CNG 提供程序。该算法的链接模式设置为 GCM。


图 15:使用的 BcryptOpenAlgorithmProvider API

该恶意软件使用 BCryptImportKey API 从数据 BLOB 导入对称密钥。

图 16:使用的 BCryptImportKey API

该进程可以通过调用 BCryptDecrypt 例程来解密数据块。它允许恶意软件使用导入的对称密钥安全地解密和访问加密数据。

图 17:使用的 BCryptDecrypt API

搜索文件系统

Redline stealer 在文件系统中搜索以下目录:“Windows”、“Program Files”、“Program Files (x86)”和“Program Data”。

图 18:搜索文件系统

为了提取目标文件,Redline 窃取程序使用 GetDirectories 和 GetFiles 方法。这些方法允许恶意软件在文件系统中导航并检索符合指定条件的目录和文件列表。

图 19:恶意软件通过 GetDirectories、GetFiles 方法导航

远程任务操作

可执行文件通过调用 GetTempFileName 函数创建一个唯一的临时文件。它使用 CopyFile 将文件复制到新位置。

图 20:创建了唯一的 .tmp 文件

创建唯一的临时文件后,恶意软件使用 cmd.exe 执行命令并将临时文件的名称作为参数传递。命令执行完成后,临时文件将从系统中删除。

图 21:进程启动

图 22:创建的 cmd.exe

信息窃取

浏览器检查

Redline 窃取器专门针对 Chrome、Opera 和 Mozilla Firefox 等网络浏览器。例如,当寻找 Opera GX 浏览器时,恶意软件会在特定目录中搜索。


图 23:Opera GX 检查

该恶意软件在 SOAP 响应的 ScanChromeBrowsersPaths 和 ScanGeckoBrowsersPaths 节点值中指定了新的浏览器路径。

图 24:设置新的浏览器路径

当 Redline 窃取器以浏览器为目标时,它会在浏览器的数据库中搜索登录数据。登录数据存储在“登录数据”数据库文件中。恶意软件从该数据库文件的“logins”表中提取登录页面的原始 URL、用户名值和密码值。

图 25:提取的数据

当恶意软件搜索 Cookies 文件时,它会在用户的配置文件文件夹中查找名为“Cookies”的数据库文件。一旦找到,它就会读取数据库并提取值,例如每个 cookie 的主机密钥、路径、is_secure 标志、到期日期、名称和加密值。


图 26:提取的 cookie

host、path、isSecure、expiry、name 和 value 条目是从 cookies.sqlite 文件中的 moz_cookies 表中提取的。

图 27:Cookies.sqlite

Redline stealer 通过添加额外的字母来混淆一些字符串。它试图在“AppData/Roaming”目录中找到 cookies.sqlite 数据库

图 28:定位的数据库

该恶意软件能够从“Web Data”数据库中的自动填充表中检索值和名称条目。Web 浏览器使用此数据库来存储各种类型的用户数据,包括 Web 表单的自动填充数据。

图 29:Web Data 数据库

该过程从“Web 数据”数据库中的 credit_cards 表中检索 card_number_encrypted、name_on_card、expiration_month 和 expiration_year 值。

图 30:从 Web 数据中检索到的数据

收集所有数据后,该过程创建一个 scandenBrowser 对象,其中包含浏览器名称和配置文件以及上面提取的信息。

图 31:创建的 scandenBrowser 对象

加密货币钱包检查

窃取器针对以下钱包,它们是浏览器扩展:

YoroiWallet,

Tronlink,

NiftyWallet,

Metamask,

MathWallet,

Coinbase,

BinanceChain,

BraveWallet,

GuardaWallet,

EqualWallet,

JaxxxLiberty,

BitAppWallet,

iWallet,

Wombat,

AtomicWallet,

MewCx,

GuildWallet,

SaturnWallet, and

RoninWallet


图 32:目标钱包

第一个目标是 Armory,它将钱包存储在 AppData/Armory 目录中。

图 33:军械库钱包

Atomic Wallet 将其文件存储在 AppData\atomic 文件夹中。

图 34:原子钱包

Guarda 钱包将其文件存储在 AppData\Guarda 目录中。

图 35:Guarda 钱包

二进制文件也在寻找与 Coinomi 钱包对应的文件。

其他应用

窃取者从“.log”和“.ldb”文件中提取 Discord 令牌和聊天记录。这些令牌可用于访问用户的 Discord 帐户。

图 37:提取的 Discord 令牌

窃取者还从“SteamPath”注册表值中提取 Steam 客户端路径。


图 38:SteamPath

该过程正在寻找包含 Telegram 应用程序的文件夹。包括图像和对话在内的会话数据存储在“tdata”目录中。

图 39:电报检查

可执行文件还会在机器上查找“Telegram Desktop tdata”目录。

图 40:Telegram 桌面检查

“recentservers.xml”文件包含有关 FileZilla 应用程序连接到的最近服务器的信息。该文件通常包括服务器名称、IP 地址、端口号、登录凭据以及连接到这些服务器所需的其他敏感信息。

图 41:恶意进程打开“FileZillarecentservers.xml

二进制文件创建一个 XmlTextReader 对象,然后创建一个 XmlDocument 对象。它加载上面打开的 XML 文件并构建帐户列表。

图 42:创建的 XmlTextReader

恶意软件从 XML 文件中提取以下字段:Host、User、Pass 和 Port。这些值用于填充 account.Username、account.Password 和 account.URL。

图 43:提取的数据

提取的文件

该恶意软件可以通过 SOAP 消息定位和泄露 C2 服务器指定的文档、CSV 文件、文本文件和其他类型。

图 44:泄露的文档扩展

VPN检查

Redline 窃取者在文件系统中搜索 %USERPROFILE%\AppData\Local\NordVPN 目录,该目录对应于 NordVPN 软件。

图 45:检查 NordVPN

存储在“user.config”文件中的凭据由恶意软件提取,如下图突出显示。

图 46:存储的 user.config 文件

凭据从 Base64 解码,然后存储在 Account.Username 和 Account.Password 中。

图 47:VM 检查

恶意可执行文件窃取位于 %AppData%\OpenVPN\Connect\profiles 的 OpenVPN 配置文件。

图 48:检查 OpenVPN

该过程还会尝试定位和泄露 Proton VPN 配置文件。

图 49:检查 ProtonVPN

主机信息

二进制文件通过运行以下 WMI 查询来提取处理器名称和核心数。此查询指示 WMI 检索“Win32_Processor”类的“Name”和“NumberOfCores”属性。

图 50:VM 检查

视频控制器的名称和内存大小是通过另一个 WMI 查询检索的。此查询指示 WMI 检索“Win32_VideoController”类的“Name”属性。

图 51:VM 检查

该恶意软件通过一些字符串获取防病毒/反间谍软件产品和第三方防火墙的列表,并使用 SELECT * FROM WindowsService 进行查询。

图 52:收集防病毒数据

OpenSubKey 方法用于打开“SOFTWARE\Clients\StartMenuInternet”注册表项。浏览器的名称是通过对 GetValue 的函数调用获得的,然后是来自“shell\open\command”注册表项的路径。

图 53:通过 OpenSubKey 获取数据

恶意进程提取物理磁盘驱动器的序列号。此查询指示 WMI 检索“Win32_DiskDrive”类的“SerialNumber”属性。

图 54:提取的磁盘驱动器数据

通过运行“SELECT * FROM Win32_Process”查询检索正在运行的进程列表。恶意软件会创建一个列表,其中包含当前进程的会话 ID、从查询中提取的进程 ID 和名称,以及命令行。

图 55

图 55:提取的运行进程

OpenSubKey用于打开“SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall”注册表项,其中包含已安装的程序。目的是提取程序名称和版本。

图 56:OpenSubKey

通过运行“SELECT * FROM Win32_OperatingSystem”WMI 查询来检索操作系统可用的物理内存总量。

图 57:提取的物理内存数据

二进制文件提取 Windows 产品名称和处理器架构。此查询指示 WMI 检索“Win32_OperatingSystem”类的“Caption”属性。

图 58:处理器架构的提取数据

该过程通过创建 MD5CryptoServiceProvider 对象然后调用 ComputeHash 方法来计算 MD5 哈希。

图 59:MD5CryptoServiceProvider


图 60:ComputeHash

窃取者计算之前提取的网络域名、用户名和序列号的串联的 MD5 哈希值。它用作机器 ID 并将出现在网络流量中。


图 61:连接的 MD5 散列

可执行位置是从“Assembly.GetExecutingAssembly.Location”属性中检索的。可执行文件可以修改位于同一目录中的自己的代码或配置文件,也可以在同一目录中创建新文件来存储数据或日志。

图 62:Assembly.GetExecutingAssembly.Location

Graphics.CopyFromScreen 方法用于捕获屏幕。生成的图像以 PNG 格式保存到内存流中。包含屏幕截图的缓冲区使用 Base64 编码,并在网络流量的 Monitor 条目中泄露。

图 63


图 63:捕获屏幕

结论

总之,Redline Stealer 是一种危险的恶意软件,它可以危害计算机系统的安全并窃取敏感信息,例如登录凭据、信用卡号和其他财务数据。恶意软件通常通过电子邮件附件、恶意网站或软件漏洞传播,并且可以在用户不知情的情况下在后台运行。

Redline Stealer 对处理敏感客户信息的企业是一个重大威胁,因为它可能导致数据泄露和重大财务损失。对于个人和组织而言,保持警惕并采取措施保护自己免受恶意软件攻击至关重要。

本文翻译自:

https://brandefense.io/blog/analysis-of-redline-stealer-malware/#Browser_Checking

感谢您抽出

.

.

来阅读本文

点它,分享点赞在看都在这里


文章来源: http://mp.weixin.qq.com/s?__biz=MzAxMjYyMzkwOA==&mid=2247498776&idx=2&sn=0d6c508d4f5fe124cad950b32063d107&chksm=9badb553acda3c45987d1761c6dad09ef289ea6d781a050f50f492a033ee1c975a9dc6cf2926#rd
如有侵权请联系:admin#unsafe.sh