Citrix Receiver简介
Citrix Receiver是一种轻便的通用软件客户端,并带有类似浏览器的可扩展“插件”架构。Receiver标配有多种可选插件,可在Citrix Delivery Center产品系列,如:XenApp、XenDesktop、Citrix Access Gateway和Branch Repeater中与前端基础设施进行通信。这些插件支持的功能包括在线和离线应用、虚拟桌面交付、安全访问控制、密码管理、应用加速、多媒体加速、 服务级监测以及语音通信。
0x00 前言
如果对Citrix receiver或者其他云桌面平台熟悉的话,那么本文才有其价值所在,否则就会认为是篇鸡肋文章,即使如此,依旧建议走马观花过一遍,缘分很是奇妙,可能哪天你就会遇到这样的环境。
用户登陆平台点击对应的连接方式,即可在用户端打开服务器端上面的应用程序进行本地操作,应用系统连接方式主要是各类主流浏览器,如IE、火狐、Google chrome等,可参考下图:
主机系统连接方式主要是远程类终端进行登录,如:mstsc、redmin、putty、SecureCRT等。本文主要是利用应用系统映射的浏览器进行渗透。
0x01 浏览器利用
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文件,如图:
x.psc1:
代码语言:javascript复制<?xml version="1.0" encoding="utf-8"?>
<PSConsoleFile ConsoleSchemaVersion="1.0">
<PSVersion>5.1.17134.858</PSVersion>
<PSSnapIns />
</PSConsoleFile>
由于我本地生成的psc1文件里面配置的版本过高,导致第一次没有成功,通过修改版本为3.0即可成功。
代码语言:javascript复制<?xml version="1.0" encoding="utf-8"?>
<PSConsoleFile ConsoleSchemaVersion="1.0">
<PSVersion>3.0</PSVersion>
<PSSnapIns />
</PSConsoleFile>
2.5.1 火狐浏览器getPowerShell
火狐浏览器可以直接通过file展示的文件单击打开即可获取powershell,如图:
为了证明此shell不是本地的,截图证明:
另外还可以通过telnet那几个协议来进行调用本地的psc1来获取服务器端的powershell,如图:
这里虽然不会显示.psc1文件,但是我们可以直接在文件名那里输入x.psc1即可,如图:
2.5.2 IE浏览器getPowerShell
由于服务器的IE浏览器禁用了地址栏,禁用了鼠标右键以及菜单、设置等功能,因此就在本地IE浏览器进行测试,在地址栏中直接访问会提示下载,如图:
2.5.3 Google浏览器getPowerShell
通过file点击下载之后进行打开,如图:
2.6 获取powershell之后
通过上述获取到powershell,那么就可以进行下一步的横向渗透或者调用任意工具,同时也绕过了系统对C盘的限制,如图:
注:由于这个系统是超重要系统,因此未进行下一步的提权操作!但是可以参考90sec社区中的另一篇文章:CitrixReceiver平台的一次渗透测试【通过】。
代码语言:javascript复制https://forum.90sec.com/t/topic/310
2.7 Firefox/Google浏览器SSRF内网端口扫描
使用Firefox或Google浏览器访问telnet:///,第一个应用程序就是默认的telnet终端,如图:
打开链接即可进入到telnet终端,由于服务器做了限制,这里使用本地测试,如图:
0x02 修复建议
- 设置权限控制,对用户访问的资产进行白名单限制,白名单外的资产拒绝访问!
- 最小化原则,禁用相关功能,如禁用鼠标右键、不显示地址栏、不显示菜单栏等,如图: