声明:本人坚决反对利用文章内容进行恶意攻击行为,一切错误行为必将受到惩罚,绿色网络需要靠我们共同维护,推荐大家在了解技术原理的前提下,更好的维护个人信息安全、企业安全、国家安全。
01
Vyveva背景介绍
2020年6月,ESET研究人员发现了一个未知的攻击活动,研究表明该攻击活动使用新的Lazarus后门,ESET研究人员将其称为Vyveva,用于攻击南非的一家货运物流公司。后门由多个组件组成,并通过Tor网络与其C2服务器通信。到目前为止,已经能够找到其安装程序,加载程序和主要payload:具有TorSocket DLL的后门。
研究最早能够追溯Vyveva至少从2018年12月开始使用。ESET遥测数据表明利用Vyveva后门是有针对性地进行了部署,因为仅发现了两台受害机器,这两台机器都是位于南非的一家货运物流公司拥有的服务器。Vyveva后门具有以下功能:
Vyveva与ESET研究人员检测到的NukeSped恶意软件家族示例具有多个代码相似性,NukeSped恶意软件家族也是Lazarus Group使用的恶意软件之一。但是,相似之处还不止于此:在网络通信中使用伪造的TLS、命令行执行链以及使用加密和Tor服务的方式都指向Lazarus。因此,ESET研究人员可以将Vyveva视为Lazarus新的恶意软件产品。图1中可以看到众多代码相似性的一个示例–解决了唯一命名的Tor库导出:
92F5469DBEFDCEE1343934BE149AFC1241CC8497 msobjs.drx Vyveva backdoor
BF98EA1326E5F8C351E68C79B5D1E0164C7BE728 taskhosts.exe Win32/NukeSped.HV trojan
图1.Hex-Rays反编译显示的相似性
02
应用技术特点
到目前为止,ESET研究人员找到了由Vyveva构成的多个组件中的三个组件:Installer、Loader和后门程序。Installer是最早被研究人员发现的,并且由于它希望机器上已经存在其他组件,因此表明存在一个较早的未知阶段-Dropper。Loader使用简单的XOR解密算法对后门进行解密。图2为Vyveva组件概述。
图2. Vyveva组件概述
03
后门功能
后门是Vyveva的主要组件,它连接到C2服务器并执行威胁参与者发出的命令,具有23个命令,其中一些命令是异步的,并且在它们自己的线程中执行。它们中的大多数是用于文件和进程操作或信息收集的普通命令,但是对于文件时间戳记也存在一种较不常用的命令,它可以将creation/write/access time元数据从“donor”文件复制到目标文件,或使用2000-2004年之间的随机日期。
其他值得注意的命令是Vyveva的文件上传命令和命令0x26。文件上传命令能够递归渗透目录,并支持文件扩展名过滤,例如规定仅Office文档。至于命令0x26,它表明存在另一个未知的组件,ESET研究人员在编写本文时尚未观察到。表1显示了完整的命令列表。
ID |
描述 |
0x03 |
从服务器回复“ ping” |
0x10 |
获取有关计算机的信息-用户名,计算机名称,IP,代码页,操作系统版本,操作系统体系结构,tick计数,时区,当前目录 |
0x11 |
获取有关驱动器的信息-类型,大小,名称,序列号,文件系统类型 |
0x12 |
将数据写入指定的文件,也可以写入时间戳。 |
0x13 |
上载指定的文件或目录 选项 |
0x14 |
获取指定目录的列表 |
0x15 |
将当前目录设置为指定目录 |
0x16 |
创建指定的流程 |
0x17 |
获取有关正在运行的进程的信息– PID,PPID,可执行文件路径 |
0x18 |
通过PID或可执行文件路径终止进程 |
0x19 |
使用重定向的输出创建进程并上载输出 |
0x1A |
删除指定的路径。文件删除方法: |
0x1B |
将创建/写入/访问时间元数据从源文件或目录复制到目标文件或目录。 |
0x1C |
获取有关指定路径的信息: |
0x1D |
设置当前配置Blob,保存到注册表 |
0x1E |
获取当前配置Blob |
0x1F |
启用/禁用驱动器监视程序(配置字段enable_drive_watchdog) |
0x20 |
启用/禁用会话监视程序(配置字段enable_session_watchdog) |
0x21 |
设置与后门执行延迟有关的配置值(配置字段delay_until_time) |
0x23 |
存储异步命令使用的数据(与命令0x12、0x13相关) |
0x24 |
停止执行异步命令(与命令0x12、0x13相关) |
0x25 |
设置与失败的C2连接尝试之间的延迟相关的配置值(配置字段wait_minutes) |
0x26 |
如果 |
尤其值得关注的是后门的看门狗(watchdogs),可以选择启用或禁用它。有一个驱动器看门狗:监视新连接和断开连接的驱动器,以及一个会话看门狗:监视活动会话(即已登录用户)数量。这些组件可以在预先配置的常规三分钟间隔之外以及新的驱动器和会话事件之外触发与C2服务器的连接。
从注册表值中读取后门的配置,该配置最初由安装程序设置(如图3所示),通过C2命令修改配置后,将更新注册表中存储的值。示例配置及其结构如图4所示。
图4. 配置结构和带注释的示例
该wait_minutes字段指定的时间失败的连接尝试之后到C2下次连接之前等待。如果后门的执行需要延迟到特定的时间和日期,则可以在delay_until_time字段中指定。所述encrypted_cncs字段是一个加密的字符串,其包含以分号分隔的C2s中。
Vyveva使用基于官方Tor源代码的Tor库与从配置中随机选择的C2服务器进行通信。它每隔三分钟与C2联系一次,在接收命令之前发送有关受害计算机及其驱动器的信息。后门的导出目录包含TorSocket.dll,其中包含不言自明的导出close_ch、connect_ch、open_ch、read_ch、write_ch。
04
结论
参考文章
https://www.welivesecurity.com/2021/04/08/are-you-afreight-dark-watch-out-vyveva-new-lazarus-backdoor/
- 往期推荐 -
【推荐书籍】
本文始发于微信公众号(贝塔安全实验室):APT案例分析 | 某货运物流公司Lazarus后门
- 左青龙
- 微信扫一扫
-
- 右白虎
- 微信扫一扫
-
评论