首页   

手工逆 Chrome 扩展后门的一些思路

懒人在思考  · 黑客  · 6 年前

昨天看到 V2EX 上的这个讨论:


大家注意了 Chrome 的插件 User-Agent Switcher 是个木马

https://www.v2ex.com/t/389340


对于我这种很在意隐私与安全,且研究过 Chrome 扩展木马的老司机来说,也还是吓了一跳。刚开始以为自己也中招了,后来发现没有,如果有,那这个确实是很细思恐极的事。


Chrome 扩展,在 Google 那是有安全审计的,所以基本上会觉得靠谱,但是对于玩安全的我们来说,都是默认抱着怀疑的态度去安装一些扩展。你们只要注意下,那些你安装的扩展需要的权限是不是很多?(这点很像 Android App 的权限生态,同样的陋习)。如果这些扩展是恶意的或者存在 XSS、MITM 等漏洞被恶意利用,那么危害就很大了。扩展的权限是大于网页的(但一般情况下小于本地文件),至少可以无视同源策略。这意味着,如果你安装了一个恶意扩展,那么在这个浏览器的一切行为都有可能被监控,隐私数据都有可能被盗取。


当年我挖掘过一些扩展漏洞,达到的效果如:访问我的一个链接,就可以拿你 Gmail 权限。也写过扩展后门及相关安全工具,早期这方面更不安全,第三方扩展都可以随意安装,现在安装会麻烦得多,但不是不可以。


这是我玩 Chrome 扩展的一些见解。这次这个后门,我手工逆起来很快,给大家简单分享下经验。


首先是后门扩展地址:


https://chrome.google.com/webstore/detail/user-agent-switcher-for-g/ffhkkpnppgnfaobgihpdblnhmmbodake


可以随便搜索个 Chrome 扩展下载服务把扩展文件下载下来分析。比如这个:


https://chrome-extension-downloader.com/


扩展后缀是 crx,改为 7z,解压就好。


解压后,直接去读相关文件:js、html、json 等,可以先看看 manifest.json 文件,这里做了这个扩展需要的基本声明,尤其是权限,如下:



可以看到这个权限已经足够控制你 Chrome 的一切网络行为了,只要它愿意。


然后直入主题去看这次出问题的 js 文件:background.js,第 80 行,这行是一大段代码,做了些加密操作,可以用我开源的 XSS'OR(http://xssor.io)直接去解。


把这行代码粘贴到 XSS'OR 的 ENCODE/DECODE 的文本框去,然后点击 JS BEAUTIFY 就可以一键解密并美化。


美化后,里面的 Canvas 操作逻辑就很明显了,恶意代码隐藏在图片 promo.jpg 里,通过 Canvas 技术读取出来并应用下面这个技巧来动态执行:


document.defaultView[(typeof r.Ae).charAt(0).toUpperCase() + (typeof r.Ae).slice(1)](n)()


实际上,这个技巧等于:


document.defaultView[Function](n)()


n 这个变量可以是任意一段 JavaScript 代码。


我们在做调试时,可以把这些代码片段拿出来,在 XSS'OR 的 ENCODE/DECODE 里进行,用其中的 EVAL CODZ 功能就好(在 JS BEAUTIFY 按钮旁边)。调试输出,可以用 alert,也可以 console.log,看个人喜好。


不过由于这里涉及到从图片里获取数据并解析输出,我还是写了个独立页面进行手动调试,这里:


http://xssor.io/s/uasbackdoor.html


注:独立页面的调试可以考虑用在 Chrome 开发者工具里去断点调试跟踪输出。


你可以访问看看,等几秒,就可以看到上面那个 n 变量的内容了(来自 promo.jpg 图片并解析后的)。内容不小,如图:



这段内容很眼花,但是我们已经可以接触到真相了。后续可以继续通过 XSS'OR 的 JS BEAUTIFY 去美化,但是还是会很眼花,因为所有变量都加花了,而且这里运用了大量 ES6 语法糖,如果对 JavaScript 新标准不了解,看这段代码很容易晕。


到这,重复上面的一些调试技巧逐一耐心调试,没有解不开的代码。


如果你想更清晰了解某些代码片段的意思,有必要好好去了解下 Chrome 扩展开发的一些知识。


更多细节自己实战起来吧,这里懒得展开。通过昨晚的简单调试可以得出结论这个扩展确实具备后门特点,不过懒得深入判断细节逻辑,至于危害是多大,目前不好说。但是,我还是希望通过本文的分享,告诉大家小心 Chrome 恶意扩展带来的威胁,在使用一些不那么可信的扩展时,多留意。可以开个网络抓包分析是否有怪异请求发出去,能力 OK 的话,就自己审计一番,扩展的源码按照如上方式是可以轻易得到的,毕竟都是前端那些事。




继续广告,如果你想及时跟进一些安全事件、学习交流一些安全技能,可以加入我们开的付费圈子“安全技能树”。:)



-----------------

微信公众号「Lazy-Thought

几个黑客在维护,都很懒,都想改变点什么

推荐文章
智汇光伏  ·  超大子阵,全国首台8.8MW逆变器投运!  ·  7 月前  
券商中国  ·  刚刚,衡水警方通报  ·  2 年前  
网易公开课  ·  再见,宋丹丹……  ·  3 年前  
中国科学院微生物研究所  ·  微生物所李寅研究组创制出用于高效生物制造的“ ...  ·  4 年前  
© 2022 51好读
删除内容请联系邮箱 2879853325@qq.com