一、介绍
BeEF,全称The Browser Exploitation Framework,是一款针对浏览器的渗透测试工具。一个简单的XSS漏洞,外表骨感,内在丰满,XSS漏洞结合BEEF框架进行渗透,将会使你重新认识XSS漏洞的丰满之处。
二、在kali下使用BeEf
kali系统已经默认安装有beef框架了,对于新的kali 2020版的kali系统,使用 apt install beef-xss即可安装。
kali可能通过直接执行命令的方式启动或关闭beef服务器,也可以通过服务的方式进行管理,在初次使用时建议使用命令方式启动,以便观察它的启动过程。
beef-xss# 命令方式启动beef-xss-stop # 命令方式关闭 systemctl start beef-xss.service #开启beefsystemctl stop beef-xss.service #关闭beefsystemctl restart beef-xss.service #重启beef
在首次启动时,需要修改beef的密码,按提示输入修改的密码即可,稍等一下,beef服务器则启动成功,使用浏览器打开http://127.0.0.1:3000/ui/panel它的管理界面,输入默认的账号beef和您修改的密码,即可进入它的管理系统。
三、体验一波beef
1.首先登录beef管理后台。
2.寻找一个存在XSS漏洞的网页,其中我们需要将beef服务的钩子文件通过XSS漏洞加载到受害者的浏览器中运行。
所谓的钩子文件,直白点说就是一个让受害者在不知情的情况下,每秒跟beef服务器通信的脚本文件,当beef向受害者的浏览器发出指令时,hook.js脚本程序会执行相应的指令。
Hook_file的脚本链接为:http://192.168.231.154:3000/hook.js
3.当受害者打开浏览器客户端时,我们在beEf的管理后台就可以看到ip为192.168.231.3的主机上线了。
四、BeEf功能及作用介绍
Details(浏览器信息):当受害者执行hook.js脚本后,脚本会自动收集受害者的浏览器信息。
Logs(操作记录):相当于一个鼠标和键盘的记录器,但是它的作用域只在执行了hook.js脚本的Web网页。
Commands(指令模块):里面提供了很多命令攻击模块,我们可以通过这些指令模块去控制受害者的浏览器。
咱们看看最重要的Commands模块是长啥样的。
可以看到Comands表的命令模块前都有颜色标记,其实每个颜色都有它的含义的。
绿色:表示能够在目标浏览器上执行,并且用户是不会发现的。橙色:表示能够在目标浏览器上执行,但是用户会发现的,比如说弹窗,提示,跳转等操作。灰色:表示可能可以在目标浏览器上执行。红色:表示不能在目标浏览器上执行。
以上的部分模块虽然说是能够在目标浏览器上执行,但并不意义着一定能执行成功,返回结果。
例如,如下图所示,发现CPUS的指令,执行后返回的结果是没有安装,那是因为目标的受害者,并未安装支持检测CPU的服务,但是实际上目标的受害者机器上是有安装CPU的。