BeEF Tunneling

介绍

Tunneling Proxy(TP)有效地模仿了反向HTTP代理。它将通过选定的浏览器会话处理请求。该会话成为隧道,并且其挂钩的浏览器成为出口点。

细节

配置为使用BeEF的代理的浏览器(或通常支持HTTP代理的任何软件)将通过TP发送所有请求。

TP将根据收到的请求详细信息创建一组指令。无论使用哪种浏览器,这些指令都会引发等效请求。

指令将被包装并发送到选定的浏览器会话,以在挂钩的浏览器上执行。浏览器成为隧道的出口节点。它将执行请求并接收HTTP响应。

然后将HTTP响应传递回BeEF代理,然后将其传递给浏览器。此过程创建一个隧道,其中一个是TP,另一个是选定的已挂钩的浏览器。

这些请求不是跨域的:这意味着,如果挂钩的浏览器的当前来源是http://example.com:80,使用代理的浏览器只能将请求发送到http://example.com:80

未来有计划扩展集成Erlend Oftedal的malaRIA的隧道代理功能。这将允许隧道代理使用宽松的跨域策略将请求转发到每个源。

<allow-access-from origin="*">

沟通流程

浏览器->(TP - CS )-> 挂钩浏览器->(源)Web服务器-> 挂钩浏览器 ->(TP - CS)->浏览器

真实场景

BeEF TP在现实世界中有许多用例:

  • 通过受害浏览器的安全上下文浏览经过挂钩的原始身份验证的表面(cookie会通过jQuery自动添加到XmlHttpRequests中)
  • 通过受害浏览器的安全上下文来搜寻钩住的来源。
  • 使用Burp Pro Scanner和sqlmap查找和利用SQLi。

如何使用代理扩展

  1. 选择您要用来Tunneling请求的挂钩浏览器。右键单击挂钩的浏览器图标,然后单击“用作代理”。

  1. 配置另一个浏览器以将TP用作HTTP代理。

  1. 在这种情况下,我们使用Opera(位于屏幕截图的右侧)作为挂钩的浏览器,而Firefox(位于屏幕截图的左侧)作为使用TP的浏览器。您可以看到,在Firefox中,我们同时浏览了Opera挂钩浏览器的相同来源(没有盗取任何cookie)。

  1. 通过TP发送的每个请求都使用Requester扩展程序将新的XHR发送到挂钩的浏览器。所有原始请求/响应对都存储在BeEF数据库中,可以通过“请求者”->“历史记录”选项卡进行详细分析。

本文章首发在 网安wangan.com 网站上。

上一篇 下一篇
讨论数量: 0
只看当前版本


暂无话题~