浏览器进犯结构BeEF Part 1

访客5年前黑客资讯1193

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

相关文章

恣意用户暗码重置(三):用户混杂

在逻辑缝隙中,恣意用户暗码重置最为常见,或许出现在新用户注册页面,也或许是用户登录后重置暗码的页面,或许用户忘掉暗码时的暗码找回页面,其间,暗码找回功用是重灾区。我把日常浸透过程中遇到的事例作了缝隙成...

针对非Webapp测验的Burp技巧(二):扫描、重放

在本系列连载的第一节中,笔者谈到了关于burp对非webapp的功用测验。原本我只想写点东西共享出来,并没想到会扯出那么多。现在嘛,我还会持续写下去。 在这一节中,我会讲一讲: Target >...

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

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

怎么使用神经网络和Python生成指定形式的暗码

今日给咱们介绍的是Github上一个名叫PyMLProjects的项目,这个项意图意图是为了练习AI来学习人类结构暗码的形式,然后咱们就可以用AI来生成许多同一形式或品种的暗码了。这种办法或许可以用...

2FA双要素认证之Authy

现如今网络环境越来越杂乱,黑客的进犯手法多样化,发作了越来越多的账号暗码走漏事情,然后要挟到用户信息乃至产业安全。在如此杂乱的安全形势下,咱们需求考虑更多的是用户信息的安全问题,而用户的账户暗码作为信...