Mandiant技术公司最近发现了一种新型攻击手段,该手段能够绕过浏览器隔离技术,并通过二维码实现命令与控制(C2)操作。
浏览器隔离是一种日益受到青睐的安全技术,它通过将所有本地Web浏览器请求重定向到云环境或虚拟机中托管的远程Web浏览器来执行。这样,访问的网页上的所有脚本或内容都在远程浏览器上执行,而不是在本地浏览器上。然后,页面的渲染像素流被发送回请求的本地浏览器,仅显示页面的外观,从而保护本地设备不受任何恶意代码的影响。
许多C2服务器通过HTTP进行通信,而远程浏览器隔离能够过滤恶意流量,使得这些通信模式失效。Mandiant公司发现的新技术试图绕过这些限制,尽管存在一些实际限制,但它揭示了浏览器中现有的安全保护措施并非完美,需要采取“防御性多层次”策略,并结合其他措施。
C2通道允许攻击者与受损系统之间进行恶意通信,使远程黑客能够控制被侵入的设备,执行命令、泄露数据等。由于浏览器本质上需要不断地与外部服务器交互,因此在安全关键环境中会启用隔离措施,以防止攻击者访问底层系统上的敏感数据。这是通过在云端、本地虚拟机或本地环境中运行浏览器的独立沙箱环境来实现的。
当隔离处于激活状态时,隔离的浏览器处理传入的HTTP请求,仅将页面的可视内容流式传输到本地浏览器,这意味着HTTP响应中的脚本或命令永远不会到达目标设备。这阻止了攻击者直接访问HTTP响应或将恶意命令注入浏览器,使得秘密的C2通信变得更加困难。
攻击者不是将命令嵌入HTTP响应中,而是将它们编码到网页上可视地显示的二维码中。由于在浏览器隔离请求期间不会删除网页的可视渲染,因此二维码能够返回到发起请求的客户端。
在Mandiant的研究中,"受害者"的本地浏览器是由之前感染了设备的恶意软件控制的无头客户端,它会捕获检索到的二维码并对其进行解码以获取指示。
尽管概念验证表明这种攻击是可行的,但这种技术并不完美,尤其是考虑到实际应用性。首先,数据流的最大限制是2189字节,大约为二维码可以携带的最大数据的74%,如果在恶意软件解释器上读取二维码时存在问题,则数据包的大小还需要进一步减少。其次,需要考虑延迟问题,每个请求需要大约5秒。这将限制数据传输速率约为438字节/秒,因此这种技术不适合发送大容量荷载或支持SOCKS代理。最后,Mandiant表示其研究未考虑领域声誉、URL扫描、数据丢失预防和请求启发式等其他安全措施,这些措施可能会在某些情况下阻止此攻击或使其无效。
尽管Mandiant基于二维码的C2技术是低带宽的,但如果未经阻止仍然可能带来危险。因此,建议在关键环境中的管理员监测异常流量和以自动化模式运行的浏览器。