• BeEF 安装使用


     

    简介

    Browser Exploitation Framework,由Wade Alcorn 在2006年开始创建的,至今还在维护,由Ruby语言开发,是一个专注于Web浏览器的渗透测试工具。

    架构

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

    Requirements

    操作系统:Mac OSX >=10.5.0或Linux。注意:不支持Windows。

    Ruby:>=2.5

    SQLite的:3.x

    Node.js:>=10

    Gemfile:https://github.com/beefproject/beef/blob/master/Gemfile

    OSX上:Selenium

    安装

    kali linux

    1. 默认安装BeEF,命令是beef-xss,如果提示命令不存在,就自己装一个

    2. apt install beef-xss #安装

    beef-xss #启动

    systemctl start beef-xss.service #开启beef服务

    systemctl stop beef-xss.service #关闭beef服务

    systemctl restart beef-xss.service #重启beef服务

    配置

    配置文件路径: /usr/share/beef-xss/config.yaml,建议修改字段如下,每个人视自己需求机动调整:

    #指定某个网段,只有在这个网段的浏览器才能被hook

    permitted_hooking_subnet: "0.0.0.0/0"

    #指定某个网段,只有在这个网段的浏览器才能访问管理UI

    permitted_ui_subnet: "0.0.0.0/0"

    #上面这两项都是可以被绕过的,只要使用X-Forwarded-For首部绕过,一般不需要设置

    #设置beef服务器的主机, 如果有自己的域名, 那么可以设置自己的域名, 没有就使用默认

    host: "0.0.0.0"

    #设置beef服务器监听的端口, 可以自己定一个,比如8080, 记得端口号需要大于1024

    port: "3000"

    #受害浏览器轮询beef主机的时间, 默认为1秒,可以设置为更低。

    xhr_poll_timeout: 1000

    # 让BeEF运行在一个反向代理或者NAT环境下才需要设置的

    #public hostname/IP address

    public: ""

    #experimental

    public_port: ""

    #管理页面的URI, 默认是/ui, 建议修改,这样就不会让别人找到你的管理页面

    web_ui_basepath: "/ui"

    #hook_file 的名称, 建议修改, 可以修改为jquery.js之类的来提升隐蔽性

    hook_file: "/hook.js"

    #管理页面登录的用户名和密码, 这个一定要改,两个都改是最好的

    credentials:

    user: "beef"

    passwd: "beef"

    使用

    1. 修改监听的ip地址为kali的ip:192.168.136.130 (每个人机器的IP不同,请自行修改为自己的)

    1. 访问有hook的示例页面

    http://192.168.136.130:3000/demos/basic.html

    注意:此页面中含有hook.js

    源码如下:

    1. 查看BeEF 管理界面,如下图

    command:执行各种操作,选中命令-->右下角excute执行,如执行弹框

    在内部,BeEF可以检;测出哪些命令模块可以在当前受害的浏览器工作, 并用颜色表示:

    绿色:命令模块可以在目标浏览器上运行,且用户不会感到任何异常

    橙色:命令模块可以在目标浏览器上运行,但是用户可能会感到异常(比如可能会有弹窗,提示,跳转 等)

    灰色:命令模块尚未针对此目标进行验证,即不知道能否可运行

    红色:命令模块不适用于此目标

    BeEF的入门使用就是这么简单,所有的功能都已经写好了,我们只需要选择模块,设置参数(有时不需要),点击Execute 就可以了。 当然必须知道这些模块的作用才行。

    附:依赖的GEOIP安装

    1、下载

    https://github.com/maxmind/geoipupdate/releases/download/v4.3.0/geoipupdate_4.3.0_linux_amd64.deb

    2、放入共享文件夹

    3、安装:

    dpkg -i /mnt/hgfs/geoipupdate_4.3.0_linux_amd64.deb

    参考资料:https://www.freebuf.com/author/

    image

     

  • 相关阅读:
    mysql非安装包安装教程
    HTML和CSS <h1> --3-- <h1>
    HTML和CSS <h1> --2-- <h1>
    HTML和CSS <h1> --1-- <h1>
    软件工程之四则运算总结
    图论算法 有图有代码 万字总结 向前辈致敬
    【万里征程——Windows App开发】使用Toast通知
    【万里征程——Windows App开发】设置共享(共享源和共享目标)
    【万里征程——Windows App开发】如何使用粘贴板
    【万里征程——Windows App开发】在应用中集成搜索
  • 原文地址:https://www.cnblogs.com/emma-lucas/p/13212120.html
Copyright © 2020-2023  润新知