Cobalt Strike----(8)
迪丽瓦拉
2025-05-29 02:37:21
0

  Browser Pivoting    

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

 

 

     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 监听器。

 

 

     一个 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 系统上的网络接口并将此接口桥接进目标的网络中。

 

 

      要激活隐蔽 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 通道。

相关内容

热门资讯

linux入门---制作进度条 了解缓冲区 我们首先来看看下面的操作: 我们首先创建了一个文件并在这个文件里面添加了...
C++ 机房预约系统(六):学... 8、 学生模块 8.1 学生子菜单、登录和注销 实现步骤: 在Student.cpp的...
A.机器学习入门算法(三):基... 机器学习算法(三):K近邻(k-nearest neigh...
数字温湿度传感器DHT11模块... 模块实例https://blog.csdn.net/qq_38393591/article/deta...
有限元三角形单元的等效节点力 文章目录前言一、重新复习一下有限元三角形单元的理论1、三角形单元的形函数(Nÿ...
Redis 所有支持的数据结构... Redis 是一种开源的基于键值对存储的 NoSQL 数据库,支持多种数据结构。以下是...
win下pytorch安装—c... 安装目录一、cuda安装1.1、cuda版本选择1.2、下载安装二、cudnn安装三、pytorch...
MySQL基础-多表查询 文章目录MySQL基础-多表查询一、案例及引入1、基础概念2、笛卡尔积的理解二、多表查询的分类1、等...
keil调试专题篇 调试的前提是需要连接调试器比如STLINK。 然后点击菜单或者快捷图标均可进入调试模式。 如果前面...
MATLAB | 全网最详细网... 一篇超超超长,超超超全面网络图绘制教程,本篇基本能讲清楚所有绘制要点&#...
IHome主页 - 让你的浏览... 随着互联网的发展,人们越来越离不开浏览器了。每天上班、学习、娱乐,浏览器...
TCP 协议 一、TCP 协议概念 TCP即传输控制协议(Transmission Control ...
营业执照的经营范围有哪些 营业执照的经营范围有哪些 经营范围是指企业可以从事的生产经营与服务项目,是进行公司注册...
C++ 可变体(variant... 一、可变体(variant) 基础用法 Union的问题: 无法知道当前使用的类型是什...
血压计语音芯片,电子医疗设备声... 语音电子血压计是带有语音提示功能的电子血压计,测量前至测量结果全程语音播报࿰...
MySQL OCP888题解0... 文章目录1、原题1.1、英文原题1.2、答案2、题目解析2.1、题干解析2.2、选项解析3、知识点3...
【2023-Pytorch-检... (肆十二想说的一些话)Yolo这个系列我们已经更新了大概一年的时间,现在基本的流程也走走通了,包含数...
实战项目:保险行业用户分类 这里写目录标题1、项目介绍1.1 行业背景1.2 数据介绍2、代码实现导入数据探索数据处理列标签名异...
记录--我在前端干工地(thr... 这里给大家分享我在网上总结出来的一些知识,希望对大家有所帮助 前段时间接触了Th...
43 openEuler搭建A... 文章目录43 openEuler搭建Apache服务器-配置文件说明和管理模块43.1 配置文件说明...