CobaltStrike4.8用户指南-第八节BrowserP...

科技一颗大心心 2024-11-15 04:22:53
8.1、概述

Zeus 等恶意软件及其变种会将自己注入用户浏览器,以窃取银行信息。这是一种 “浏览器中间人 ”攻击。之所以称之为 “浏览器中间人”,是因为攻击者将恶意软件注入了目标用户的浏览器中。

浏览器中间人恶意软件使用两种方法来窃取银行信息。它们要么在表单数据发送到服务器时捕获表单数据。例如,恶意软件可能会hook Firefox 中的 PR_Write 以拦截 Firefox 发送的 HTTP POST 数据。或者,,它们将JavaScript 注入特定的网页来使用户认为网站在请求那些实际上是攻击者想要的信息。

Cobalt Strike 提供了第三种浏览器中间人攻击方法。它允许攻击者劫持所有经过身份验证的 Web 会话。一旦用户登录网站,攻击者就会要求用户的浏览器代表他们发出请求。由于用户的浏览器正在发出请求,它会自动的重新对任何用户已经登入的网站进行再次身份验证。我们把它称为一个 BrowserPivoting 。 Browser Pivoting 使攻击者可以用自己的浏览器通过目标的浏览器中继请求。

注:简单来说,浏览器跳板攻击可以让攻击者以受害主机上的终端用户的身份来访问浏览器上开着的 应用。攻击者可以继承目标用户对于网站的访问权限,相当于直接跳过了对于浏览器上的应用程 序的身份验证。

Cobalt Strike 的 Internet Explorer Browser Pivoting 的实现是通过将一个 HTTP 代理服务器注入到受害者的浏览器。不要将此实现与改变用户的代理设置混淆了。此代理服务器不影响用户访问站点的方式。相反,此代理服务器供攻击者使用。所有通过它的请求都由受害者的浏览器完成。

#8.2、设置

要设置Browser pivoting,请通过 [beacon]-> Explore-> Browser Pivot。选择要注入的 Internet Explorer 实例。你还可以决定将Browser Pivoting代理服务器绑定到哪个端口。

注意你注入的进程非常重要。注入到Internet Explorer来继承用户的经过身份验证的 web 会话。 Internet Explorer 的现代版本会为每个标签页派生单独的进程。如果你的目标使用一个现代版本的 Internet Explorer,那么你必须注入与打开的选项卡关联的进程以继承会话状态。具体是那个标签页进程无关紧要(子选项卡共享会话状态)。

通过查看 Browser Pivoting 设置对话框中的 PPID 值识别Internet Explorer选项卡进程。如果PPID引用了 explorer.exe,则进程与标签页无关。如果 PPID 引用了 iexplore.exe,则进程与一个标签页相关联。Cobalt Strike 将在它认为你可以注入的进程旁边显示一个勾(√)。

设置完 Browser Pivoting 之后,请设置你的 web 浏览器代理,指向 Browser Pivoting 代理服务器。请记住,Cobalt Strike 的Browser Pivoting服务器是一个 HTTP 代理服务器。

#8.3、使用

Browser Pivoting 启动后,你就可以作为目标用户来浏览 web。请注意,当你访问开启了SSL的网站 时, Browser Pivoting 代理服务器会提供它的 SSL 证书。这是该技术发挥作用的必要条件。

当 Browser Pivoting 代理服务器检测到 SSL 错误时,它会要求你将一个主机添加到你的浏览器信任存储中。将这些主机添加到信任存储,然后按刷新以使受 SSL 保护的网站正确加载。

如果你的浏览器固定了目标站点的证书,你可能会发现无法让你的浏览器接受Browser Pivoting代理服务器的SSL证书。这是一个比较棘手的事情。一种选择是使用其他浏览器。开源的 Chromium 浏览器有一个可以忽略所有证书错误的命令行选项。这是 Browser Pivoting 技术使用的理想选择:

chromium --ignore-certificate-errors --proxy-server=[host]:[port]

上述命令可从 View -> Proxy Pivots 获取。选中 Browser Pivot HTTP Proxy 项并按 Tunnel 键。

要停止 Browser Pivot 代理服务器,请在其 Beacon 控制台中输入 browserpivot stop。

如果用户关闭了你正在使用的标签页,你需要重新注入 Browser Pivoting 代理服务器。当无法连接到浏览器中的 Browser Pivoting 代理服务器时, Browser Pivoting 标签页将发出警告。

OpenJDK 11 存在一个 TLS 实施错误,在与 https:// 网站交互时会导致 ERR_SSL_PROTOCOL_ERROR (Chrome/Chromium) 和 SSL_ERROR_RX_RECORD_TOO_LONG (Firefox)。如果遇到这些错误,请将团队服务器上的jdk降级到 Oracle Java 1.8 或 OpenJDK 10。

#8.4、Browser Pivoting工作原理

Internet Explorer 将其所有通信委托给一个名为WinINet的库。任何程序都可以使用这个库,它为用户管理cookie、SSL会话和服务器身份验证。Cobalt Strike 的 Browser Pivoting 利用了WinINet基于每个进程透明的管理身份验证和重新身份验证的原理。

通过将Cobalt Strike的 Browser Pivoting 技术注入到用户的Internet Explorer实例中, 可以引发免费的透明再验证。

#说明

本文由笔者在Cobalt Strike官方用户指南原文(https://hstechdocs.helpsystems.com/manuals/cobaltstrike/current/userguide/content/topics/welcome_main.htm)基础上编译,如需转载请注明来源。

0 阅读:0

科技一颗大心心

简介:感谢大家的关注