BeEF 最好从 MITMf 工具运行——两者都在 Kali Linux 的大多数版本(尤其是最新版本)中可用。MITMf 有一个 BeEF 的扩展,在其他地方没有,称为BeEFAutorun。BeEFAutorun 和BeEF Autorun Rule Engine (ARE)的工作方式与XSSF和 Trustwave SpiderLabs 的 beef_injection_framework 类似,但内置的 ARE 更出色并且开箱即用。MITMf 是 Ettercap(较旧)和 Bettercap(较新,包括一个牛肉盒代理模块)的竞争对手。来自TheBeefProject 的视频在这里。
也就是说,BeEF 和 XSSF——无论是如何交付或自动化——都有其优点和缺点。两者都没有内置的缓存持久性功能。这种缓存技术可能只适用于支持 HTML5 离线存储的浏览器,尽管现在大多数都支持。最初的技术是由 Lavakumar Kuppan 发现的,并在他的网站和实验室(工具站点已关闭,但博客文章仍在运行)以及应用程序缓存部分的 HTML5 安全一书中进行了讨论。一个 html 清单标签可以指定一个 cache.manifest 文件存储在哪里。发起攻击需要中间人条件、代理服务器的控制、浏览器挂钩(例如,BeEF)等。执行攻击的代码已从原始代码略微现代化,并可在 GitHub 上以squid-imposter 的形式获得.
如何跨标签/会话执行 javascript?
此功能已在提供持久性的 BeEF模块中可用。特别是,BeEF 攻击者应该考虑同时使用man_in_the_browser和iframe_above模块,除非他们想要临时注入。如果您只需要临时注入(例如通过您自己托管的恶意站点、XSS 或其他快速机制),那么我将使用invisible_iframe模块提供指向metasploit-framework的链接browser_autopwn 监听器。该技术在《Gray Hat Hacking The Ethical Hacker's Handbook, 4th Edition》一书中提供。我认为这本书对 BeEF 和 MetaSploit 的集成进行了最全面的介绍,但是 Mastering Kali Linux for Advanced Penetration Testing、Daniel Dieterle 的中级安全测试和浏览器黑客手册也提到了许多这些技术。
比较从 BeEF 到 XSSF 的代码很有趣。例如,在 XSSF 中跨选项卡保持持久性是由ghostify和iframeize模块执行的。我喜欢 XSSF 的一件事是直接集成到 msfconsole 命令行界面。不过, BeEF 确实提供了一个Console。正在出版的一本名为 Holistic InfoSec for Web Developers 的书有一个关于配置 BeEF 的精彩部分,其中包括 Metasploit 框架集成和 BeEF 控制台的设置。作者还有一个YouTube 频道,其中 BeEF 在演示 1 和 3 中得到了广泛的介绍。XSSF 控制台在时间紧迫时非常灵活,可以执行诸如xssf_add_auto_attack detect_properties
,这在现场场景和网络演习中非常有用。XSSF 隧道的设置和拆卸非常出色。BeEF 有更多的模块,如果您需要额外的控制台(BeEF 有基于 Web 和命令行的控制台,以及这个名为beefconsole.rb的第三方提供的命令行版本)和调试(例如,beef cli 选项)功能。特别棒的是MS Office检测模块——以及一个 PowerShell 友好的 Meterpreter 交付的社交工程攻击,使用hta_powershell对 Internet Explorer 进行攻击。最后,BeEF 支持WebRTC上的频道,使其成为最酷的工具之一。