kali之beef的使用

目录

  • 一、beef介绍
  • 二、kali下使用beef
    • 配置beef
    • 实际操作

一、beef介绍

BeeF是前欧美最流行的web框架攻击平台,kali 集成Beef,而且Beef有很多好使的payload。例如,通过XSS这个简单的漏洞,BeeF可以通过一段编制好的javascript控制目标主机的浏览器,通过浏览器拿到各种信息并且扫描内网信息,同时能够配合metasploit进一步渗透主机,强大的有些吓人。
beef也是属于c/s结构,具体看图
kali之beef的使用_第1张图片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
kali之beef的使用_第2张图片
开启BeEF服务器(可以命令行beef-xss打开或者应用程序打开),接着用浏览器访问管理页面http://192.168.133.131:3000/ui/panel, 使用设置的用户/密码登录。
kali之beef的使用_第3张图片
接着访问有勾子的页面http://192.168.133.131:3000/demos/basic.html 这里的主机名和端口号要按照你设置的来修改, 这里要注意一下kali下beef版本的勾子不支持IE8,最新版或者旧一些的版本可以。所以要使用其他浏览器来访问有勾子的页面。
下面给出一个写有勾子的页面,把创建文件test.html,并把下面内容写到其中:



  
 
 Hello World  

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

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

你可能感兴趣的:(网络安全)