浏览器渗透框架BeEF使用笔记(一)
0x00 前言
BeEF,全称The Browser Exploitation Framework,是一款针对浏览器的渗透测试工具。 用Ruby语言开发的,Kali中默认安装的一个模块,用于实现对XSS漏洞的攻击和利用。
BeEF主要是往网页中插入一段名为hook.js的JS脚本代码,如果浏览器访问了有hook.js(钩子)的页面,就会被hook(勾住),勾连的浏览器会执行初始代码返回一些信息,接着目标主机会每隔一段时间(默认为1秒)就会向BeEF服务器发送一个请求,询问是否有新的代码需要执行。BeEF服务器本质上就像一个Web应用,被分为前端和后端。前端会轮询后端是否有新的数据需要更新,同时前端也可以向后端发送指示, BeEF持有者可以通过浏览器来登录 BeEF 的后端,来控制前端(用户的浏览器)。BeEF一般和XSS漏洞结合使用。
官网: https://beefproject.com
wiki: https://github.com/beefproject/beef/wiki
框架:
启动以后
登录名和密码默认都是:beef
0x02 界面介绍
登录成功后,这里会显示在线的主机和不在线的主机。在线的就是现在该主机浏览器执行了我们的JS脚本代码,不在线的就是该主机曾经执行过我们的JS脚本代码,但是现在叉掉了该页面
单击打开一个主机
我们点击当前在线的主机,然后右边会有选择框,我们点击 Current Browser ,然后下面就有一些功能项:Details、Logs、Commands、Rider、XssRays、Ipec、Network、WebRTC
Details是浏览器信息详情
Logs能记录你在浏览器上的操作,点击,输入操作都能记录
Commands是你能对该浏览器进行哪些操作
我们点击Command,这里有一些我们可以使用的功能分类,一共有12个大的功能
在每个模块之前,您将看到具有不同颜色的子弹。在内部,BeEF会检测您挂接的浏览器并知道每个浏览器上正在使用哪些模块:
- 绿色:命令模块对目标起作用,对用户应该是不可见的
- 橙色:命令模块对目标起作用,但可能对用户可见
- 灰色:尚未针对此目标验证命令模块
- 红色:命令模块不适用于此目标
注意,红绿灯系统指示命令模块是否在僵尸浏览器和僵尸浏览器使用的底层操作系统上工作; 但是,该模块可能有其他要求,例如存在第三方浏览器插件(如Flash),可能需要在特权区域内执行,例如chrome://
,或者可能需要存在第三方库,如PhoneGap API。
默认情况下JS注入附带缓存投毒功能,将视图缓存所有的页面至2099年,但可以通过清除所有缓存及浏览数据来清除缓存投毒的影响。
js缓存投毒说白了就是受害者的浏览器缓存了一个被我们篡改的js脚本,如果缓存没有被清除,每次这个受害者访问网页的时候都会加载我们的js脚本。js缓存投毒说白了就是受害者的浏览器缓存了一个被我们篡改的js脚本,如果缓存没有被清除,每次这个受害者访问网页的时候都会加载我们的js脚本。
------------------------------------------------------------------------------------