Dridex网银木马样本技术分析与防护方案

IBM X-Force安全团队近日发现了一个Dridex银行木马的升级版本,该版本被称为Dridex v4。Dridex是最为流行的银行木马之一,最早于2014年被发现,由于它当时使用了GameOver ZeuS(GoZ)恶意软件的相关技术从而被认为是GoZ的继任者。新版本的Dridex v4的重要改进是其使用了AtomBoming技术注入恶意代码从而躲避杀毒软件的查杀。

AtomBoming技术由enSilo公司提出,利用了Windows操作系统原子表(Atom Table)的设计缺陷,可将恶意代码写入其中,并在之后检索和执行。

样本概述

样本是一个64位dll文件,采用AtomBombing技术将代码注入到explorer.exe完成流量劫持。设置注册表键值完成自启动,创建计划任务每隔1小时执行一次。

样本分析

分析环境

系统 Windows 7, 64bit
使用工具 ProcessMonitor, Xuetr, Wireshark, x64dbg, IDA,

TAC检测结果

文件结构

文件名 MD5 功能简介
4599FCA4B67C9C216C6DEA42214FD1CE 4599FCA4B67C9C216C6DEA42214FD1CE 劫持443端口的数据流量发往远程服务器

版本信息

主要功能

  1. 修改本机的秘钥集文件,生成新的秘钥对用于劫持https通信。
  2. 样本会创建计划任务运行应用程序,对其进行dll劫持来运行自身,通过在注册表HKCU\Software\Microsoft\Windows\CurrentVersion\Run设置开机启动项来运行正常应用程序,对其进行dll劫持实现开机自启动。

3.通过创建并运行cmd文件添加防火墙规则,允许explorer.exe进行端口监听,随后监听本地443端口。

4.劫持443端口的数据流量发给远程服务器。

执行流程概要图如下所示:

该样本的各个功能简单介绍如下(包括代码片段与解释说明):

一、获取目标线程

对自身进行解密,构造新的dll文件:

读取进程快照,查找explorer进程:

获取将被注入的导入表数据:

导入表中的函数包括:

为了寻找一个可警告的线程,样本打开explorer.exe的所有线程(当前进程线程为0x26个)进行测试:

创建一个事件:

在其他线程通过NtQueueAPCThread API请求执行ZwSetEvent:

然后调用WaitForMultipleObjects来选择第一个设置信号的线程:

二、向目标写入注入代码的导入表

向全局原子表添加一个字符串,并验证其是否添加成功:

通过NtQueueAPCThread API使目标线程调用GlobalGetAtomW,它检索数据并将其放在目标线程ntdll模块的RW内存空间中(写入一个,删除一个):

通过读取写入目标线程中的数据并与本地原始数据比较,来确定数据是否写入成功:

将目标线程中的一块内存设置为RWE属性,通过多次和写入导入表同样的方式将解密出的汇编代码写入:

完成后将内存属性改为RE:

用同样的方式将目标线程中GlobalGetAtomNameA的前7个字节进行更改,改为跳向shellcode的指令:

修改后的GlobalGetAtomNameA函数:

通过NtQueueAPCThread API使目标线程调用GlobalGetAtomA,由于该函数的前7个字节被更改,因此会执行shellcode:

shellcode部分:

恢复GlobalGetAtomA处的修改:

将数据从原始样本处映射进内存,并复制到新申请的本地内存空间:

修改复制过来的数据处的内存区域属性为读和执行:

创建线程执行复制过来的代码,完成后设置事件,之后返回执行原线程。

该线程会获取IAT:

将样本内存映射过来复制到自己内存后,转去执行(带有参数,参数为之前复制过来的数据所在地址):

检验参数是否有效:

如果参数有效则创建线程:

修改了密钥集文件,新建密钥对。该部分操作是为了后面劫持https通信:

新生成密钥对:

读取C:\windows\System32目录下的exe文件:

从其导入表中挑选出了要伪造的目标文件,将其读取进内存查看导入表等内容:

新创建了一个PE格式的文件(该文件为样本根据正常的动态链接库文件的导出表伪造的,用于实现dll劫持),将其保存在临时文件夹下:

创建了一些*.cmd文件,功能为给防火墙添加规则,允许explorer.exe监听本地端口:

将新创建的临时文件放入新建的文件夹并命名为appwiz.cpl(appwiz.cpl为样本选择伪造的目标文件,具体哪个跟调用它的应用程序有关,伪装成appwiz.cpl文件的恶意样本,获得执行权后执行内容和解密后的样本文件一样),并将OptionalFeatures.exe(调用appwiz.cpl的正常应用程序)放入该文件夹(OptionalFeatures.exe为目标应用程序,运行时会调用appwiz.cpl文件,恶意样本对其进行劫持),并通过注册表将正常应用文件设置为开机启动项。

C:\Windows\System32目录下有两个类似的文件夹,只有其中一个的应用程序被设置开机启动,另一个通过创建计划任务来执行,每隔一小时执行一次,实现内存永驻:

将创建的*.cmd文件路径设置到注册表项HKCU\Software\Classes\MSCFile\shell\open\command(Default):

通过创建进程eventvwr.exe来执行各个cmd文件,由于之前对注册表相关项的修改,该进程会运行HKCU\Software\Classes\mscfile\shell\open\command下的程序,随后将与此有关的注册表项复原,执行一个清除一个:

完成以上操作后,样本开始执行网络部分的功能。

网络行为

该样本的网络功能为劫持443端口流量。

监听本地443端口,无限循环select,如果成功则accept后创建线程:

模拟连接之后,样本会创建一个新线程:

尝试接收数据:

收到数据后调用connect函数:(连接的IP地址是无效的0.0.0.0):

模拟连接后发现程序将443端口接收的数据发送给新连上的服务器,然后开始重复该接受和发送动作:

启动方式

创建类似这样的开机启动项:应用程序为正常程序,它的同目录下会有一个该应用程序运行时所需的动态链接库文件,在应用程序运行时对其进行劫持完成自启动:

杀软对抗

样本通过动态链接库劫持获得执行,采用AtomBombing技术注入shellcode,注入完成后恢复原程序环境以创建线程方式运行恶意代码,不影响宿主程序正常执行,动态获取API增加检测和分析难度。注册表中通过将正常程序设置为开机启动项然后对其所需动态链接库进行劫持完成开机启动,不会被检测到。使用EVENTVWR.EXE和修改注册表的方式执行*.cmd文件。

防护方案

  1. 用户自我检测

(1)有两个C:\Windows\System32\0485[随机]\目录,目录下分别有一个exe文件和它运行时所需的dll或cpl文件。

(2)在HKCU\Software\Microsoft\Windows\CurrentVersion\Run注册表项含有检测方法(1)中exe程序的启动项。

(3)查看计划任务列表,会发现样本创建的名为检测方法(1)中exe程序名的计划任务。

(4)explorer.exe程序会监听443端口。

(5)查看C:\Users\用户名\AppData\Roaming\Microsoft\Crypto\RSA\S-1-5-**文件是否被修改

(6)检查防火墙规则,如果感染木马,会发现名为“Core Networking – Multicast Listener Done (ICMPv4-In)”且程序名为“C:\Windows\Explorer.EXE”的规则。

2.绿盟科技木马专杀解决方案

  • 短期服务:绿盟科技工程师现场木马后门清理服务(人工服务+IPS +TAC+终端防护(金山V8+))。确保第一时间消除网络内相关风险点,控制事件影响范围,提供事件分析报告。
  • 中期服务:提供3-6个月的风险监控与巡检服务(IPS+TAC+人工服务)。长期对此恶意样本进行检测,保护客户系统安全。
  • 长期服务:基于行业业务风险解决方案(威胁情报+攻击溯源+专业安全服务)

声 明

本安全公告仅用来描述可能存在的安全问题,绿盟科技不为此安全公告提供任何保证或承诺。由于传播、利用此安全公告所提供的信息而造成的任何直接或者间接的后果及损失,均由使用者本人负责,绿盟科技以及安全公告作者不为此承担任何责任。绿盟科技拥有对此安全公告的修改和解释权。如欲转载或传播此安全公告,必须保证此安全公告的完整性,包括版权声明等全部内容。未经绿盟科技允许,不得任意修改或者增减此安全公告内容,不得以任何方式将其用于商业目的。

关于绿盟科技

北京神州绿盟信息安全科技股份有限公司(简称绿盟科技)成立于2000年4月,总部位于北京。在国内外设有30多个分支机构,为政府、运营商、金融、能源、互联网以及教育、医疗等行业用户,提供具有核心竞争力的安全产品及解决方案,帮助客户实现业务的安全顺畅运行。

基于多年的安全攻防研究,绿盟科技在网络及终端安全、互联网基础安全、合规及安全管理等领域,为客户提供入侵检测/防护、抗拒绝服务攻击、远程安全评估以及Web安全防护等产品以及专业安全服务。

北京神州绿盟信息安全科技股份有限公司于2014年1月29日起在深圳证券交易所创业板上市交易,股票简称:绿盟科技,股票代码:300369。

如果您需要了解更多内容,可以
加入QQ群:570982169
直接询问:010-68438880

Spread the word. Share this post!

Meet The Author

Leave Comment