Citrix Receiver 简介:
Citrix Receiver 是一种轻便的通用软件客户端,并带有类似浏览器的可扩展“插件”架构。Receiver 标 配 有 多 种 可 选 插 件 , 可 在 Citrix Delivery Center 产 品 系 列 ( 如 :XenApp 、 XenDesktop 、 Citrix Access Gateway 和 Branch Repeater)中与前端基础设施进行通信。这些插件支持的功能包括在 线和离线应用、虚拟桌面交付、安全访问控制、密码管理、应用加速、多媒体加速、 服务级监测以及语音 通信。
0x01: 前言:
如果对 Citrix receiver 或者其他云桌面平台熟悉的话,那么本文才有其价值所在,否则就会认为是篇 鸡肋文章,即使如此,依旧建议走马观花过一遍,缘分很是奇妙,可能哪天你就会遇到这样的环境。
用户登陆平台点击对应的连接方式,即可在用户端打开服务器端上面的应用程序进行本地操作, 应用系统连接方式 主要是各类主流浏览器,如 IE、火狐、Google chrome 等,可参考下图:
主机系统连接方式主要是远程类终端进行登录,如:mstsc、putty、SecureCRT等。本文主要是利用应用系统映射的浏览器进行渗透,系统的可参考
备注:
Citrix Receiver是一种轻便的通用软件客户端,并带有类似浏览器的可扩展“插件”架构。Receiver标配有多种可选插件,可在Citrix Delivery Center产品系列(如:XenApp、XenDesktop、Citrix Access Gateway™和Branch Repeater™)中与前端基础设施进行通信。这些插件支持的功能包括在线和离线应用、虚拟桌面交付、安全访问控制、密码管理、应用加速、多媒体加速、 服务级监测以及语音通信。
0x02: 浏览器利用点
2.1 越权/SSRF
由于地址栏是可控,且浏览器功能也是完整的,所以可以通过修改授权的应用系统地址去访问他人的系统,该漏洞可以认为是越权漏洞,由于这些操作都是通过服务器请求完成的,因此也可认为是服务器端请求伪造。但是这个漏洞危害主要是越权访问他人系统,以及探测他人服务器的端口信息,但是由于接入的系统都是经过基线检查才接入的,所以弱口令几率很小,该点不容易利用来进入到系统。
2.2 文件读取
文件读取主要是利用file协议,可读取服务器中公共盘中的文件,如图:
2.3 服务器端工具调用
服务器端工具调用主要是利用火狐浏览器对应用程序的处理方式,通过不断尝试发现使用telnet:///可以调用服务器上面的应用程序(火狐可以调用应用程序,Google可以调用telnet终端),如图:
后面通过翻阅火狐浏览器配置发现了是由于火狐对应用程序的处理,如图:
后面尝试irc、ircs、webcal、mailto均可以,但是只对火狐浏览器有效,如图:
但是由于服务器对自己C盘做了限制,虽然可以使用file读取C盘文件,但是无法调用服务器上面的应用程序,直接如图:
如果直接调用本地磁盘上面的应用程序,显然权限是不够的,不然的话所有客户端还不是直接被控制了,调用失败如图:
2.4 默认关联打开powershell
通过查看自己电脑上面的关联程序,发现.psc1默认关联PowerShell,如图:
2.5 生成psc1文件
psc1文件可以使用Export-Console来进行生成,在powershell里面执行Export-Console F:\x.psc1即可得到一个psc1文件,如图:
PS F:\浏览器> Export-Console x.psc1
PS F:\浏览器> type .\x.psc1
<?xml version="1.0" encoding="utf-8"?>
<PSConsoleFile ConsoleSchemaVersion="1.0">
<PSVersion>5.1.17134.858</PSVersion>
<PSSnapIns />
</PSConsoleFile>
PS F:\浏览器>
由于我本地生成的psc1文件里面配置的版本过高,导致第一次没有成功,通过修改版本为3.0即可成功,如果3.0不行可修改为1.0试试。
<?xml version="1.0" encoding="utf-8"?>
<PSConsoleFile ConsoleSchemaVersion="1.0">
<PSVersion>3.0</PSVersion>
<PSSnapIns />
</PSConsoleFile>
1. 火狐浏览器getPowerShell
火狐浏览器可以直接通过file展示的文件双击即可获取powershell,如图:
为了证明此shell不是本地的,截图证明:
另外还可以通过telnet那几个协议来进行调用本地的psc1来获取服务器端的powershell,如图:
虽然不显示psc1文件,但是我们可以直接再文件名那里进行选择即可,如图:
2. IE浏览器getPowerShell
由于服务器的IE浏览器禁用了地址栏,禁用了鼠标右键以及菜单、设置等功能,因此本处使用本地浏览进行测试,IE浏览器直接访问,会提示下载,如图:
然后点击保存或者打开都行,如图:
3. Google浏览器getPowerShell
通过file点击下载之后进行打开,如图:
1.1 获取powershell之后
通过上述获取到powershell,那么就可以进行下一步的横向渗透或者调用任意工具,同时也绕过了系统对C盘的限制,如图:
由于系统是超重要系统,因此未进行提权操作!但是可以参考90sec中的大神的一篇文章
1.2 Firefox / Google浏览器SSRF内网端口扫描
使用Firefox或Google浏览器访问telnet:///,第一个应用程序就是默认的telnet终端,如图:
打开链接即可进入到telnet终端,由于服务器做了限制,本处使用本地测试,如图:
1.3 修复建议
-
设置权限控制,对用户访问的资产进行白名单限制,白名单外的资产拒绝访问!
-
最小化原则,禁用相关功能,如禁用鼠标右键、不显示地址栏、不显示菜单栏等,如图:
- 通过
- 未通过