基于Chrome扩展插件的后门技术实现

免责声明:由于传播、利用本文所发布的而造成的任何直接或者间接的后果及损失,均由使用者本人承担

前言

​ 起因是最近对钓鱼比较感兴趣,恰好又关注到了将军手下黑客盗ETH这件事,一股邪念涌出但是我压制回去了。想到自己也搞一个钓鱼,留着打攻防的时候看看能不能用上,思来想去夜不能寐想到了一个场景:

​ 通过钓鱼,或者漏洞利用,拿下了一台员工的机器,根据Chrome当前的市场占比以及实际情况,如果有WEB业务需要使用,几乎百分之99的人都会有。比如说OA,VPN,堡垒机,各种安全设备的面板等等等,它百分之99用的是Chrome浏览器。这样我搞一个恶意的插件加载进去,实现键盘记录或者搜集一些信息搞点钓鱼什么的,之后它就诞生了,我给他取名为:fkc(FuckChrome)

​ Github: https://github.com/Seven1an/fkc

START

​ 原理:

​ 1.通过终端启动chrome并加载恶意插件

​ 2.插件将用户的请求以及按键情况,发送到监听服务

​ 3.监听的服务再将发来的内容写入到文件中保存

演示

​ 使用cs进行演示来更贴近实际情况

​ 这里我已经写好了chrome插件

image-20250226105256633

​ 监听服务我使用go来实现的,刚开始用的php,后面考虑到实际实践情况可能会很麻烦,感觉一劳永逸得了

image-20250226105813347

不管是插件还是监听端,代码量都不是很多,因为我目前实现的功能很少,仅有键盘记录+请求获取这两个功能,我想测试几个实际场景后再考虑是否继续深入研究,所以欢迎一起交流的师傅!

一、加载插件

​ 这里我已经将其上线到cs image-20250226110257177

​ 众所周知Chrome安装的时候是不能自定义安装路径的,这也方便了我们攻击者确定他在哪

image-20250226110502848

​ 确认到Chrome的绝对路径

image-20250226110640234

​ 通过Google的技术支持回复得知,可以通过--load-extension=<path-to-extension-folder>来加载插件启动Chrome

link:https://support.google.com/chrome/thread/205881926/it-s-possible-to-load-unpacked-extension-automatically-in-chrome?hl=en

image-20250226111021911

​ 再加载启动之前,查看浏览器确实没有任何插件

image-20250226111143916

先把插件传上去

image-20250226111428160

加载启动

image-20250226111922128

这个时候打开受害机,已经确认后门插件进行了添加

image-20250226112021339

当然为了伪装,可以把他改一下名字 换个头像之类的,比如说 什么什么广告拦截助手,网页清理大师,xx集团认证插件之类的

二、启动监听

​ 把编译好的exe放上去

image-20250226112303222

-p 指定监听端口,这个端口要和插件中的通信保持一致,如果放在外网ip也要改,这个就不演示了,因为我也没做测试

image-20250226112654519

image-20250226112732741

image-20250226112759628

为了更是实用,程序运行没有遗留窗口,完全静默在后台

image-20250226113102619

三、结果呈现

​ 这个时候,假装我是受害者,我现在需要登录堡垒机看一下日志

image-20250226113307850

然后我现在是攻击者,在cs中找到临时目录,也就是C:\Users\<当前用户名>\AppData\Local,可以看到多了两个文件,key_press.txtrequest_log.txt

image-20250226113446315

其实这里监听端也可以开在远程,但是考虑到了机器不出网的情况,所以本地这个目录稳妥一些

下载下来查看

image-20250226113606651

在request_log中,可以获得受害者访问的url信息

image-20250226113859629

在key_press中,可以得到受害者键盘输入信息

image-20250226114149925

这里就可以得到信息,

​ 受害者访问的路径是 http://192.168.100.11:8080/zg/v2/index/ROOT/login.jsp,

​ 还不是开在当前机器的,我用了一台Centos开的WEB

image-20250226114838966

​ 受害者输入的账号密码是:admin/Pzgjsaa1.

​ 这个时候改一下type去验证与实际是否准确

image-20250226114532894

完全准确,效果还可以

END

js能干的事情太多太多了,更多姿势有待开发!