笔者发现国内很少有体系介绍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] 黑客接单网
很多年来,网络黑客的影响力也发生了转变,稍早她们仅仅犯罪嫌疑人,今天有网络黑客为社会事业(网络黑客个人行为现实主义者)工作中,表述被压...
在线破解更改了当地破译那类处于被动的破译方法,要是是线上的QQ号码都可以破译,应用领域范围广。但是因为它依然选用穷举法专业技能,因此在枚举类型密匙十位数长短及其种类时,校...
本篇文章叙述了我怎么发现一个缝隙运用点,而且能够bypass现有安全机制,使我取得5位数赏金。 一个古怪的HTML注入事例 AndréBaptista和Cache-Money正在研讨一个十分风趣的缝隙...
近来,深服气安全团队捕获到一同高度个性化的垂钓进犯事情,进犯者针对用户企业假造了多份带有专业内容的进犯文档,经过邮件发送到方针邮箱,妄图诱导用户翻开附件中的文档。 经安全专家剖析,该文档其实为带有缝隙...
存眷PHP缝隙的同伙必定知道LFI+phpinfo可以搞出一个webshell。 LFI这个条件还算异常,但phpinfo这个照样比较难凑的,所以有点鸡肋。接下来,我共享一个……异常鸡肋的思绪……人人...
Web Application Protection(WAP)是用于源代码静态剖析和数据发掘的一个东西,WAP首要检测运用PHP(4.0版别及以上)编写的web应用程序,而且由于它的误报率很低而遭到...