DinodasRAT Linux 后门程序针对全球实体


DinodasRAT Linux 后门程序针对全球实体

DinodasRAT,又称为XDealer,是一种用C++编写的多平台后门程序,提供了一系列的功能。这个RAT允许恶意行为者监视并从目标计算机中收集敏感数据。该RAT的Windows版本曾在对圭亚那政府实体的攻击中使用,并由ESET研究人员记录为Jacana行动。

2023年10月初,在ESET发布该公告后,我们发现了DinodasRAT的一个新的Linux版本。样本迹象表明,这个版本(根据攻击者的版本系统命名为V10)可能从2022年开始运行,尽管第一个已知的Linux变种(V7),即使到2021年,仍未公开描述。在这个分析中,我们将讨论攻击者使用的一个Linux植入物的技术细节。

初始感染概览

DinodasRAT Linux植入物主要针对基于Red Hat的发行版和Ubuntu Linux。当首次执行时,它会在与可执行文件相同的目录中创建一个隐藏文件,格式为“.[可执行文件名].mu”。此文件被用作一种互斥锁,以确保植入物仅运行一个实例,并且只有在能够成功创建此文件时才允许其继续。

DinodasRAT Linux 后门程序针对全球实体

后门建立了持久性,并按以下步骤启动:

  • 无参数直接执行;

  • 首先以无任何参数执行,通过从Linux中调用“daemon”函数使其在后台运行。

  • 利用SystemV或SystemD启动脚本在感染系统上建立持久性(在下一节中详细介绍)。

  • 再次执行自身,并将父进程ID(PPID)作为参数;

  • 新创建的进程(子进程)继续进行后门感染,而父进程则等待。

  • 此技术不仅使Dinodas能够验证其是否正确执行,而且使其在调试和监控工具中更难以检测。

受害者ID生成和持久性

在与C2服务器建立联系之前,后门会收集有关感染机器和感染时间的信息,以创建受害者机器的唯一标识符。值得注意的是,攻击者不会收集任何用户特定的数据来生成此UID。UID通常包括:

  • 感染日期;

  • dmidecode命令输出的MD5哈希(受感染系统硬件的详细报告);

  • 作为ID的随机生成数字;

  • 后门版本。唯一标识符的格式为:Linux_{日期}{哈希}{随机数}_{版本}。

DinodasRAT Linux 后门程序针对全球实体

接下来,植入后门将所有关于受害者ID、特权级别和任何其他相关细节的本地信息存储在一个名为“/etc/.netc.conf”的隐藏文件中。此配置文件包含后门当前收集的元数据。如果文件不存在,则Dinodas会创建它,并遵循Section和Key:Value结构。

DinodasRAT Linux 后门程序针对全球实体

它还确保对该文件或对自身(在读取其自身文件路径时)的任何访问都不会更新stat结构中的“访问”时间,该结构包含文件系统中给定文件的访问时间戳。它通过使用“touch”命令和“-d”参数修改此元数据来实现。

DinodasRAT Linux 后门程序针对全球实体

后门执行文件中修改后的访问时间

DinodasRAT Linux 后门程序针对全球实体

利用两个Linux服务管理器版本在受影响系统上建立持久性

DinodasRAT的Linux版本利用了两个版本的Linux服务管理器来在受影响的系统上建立持久性:Systemd和SystemV。当启动恶意软件时,将调用一个函数来确定受害者运行的Linux发行版的类型。根据“/proc/version”的读取结果,目前有两种发行版的类型是后门程序的目标——RedHat和Ubuntu 16/18。但是,恶意软件可以感染任何支持上述任一版本系统服务管理器的发行版。一旦识别了系统,它就会安装一个适合的init脚本,为RAT提供持久性。此脚本在网络设置完成后执行,并启动后门。

DinodasRAT Linux 后门程序针对全球实体

对于RedHat、基于RedHat的系统和Ubuntu,用于持久性检查的服务初始化脚本检查是否存在chkconfig二进制文件。这是一种指示初始化是通过SysV而不是Systemd完成的方法。如果不存在,则后门将打开或创建脚本文件“/etc/rc.d/rc.local”,并将自身附加到系统初始化期间运行后门的执行链中。如果存在,则暗示使用SysV路线,并且恶意软件将在“/etc/init.d”中创建持久性脚本。

C2通信

DinodasRAT的Linux版本与Windows版本以相同的方式与C2通信。它通过TCP或UDP进行通信。C2域名被硬编码到二进制文件中:

DinodasRAT Linux 后门程序针对全球实体

DinodasRAT对将信息发送回C2的时间间隔进行了定时,尽管对于所有用户或所有连接,这不是一个固定的间隔。如果执行植入物的用户是root(EUID = 0),则植入物不会等待将信息发送回C2。对于配置设置为checkroot的非超级用户,它将等待两分钟进行“短”等待(默认),并等待十小时进行“长”等待。当从C2配置的IP地址之一远程连接到受感染服务器时,将触发“长”等待。

与C2服务器通信并发送任何信息,植入物遵循具有许多字段的网络数据包结构,但这里是结构的相关字段:

DinodasRAT Linux 后门程序针对全球实体

这是DinodasRAT识别的C2命令列表:

DinodasRAT Linux 后门程序针对全球实体

DinodasRAT Linux 后门程序针对全球实体

加密

DinodasRAT的Linux版本也与Windows版本共享加密特性。为了加密和解密植入物与C2之间的通信,以及数据的加密,它使用Pidgin的libqq qq_crypt库函数。此库使用Tiny Encryption Algorithm(TEA)在CBC模式下对数据进行加密和解密,这使得在不同平台之间轻松移植。Linux植入物还共享Windows版本中使用的两个密钥:

  • 用于C2加密:A1 A1 18 AA 10 F0 FA 16 06 71 B3 08 AA AF 31 A1

  • 用于名称加密:A0 21 A1 FA 18 E0 C1 30 1F 9F C0 A1 A0 A6 6F B1

基础设施

我们分析此植入物时,当前由Linux版本的DinodasRAT使用的基础设施似乎正在运行。我们确定一个IP地址解析为Windows和Linux变体的C2域。DinodasRAT的Windows版本使用的域是update.microsoft-settings[.]com,该域解析为IP地址199.231.211[.]19。该IP地址还解析为update.centos-yum[.]com,这个域名(有趣的是)使用了相同的操作系统更新子域和域的模式。

受害者

根据我们自2023年10月以来的遥测数据和持续的威胁监控,我们观察到受影响最严重的国家和地区是我国(台湾)、土耳其和乌兹别克斯坦。

所有卡巴斯基产品均将此Linux变体识别为HEUR:Backdoor.Linux.Dinodas.a。

结论

2023年10月,ESET发表了一篇关于名为Jacana的活动的文章,该活动针对的是Windows用户。作为我们持续监控工作的一部分,我们发现Jacana运营商拥有并利用他们的能力,在以前未知和未检测到的Linux DindoasRAT变体上感染Linux基础设施,其代码和网络指标与ESET描述的Windows样本重叠。他们不收集用户信息来管理感染。相反,收集硬件特定信息并用于生成UID,表明DinodasRAT的主要用例是通过Linux服务器获取和维护访问权限,而不是侦察。

后门是完全功能的,授予运营商对受感染机器的完全控制,实现数据外泄和间谍活动。

损害指标

基于主机:

  • 8138f1af1dc51cde924aa2360f12d650

  • decd6b94792a22119e1b5a1ed99e8961

基于网络:

  • update.centos-yum[.]com(199.231.211[.]19)

这篇文章通过使用APT威胁分析的视角对DinodasRAT的行为和技术细节进行了深入的研究和解释。通过分析后门的感染过程、持久性、C2通信、加密技术以及基础设施和受害者情况,我们提供了对其运作方式的全面理解。




感谢您抽出

DinodasRAT Linux 后门程序针对全球实体

.

DinodasRAT Linux 后门程序针对全球实体

.

DinodasRAT Linux 后门程序针对全球实体

来阅读本文

DinodasRAT Linux 后门程序针对全球实体

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

原文始发于微信公众号(Ots安全):DinodasRAT Linux 后门程序针对全球实体

版权声明:admin 发表于 2024年3月29日 下午12:10。
转载请注明:DinodasRAT Linux 后门程序针对全球实体 | CTF导航

相关文章