Cobalt Strike 4.8 用户指南-第八节Browser Pivoting

news/2024/11/14 19:55:10/
8.1、概述

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

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

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

image-20241106095205671

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

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

# 8.2、设置

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

image-20241106100439171

注意你注入的进程非常重要。注入到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 代理服务器。

image-20241106101021995

image-20241106101209201

# 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]

image-20241106102651134

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

image-20241106102848025

要停止 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)基础上编译,如需转载请注明来源。


http://www.ppmy.cn/news/1547019.html

相关文章

实习冲刺Day21

算法题 最长公共前缀 14. 最长公共前缀 - 力扣&#xff08;LeetCode&#xff09; class Solution { public:string longestCommonPrefix(vector<string>& strs) {if(strs.size()0)return "";//如果数组为空&#xff0c;直接返回空字符串string ans str…

数字IC实践项目(10)—基于System Verilog的DDR4 Model/Tb 及基础Verification IP的设计与验证(付费项目)

数字IC实践项目&#xff08;10&#xff09;—基于System Verilog的DDR4 Model/Tb 及基础Verification IP的设计与验证&#xff08;付费项目&#xff09; 前言项目框图1&#xff09;DDR4 Verification IP2&#xff09;DDR4 JEDEC Model & Tb 项目文件1&#xff09;DDR4 Veri…

大数据学习10之Hive高级

1.Hive高级 将大的文件按照某一列属性进行GROUP BY 就是分区&#xff0c;只是默认开窗存储&#xff1b; 分区是按行&#xff0c;如一百行数据&#xff0c;按十位上的数字分区&#xff0c;则有十个分区&#xff0c;每个分区里有十行&#xff1b; 分桶是根据某个字段哈希对桶数取…

使用 Python 流式 Websocket 传输 Binance 订单更新 附代码

对于从事加密货币行业的任何人来说,使用 RESTapi从交易所查询实时数据并不总是最佳做法,原因有很多 效率低下:每个查询都需要时间,并且会显着影响性能,尤其是对于高频策略。 交易所施加的限制很容易被打破,例如Binance的硬限制为每分钟 1200 个请求权重您只能检索有限数量…

什么是 eCPRI,它对 5G 和 Open RAN 有何贡献?

这里写目录标题 eCPRI 协议平面&#xff1a;功能分解eCPRI与CPRI的区别CPRI具有以下特点&#xff1a;eCPRI具有以下特点&#xff1a;eCPRI 的优势 所需带宽减少 10 倍适用于 5G 和 Open RAN 的 eCPRI&#xff1a; 通用公共无线接口&#xff08;CPRI&#xff09;是一种行业合作&…

前端垂直居中的多种实现方式及应用分析

摘要&#xff1a; 本文主要探讨前端开发中元素垂直居中这一常见问题的多种解决方案。详细分析了基于 CSS 的不同属性组合、使用弹性布局&#xff08;Flexbox&#xff09;和网格布局&#xff08;Grid&#xff09;等现代布局技术实现垂直居中的方法&#xff0c;并讨论了它们在不同…

【K8S系列】K8S 集群 CPU 爆满导致 Pod Pending 状态的分析与解决方案

在 Kubernetes 集群中&#xff0c;CPU 突然爆满可能导致 Pod 状态变为 Pending&#xff0c;影响应用的可用性。本文将深入分析其原因&#xff0c;并附上相关命令及其执行结果&#xff0c;帮助你更好地理解和解决此问题。 1. 问题描述 在 Kubernetes 集群中&#xff0c;当 CPU …

简单叙述 Spring Boot 启动过程

文章目录 1. 准备阶段&#xff1a;应用启动的入口2. 创建 SpringApplication 对象&#xff1a;开始启动工作3. 配置环境&#xff08;Environment&#xff09;&#xff1a;识别开发环境与生产环境4. 启动监听器和初始化器&#xff1a;感知启动的关键事件5. 创建 ApplicationCont…