????全文概览
????简介
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服务器
systemctl start beef-xss.service #开启beef systemctl stop beef-xss.service #关闭beef systemctl restart beef-xss.service #重启beef
????公网安装
在公网Ubuntu17下安装beef
首先在vps中,初始用户一般是root。root是没法安装某些ruby的一些扩展包(考虑到安全问题),所以需要一个降权的用户。 #创建一个beef的用户 useradd -m -d /home/beef -s /bin/bash beef #设置beef的密码,最好使用强密码 passwd beef #把beef用户加入sudo, root 组 usermod -aG root,sudo beef #转到beef用户 su beef 接着就是安装beef了 #进入家目录 cd #获取源文件 wget https://github.com/beefproject/beef/archive/master.zip sudo apt update && sudo apt upgrade -y && sudo apt install unzip ruby ruby-dev -y #解压master.zip unzip master.zip cd beef-master #安装beef ./install 笔者在安装过程中遇到/var/lib/gems/2.3.0, /usr/local/bin 这两个目录没有写权限的错误,下面是解决方法 sudo chmod g+w /var/lib/gems/2.3.0 sudo chmod g+w /usr/local/bin #再次运行 ./install 把beef从sudo, root 组中移除 #运行 sudo chmod g-w /var/lib/gems/2.3.0 && sudo chmod g-w /usr/local/bin sudo gpasswd -d beef root && gpasswd -d beef sudo 最后运行beef, 建议别使用root来运行beef服务器, 既然已经创建了一个id为beef的用户,那么以后都以这个用户来运行beef服务器会更好。 #进入beef所在目录 cd /home/beef/beef-master #以后台模式运行beef服务器,且即使ssh断开了,也不影响beef 服务器。 nohup ./beef &