暂无图片
暂无图片
暂无图片
暂无图片
暂无图片

Fireeye泄露工具DueDLLigence分析

启明星辰金睛安全研究团队 2020-12-29
1644

1. 工具介绍

DueDLLigence是FireEye 发布的shellcode运行器框架。红队将其用于应用程序白名单绕过和DLL侧加载。它利用内置的Windows二进制文件Control.exe(Windows控制面板)、Rasautou.exe(远程访问拨号器),以及msiexec.exe文件(Microsoft安装程序可执行文件)、GoogleUpate等绕过应用程序。


2. 样本分析

捕获到几个不同版本的DueDLLigence样本,经分析可以发现该样本还在开发阶段,诸多功能只有函数名,并未实现,主要功能实现都是调用执行shellcode(经分析为CobaltStrike后门程序Beacon)、远程线程注入、APC注入。未实现的功能是:获取用户计算机信息、文件信息、记录到日志文件、回传C&C。以下为各个版本的分析。


2.1

样本名称:DueDlligence.dll

样本信息:PE+(64):library: .NET(v4.0.30319)[-]                 

PE+(64): linker: Microsoft Linker(11.0)[DLL64,console]

MD5:0afec722e606681e6e16731168ccd2ef

版本:1.0

该文件为DueDLLigence工具生成的示例样本。具有执行shellcode、远程线程注入、APC注入功能。

导出函数:

三个导出函数调用的都是函数RunShellcode,用Base64解密shellcode并调用执行。

shellcode:

样本是示例样本,shellcode解密出来是一个只有部分数据的dll文件,MZ头之前是9090滑板指令,在Dos头写shell指令去执行后续代码。shellcode解密出来的DLL如下图所示:

APC注入,该函数只实现未调用。


2.2

样本名称:DuDllignce.dll

样本信息:PE+(64): library: .NET(v4.0.30319)[-]                 

                 linker:Microsoft Linker(11.0)[DLL64,console]

MD5:fe710545a1d89c09071e35b9517b8c55

版本:1.0

与2.1的样本函数功能相同,shellcode相同,除了个别功能函数代码实现不同,类名不同、样本名称不同、导出函数不同。

导出函数:

新增加实现远程线程注入函数,并未调用。


2.3

样本名称:DueDlligence.dll

样本信息:PE+(64): library: .NET(v4.0.30319)[-]                 

                 PE+(64): linker: MicrosoftLinker(11.0)[DLL64,console]

MD5:0b50c202d1daa1dad20d2b641745710a

版本:2.0

程序执行流程不同,shellcode需要异或解密执行,新增加系统版本判断、结束自身进程功能。
导出函数:

还是调用执行shellcode,shellcode经过数据替换和加密。
对加密的shellcode先进行数据替换,在进行异或解密,再调用执行。

新增加函数重复调用检测函数。


新增加系统版本判断、结束自身进程功能。


2.4

样本名称:DueDlligence.dll

样本信息:PE+(64): library: .NET(v4.0.30319)[-]                 

                 linker: MicrosoftLinker(11.0)[DLL64,console]

MD5:0c02d9aa6977ff494c4d42f8de1c1585

版本:2.0

导出函数增多,shellcode未异或加密,只是转成了base64。执行方法与2.3相同。其他功能也与之前的相同。新增加许多未实现功能的函数名。有获取用户信息、文件信息到日志中,发送日志信息等。


2.5

样本名称:GoogleUpdate.dll

样本信息:PE+(64): library: .NET(v4.0.30319)[-]                  

                 PE+(64): linker:Microsoft Linker(11.0)[DLL64,console]

MD5:2121927f4f8108f19036901c7fc30bbb

版本:2.0

shellcode执行流程没变,存储方式发生了改变,将shellcode放在资源文件中。

与2.4对比新增加了对gzip数据的解压函数。


Shellcode分析

样本信息:PE: compiler: Microsoft Visual C/C++(2008)[-]

                 PE: linker:unknown(9.0)[DLL32]              

MD5:6fc532fd256915f62d8da42780385518

经分析为CobaltStrike后门程序Beacon。
MZ头之前是9090滑板指令,在Dos头写shell指令去执行导出函数_run进行自加载。

该后门包含的命令达91个之多,其中包含注入、绕过UAC、下载文件等等各种功能。  函数地址:sub_10007F19。

后门Beacon的部分功能:


3. 应用场景

根据上述分析,DueDLLigence主要应用于攻击阶段的安装植入和命令控制阶段。

IOC

0afec722e606681e6e16731168ccd2ef

fe710545a1d89c09071e35b9517b8c55

0b50c202d1daa1dad20d2b641745710a

0c02d9aa6977ff494c4d42f8de1c1585

2121927f4f8108f19036901c7fc30bbb

6fc532fd256915f62d8da42780385518


参考链接

https://www.picussecurity.com/resource/blog/techniques-tactics-procedures-utilized-by-fireeye-red-team-tools
文章转载自启明星辰金睛安全研究团队,如果涉嫌侵权,请发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。

评论