百度360必应搜狗淘宝本站头条
当前位置:网站首页 > 技术文章 > 正文

新兴信息窃取程序—Rhadamanthys的分析

cac55 2025-02-17 11:20 24 浏览 0 评论

导语:Rhadamanthys是一款很高级的信息窃取程序,于去年9月在暗网上首次亮相,亮相之初即受到了攻击者的热捧。

Rhadamanthys是一款很高级的信息窃取程序,于去年9月在暗网上首次亮相,亮相之初即受到了攻击者的热捧。

2022年9月24日,一个化名“kingcrete2022”的用户发布了以下内容:

开发者并没有急于将该产品投放市场,他们已经以“kingcrete2022”的化名在论坛上潜伏了半年,实际可能比其他化名的时间还要长。恶意软件的整体性构建在正式发布前整整一个月就已经编译完成了。在正式发布后,一系列疯狂的版本更新便开始了,开发者添加了一长串功能和子功能,并提供了英语和俄语支持。很快数千个用户的信息、数十万个密码和数百个加密货币钱包就被窃取。为了扩大攻击范围,开发者还对购买其服务的用户提供了售后服务。

攻击目标

理论上,Rhadamanthys的开发者并不关心用户如何处理窃取者窃取的非法数据,不管是实施欺诈、出售数据、发动内战,对开发者来说都是一样的。实际上,这种现成恶意软件的主要客户是投机取巧的网络犯罪分子,他们的目标是在任何时间感染任何人。因此,活动受害者遍布世界各地,特别是在一些地方,一些运营商已经开始进行创造性迭代了,比如一个活动以OBS studio等视频编辑软件为幌子传播样本,通过谷歌广告推送给不知情的受害者。

攻击热图

一般来说,操作这类恶意软件的攻击者通常不像大型勒索软件组织那样太关心大型目标。对他们来说,这只是一场数字游戏,即从众多受害者身上榨取金钱。尽管如此,从统计数据来看,这些攻击的最终目标确实是针对大型组织的;通过监测,我们能够确认Rhadamanthys试图感染加拿大的一家政府机构,以及印度基础设施部门的一家能源公司。

功能概述

Rhadamanthys中包含的功能非常多,其设计原则就是囊括信息窃取所需的一切功能和有关扩展。

Rhadamanthys的功能列表包括窃取受害者的系统信息:计算机名称、用户名、内存容量、CPU内核、屏幕分辨率、时区、地理位置、环境、安装的软件、屏幕截图、cookie、历史记录、自动填充、保存的信用卡、下载、收藏夹和扩展,它从FTP客户端窃取凭据——Cyberduck、FTP Navigator、FTPRush、FlashFXP、Smartftp、TotalCommander、Winscp、Ws_FTP和Coreftp;以及来自邮件客户端CheckMail, Clawsmail, GmailNotifierPro, Mailbird, Outlook, PostboxApp, Thebat!, Thunderbird, TrulyMail, eM和Foxmail;

它从双因素验证应用程序和密码管理器RoboForm、RinAuth、Authy和KeePass窃取凭据;VPN业务,包括AzrieVPN、NordVPN、OpenVPN、PrivateVPN_Global_AB、ProtonVPN和WindscribeVPN;笔记应用程序,包括NoteFly、Notezilla、Simple Stick Notes和Windows Stick Notes;即时通讯应用程序的消息历史记录,包括Psi+、Pidgin、tox、Discord和Telegram;此外,它还窃取了Steam、TeamViewer和SecureCRT的受害者凭据。

当Filezilla FTP凭据出现在攻击者端时被窃取

开发者特别强调了与窃取加密货币相关的功能,在一个版本更新中,有9项新功能,其中4项是对加密货币钱包的窃取和破解的增强。最初版本中支持的钱包列表确实很难处理,包括Auvitas, BitApp, Crocobit, Exodus, Finnie, GuildWallet, ICONex, Jaxx, Keplr, Liquality, MTV, Metamask, Mobox, Nifty, Oxygen, Phantom, Rabet, Ronin, Slope, Sollet, Starcoin, Swash, Terra, Station, Tron, XinPay, Yoroi, ZilPay, Coin98, Armory, AtomicWallet, Atomicdex, Binance, Bisq, BitcoinCore, BitcoinGold, Bytecoin, coinomi, DashCore, DeFi, Dogecoin, Electron, Electrum, Ethereum, Exodus, Frame, Guarda, Jaxx, LitecoinCore, Monero, MyCrypto, MyMonero, Safepay, Solar, Tokenpocket, WalletWasabi, Zap, Zcash 和 Zecwallet。

所有这些窃取行为都是在感染后自动执行的,如果攻击者决定对受感染的设备进行更多的操作,他们可以将新配置推到“文件抓取”模块,该模块将窃取与windows搜索查询匹配的所有文件或者对于真正的高级用户,将手工制作的powershell推到受害设备上执行。

在攻击者端出现时被窃取的环境变量

“文件抓取”模块在攻击者端出现时窃取的文件

技术分析

初步执行流程

该恶意软件在进入信息窃取功能之前要经历六个执行阶段:滴管、shellcode、安装程序等。

在分析Rhadamanthys时,我们观察到分析样本的逻辑与上述文章中详细描述的逻辑之间的差异,这证明了恶意软件还在不断开发中。最值得注意的是NSIS加载程序DLL的行为,在我们分析的执行流中,它从C:\\Windows\\Microsoft.Net\\Framework\\v4.0.30319\\AppLaunch.exe创建一个挂起的进程,然后用注入的恶意代码逐个替换挂起的进程。

如上所述,注入的代码会依次加载几个执行阶段,其中一个阶段尝试从Al-Khaser项目中获取许多VM逃避,然后解绑ntdll.dll中的函数,以避免被检测到。最后,它解析了一个内部混淆的C2地址,并从其中下载包含实际信息窃取功能的最后阶段。

分析孤立内存转储

分析实际的窃取逻辑并不是那么简单,在无法访问实时C2服务器的情况下,分析师有两种选择。要么他们去执行一个全新的执行链,对所有阶段进行调试,并希望获得一个实时的C2服务器,该服务器会使用很多启发式方法将它们窃取;或者在不可读的状态下使用转储,这些转储是在C2仍然存在时从沙箱运行中获得的。在这种特殊的情况下,内存转储包含许多说明恶意软件大致行为的字符串,但是在进行适当的交互式反汇编之前存在许多障碍。

第一个也是最主要的障碍是缺乏API调用的解决方案。在反汇编程序中打开转储,然后进行函数调用,可以很快地运行一个必须是动态解析函数的自制导入表。转储是沙箱运行的产物,早就结束了,现在这些地址似乎毫无意义。我们能够使用下面将要解释的方法来解析几乎每个函数。

首先,我们知道,在沙箱运行期间,这些地址指向加载到内存中的DLL。第二,我们知道执行是在拥有代码名为Win10v2004-20220812-en的tria.ge环境中运行的。我们将自己的虚拟可执行文件上传到沙箱中,确保我们选择的环境与原始沙箱运行中使用的环境相同,然后查看我们选择的DLL并恢复DLL版本。

不幸的是,即使我们有DLL版本,微软也没有那么慷慨地提供DLL的历史版本供下载。这类问题有多种解决方法,你可以上winbindex查找。我们选择使用tria.ge的一个功能:许多用户要求提供手动转储执行流中生成的文件的功能。作为一种解决方案,沙箱引入了一项功能,允许用户转储他们想要的任何文件,只要他们打开windows文件资源管理器并手动删除那里的文件。好吧,如果我们尝试将kernel32.dll从C:\windows\system32中的驻留位置删除,操作系统将不会允许,但没有什么能阻止我们将文件复制到其他地方,然后删除副本。在原始沙箱运行期间加载到内存中的同一个DLL现在可以在分析结束后从分析报告的“下载”部分获得。

通过这种方式,我们下载了许多dll,这些dll是恶意软件或任何软件真正想要解析API的始作俑者,如advapi32.dll、user32.dll、msvcrt.dll、ws2_32.dll等。现在我们可以在反汇编程序中打开这些文件,手动加载文件并为每个DLL函数分配虚拟地址。遗憾的是,我们还远远没有完成,因为我们仍然不知道DLL最初加载时的基址,甚至不知道特定的DLL包含某个内存地址所指向的函数。

即使不知道哪一个是相关的DLL,也可以通过简单的观察在一定程度上缓解,例如,在下图中,函数qword_c5c08(指针值0x7ffbf1bd5f20)将注册表项作为参数,因此很可能来自advapi32.dll。但这不会适用于每个dll,我们不会总是足够幸运地找到一个函数,恶意软件会将这样一个硬编码字符串作为参数。更关键的是,即使我们以某种方式知道每个函数地址的正确DLL,这仍然不会告诉我们在最初的沙箱运行期间加载DLL的原始地址,这对于计算当时加载到内存中的函数地址(我们正在尝试解析)与我们在反汇编程序中打开的加载的带注释的DLL中的标记函数地址之间的rebase delta(基于深度学习的语音和自然语言理解模型训练平台)是必要的。

qword_c5c08可能是一个以某种方式与Windows注册表交互的函数

为了克服这个障碍,我们注意到沙箱转储中的函数地址可能被划分为连续的序列,每个序列都是从同一个DLL导入的。这意味着,如果我们从表中取出10个qword指针,幸运的是它们都是从同一个DLL中解析的,那么当加载到内存中时,在该DLL中,这10个函数的地址之间将存在相同的差异。

为了讲解方便,我们举一个示例:假设我们要解析的10个地址列表以某个地址AX开始,然后以AX+0x300、AX+0x500、AX+0x930等六个其他地址继续;进一步假设,在一个加载和注释的DLL中,我们发现对于某个地址AY,恰好AY+0x300、AY+0x500、AY+0x930等都是函数的地址。这是一个非常幸运的巧合,它本身就发生了,原始沙箱运行中的原始地址AX解析为我们注释文件中AY中的函数。通过查看与列表中的地址匹配的10个函数名,并验证它们似乎是沙箱中运行的软件所需的合理列表,可以进一步检查匹配情况。

以下IDAPython代码在加载的DLL数据库中运行时,将自动执行查找函数地址序列匹配项的任务:

例如,上图中看到的地址(我们怀疑是从advapi32.dll解析出来的地址)出现在以下10个地址的序列中:

我们打开从沙箱中转储的advapi32.dll文件的注释idb,加载上面的IDA脚本,并运行函数dll_match,将此地址列表作为输入。作为输出,我们收到这些函数地址中每一个的正确分辨率。

事实证明,在沙箱运行期间加载到地址0x7ffbf1bd5f20的上述函数是RegQueryValueExW。使用这种方法,可以很容易地“挑选”并尝试对各种dll运行相同的脚本,以查看获得了哪些匹配,以及它们的可行性。虽然特定的工作流程不能很好地扩展,但如果需要的话,不难看出如何简化流程,例如,通过保留许多DLL版本的函数地址差异的预计算数据库,并对其进行所有差异比较。

窃取Chrome信息的过程示例

即使解决了API调用,数据库仍然非常大,包含超过2500个函数。其中许多是来自第三方库的库函数,如sqlite3和lua_cjson,这带来了另一个麻烦,因为解析这些函数需要我们编译这些库的注释版本,然后执行bindiff(或类似的操作)来标记Rhadamanthys使用的函数。这是一个出了名的挑选过程,许多标签在手动验证之前并没有太大用处。

综上所述,数据库的状态现在更令人满意,并允许我们以以前无法做到的方式分析执行流。例如,我们将重点关注恶意软件从谷歌Chrome中窃取存储的登录凭据、cookie等的能力,包括三个阶段:正在搜索包含所有数据的正确目录;

从包含cookie、登录数据等的感兴趣的文件中读取原始数据;

根据数据是JSON还是SQL数据库格式,使用第三方库逻辑对数据进行解析;

恶意软件首先在受害者文件系统中递归搜索名为“web data”的文件,以导航到%LOCALAPPDATA%\\Google\\Chrome\\User data\\default,然后遍历树查找其他工件,如“Cookie”或“登录数据”,并将每个匹配项收集到二进制位字段中;如果这个字段非零,那么恶意软件就会确信它已经正确定位了Chrome目录。

然后,恶意软件会访问用户感兴趣的文件,比如登录数据。其中一些文件是SQL数据库,在这种情况下,恶意软件从内存中的文件内容初始化SQL数据库,然后通过发出SELECT语句获得所需的数据。相比之下,其他的则是JSON格式,因此恶意软件会调用一个函数来解析JSON并提取与某个项相关的值:

通过将信息解析为明文格式,现在可以将其附加到被盗信息数据库中,并最终报告给攻击者,从而得到针对该特定目标(Chrome)的盗窃功能。

总结

Rhadamanthys代表着在新兴恶意软件发展的趋势,即它们尽可能多地发挥作用,也证明了在恶意软件行业,品牌的影响力慢慢变大。一些读者可能还记得Godzill加载程序的模式,它的零售价格只有Emotet的四分之一,并提供一系列与Emotet截然不同的功能,以增强其竞争力。这清楚地表明,攻击者不会明确计算哪些功能集会为他们带来更多的受害者,他们依赖于一种模糊的感觉,即他们对开发者、品牌和功能更看重。任何开发人员都可以编写一段恶意软件,有些开发人员甚至可以编写一个具有完整功能的恶意软件,但需要市场的认可。


翻译自:
https://research.checkpoint.com/2023/rhadamanthys-the-everything-bagel-infostealer/

相关推荐

MIRIX重塑AI记忆:超Gemini 410%,节省99.9%内存,APP同步上线

MIRIX,一个由UCSD和NYU团队主导的新系统,正在重新定义AI的记忆格局。在过去的十年里,我们见证了大型语言模型席卷全球,从写作助手到代码生成器,无所不能。然而,即使最强大的模型依...

硬盘坏了怎么把数据弄出来对比10种硬盘数据恢复软件

机械硬盘或固态硬盘损坏导致数据丢失时,应立即停止对硬盘的读写操作,并根据损坏类型选择逻辑层恢复工具或专业物理恢复服务。紧急处置措施立即停止通电使用:发现硬盘异响、无法识别或数据异常时,需立即断开连接,...

蓝宝石B850A WIFI主板新玩法:内存小参调节体验

蓝宝石前段时间发布了一款性价比极高的主板:NITRO氮动B850AWIFI主板。这款主板的售价只要1349元,相比普遍1500元以上的B850主板,确实极具竞争力。虽然价格实惠,蓝宝石NITR...

内存卡损坏读不出怎么修复?这5个数据恢复工具汇总,3秒挽回!

在数字化生活的浪潮中,内存卡凭借小巧便携与大容量存储的特性,成为相机、手机、行车记录仪等设备存储数据的得力助手,承载着无数珍贵回忆与重要文件。然而,当内存卡突然损坏无法读取,无论是误删、格式化、病毒入...

内存卡修复不再难,2025年必学的6款软件工具

内存卡出现问题时,通常是因为文件系统损坏、物理损坏或病毒感染。通过专业的修复工具,我们可以尝试恢复数据并修复内存卡。内存卡修复利器:万兴恢复专家万兴恢复专家是一款功能强大的数据恢复软件,支持多种设备和...

有5款内存卡修复工具汇总,内存卡数据轻松找回!

在如今的数字时代,内存卡作为不可或缺的存储介质,广泛应用于相机、手机、行车记录仪等各类设备中,承载着我们珍贵的照片、视频以及重要文件。然而,数据丢失的风险却如影随形,误删、格式化、病毒入侵、硬件故障等...

揭秘:如何通过多种方式精准查询内存条型号及规避风险?

以下是内存条型号查询的常用方法及注意事项,综合了物理查看、软件检测、编码解析等多种方式:一、物理标签查看法1.拆机查看标签打开电脑主机/笔记本后盖找到内存条,观察标签上的型号标识。例如内存标签通常标...

内存卡数据恢复5个工具汇总推荐,轻松找回珍贵记忆!

在这个数字化时代,内存卡作为我们存储珍贵照片、重要文件的常用载体,广泛应用于手机、相机、平板电脑等设备。但数据丢失的意外却常常不期而至,误删除、格式化、病毒攻击,甚至内存卡的物理损坏,都可能让辛苦保存...

电脑内存智能监控清理,优化性能的实用软件

软件介绍Memorycleaner是一款内存清理软件。功能很强,效果很不错。Memorycleaner会在内存用量超出80%时,自动执行“裁剪进程工作集”“清理系统缓存”以及“用全部可能的方法清理...

TechPowerUp MemTest64:内存稳定性测试利器

TechPowerUpMemTest64:内存稳定性测试利器一、软件简介TechPowerUpMemTest64,由知名硬件信息工具GPU-Z的出品公司TechPowerUp发布,是一款专为64位...

微软推出AI恶意软件检测智能体Project Ire,精确度高达98%

IT之家8月6日消息,当地时间周二,微软宣布推出可自主分析恶意软件的AI检测系统原型——ProjectIre。该项目由微软研究院、Defender研究团队及Discovery&a...

农村老木匠常用的20种老工具,手艺人靠它养活一家人,你认识几种

生活中的手艺老匠人是非常受到尊敬和崇拜的,特别是在农村曾经的老匠人都是家里的“座上宾”。对于民间传统的手艺人,有一种说法就是传统的八大匠:木匠、泥匠、篾匠、铁匠、船匠、石匠、油匠和剃头匠。木匠的祖始爷...

恶意木马新变种伪装成聊天工具诱人点击

国家计算机病毒应急处理中心通过对互联网监测发现,近期出现一种恶意木马程序变种Trojan_FakeQQ.CTU。该变种通过伪装成即时聊天工具,诱使计算机用户点击运行。该变种运行后,将其自身复制到受感染...

学习网络安全 这些工具你知道吗?

工欲善其事必先利其器,在新入门网络安全的小伙伴而言。这些工具你必须要有所了解。本文我们简单说说这些网络安全工具吧!Web安全类web类工具主要是通过各种扫描工具,发现web站点存在的各种漏洞...

5分钟盗走你的隐私照片,这个全球性漏洞到底有多可怕?

这个时代,大家对电脑出现漏洞,可能已经习以为常。但如果机哥告诉大家,这个漏洞能够在5分钟内,破解并盗取你所有加密文件,而且还无法通过软件和补丁修复...这可就有点吓人啦。事情是酱婶的。来自荷兰埃因...

取消回复欢迎 发表评论: