笔者发现国内很少有体系介绍BeEF结构的文章,所以笔者决议写一个系列。内容触及进犯浏览器的技能,首要介绍这些技能的原理,并怎么操作BeEF来完成,不触及浏览器自身缝隙(门槛太高,笔者有心无力)。
准备常识
在看这个系列之前,读者更好要有必定常识储藏。首先是对HTTP协议(CORS、 CSP等)要有必定的了解,其次是了解Web安全的常见进犯技能的原理和防护办法(比方XSS、CSRF、SQL inject等), 最终假如读者懂javascript言语就更好(可选,笔者的js也不咋地)。笔者以为学习BeEF结构的难度大约和学习Metasploit、 Burp Suite 的难度差不多。
下面给出学习这些常识的参阅:
HTTP 协议相关文档: https://developer.mozilla.org/zh-CN/docs/Web/HTTP
浏览器进犯技能原理: 黑客攻防技能宝典浏览器实战篇 (书)
BeEF 结构相关文档: https://github.com/beefproject/beef/wiki
同源战略
提到进犯浏览器,那么就必定要说同源战略(Same Origin Policy, SOP)。 同源战略是用于约束不同来历的资源之间的交互。在浏览器上界说了关于不同的页面,假如他们的主机名、协议和端口都相同,即为同源。记住三个要素主机名、协议和端口。来个比如:
http://www.A.com/index.html 的js是不能读/写 http://www.B.com/index.html, https://www.A.com/index.html, http://www.A.com:8080/index.html 的内容。
BeEF结构
BeEF( The Browser Exploitation Framework) 是由Wade Alcorn 在2006年开端创立的,至今还在保护。是由ruby言语开发的专门针对浏览器进犯的结构。这个结构也归于cs的结构,详细能够看下图:
zombie(僵尸)即受害的浏览器。zombie是被hook(勾连)的,假如浏览器拜访了有勾子(由js编写)的页面,就会被hook,勾连的浏览器会履行初始代码回来一些信息,接着zombie会每隔一段时间(默以为1秒)就会向BeEF服务器发送一个恳求,问询是否有新的代码需求履行。BeEF服务器本质上就像一个Web运用,被分为前端UI, 和后端。前端会轮询后端是否有新的数据需求更新,一起前端也能够向后端发送指示, BeEF持有者能够经过浏览器来登录BeEF 的后台办理UI。
BeEF 装置和装备
BeEF 需求ruby 2.3 + 和 SQLite (或许mysql/postgres)。
在kali下运用BeEF
kali默许现已装置BeEF了。BeEF是Favorites 菜单中的一个(能够看出它的受欢迎程度和位置了),其标志是一个蓝色的公牛。指令是beef-xss:
翻开五秒后,它还会运用浏览器翻开办理页面的UI,默许帐号暗码是:beef/beef,默许办理页面的UI 地址是:http://127.0.0.1:3000/ui/panel
kali现已把beef-xss做成服务了,引荐运用systemctl 指令来发动或封闭beef服务器
systemctl start beef-xss.service #敞开beefsystemctl stop beef-xss.service #封闭beefsystemctl restart beef-xss.service #重启beef
在ubuntu17.10中装置BeEF
假如仅仅作为测验或许学习,运用kali中beef就现已足够了。假如是期望在实在环境中运用,那么就需求一台具有独立ip的主机(能被拜访),下面笔者介绍在一台vps,体系是ubuntu 17.10体系中装置的进程, 假如没有vps, 能够越过这一部分。
首先在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服务器会更好。
[1] [2] 黑客接单网
前语 php代码审计介绍:望文生义便是查看php源代码中的缺陷和错误信息,剖析并找到这些问题引发的安全漏洞。 1、环境建立: 工欲善其事必先利其器,先介绍代码审计必要的环境建立 审计环境 window...
中国黑客联盟的安全工程师上周透露,中国黑客联盟产品的持续安全改进终于开始见效。 中国黑客联盟的安全工程师Matt Miller在以色列举行的BlueHat安全会议上的一次演讲中说,现在广泛和...
1 安全事情 最近阿里云服务器后台办理体系中收到一条安全提示音讯,体系装备信息走漏: http://my.domain.com/.git/config 能够被公网无认证即可拜访,请修正。...
近来,深服气安全团队捕获到一同高度个性化的垂钓进犯事情,进犯者针对用户企业假造了多份带有专业内容的进犯文档,经过邮件发送到方针邮箱,妄图诱导用户翻开附件中的文档。 经安全专家剖析,该文档其实为带有缝隙...
本篇文章叙述了我怎么发现一个缝隙运用点,而且能够bypass现有安全机制,使我取得5位数赏金。 一个古怪的HTML注入事例 AndréBaptista和Cache-Money正在研讨一个十分风趣的缝隙...
假如你还没听说过SSTI(服务端模版注入),或许对其还不够了解,在此之前主张咱们去阅览一下James Kettle写的一篇文章。 作为一名专业的安全从事人员,咱们的作业便是协助企业安排进行危险决议计划...