Dridex 的作者经常发布更新,例如新的函数混淆和新的配置编码,以继续逃避安全供应商的检测和缓解技术。 他们的恶意软件的重点从针对欧洲金融机构转向美国的新银行机构。
显然,该恶意软件的开发人员在客户端和服务器范例以及混淆方面表现出很高的熟练程度。 以下研究概述了这套技能。 它与 Dridex 作者致力于不断频繁更新恶意软件的功能,使得 Dridex 非常灵活,因此难以检测、解密和分析。
那么,Dridex 是如何在未经你许可的情况下监视你而你却不知情的呢?
它通过远程会话在银行交易期间连接到受感染用户的机器。 此会话对于用户来说是不可见的,因为它保存在恶意软件使用 VNC 协议打开的桌面的另一个实例中。 该实例被复制但不共享,这意味着攻击者无法看到用户的鼠标和键盘移动,反之亦然。
在恶意软件安装到受害者的机器上后,它会“致电”僵尸网络的命令和控制中心 (C&C),以获取目标列表并请求以下模块: VNC 和 SOCKS。
激活过程可以通过以下两种方式之一触发:
此项研究的重点是注入模块方法。 (早期的 F5文章中描述了在 Dridex 配置内部触发 VNC 启动的方式。)
该流程涉及受感染的浏览器和受感染的explorer.exe进程之间的交互。
Dridex 注入浏览器的网络函数钩子中的恶意代码会检查配置中的 VNC 标志。
因此,访问了目标 URL 并向用户发送了恶意脚本。 下一步是什么?
收到脚本时,会检查 VNC 标志。
如果 VNC 标志打开,恶意软件就会期望接收加密数据。 这些加密数据包含恶意软件稍后会用到的信息:
下面是来自服务器的简单 html 响应示例,其中附加了 IP + 端口(解密程序之后):
受感染的浏览器将这些加密的 IP 记录存储在注册表中与配置相同的项下,但在单独的子项下。
受感染的浏览器使用 Windows 的事件对象 API 来通知受感染的 explorer.exe 启动 VNC。从此时起,受感染的 explorer 进程接管激活过程。
探险家的角色
此后,如果所有阶段都成功,则会启动 VNC 远程会话,并且欺诈者可以在受害者不知情的情况下在其机器上执行操作。
该功能通常作为凭证窃取后的补充措施,以绕过银行内部的安全产品。 这些产品旨在利用浏览器的独特指纹来识别用户。
安全供应商和网络犯罪分子之间的持续竞争促使犯罪分子创建更加混淆且具有许多不同且独立组件的恶意软件。 这些组件帮助恶意软件作者克服银行机构和安全供应商设置的障碍和保障措施。 这些组件还增加了分析过程的复杂性,因为现在需要了解模块之间的交互。
这场竞赛也促使我们作为研究人员,密切关注和警惕 Dridex 的活动和发展。