恶意文件名称:
QBot攻击事件恶意文件通告
威胁类型:
窃密软件
简单描述:
QBot也称Pinkslipbot,自2007年以来一直以相当的复杂性和持续性著称。QBot专注于从受害者处窃取金融数据和密码凭证,但在其多年的演进、变化后,现还可作为后门投递CS、勒索病毒等其它恶意病毒。
恶意文件描述
2022年7月,微软发布的更新中,所有Office软件默认禁用宏。自此,一众恶意软件也将前沿阵地转至OneNote。选择OneNote作为初始攻击向量有如下原因:
1. OneNote在Windows系统中是随着Office默认安装的,潜在受害者的群体规模必定不小。
2. OneNote并不受安全软件的重视,利用OneNote进行攻击的事件并不多。OneNote是受Windows系统信任的应用软件,用户缺乏对OneNote使用的安全意识。
当前,使用OneNote作为初始攻击向量的恶意软件有如下家族:AsyncRAT、Quasar RAT、NetWire、Xworm以及QBot。
2023年1月,zscaler披露QBot首次将OneNote作为初始攻击向量,通过在OneNote文件中植入HTLM应用(.hta后缀的文件)。
在QBot近期的攻击事件中,Threat Actor疑似使用了OneNote平台传输PDF文件对受害者发动攻击。深信服深盾实验室实时追踪、捕获潜在的威胁,致力于为客户提供预见性的安全体验。在下文中将详细列举此次攻击事件的样本并对样本进行分析。
援引FBI官网的消息,美国时间2023年8月29日,FBI与英国、罗马尼亚、法国、德国、新西兰等国家联合执法,声称通过“合法”手段获取了QakBot基础设施的访问权,将一切访问QakBot的流量重定向到受控制的服务器,引导用户下载根除QakBot的工具。据FBI透露,其已识别出全球超70万的计算机遭受QakBot感染。
恶意文件分析
初始攻击向量 —— PDF
SH256 | 341632ac20540dcdf4dd6cf6675503e6db3e2f513e39bb1c99d4603e06cc8c9d |
文件大小 | 60.72 KB |
上传日期 | 2023-05-10 |
文件类型 | PDF |
VT平台首次上传样本的国家归属地为TR - 土耳其。
PDF打开后即如下所示。
Download对应的链接为:
https://inspiratour.co.id/tsopexfzrf/tsopexfzrf.zip
2. 中继文件 —— Zip
SH256 | cc6911935bd2831c93cf57cca542b010b52635ea607500ed88f07ab86cdcbe97 |
文件大小 | 14.86 KB |
上传日期 | 2023-05-10 |
文件类型 | ZIP压缩文件 |
压缩包在用户自行解压释放后得到一个 WSF 文件,该脚本文件经过混淆。其主要功能是将混淆的脚本代码解混淆后写入到%PROGRAMDATA%目录下,随后加载并执行解混淆后的代码。
两个解混淆后的脚本文件如下所示,第一个脚本文件从多个IP下载后缀为dat的DLL文件用于执行。
第二个脚本文件则用于执行下载的DLL文件。
3. 最终投递 —— QBot
SH256 | 4b4659fafd96c2caf59c63a6a8de0179eca9e6f1421bbb32e80ad41eb3358021 |
文件大小 | 313.00 KB |
上传日期 | 2023-05-10 |
文件类型 | DLL |
PDB路径 | C:\Source\openoffice\main\redland\wntmsci12.pro\bin\raptor.pdb |
该DLL文件使用了GitHub项目Raptor,攻击者在Raptor项目的源码中插入了自己编写的恶意代码,在其中增加额外的名为print的导出函数,并随之一起编译为DLL文件。
攻击者在其代码中加入的大量的jmp指令和无用的条件跳转指令增加了指令块的数量,同时在其中插入垃圾指令和无用的API调用,在一定程度上增加了分析的时间。
Print函数的主要功能是将解密后的数据填充到新申请的内存块中,解密后得到一个完整的PE内存文件。
反射加载完成后,检测自身是否处于被调试状态。
采用异或流解密存储在内存中的数据,下图中前0x80字节即为key,使用key解密后面8字节的0x00分隔的加密数据。解密后即得到Unicode字符串:C:\INTERNAL\__empty。
通过控制传入的offset值,可以达到传入的key和加密数据相同的情况下解出不同的明文的目的。
检测是否有解密后的字符串指向的文件存在,Windows Defender在模拟文件执行时会有此路径产生,Qakbot在此用以规避Windows Defender的动态检测。
检测PEB的BeingDebugged标志位是否被置1,如果处于调试状态中则会使用xor将key和解密数据都破坏,致使后面的代码执行出现异常。
随后再次调用反射加载的DLL的导出函数,名称也为print。
在该函数中将继续利用上面提到的key和密文解密出字符串用于IAT表的填充,并将需要的函数指针填入全局变量中。QakBot通过对函数名称字符串进行计算然后再进行匹配、加载,在一定程度上躲避了杀毒软件的动态检测。
Sub_100095A0函数内部主动加载函数库并获取导出函数地址,填入IAT表。
此处被赋给全局变量的函数包含:
LoadLibraryA、RtlAllocateHeap、MessageBoxA、CreateCompatibleDC、NetShareEnum、SetFileSecurityW、StrStrIA、ShellExecuteW、GetUserProfileDirectoryW、WSAGetLastError
QakBot会对账号Sid、当前进程的Token进行校验,同时会提取磁盘大小、用户名称、DC名称、主机名称,组合成Unicode字符串后对每个字节进行计算(移位、xor),得到32位的hash值。
QakBot会获取环境变量 SystemRoot、Temp、Userprofile、SystemDrive对应的具体路径,同时会解密出要探测的安全软件进程名称。
ccSvcHst.exe | NortonSecurity.exe | avgcsrvx.exe | avgsvcx.exe |
avgcsrva.exe | MsMpEng.exe | mcshield.exe | avp.exe |
kavtray.exe | egui.exe | ekrn.exe | bdagent.exe |
vsserv.exe | vsservppl.exe | AppUIMonitor.exe | SAVAdminService |
··· | ··· | ··· | ··· |
通过CreateToolhelp32Snapshot、Process32First、Process32Next组合对操作系统正在运行的进程名称进行枚举。
QakBot有两种工作方式,一种是通过创建傀儡进程,将主要的工作放置于傀儡进程中执行。另一种是在母体进程中执行主要工作,但二者执行的任务相同。
创建傀儡进程,通过两次Section Mapping将病毒自己创建的Section同时映射到自己进程的内存和wermgr进程的内存中。修改wermgr.exe的OEP并在其中创建用于执行的恶意代码。
傀儡进程所使用的导入函数加载方式和母体的加载方式基本一致。
傀儡进程会创建pipe管道,在创建cmd进程时将创建的pipe句柄传入,并传入命令ping -n 3 yahoo.com 。cmd进程执行后,傀儡进程通过读取pipe中存储的信息即可得到cmd命令执行后返回的信息。在确认cmd正确返回信息后,傀儡进程向母体进程创建的Event对象发送信号,母体在接收到信号后会结束等待继续向下执行,随后结束自己的运行。若母体在规定时间内尚未收到信号,则会主动结束傀儡进程,随后再结束自己的运行。
首先傀儡进程通过拼接得到 %Appdata%\\Microsoft\\Qhbido 字符串路径,确认没有该目录即创建一个该目录。傀儡进程会多次生成检测其在注册表Software\\Microsoft\\{\\w*}下的键值是否存在,若不存在则创建一个并在其中填入data 和name。
傀儡进程在完成向多个白域名发送流量后(如google.com、Broadcom.com、irs.gov等),再向186.75.103.100发送https请求,以便后续进行远程控制。从内存中提取到QakBot可以通信的多个IP地址,均放置在文末。
解决方案
处置建议
1. 为本地和域账户设置强密码策略,定期更改账号密码。
2. 及时更新操作系统和软件,使用杀毒软件定期查杀。
打开未知文件前使用终端安全软件进行查杀。
深信服解决方案
【深信服统一端点安全管理系统aES】
已支持查杀拦截此次事件使用的病毒文件,请更新软件(如有定制请先咨询售后再更新版本)和病毒库至最新版本,并接入深信服安全云脑,及时查杀新威胁;
【深信服下一代防火墙AF】的安全防护规则更新至最新版本,接入深信服安全云脑,“云鉴” 服务即可轻松抵御此高危风险。
【深信服安全感知管理平台SIP】建议用户及时更新规则库,接入深信服安全云脑,并联动【深信服下一代防火墙AF】实现对高危风险的入侵防护。
【深信服安全托管服务MSS】以保障用户网络安全“持续有效”为目标,通过将用户安全设备接入安全运营中心,依托于XDR安全能力平台和MSSP安全服务平台实现有效协同的“人机共智”模式,围绕资产、脆弱性、威胁、事件四个要素为用户提供7*24H的安全运营服务,快速扩展持续有效的安全运营能力,保障可承诺的风险管控效果。
附(IP地址)
从内存中提取的 QakBot 将会访问的 IP 如下所示:
102.156.218.92:443
116.74.164.93:443
86.130.9.227:2222
197.14.208.59:443
105.101.110.37:443
200.109.16.12:2222
186.75.103.188:443
70.50.83.139:2222
85.104.98.64:443
86.178.33.63:2222
91.2.143.185:995
92.98.159.9:2222
105.186.242.203:995
182.185.181.202:995
91.75.114.200:443
125.99.76.102:443
96.56.197.26:2222
71.78.95.86:995
50.68.186.195:443
109.50.128.59:2222
88.126.94.4:50000
92.20.204.198:2222
70.28.50.223:32100
87.243.146.59:443
40.134.85.217:443
58.162.223.233:443
78.92.133.215:443
50.68.204.71:993
85.152.152.46:443
87.202.101.164:50000
31.53.29.198:2222
90.165.109.4:2222
69.133.162.35:443
89.114.140.100:443
76.170.252.153:995
73.29.92.128:443
173.88.135.179:443
139.226.47.229:995
162.248.14.107:443
184.153.132.82:443
79.77.142.22:2222
92.9.45.20:2222
92.239.81.124:443
79.26.184.19:443
70.160.67.203:443
125.99.69.178:443
75.143.236.149:443
12.172.173.82:465
217.44.108.89:2222
12.172.173.82:21
92.27.86.48:2222
76.86.31.59:443
47.21.51.138:443
47.205.25.170:443
76.16.49.134:443
202.184.123.13:443
66.191.69.18:995
201.244.108.183:995
103.141.50.79:995
70.28.50.223:2078
98.145.23.67:443
12.172.173.82:50001
173.22.114.208:443
70.28.50.223:2083
37.14.229.220:2222
217.165.234.249:443
50.68.204.71:995
96.87.28.170:2222
86.195.14.72:2222
113.11.92.30:443
41.186.88.38:443
47.149.248.80:443
70.28.50.223:3389
176.142.207.63:443
72.205.104.134:443
172.115.17.50:443
186.64.67.41:443
103.42.86.42:995
174.118.68.176:443
98.19.234.243:995
12.172.173.82:32101
100.6.31.96:443
122.184.143.86:443
161.142.98.36:995
92.1.170.110:995
103.140.174.20:2222
74.33.196.114:443
84.215.202.8:443
35.143.97.145:995
50.68.204.71:443
122.186.210.254:443
174.4.89.3:443
24.69.137.232:2222
75.98.154.19:443
70.28.50.223:2087
12.172.173.82:2087
89.79.229.50:443
12.172.173.82:993
90.104.151.37:2222
197.148.17.17:2078
103.87.128.228:443
12.172.173.82:20
184.176.35.223:2222
12.172.173.82:22
178.152.124.169:443
86.140.160.231:2222
178.175.187.254:443
71.38.155.217:443
108.190.115.159:443
198.2.51.242:993
103.123.223.171:443
27.109.19.90:2078
86.176.16.18:443
43.243.215.210:443
80.12.88.148:2222
157.119.85.203:443
75.109.111.89:443
65.190.242.244:443
81.229.117.95:2222
84.35.26.14:995