APT案例分析某货运物流公司Laza

声明:本人坚决反对利用文章内容进行恶意攻击行为,一切错误行为必将受到惩罚,绿色网络需要靠我们共同维护,推荐大家在了解技术原理的前提下,更好的维护个人信息安全、企业安全、国家安全。

01

Vyveva背景介绍

00年6月,ESET研究人员发现了一个未知的攻击活动,研究表明该攻击活动使用新的Lazarus后门,ESET研究人员将其称为Vyveva,用于攻击南非的一家货运物流公司。后门由多个组件组成,并通过Tor网络与其C服务器通信。到目前为止,已经能够找到其安装程序,加载程序和主要payload:具有TorSocketDLL的后门。

研究最早能够追溯Vyveva至少从年1月开始使用。ESET遥测数据表明利用Vyveva后门是有针对性地进行了部署,因为仅发现了两台受害机器,这两台机器都是位于南非的一家货运物流公司拥有的服务器。Vyveva后门具有以下功能:

文件泄漏时间戳收集有关受害计算机及其驱动器的信息以及其他常见的后门功能,例如运行由恶意软件操作员指定的任意代码。

Vyveva与ESET研究人员检测到的NukeSped恶意软件家族示例具有多个代码相似性,NukeSped恶意软件家族也是LazarusGroup使用的恶意软件之一。但是,相似之处还不止于此:在网络通信中使用伪造的TLS、命令行执行链以及使用加密和Tor服务的方式都指向Lazarus。因此,ESET研究人员可以将Vyveva视为Lazarus新的恶意软件产品。图1中可以看到众多代码相似性的一个示例–解决了唯一命名的Tor库导出:

9FDBEFDCEEBEAFCCCmsobjs.drxVyvevabackdoor

BF98EAE5F8CE68C79B5D1EC7BE78taskhosts.exeWin3/NukeSped.HVtrojan

图1.Hex-Rays反编译显示的相似性

0

应用技术特点

到目前为止,ESET研究人员找到了由Vyveva构成的多个组件中的三个组件:Installer、Loader和后门程序。Installer是最早被研究人员发现的,并且由于它希望机器上已经存在其他组件,因此表明存在一个较早的未知阶段-Dropper。Loader使用简单的XOR解密算法对后门进行解密。图为Vyveva组件概述。

图.Vyveva组件概述

Installer的主要目的有两个:创建一个确保后门加载程序持久性的服务将嵌入的默认后门配置存储在注册表中前一项任务可以理解为创建看起来合法的服务,为了达到这一目标,VyvevaInstaller的属性(例如服务名称和显示名称)是使用现有服务的属性中的单词组合而成的,这些单词是随机选择的。另外,也可以通过命令行参数来指定这些属性的安装(-dll、-svc、-disp、-desc和-group)。ESET研究人员使用这些参数观察了以下内容:\powerctl.exe-svcpowerctl-dllpowerctl.dll对于后一项任务,VyvevaInstaller首先将唯一标识每个受害者的配置感染ID设置为随机生成的值,然后将其存储在注册表中,如图3所示。图3.配置注册表值配置中的一项是加密的C服务器列表:例如,ESET研究人员分析的安装程序样本配置有以下C:4bjtrceijktwedi[.]onion:80cwwpxpxuswo7b6tr[.]onion:80

03

后门功能

后门是Vyveva的主要组件,它连接到C服务器并执行威胁参与者发出的命令,具有3个命令,其中一些命令是异步的,并且在它们自己的线程中执行。它们中的大多数是用于文件和进程操作或信息收集的普通命令,但是对于文件时间戳记也存在一种较不常用的命令,它可以将creation/write/accesstime元数据从“donor”文件复制到目标文件,或使用-年之间的随机日期。

其他值得注意的命令是Vyveva的文件上传命令和命令0x6。文件上传命令能够递归渗透目录,并支持文件扩展名过滤,例如规定仅Office文档。至于命令0x6,它表明存在另一个未知的组件,ESET研究人员在编写本文时尚未观察到。表1显示了完整的命令列表。

ID

描述

0x03

从服务器回复“ping”

0x10

获取有关计算机的信息-用户名,计算机名称,IP,代码页,操作系统版本,操作系统体系结构,tick计数,时区,当前目录

0x11

获取有关驱动器的信息-类型,大小,名称,序列号,文件系统类型

0x1

将数据写入指定的文件,也可以写入时间戳。

0x13

上载指定的文件或目录??文件-大小,上次写入时间,内容??目录统计-文件总大小,文件数,目录数??-对于每个条目-名称,属性??-目录-递归到目录??-文件-大小,上次写入时间,content选项??对文件内容使用压缩(zlib1..5)??文件扩展名过滤器(白名单/黑名单)??递归标志

0x14

获取指定目录的列表??名称,属性,写入时间??目录–非空??文件–大小

0x15

将当前目录设置为指定目录

0x16

创建指定的流程

0x17

获取有关正在运行的进程的信息–PID,PPID,可执行文件路径

0x18

通过PID或可执行文件路径终止进程

0x19

使用重定向的输出创建进程并上载输出该命令使用格式字符串,可通过cmd.exe提示执行??“%param0%/c”%param1%%tmp_fpath%“&1”如果输出为空,则为唯一而是上传字符串“\r\n”

0x1A

删除指定的路径。文件删除方法:??仅删除??覆盖,移动和删除

0x1B

将创建/写入/访问时间元数据从源文件或目录复制到目标文件或目录。如果源不存在,则使用-年的随机时间进行创建和最后一次写入,访问时间不变。

0x1C

获取有关指定路径的信息:??文件-属性,创建/写入/访问时间,类型,大小??目录/驱动器-总文件大小,文件数,目录数(带有可选的扩展名过滤和递归)

0x1D

设置当前配置Blob,保存到注册表

0x1E

获取当前配置Blob

0x1F

启用/禁用驱动器监视程序(配置字段enable_drive_watchdog)

0x0

启用/禁用会话监视程序(配置字段enable_session_watchdog)

0x1

设置与后门执行延迟有关的配置值(配置字段delay_until_time)

0x3

存储异步命令使用的数据(与命令0x1、0x13相关)

0x4

停止执行异步命令(与命令0x1、0x13相关)

0x5

设置与失败的C连接尝试之间的延迟相关的配置值(配置字段wait_minutes)

0x6

如果\wsdchngr.drx存在??删除配置注册表值??删除后门文件(自行删除)??删除加载程序文件??读取,解密,PE加载wsdchngr.drx并在新线程中调用SamIPromote导出??退出当前线程

尤其值得


转载请注明:http://www.tqdingjunhui.com/dfwwh/8718.html


当前时间: