Cobalt Strike----(8)

  Browser Pivoting    

   Zeus 这样的恶意软件及其变体将它们自己注入一个用户的浏览器中来窃取银行业务相关的信息。这是一种以浏览器为媒介的攻击,因为攻击者将恶意软件注入到目标的浏览器中。 以浏览器为媒介的恶意软件使用两种方式来窃取银行信息。第一种方法是捕获发送到服务器的表单信息,比如,恶意软件可能会 hook Firefox 中的 PR_Write 来拦截由 Firefox 发送到 HTTP POST 信息。
       第二种方法是,它们将 JavaScript 注入特定的网页来使用户认为网站在请求那些实际上是攻击者想要的信息。 Cobalt Strike 为以浏览器为媒介的攻击提供了第三种方法。它让攻击者劫持所有经过身份验证的 web会话。一旦用户登进一个网站,攻击者可能会让用户的浏览器代表其进行请求。因为用户的浏览器正在发出请求,它会自动的重新对任何用户已经登入的网站进行再次身份验证。我把它称为一个 Browser  Pivoting 。 Browser Pivoting 使攻击者可以用自己的浏览器通过目标的浏览器中继请求。这使攻击者可以以目标用户的身份与应用网站进行静默交互、实现后渗透目标。
    简单来说,浏览器跳板攻击可以让攻击者以受害主机上的终端用户的身份来访问浏览器上开着的应用。攻击者可以继承目标用户对于网站的访问权限,相当于直接跳过了对于浏览器上的应用程序的身份验证。

Cobalt Strike----(8)_第1张图片 

 

     Cobalt Strike Internet Explorer Browser Pivoting 的实现是通过将一个 HTTP 代理服务器注入到受害者的浏览器。不要将此实现与改变用户的代理设置混淆了。此代理服务器不影响用户访问站点的方式。相反,此代理服务器供攻击者使用。所有通过它的请求都由受害者的浏览器完成。
     设置完 Browser Pivoting 之后,请设置你的 web 浏览器来使用 Browser Pivoting 代理服务器。请记住,Cobalt Strike Browser Pivoting 服务器是一个 HTTP 代理服务器。
     一旦 Browser Pivoting 启动,你就可以作为目标用户来浏览 web 。要知道当你访问开启了 SSL 的网站时, Browser Pivoting 代理服务器会提供它的 SSL 证书。这对于此技术的生效是必不可少的。 当 Browser Pivoting 代理服务器检测到 SSL 错误时,它会要求你将一个主机添加到你的浏览器信任存储中。将这些主机添加到信任存储,然后按刷新以使受 SSL 保护的网站正确加载。
如果你的浏览器固定了目标站点的证书,那么让浏览器接受 Browser Pivoting 代理服务器的证书就不再可能。这是一个比较棘手的事情。一种选择是使用其他浏览器。开源的 Chromium 浏览器有一个可
以忽略所有证书错误的命令行选项。这是 Browser Pivoting 技术使用的理想选择:
chromium --ignore-certificate-errors --proxy-server=[host]:[port]
    要停止 Browser Pivoting 代理服务器,在其 Beacon 控制台里面输入 browserpivot stop
如果用户关闭了你正在使用的标签页,你需要重新注入 Browser Pivoting 代理服务器。当无法连接到浏览器中的 Browser Pivoting 代理服务器时, Browser Pivoting 标签页将发出警告。
工作原理
     Internet Explorer 将其所有通信委托给名为 WinINet 的库。任何程序都可以使用 WinINet 这个库来管理其用户的 cookies SSL 会话和服务器身份验证。 Cobalt Strike 的 Browser Pivoting 选项利用了 WinINet 基于每个进程透明地管理身份验证和重新身份验证的原理。通过将 Cobalt Strike Browser Pivoting 技术注入到用户的 Internet Explorer 实例中, 可以引发免费的透明再验证

Pivoting

Pivoting 指的是「将一个受害机器转为其他攻击和工具的跳板」。 Cobalt Strike Beacon 提供了多种 pivoting 选项。前提是 Beacon 处于交互模式。交互模式意味着一个 Beacon 秒内多次连接到团队服务器。使用 sleep 0 命令来使你的 Beacon 进入交互模式。

SOCKS 代理

       通过 [beacon] Pivoting SOCKS Server 来在你的团队服务器上设置一个 SOCKS4a 代理服务器。或者使用 socks 8080 命令来在端口 8080 上设置一个 SOCKS4a 代理服务器(或者任何其他你想选择的端口)。
      所有经过这些 SOCKS 服务器的连接都将被转变为让相关联 Beacon 执行的连接、读写和关闭任务。你可以通过任何类型的 Beacon 经由 SOCKS 隧道传输(甚至是一个 SMB Beacon )。
Beacon HTTP 数据通道是响应速度最快的 pivoting 方法。如果你想通过 DNS 中继流量,使用
DNS TXT 记录的通信模式。
     要查看当前已经配置的 SOCKS 服务器,通过 View Proxy Pivots 。 使用 socks stop 命令来停用 SOCKS 代理服务器。
    你也可以通过 Beacon 来隧道传输 Metasploit 框架的漏洞利用和模块。创建一个 Beacon SOCKS 代理 服务器(如上所述),然后将以下内容粘贴到你的 Metasploit 框架控制台中:
setg Proxies socks4:team server IP:proxy port
setg ReverseAllowProxy true
       这些命令将指示 Metasploit 框架将你的代理选项应用于从此时开始所有的执行的模块。以此种方式通过 Beacon 进行中继,完成操作后,使用 unsetg Proxies 停止中继。
     如果你觉得上面的操作很难被记住,通过 View Proxy Pivots 。选中你设置的代理中继然后按 Tunnel 按钮。 Tunnel 按钮将提供通过你的 Beacon 隧道传输至 Metasploit 框架所需的 setg
Proxies 语法。

反向端口转发

     使用 rportfwd 命令来通过 Beacon 设置一个反向跳板。 rportfwd 命令会绑定失陷主机上的一个端口。任何到此端口的连接将会导致你的 Cobalt Strike 服务器初始化一个到另一个主机和端口的连接并中继这两个连接之间的流量。Cobalt Strike 通过 Beacon 隧道传输流量。 rportfwd 命令的语法是:
rportfwd [bind port] [forward host] [forward port]

使用 rportfwd stop [bind port] 停用反向端口转发。

Pivot 监听器  

     限制从目标网络到命令与控制基础设施的直接连接的数量是一种很好的技巧。一个 pivot 监听器允许你创建一个绑定到 Beacon 或者 SSH 会话的监听器。这样,你可以创建新的反向会话而无需更多到你的命令与控制基础设施的直接连接。
     要配置一个 pivot 监听器,通过 [beacon] Pivoting Listener... 。这将打开一个对话框,你
可以定义一个新的 pivot 监听器。
Cobalt Strike----(8)_第2张图片

 Cobalt Strike----(8)_第3张图片

 

     一个 pivot 监听器将绑定到指定会话上的侦听端口。 Listen Host (监听主机)字段的值配置你的反 向 TCP payload 会用来连接到这个监听器的地址。 现在,唯一的 payload 选项是
windows/beacon_reverse_tcp 。 Pivot 监听器不会更改 pivot 主机的防火墙配置。如果一个 pivot 主机有一个基于主机的防火墙,这可能会干扰你的监听器。你作为操作者需要预测这种情况并采取正确的措施。 要移除一个 pivot 监听器,通过 Cobalt Strike Listeners 来在那里移除监听器。如果会话仍可访问,Cobalt Strike 将发送一个任务来拆除监听的 socket

隐藏VPN

      VPN pivoting 是一种灵活的隧道传输方式,这种方式不受代理 pivot 的那些限制。 Cobalt Strike 通过其 隐蔽 VPN 功能提供 VPN pivoting 服务。隐蔽 VPN 创建一个在 Cobalt Strike 系统上的网络接口并将此接口桥接进目标的网络中。
Cobalt Strike----(8)_第4张图片

 Cobalt Strike----(8)_第5张图片

 

      要激活隐蔽 VPN ,在一个失陷主机上单击右键,转到 [beacon] Pivoting Deploy VPN 。选择 你希望隐蔽 VPN 绑定到的远程接口。如果当前没有本地接口,按 Add 按钮来创建一个。
勾选 Clone host MAC address (克隆主机 MAC 地址)框来使你的本地接口具有与远程接口一样的 MAC 地址。保留此选项的勾选状态是最安全的选择。
     激活隐蔽 VPN 接口后,你可以像使用你的系统上的任何物理接口一样使用它。使用 ifconfig 来配置 其 IP 地址。如果目标网络具有 DHCP 服务器,则你可以使用你的操作系统内置工具向其请求 IP 地址。
      要管理你的隐蔽 VPN 接口,请转到 Cobalt Strike Interfaces 。在这里 Cobalt Strike 会展示隐蔽 VPN 接口、它们的配置方式以及通过每个接口传输和接收了多少字节。 选中一个接口然后点击 Remove 按钮来破坏此接口并关闭这个远程隐蔽 VPN 客户端。隐蔽 VPN 会在重启时移除它的临时文件,并立即撤销任何系统更改。   
      隐蔽 VPN 接口由一个网络分接头和一个用于通信 63 个以太网帧通过的通道组成。要配置接口,请填入 接口名称(这是你稍后要通过 ifconfig 操作的名称)和一个 MAC 地址。 你还必须为接口配置隐蔽 VPN 通信渠道。 隐蔽 VPN 可以通过 UDP 连接, TCP 连接, ICMP 或使用 HTTP 协议来通信以太网帧。 TCP(Reverse) 通道会让目标连接到你的 Cobalt Strike 实例。 TCP(Bind) 通道会让 Cobalt Strike 通过 Beacon 与 VPN 建立隧道通信。 Cobalt Strike 将基于你选择的 Local Port (本地端口) 和 Channel (通道)建立和管理与隐蔽 VPN 客户端的之间的通信。 隐蔽 VPN HTTP 通道使用 Cobalt Strike Web 服务器。你可以在同一个端口上托管其他的 Cobalt Strike
web 应用和多个隐蔽 VPN HTTP 通道。

你可能感兴趣的:(Cobalt,Strike,网络安全)