一、 概述
DLL侧加载是一种利用Windows DLL加载机制,将恶意DLL伪装成合法DLL放置在DLL搜索路径上,由合法程序自动加载后实施恶意行为的攻击技术。这种攻击技术利用了防护软件对合法进程的信任,使得DLL的恶意行为不会触发告警,绕过了防护软件的检测。这种信任机制对降低误报起到重要作用。例如,输入法软件需要将自己的DLL注入到其他软件的内存中,防护软件显然不能将输入法标识为病毒,为了实现这一点,防护软件会检测输入法的签名信息,如果具备合法签名,则不予告警。黑客利用DLL侧加载机制,让受信任软件主动加载执行恶意代码,相比于主动注入,不需要调用VirtualAllocEx这类敏感API,被防护软件告警的几率也更低。
DLL侧加载变种繁多,但也具有一些共同特点。首先,一定存在可信进程,这通常是一个具备高可信度签名的exe。其次,可信进程在启动或运行阶段加载一系列DLL,在此阶段黑客编写的恶意DLL也会被加载,恶意DLL一般不具备合法签名,或者DLL签名和主程序不一致。有些时候为了不影响主程序的运行,还会实现DLL转发,即存在一个白DLL和一个黑DLL,它们之间的导出函数高度一致,黑DLL接受调用请求,转发给白DLL。
针对此类攻击行为,天穹沙箱在近期适配了静态与动态层面的DLL侧加载检测。利用该功能,沙箱既可以在静态层面检测压缩包内是否包含疑似白加黑样本,也可以在动态层面检测可信签名进程是否存在DLL侧加载行为。
二、 样本信息
该样本静态信息如下:
- SHA1:CCC382B93B842BD916C703A48E30B548CD843ABD
- 文件名:Huawei JD.zip
- 文件类型:ZIP
- 文件大小:317.63 KB
通过对样本的初步分析,我们可以发现压缩包内包含四个文件,其中一个为具有高可信签名的Huawei JD (Job Description).exe
,其签名者为Shanghai Ccwork Network Technology Co., Ltd. ,另一个为签名不合法的libcef.dll
,其签名者也为Shanghai Ccwork Network Technology Co., Ltd. ,但实际为自签证书,另外两个文件则分别为cfg.dat和cfg.ini文件:
根据上述分析,该样本极可能是一个DLL侧加载样本。
三、 样本分析
1、样本投递
天穹沙箱开箱即用,进入开始分析页面,直接点击投递样本即可,沙箱会自动针对压缩包类样本智能选择合适的分析环境:
2、白加黑检测
进入压缩包分析页面,在深度威胁分析部分可以看到,通过白加黑检测成功检出样本使用DLL侧加载技术,在检测信息中描述了可信签名程序、被利用DLL、供应商、已被利用的可执行文件名和被利用的可执行文件路径信息:
3、威胁配置提取
查看Huawei JD (Job Description).exe分析结果,在威胁配置信息部分可以看到,威胁配置识别样本为CobaltStrike家族,并且提取到了C2等重要配置信息。查看libcef.dll的分析结果可以看到相同的配置信息,这说明本样本的黑DLL是一个CobaltStrike样本:
4、静态分析
首先检查Huawei JD (Job Description).exe
的导入表,可发现导入表内导入了libcef.dll
,导入函数中包含cef_api_hash
接口,根据DLL加载的优先级,显然其会优先加载同级目录下的黑DLL:
分析libcef.dll
,进入cef_api_hash
接口,可以看到内部调用了一个函数,跟进可发现函数会打开并读取同级目录的ctf.dat
文件,随后将读取的内容解密,并作为shellcode执行:
通过Yara检测,解密后的Shellcode为CobaltStrike RAW文件:
5、动态行为
接着查看动态行为类目,我们可以看到样本加载可疑模块libcef.dll,疑似通过DLL侧加载技术执行恶意代码:
结合上述静态分析,可以确定样本确实利用了DLL侧加载技术实施恶意行为。
最后,样本尝试使用HTTP协议上线C2:
四、IOC
CCC382B93B842BD916C703A48E30B548CD843ABD Huawei JD.zip
80135DC923FCE82D450678B8A79612B8CD63E37E Huawei JD (Job Description)
7A1DD158579D620FF196B579139CD385AED2D8A1 libcef.dll
5C91C9129FE8624767134E9F04368AAFCF3754F1 cfg.dat
72B5070DBC972A3B7E0563ED105902957784A2D3 cfg.ini
https[:]//img[.]kuaike.cn.dsa.dnsv1.com.cn C2域名地址
61[.]170.84.253 C2域名解析IP地址
注意:截止发稿时,该链接已死亡。
五、 防护建议
为防止DLL侧加载攻击,可以采取以下措施:
1、使用数字签名技术对DLL文件进行签名,确保DLL文件的完整性和可信性。
2、禁止程序加载非系统默认路径下的DLL文件,限制DLL文件的搜索路径。
3、对系统进行定期漏洞扫描和修补,及时更新补丁程序以避免被攻击者利用漏洞进行攻击。
4、加强对系统管理员权限的控制,确保只有授权的用户才能够对系统进行修改和配置。
5、在系统中部署防病毒软件和网络安全设备,及时检测和清除恶意软件。
六、 技术支持与反馈
星图实验室深耕沙箱分析技术多年,致力于让沙箱更好用、更智能。做地表最强的动态分析沙箱,为每位样本分析人员提供便捷易用的分析工具,始终是我们追求的目标。各位同学在使用过程中有任何问题,欢迎联系我们。