利用XLL文件投递Qbot银行木马的钓鱼活动分析

逆向病毒分析 1年前 (2023) admin
379 0 0
点击上方”蓝字”
关注我们吧!


01

概述

近期,安天CERT发现了一起利用恶意Microsoft Excel加载项(XLL)文件投递Qbot银行木马的恶意活动。攻击者通过发送垃圾邮件来诱导用户打开附件中的XLL文件,一旦用户安装并激活Microsoft Excel加载项,恶意代码将被执行。随后,恶意代码会在用户主机上进行层层解密,最终释放出Qbot银行木马。


自2023年2月微软宣布默认阻止Office文档中的宏之后,攻击者尝试使用其他类型的文件作为传播恶意软件的新型媒介。利用XLL文件传播恶意文件的网络钓鱼活动于2021年底开始增多,目前已有Dridex、Qbot、Formbook、AgentTesla等多个恶意代码家族利用XLL文件进行传播,受害者打开XLL文件时,将启动Excel,并将XLL文件作为Excel加载项加载执行,绕过了Office宏文档的限制。


Qbot银行木马于2008年出现,自2020年4月开始进入活跃状态,主要通过垃圾邮件进行传播。2021年2月,安天CERT发布《Qbot银行木马2020年活动分析报告》[1]。该银行木马在执行过程中多次解密,利用加载器加载执行恶意功能躲避反病毒软件的静态查杀,利用计划任务实现自启动,能够在受害主机上获取屏幕截图、收集目标系统信息和获取浏览器Cookie信息等。攻击者还能够利用从用户处窃取的数据实施后续的攻击活动。


经验证,安天智甲终端防御系统(简称IEP)可实现对该银行木马的有效查杀。


02

事件对应的ATT&CK映射图谱

针对攻击者投递银行木马的完整过程,安天梳理本次攻击事件对应的ATT&CK映射图谱如下图所示:
利用XLL文件投递Qbot银行木马的钓鱼活动分析

图2‑1 技术特点对应ATT&CK的映射

攻击者使用的技术点如下表所示:

表2‑1 事件对应的ATT&CK技术行为描述表

利用XLL文件投递Qbot银行木马的钓鱼活动分析



03

防护建议

为有效防御此类攻击事件,提升安全防护水平,安天建议企业采取如下防护措施:

3.1 识别钓鱼邮件


(1)查看邮件发件人:警惕发送“公务邮件”的非组织的发件人;

(2)看收件人地址:警惕群发邮件,可联系发件人确认;

(3)看发件时间:警惕非工作时间发送的邮件;

(4)看邮件标题:警惕具备“订单”、“票据”、“工资补贴”、“采购”等关键词的标题的邮件;

(5)看正文措辞:警惕以“亲”、“亲爱的用户”、“亲爱的同事”等较为泛化问候的邮件;

(6)看正文目的:警惕以“系统升级”、“系统维护”、“安全设置”等名义索取邮箱账号密码的邮件;

(7)看正文内容:警惕其中附带的网页链接,特别是短链接;

(8)看附件内容:查看前,须使用防毒软件对附件进行病毒扫描监测。

3.2 日常邮箱安全使用防护


(1)安装终端防护软件:安装终端防护软件,开启防护软件中对邮件附件的扫描检测功能,定期对系统进行安全检测,修复系统漏洞。

(2)邮箱登录口令:邮箱登录口令设置时确保具备一定复杂性(包含三种字符元素),确保口令不记录于办公区明显位置,定期修改登录口令。

(3)邮箱账号要绑定手机:邮箱账号绑定手机后,不仅可以找回密码,还可以接收“异常登录”的提示短信,即时处置。

(4)重要文件要做好防护:

①及时清空收件箱、发件箱和垃圾箱内不再使用的重要邮件;

②备份重要文件,防止被攻击后文件丢失;

③重要邮件或附件应加密发送,且正文中不能附带解密密码。

(5)敏感信息要保护:不要将敏感信息发布到互联网上,用户发布到互联网上的信息和数据会被攻击者收集。攻击者可以通过分析这些信息和数据,有针对性的向用户发送钓鱼邮件。

3.3 政企机构防护


(1)安装终端防护软件:安装反病毒软件,建议安装安天智甲终端防御系统

(2)加强口令强度:避免使用弱口令,建议使用16位或更长的口令,包括大小写字母、数字和符号在内的组合,同时避免多个服务器使用相同口令;

(3)关闭PowerShell:若一定时间内不使用PowerShell命令行工具,建议将其关闭;

(4)部署入侵检测系统(IDS):部署流量监控类软件或设备,便于对恶意代码的发现与追踪溯源。安天探海威胁检测系统(PTD)以网络流量为检测分析对象,能精准检测出已知海量恶意代码和网络攻击活动,有效发现网络可疑行为、资产和各类未知威胁;

(5)安天服务:若遭受恶意软件攻击,建议及时隔离被攻击主机,并保护现场等待安全工程师对计算机进行排查;安天7*24小时服务热线:400-840-9234。

经验证,安天智甲终端防御系统(简称IEP)可实现对该银行木马的有效查杀。

利用XLL文件投递Qbot银行木马的钓鱼活动分析

图3‑1 安天智甲实现对用户系统的有效查杀


04

攻击流程

4.1 攻击流程图


攻击者传播垃圾邮件,诱导用户打开附件中的XLL文件(Agreement_487989a_Mar4.xll),Excel执行包含恶意代码的导出函数xlAutoOpen,恶意代码解密出后续的载荷并执行,创建进程执行cmd命令将从资源中解密的XLL文件写入目标文件3.dat中,创建计划任务自动化执行最终样本,最终样本将自身注入到wermgr.exe进程,劫持执行流程实现获取系统信息、获取磁盘驱动信息、获取屏幕截图、创建管道监视连接、反调试、判断环境中是否存在调试工具和杀毒软件进程等功能。

利用XLL文件投递Qbot银行木马的钓鱼活动分析

图4‑1 攻击流程图

4.2 利用XLL文件传播恶意文件


攻击者向用户发送垃圾邮件,诱导用户打开附件中的XLL文件。

利用XLL文件投递Qbot银行木马的钓鱼活动分析

图4‑2 携带恶意代码的XLL文件

用户打开XLL文件后,Windows资源管理器将自动启动Excel打开XLL文件,在加载XLL文件之前,Excel会显示一条警告,指出可能包含恶意代码并提示用户安装和激活加载项。

利用XLL文件投递Qbot银行木马的钓鱼活动分析

图4‑3 打开XLL文档

就文件类型而言,XLL文件是标准的Windows动态加载库(DLL)。为了使Excel加载项管理器成功加载XLL文件,XLL文件必须实现至少一个导出函数(称为xlAutoOpen),以便在Excel加载XLL文件时调用代码。攻击者通常将恶意代码置于xlAutoOpen函数中,该函数会在加载项被激活时立即触发执行。这意味着,与要求用户启用宏的VBA宏不同,受害者只要打开XLL文件就会执行恶意代码[2]

利用XLL文件投递Qbot银行木马的钓鱼活动分析

图4‑4 xlAutoOpen函数


05

样本分析

攻击者通过发送垃圾邮件来诱导用户打开附件中的XLL文件,一旦用户安装并激活Microsoft Excel加载项,恶意代码将被执行。随后,恶意代码会在用户主机上进行层层解密,最终释放出Qbot银行木马。

Qbot银行木马具有在受害主机上获取屏幕截图、获取目标系统信息、获取浏览器Cookie信息等功能。银行木马在执行过程中通过多层解密、利用加载器加载解密文件躲避反病毒软件的静态查杀、利用计划任务实现自启动、最终实现搜集和监控等恶意行为,将敏感数据按照攻击者的需求进行传输,攻击者还能够利用从用户处窃取的数据实施后续的攻击活动。

5.1 样本标签


表5‑1 样本标签

恶意代码名称

Trojan[Spy]/Win64.Qbot

原始文件名

Agreement_487989a_Mar4.xll

MD5

20746C3BB01AA4DEEA993824F947194D

处理器架构

Advanced  Micro Devices X86-64

文件大小

2.28  MB (239,1552 字节)

文件格式

BinExecute/Microsoft.EXE[:X64]

时间戳

2023-03-15  00:10:15

数字签名

加壳类型

编译语言

Microsoft  Visual C++

VT首次上传时间

2023-03-14  20:20:02

VT检测结果

47/69


5.2 第一层代码-解密Shellcode

Agreement_487989a_Mar4.xll文件执行后会从内存中循环解密出加载器和一个dll文件,解密算法如下图。

利用XLL文件投递Qbot银行木马的钓鱼活动分析

图5‑1 xlAutoOpen函数解密执行加载器

加载器在内存中加载执行dll文件。

利用XLL文件投递Qbot银行木马的钓鱼活动分析
图5‑2 加载器执行dll

5.3 第二层代码-dll文件


dll文件搜索资源数据并加载到内存中解密,创建1.dat、2.dat文件,将解密出的数据前400字节写入1.dat文件,剩余字节写入2.dat文件。

利用XLL文件投递Qbot银行木马的钓鱼活动分析

图5‑3 解密数据写入文件

dll文件解密并拼接出命令,创建进程执行命令。其功能为读取1.dat、2.dat文件内容写入到3.dat中,利用rundll32.exe执行3.dat文件导出函数xlAutoOpen。根据导出函数可知3.dat文件也是XLL文件。

利用XLL文件投递Qbot银行木马的钓鱼活动分析

图5‑4 释放文件3.dat并执行

dll文件获取系统时间,解密并拼接出命令,创建进程执行命令。其功能为使用schtasks.exe将3.dat添加到计划任务,任务名设置为QQQ。

利用XLL文件投递Qbot银行木马的钓鱼活动分析

图5‑5 创建计划任务实现自启动

5.4 第三层代码-3.dat


3.dat文件是XLL文件,通过rundll32.exe调用xlAutoOpen函数执行,与Agreement_487989a_Mar4.xll相似,xlAutoOpen函数都利用多次循环异或解密出加载器和一个dll文件,加载器将dll文件在内存中展开,修改重定位表,修改导出表,跳转到dll导出函数执行,与原始样本不同的是,原始样本的加载器存在大量混淆。将解密出的pe文件dump下来命名Qbot.dll,后续分析报告中都使用此命名。

利用XLL文件投递Qbot银行木马的钓鱼活动分析

图5‑6 执行解密出的dll文件

5.5 第四层代码-Qbot.dll


Qbot.dll文件主要执行以下几个功能:反调试、获取系统信息、查询杀毒软件进程、重启进程、将自身代码注入到wermgr.exe进程执行核心模块。

通过NtCurrentPeb获取peb,利用BeingDebugged成员进行反调试。如果存在调试器则修改key,影响样本的解密函数。

利用XLL文件投递Qbot银行木马的钓鱼活动分析

图5‑7 利用BeingDebugged反调试

Qbot银行木马获取访问令牌中的组成员身份。

利用XLL文件投递Qbot银行木马的钓鱼活动分析

图5‑8 获取访问令牌中的组成员身份

Qbot银行木马判断当前进程是否为管理员权限。

利用XLL文件投递Qbot银行木马的钓鱼活动分析

图5‑9 判断当前进程是否为管理员权限

Qbot银行木马获取进程的RID信息,如果RID<0x2000,含义为不受信任或低完整性。

利用XLL文件投递Qbot银行木马的钓鱼活动分析

图5‑10 获取RID

当RID<0x2000时,Qbot银行木马获取版本信息、环境变量信息、计算机名等系统信息。

利用XLL文件投递Qbot银行木马的钓鱼活动分析

图5‑11 获取系统信息

Qbot银行木马枚举当前系统进程,查询是否有诸如ccSvcHst.exe、NortonSecurity.exe、nsWscSvc.exe、avgcsrvx.exe、avgsvcx.exe等杀毒软件进程。

利用XLL文件投递Qbot银行木马的钓鱼活动分析

图5‑12 查询杀毒软件进程

Qbot银行木马解密出杀毒软件进程字符串。

利用XLL文件投递Qbot银行木马的钓鱼活动分析

图5‑13 杀毒软件进程字符串

Qbot银行木马检测自身运行权限,获取一个管理员权限的当前窗口的句柄,以管理员权限重启进程。

利用XLL文件投递Qbot银行木马的钓鱼活动分析

图5‑14 检测自身运行权限

Qbot银行木马以挂起的方式创建wermgr.exe进程。

利用XLL文件投递Qbot银行木马的钓鱼活动分析

图5‑15 挂起的方式创建wermgr.exe进程

Qbot银行木马将自身注入到wermgr.exe进程中,修改重定位表,调用GetThreadContext函数获取入口函数地址。

利用XLL文件投递Qbot银行木马的钓鱼活动分析

图5‑16 获取Context结构体

wermgr.exe进程主要实现以下几个功能:获取磁盘驱动信息、创建多个子线程并将这些子线程的优先级设置为低于正常、反调试、动态获取加密相关函数、屏幕截图、创建命名管道并监视、与C2服务器建立连接回传数据等功能。

wermgr.exe进程获取磁盘驱动信息。

利用XLL文件投递Qbot银行木马的钓鱼活动分析

图5‑17 获取磁盘驱动信息

wermgr.exe进程获取系统所有账户名称。

利用XLL文件投递Qbot银行木马的钓鱼活动分析

图5‑18 获取系统所有账户名称

wermgr.exe进程创建子线程,当子线程启动时,将线程优先级设置为低于正常值。

利用XLL文件投递Qbot银行木马的钓鱼活动分析

图5‑19 创建子线程

wermgr.exe进程枚举当前系统进程,查询是否有诸如Fiddler.exe、Autoruns.exe等分析工具。判断是否存在调试器,若判断存在调试器则对解密算法的KEY进行异或操作。

利用XLL文件投递Qbot银行木马的钓鱼活动分析

图5‑20 查询分析工具进程、反调试

wermgr.exe进程解密出分析工具进程字符串。

利用XLL文件投递Qbot银行木马的钓鱼活动分析

图5‑21 分析工具进程字符串

wermgr.exe进程利用BitBlt等API获取屏幕截图。

利用XLL文件投递Qbot银行木马的钓鱼活动分析

图5‑22 获取屏幕截图

wermgr.exe进程创建命名管道\\.\pipe\%ssp,当此管道被连接时,创建子线程来监视和处理数据。

利用XLL文件投递Qbot银行木马的钓鱼活动分析

图5‑23 创建命名管道

wermgr.exe进程从资源中解密得到以下IP地址和端口,用于构建通信隧道。

表5‑1 解密后的IP地址和端口

IP地址

IP地址

IP地址

92.239.81.124:443

176.202.46.81:443

2.49.58.47:2222

74.66.134.24:443

213.31.90.183:2222

12.172.173.82:50001

70.53.96.223:995

92.154.45.81:2222

186.64.67.54:443

190.191.35.122:443

68.173.170.110:8443

12.172.173.82:993

12.172.173.82:22

37.186.55.60:2222

84.216.198.124:6881

94.30.98.134:32100

78.196.246.32:443

12.172.173.82:995

173.18.126.3:443

201.244.108.183:995

24.178.201.230:2222

151.65.134.135:443

197.14.148.149:443

197.244.108.123:443

86.130.9.213:2222

190.75.139.66:2222

213.67.255.57:2222

189.222.53.217:443

122.184.143.84:443

92.159.173.52:2222

91.68.227.219:443

86.236.114.212:2222

80.12.88.148:2222

73.36.196.11:443

47.196.225.236:443

65.95.49.237:2222

184.176.35.223:2222

186.48.181.17:995

2.14.105.160:2222

190.218.125.145:443

109.11.175.42:2222

23.251.92.171:2222

75.156.125.215:995

184.189.41.80:443

31.48.18.52:443

70.51.152.61:2222

47.203.229.168:443

104.35.24.154:443

92.154.17.149:2222

103.169.83.89:443

86.169.103.3:443

92.1.170.110:995

183.87.163.165:443

85.241.180.94:443

92.20.204.198:2222

103.141.50.102:995

81.229.117.95:2222

47.34.30.133:443

173.178.151.233:443

47.16.77.194:2222

76.80.180.154:995

67.70.23.222:2222

24.117.237.157:443

87.202.101.164:50000

64.237.245.195:443

103.231.216.238:443

103.71.21.107:443

71.65.145.108:443

12.172.173.82:465

184.153.132.82:443

86.178.33.20:2222

94.200.183.66:2222

98.159.33.25:443

136.35.241.159:443

24.187.145.201:2222

65.94.87.200:2222

184.176.110.61:61202

49.245.82.178:2222

46.10.198.134:443

84.35.26.14:995

103.252.7.231:443

139.5.239.14:443

202.142.98.62:443

27.109.19.90:2078

75.143.236.149:443

50.68.204.71:993

91.169.12.198:32100

24.239.69.244:443

12.172.173.82:21

174.104.184.149:443

86.225.214.138:2222

202.187.87.178:995

81.158.112.20:2222

98.145.23.67:443

73.161.176.218:443

88.122.133.88:32100

76.27.40.189:443

201.137.185.109:443

90.104.22.28:2222

178.175.187.254:443

12.172.173.82:2087

208.180.17.32:2222

196.70.212.80:443

103.12.133.134:2222

190.28.116.106:443

92.27.86.48:2222

76.170.252.153:995

50.68.204.71:995

83.92.85.93:443

35.143.97.145:995

74.93.148.97:995

72.80.7.6:50003

70.55.187.152:2222

72.88.245.71:443

12.172.173.82:32101

187.199.103.21:32103

86.190.223.11:2222

88.126.94.4:50000

116.72.250.18:443




06
总结

自2023年2月微软宣布默认阻止Office文档中的宏之后,攻击者转变投递恶意文件的方式,将XLL文件作为一种传播恶意文件的新型媒介。攻击者向用户发送垃圾邮件,诱导用户打开附件中的XLL文件执行恶意代码,从而在用户主机上运行银行木马、远控木马等恶意软件。

在此建议用户不要轻易相信未知邮件中的内容,对邮件的来源进行确认,并警惕邮件中具有诱导性的内容。安天CERT将持续关注攻击者的新型攻击手段,并对相关攻击活动进行深入分析与研究。


07
IoCs

IoCs

20746C3BB01AA4DEEA993824F947194D

160D6D1BE068C04FCF08553383F1C93A

FF58F9CF0740AEAD678D9E36C0782894

84A765F683860EEDBB344A9A1AA0C883

5D450B19AA1A0FD9AE4103FA84D5D09B

5AC0D9286D8497C648DFC418218397EB

E09A3BAC10565EE80CBDB7A4B1A5D2AF


参考资料


[1] Qbot银行木马2020年活动分析报告

https://www.antiy.cn/research/notice&report/research_report/20210206.html

[2] Threat Spotlight: XLLing in Excel – threat actors using malicious add-ins

https://blog.talosintelligence.com/xlling-in-excel-malicious-add-ins/


利用XLL文件投递Qbot银行木马的钓鱼活动分析
往期回顾

利用XLL文件投递Qbot银行木马的钓鱼活动分析
利用XLL文件投递Qbot银行木马的钓鱼活动分析
利用XLL文件投递Qbot银行木马的钓鱼活动分析
利用XLL文件投递Qbot银行木马的钓鱼活动分析

原文始发于微信公众号(安天集团):利用XLL文件投递Qbot银行木马的钓鱼活动分析

版权声明:admin 发表于 2023年4月26日 下午5:17。
转载请注明:利用XLL文件投递Qbot银行木马的钓鱼活动分析 | CTF导航

相关文章

暂无评论

您必须登录才能参与评论!
立即登录
暂无评论...