浏览器进犯结构BeEF Part 1

访客5年前黑客资讯1194

笔者发现国内很少有体系介绍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]  黑客接单网

相关文章

运营商互联网事务暴出面安全

关于一个战士来说,最大的愿望便是能上战场真刀实枪的干上一战,相同关于一名安全人员来说,自己规划、建造的通过层层防护的系统,假如没有经历过一次进犯,难免有点索然寡味。在许多的甲方傍边,运营商互联网事务暴...

你不在意的HTTPS证书吊销机制-黑客接单平台

缘起偶刷《长安十二时辰》,午睡时,梦到我穿越到了唐朝,在长安城中的靖安司,做了一天的靖安司司丞。当徐宾遇害消失的时分我不在司内,其时的景象我不得而知。后来徐宾醒了,据他描述说“通传陆三”是暗桩,几乎致...

PDO 避免SQL注入的原理

 当说到防止SQL注入的办法时,脑海中总是会想到运用PDO绑定参数的办法或许运用mysql_real_eascape_string()来处理(尽管陈旧的 mysql_XXX 这类的函数现已不主张运用)...

怎么打造“钢筋混凝土”型的网络环境

简化、优化你的补丁办理 许多进犯机制,都是针对未修补的体系。所以,不论你的网络是否对外开放,都应该定时更新操作体系和应用程序。尽管这个主张归于陈词滥调,但从另一个旁边面也说明晰该主张的重要性。 关于W...

把PHP LFI缝隙变为Webshell的形式

存眷PHP缝隙的同伙必定知道LFI+phpinfo可以搞出一个webshell。 LFI这个条件还算异常,但phpinfo这个照样比较难凑的,所以有点鸡肋。接下来,我共享一个……异常鸡肋的思绪……人人...

网页挂马常见缝隙剖析与检测

一、CVE-2019-8373缝隙的开始剖析 2019年8月15日,趋势科技发表了他们发现的一同浏览器缝隙进犯事情。在检测到的进犯流量中,进犯者运用了cve-2019-8373这个缝隙来进犯IE浏览器...