QakBot又名QBot、QuackBot、Pinkslipbot,是一款已经存在十多年的银行木马。它于2007年在野外被发现,此后一直得到维护和发展,其主要目的是窃取银行凭证。今天,QakBot在功能方面仍在不断发展,具有更多功能,例如键盘记录、后门功能和检测规避。它还能够窃取电子邮件,攻击者可以使用这些电子邮件向受害者发送有针对性的电子邮件,引诱他们打开它们。QakBot感染链QakBot主要通过垃圾邮件、包含MicrosoftOffice文档(Word、Excel)或受密码保护的压缩文件的电子邮件附件感染受害者。包含宏的文档提示受害者打开附件,在某些情况下,电子邮件包含指向分发恶意文档的网页的链接。它还可以通过受感染的机器将QakBot有效载荷传播到受害者的机器上。QakBot最新版本(2020-2021变种)的感染链如下:(1)用户收到一封带有ZIP附件的钓鱼邮件,邮件中包含Office文档或内嵌宏的恶意链接。(2)用户打开恶意附件/链接并被诱导点击“启用内容”。(3)执行恶意宏。一些变体通过“GET”请求“PNG”,但该文件实际上是一个二进制文件。(4)加载的载荷(stager)包括加密的资源模块。其中一个加密资源具有在运行时解密的DLL二进制文件(加载程序)。(5)“Stager”将“Loader”加载到内存中,在运行时解密并运行有效负载。(6)payload与C2服务器通信。一个典型的QakBot具有以下功能:收集主机信息;创建计划任务;证书获取:凭证转储;密码窃取;网络注入;密码暴力破解;修改注册表;创建副本;注入过程。C2通信QakBot恶意软件的资源包含150个硬编码IP地址的列表,其中大部分属于其他受感染的系统,用于将流量转发到其他代理或realС2。受感染机器和С2之间的通信是一个带有Base64编码数据的HTTPSPOST请求。数据采用RC4算法加密,使用静态字符串"jHxastDcds)oMc=jvh7wdUhxcsdt2"和一个随机的16字节序列进行加密,数据本身为JSON格式。感染后机器会发送“PING”消息、“SYSTEMINFO”消息和“ASKforCOMMAND”消息,C2回复“ACK”和“COMMAND”消息。'PING'消息:发送'BOTID'以确定С2是否存活'ACK'消息:C2响应消息,字段“16”包含被感染系统的外部IP地址'SYSTEMINFO':发送被感染系统的信息以及以下C2查询结果whoami/allarp-aipconfig/allnetview/allcmd/csetnslookup-querytype=ALL-timeout=10_ldap._tcp.dc._msdcs.{DOMAIN}nltest/domain_trusts/all_trustsnetsharerouteprintnetstat-naonetlocalgroupqwinstaWMIQueryROOT\CIMV2:Win32Query:Win32Query_BIOSWin32_DiskDriveWMIQueryROOT\CIMV2:Win32_PhysicalMemoryWMIQueryROOT\CIMV2:Win32_ProductWMIQueryROOT\CIMV2:Win32_PnPEntity'ASKforCOMMAND':请求C2执行命令,其中一个主要字段是“14”——SALT。该字段是唯一的,并且会根据每个请求而变化。它用于防止受感染的机器被劫持或接管。收到此请求后,С2在签名过程中使用SALT,并在响应中放置一个签名,以便机器可以检查签名数据,并且机器只执行有效且签名的命令。'COMMAND'消息:bot当前版本支持24条命令,其中与下载、执行、删除或设置/更新配置值有关。该消息包含盐的签名值(从机器人的请求字段“14”中获取)、命令ID和模块ID。如果C2推送模块,它会将Base64编码的二进制文件放入消息字段“20”。其他模块CookieGrabber:收集流行浏览器的cookie信息HiddenVNC:允许攻击者在被感染机器不知情的情况下连接并操作计算机EmailCollector:尝试在被感染计算机上找到MicrosoftOutlook,然后将收集到的邮件发送出去到远程服务器挂钩模块:挂钩编码的WinAPI和MozillaDLL以执行Web注入、嗅探流量、键盘记录、防止DNS解析Passgrabber模块:从各种来源收集登录名和密码:Firefox和Chrome文件、MicrosoftVault存储等代理模块:使用UPnP端口转发和第2С2层查询以确定哪些端口可用在确定端口可用后,代理模块启动多线程SOCKS5代理服务。SOCKS5协议被封装到QakBot代理协议中,由以下部分组成:QakBot代理命令(1字节)、版本(1字节)、sessionid(4字节)、包总长度(dword)、数据(totalpacket)长度-10)。通常代理模块命令如下:C2服务器数据包:单代理数据包:IOC部分C2服务器地址:75.67.192[.]125:44324.179.77[.]236:44370.163.161[.]79:44372.240.200[.]181:2222184.185.103[.]157:44378.63.226[.]32:44383.196.56[.]65:222295.77.223[.]148:44376.168.147[.]166:993105.198.236[.]99:44373.151.236[.]31:44364.121.114[.]87:443213.122.113[.]120:44397.69.160[.]4:222277.27.207[.]217:995105.198.236[.]101:44375.188.35[.]168:44331.4.242[.]233:995144.139.47[.]206:443173.21.10[.]71:2222125.62.192[.]220:44383.110.109[.]155:222276.25.142[.]196:443195.12.154[.]8:443186.144.33[.]73:44367.165.206[.]193:99396.21.251[.]127:2222149.28.98[.]196:2222222.153.122[.]173:99571.199.192[.]62:44345.77.117[.]108:222245.46.53[.]140:222270.168.130[.]172:99545.32.211[.]207:99571.74.12[.]]34:44382.12.157[.]95:995149.28.98[.]196:99550.29.166[.]232:995209.210.187[.]52:995149.28.99[.]97:443109.12.111[.]14:443209.210.187[.]52:443207.246.77[.]75:844368.186.192[.]69:44367.6.12[.]4:443原文链接:securelist
