『渗透测试』electron投毒简介
日期: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和npmhttps://blog.csdn.net/ZHANGYANG_1109/article/details/1212295812.安装asarnpm install -g asar3.安装typeorahttps://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
免责声明:本文仅供安全研究与讨论之用,严禁用于非法用途,违者后果自负。
文章来源:宸极实验室
黑白之道发布、转载的文章中所涉及的技术、思路和工具仅供以安全为目的的学习交流使用,任何人不得将其用于非法用途及盈利等目的,否则后果自行承担!
如侵权请私聊我们删文
END
华盟君