7.16 Citrix密码绕过漏洞引发的渗透

对Citrix系统,笔者进行了一些研究,小有心得,在此与大家分享。

7.16.1 Citrix简介

Citrix是一款广泛流行的远程桌面控制程序,功能类似于微软的远程终端(Terminal Services),只是原理不同。Terminal Services使用的是RDP(Remote Desktop Protocol,远程桌面协议),而Citrix使用的是ICA(Independent Computing Architecture,独立计算机架构)。ICA技术已成为基于服务器计算模式的工业基础,包括以下3个重要内容。

7.16.2 Citrix的工作方式

Citrix主要有Citrix MetaFrame和Citrix NFuse/Citrix安全网关两种工作方式。

7.16.3 Citrix渗透实例

下面给出一个Citrix渗透实例。

01 安装Citrix Presentation Server客户端

安装Citrix Presentation Server客户端与安装其他软件没有什么不同,按照提示进行安装即可。不过在安装过程中需要注意一点:在选择客户端时只选择安装“Program Neighborhood”,不安装“Web客户端”和“Program Neighborhood Agent”,如图7-154所示。

0346-1

图7-154 选择客户端

02 搜索ICA文件

使用Citrix Presentation Server客户端连接Citrix服务器主要通过读取ICA配置文件来实现。很多Citrix服务器在配置完毕后会将ICA文件放到网上供下载使用。也有一些Citrix服务器配置完毕后不会将ICA文件放在网上,不过用户只要获取正确的ICA文件即可进行连接。

获取ICA文件最简单、最方便的方法就是通过搜索引擎获取。直接打开浏览器,在Google的搜索框中输入“Filetype:ica”,搜索ICA文件,搜索结果如图7-155所示。

0346-2

图7-155 搜索ICA文件

03 下载ICA文件

在搜索结果中任意选择一条记录,将其指向的ICA文件保存到本地。保存ICA文件的目的就是在本地进行查看,如图7-156所示,在ICA文件中可以看到WFClient、ApplicationServer、Route Clearing DB、EncRC5-0、Compress共5个参数。WFClient参数主要用于指定软件的版本、Citrix服务器地址和连接端口。ApplicationServer参数主要用于指定初始程序等。

0347-1

图7-156 ICA文件具体内容

下载ICA文件的另一个目的就是尝试修改ICA文件中的配置参数InitialProgram。在权限管理不严格的Citrix服务器中,如果将InitialProgram参数的值改成“cmd.exe”或“explorer.exe”,连接Citrix服务器后就可以直接调出远程服务器上的命令提示符或者资源管理器了。

04 直接打开ICA文件

Citrix Presentation Server客户端正确安装后,默认打开后缀为 .ica的文件。也可以直接单击网页中的ICA文件链接地址,打开Citrix连接提示框。在连接过程中会给出一些提示,如果服务器、客户端及参数相匹配,则会出现登录警告等提示信息,如图7-157所示。

0347-2

图7-157 登录警告提示信息

在测试过程中,会有很多ICA文件被提示为无效的或者过时的,有的文件虽然会出现连接提示信息,但由于协议不匹配,也无法成功连接。还有一种情况是,通过ICA文件可以连接,但需要连接方提供正确的用户名和密码,如图7-158所示。

0348-1

图7-158 Citrix中的用户名和密码验证

05 使用快捷键绕过密码验证

在连接Citrix服务器后,可以使用一些快捷键进行常见的操作。

因为Citrix服务器的某些版本存在密码绕过漏洞,所以可以通过快捷键直接调出任务管理器,从而绕过密码验证。在出现确定的连接后,使用快捷键【Ctrl】+【F3】打开远程任务管理器,如图7-159所示。

0349-1

图7-159 打开远程计算机上的任务管理器

06 进入远程Citrix服务器

在上一步笔者进入了一台日文的Citrix服务器,很多内容看不懂,于是换了一台英文的服务器进行测试。

通过快捷键【Ctrl】+【F3】打开远程计算机上的任务管理器,然后在任务管理器中依次单击“文件”→“新建任务”→“打开”选项,在其中输入“cmd.exe”或“Explorer”,直接打开命令提示符或者资源管理器窗口。如图7-160所示,通过输入“Explorer”进入对方计算机。

0349-2

图7-160 通过新建任务进入远程Citrix服务器

7.16.4 问题与探讨

下面就本次渗透中遇到的问题进行探讨。

1.修改参数失效

在下载的ICA文件中,有些时候通过修改参数InitialProgram的值即可顺利进入远程服务器。但是,有些ICA文件在修改该值后,连接Citrix服务器时要求输入用户名和密码,在没有获取用户名和密码的情况下基本无法进入。

2.具有执行程序权限却很难提权

通过ICA文件连接,使用快捷键绕过密码验证后,虽然能够使用计算机中的资源执行部分或者全部程序,但由于权限限制,如果登录的用户没有获得administrator权限,则服务器提权成功很难。

Citrix的更多漏洞可以参考http://secunia.com/advisories/search/?search=citrix。

3.Citrix服务器的一些安全配置方法

现将Citrix服务器的安全配置方法总结如下。