前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Electron安全篇告一段落

Electron安全篇告一段落

作者头像
意大利的猫
发布2024-05-17 20:00:51
650
发布2024-05-17 20:00:51
举报
文章被收录于专栏:漫流砂漫流砂

大家好,我们是 NOP Team

我是意大利的猫,我猜这段时间更新的文章内容以及频率已经让部分朋友感觉对厌烦了,本地文件读取漏洞那篇文章就是本系列的最后一篇了,如果以后遇到新的安全问题,可能还会更新,在这里我要交代一下这么做的背景

前一段时间我想练习练习桌面开发,所以捡起了之前丢了一段时间的 Electron ,看了几遍 Electron 官方的最佳安全实践文档,想起了曾经 Goby 爆出来那个反制的漏洞,出于好奇,了解了一下,之后又出于好奇,看了一下系统上安装的 Electron 开发的程序的安全情况 相信结果大家在 《Electron 安全与你我息息相关》那篇文章中看到了,在安全方面国内外对比非常明显,国外的 App ,例如 VSCode 、 Discord 、 Signal 在安全配置、Electron 版本、Fuse等方面是明显要强于国内的这些程序的,当然了,对比并不是完全公平的,毕竟也就是拿出来 10 几款程序对比,也不是同类型程序 我们作为安全人员,对危险的嗅觉更敏感,国内 Electron 开发的程序采用这种不够安全的配置,不够安全的版本的行为让我感到深深的不安,更为关键的是,用户对此一无所知,即使是安全从业者 开发者直接将安全威胁直接抛给了用户,用户的选择只有接受和不用两种,我觉得这不是负责任的行为,所以我不得不站出来做这件事情,让用户能够以最简单的方式判断程序的脆弱性,了解使用该款程序带来危害的可能性

同时我们分析了 Electron 的漏洞史、Electron 开发的程序的漏洞史,对 Electron 官方提出的最佳安全实践进行了详细的解析、测试、拓展,还帮助 Electron 官方发现了潜在的 0day 漏洞

这和当初我写 JavaScript 逆向、请求/返回参数加密逆向的文章情况是一样的,广大的安全测试人员还没有多少去研究这件事,很多人遇到就不搞了,反而是与钱接触更紧密直接的搞爬虫的这帮人在拼命研究,这会给网站/程序的安全性带来非常大的麻烦

所以我不得不站出来,提出 JS 逆向技术会成为渗透测试工程师与红队检测相关人员的必备技能,还有 Electron 安全与你我息息相关 这两个观点,并写文章阐述

所以从 2024 年 3 月 28 日到今天 2024 年 5 月 15 日,我们用了 48 天时间,写了 20 篇文章来阐述 Electron 安全与你我息息相关这件事,希望大家理解

我的朋友秋平在看过 《Electron 安全与你我息息相关》这篇文章后,给出了排查系统上存在的 Electron 开发的程序的命令,我在这里稍微修改后传递给大家

代码语言:javascript
复制
// MacOS
find /Applications -type d | grep Electron | awk -F ".app" '{print $1}' | uniq

// 我补充一个
mdfind "kMDItemCFBundleIdentifier == '*electron*'"
代码语言:javascript
复制
# Windows
$directoriesToSearch = 
    "C:\Program Files",
    "C:\Program Files (x86)",
    "$env:APPDATA",
    "$env:LOCALAPPDATA"

foreach ($directory in $directoriesToSearch) {
    Get-ChildItem -Path $directory -Recurse -Directory -ErrorAction SilentlyContinue | ForEach-Object {
        $resourcesPath = Join-Path $_.FullName "resources"
        if (Test-Path $resourcesPath) {
            $asarFileExists = Test-Path (Join-Path $resourcesPath "app.asar")
            $appDirectoryExists = Test-Path (Join-Path $resourcesPath "app")
            $defaultAsarFileExists = Test-Path (Join-Path $resourcesPath "default_app.asar")

            if ($asarFileExists -or $appDirectoryExists -or $defaultAsarFileExists) {
                Write-Host "潜在的Electron应用发现于: $($_.FullName)"
            }
        }
    }
}
代码语言:javascript
复制
# Linux 

sudo find "/" -path "*resources/*" \( -type f -name "app.asar" -o -type d -name "app" -o -type f -name "default_app.asar" \) -exec echo {} \; 2>/dev/null | awk -F "/resources/" '{print $1}' | sort -u | uniq

Electron 安全系列文章已经全部上传到百度网盘,并同步到 Github 上了

https://github.com/Just-Hack-For-Fun/Electron-Security

我将这 20 篇文章在公众号上做了一个合集,地址为

https://mp.weixin.qq.com/mp/appmsgalbum?__biz=MzU1NDkwMzAyMg==&action=getalbum&album_id=3457633780112556033#wechat_redirect

我将 20篇 PDF 直接拼接成了一份,地址如下

https://pan.baidu.com/s/1pV3CksddnWDoQ0pcNZ3Phw?pwd=gqvz

本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2024-05-15,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 NOP Team 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
相关产品与服务
网站渗透测试
网站渗透测试(Website Penetration Test,WPT)是完全模拟黑客可能使用的攻击技术和漏洞发现技术,对目标系统的安全做深入的探测,发现系统最脆弱的环节。渗透测试和黑客入侵最大区别在于渗透测试是经过客户授权,采用可控制、非破坏性质的方法和手段发现目标和网络设备中存在弱点,帮助管理者知道自己网络所面临的问题,同时提供安全加固意见帮助客户提升系统的安全性。腾讯云网站渗透测试由腾讯安全实验室安全专家进行,我们提供黑盒、白盒、灰盒多种测试方案,更全面更深入的发现客户的潜在风险。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档