BeEF 客户端攻击框架的秘密(一)

原创 周大仙 Khan安全团队

一、介绍

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管理后台。

BeEF 客户端攻击框架的秘密(一)


2.寻找一个存在XSS漏洞的网页,其中我们需要将beef服务的钩子文件通过XSS漏洞加载到受害者的浏览器中运行。

所谓的钩子文件,直白点说就是一个让受害者在不知情的情况下,每秒跟beef服务器通信的脚本文件,当beef向受害者的浏览器发出指令时,hook.js脚本程序会执行相应的指令。

Hook_file的脚本链接为:
http://192.168.231.154:3000/hook.js

BeEF 客户端攻击框架的秘密(一)


3.当受害者打开浏览器客户端时,我们在beEf的管理后台就可以看到ip为192.168.231.3的主机上线了。

BeEF 客户端攻击框架的秘密(一)


四、BeEf功能及作用介绍

BeEF 客户端攻击框架的秘密(一)


Details(浏览器信息):当受害者执行hook.js脚本后,脚本会自动收集受害者的浏览器信息。

Logs(操作记录):相当于一个鼠标和键盘的记录器,但是它的作用域只在执行了hook.js脚本的Web网页。

Commands(指令模块):里面提供了很多命令攻击模块,我们可以通过这些指令模块去控制受害者的浏览器。

咱们看看最重要的Commands模块是长啥样的。

BeEF 客户端攻击框架的秘密(一)


BeEF 客户端攻击框架的秘密(一)


BeEF 客户端攻击框架的秘密(一)


可以看到Comands表的命令模块前都有颜色标记,其实每个颜色都有它的含义的。

绿色:表示能够在目标浏览器上执行,并且用户是不会发现的。

橙色:表示能够在目标浏览器上执行,但是用户会发现的,比如说弹窗,提示,跳转等操作。

灰色:表示可能可以在目标浏览器上执行。

红色:表示不能在目标浏览器上执行。

以上的部分模块虽然说是能够在目标浏览器上执行,但并不意义着一定能执行成功,返回结果。

例如,如下图所示,发现CPUS的指令,执行后返回的结果是没有安装,那是因为目标的受害者,并未安装支持检测CPU的服务,但是实际上目标的受害者机器上是有安装CPU的。

BeEF 客户端攻击框架的秘密(一)



分享到:


相關文章: