三、一个Citrix渗透实例
(一)安装Citrix Presentation Server客户端
安装Citrix Presentation Server 客户端时跟安装其它普通软件没有什么不同,按照提示进行安装即可,不过在安装过程中需要注意一点,在选择客户端时只选择安装“Program Neighborhood”,“Web客户端”和“Program Neighborhood Agent”均不安装,即分别选中“Web客户端”和“Program Neighborhood Agent”前面向下的三角形箭头,然后选择“所有功能均不可用”,设置完毕后“Web客户端”和“Program Neighborhood Agent”前面会分别出现一个红色的叉,如图1所示。Citrix Presentation Server 客户端下载地址:http://www.antian365.com/viewthread.php?tid=6299&extra=page=1

图1 选择客户端
(二)搜索ICA文件
使用Citrix Presentation Server 客户端连接Citrix服务器主要通过读取ICA配置文件来实现,很多Citrix服务器在配置完毕后会将ICA文件放到网上供下载使用,也有一些是配置完毕后无意放在网上,不过那种方式,只要获取正确的ICA文件即可进行连接。获取ICA文件最简单和方便的方法就是通过搜索引擎获取,直接打开IE浏览器,在Google搜索中输入“Filetype:ica”搜索ica文件,如图2所示,搜索出来很多ICA文件。

图2 搜索ICA文件
(三)下载ICA文件
在Google搜索结果中任意选择一个搜索记录,然后右键单击选择“另存为”,将所选择的ICA文件保存到本地。保存ICA文件的目的就是为了在本地进行查看,如图3所示,在ICA文件中可以看到有WFClient、ApplicationServer、Route Clearing DB、EncRC5-0、Compress五个参数,WFClient参数中主要指定软件的版本,Citrix服务器地址和连接端口;第二个参数主要指定初始程序等设置。下载ICA文件的另外一个目的就是尝试修改ICA文件中的配置参数InitialProgram,在权限管理不严格的Citrix服务器中如果InitialProgram参数的值修改成cmd.exe或explorer.exe,连接Citrix服务器后可以直接调出远程服务器上的命令提示符或者资源管理器。出来这两个东东,呵呵,不说你也知道可以干什么了!

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

图4 出现登录提示警告信息
在测试过程中会有很多ICA文件是无效的或者说是过时的,有的虽然会出现一个连接提示信息,但由于协议不匹配的原因,最后将无法连接成功。还有一种情况通过ICA文件可以连接,但需要连接方提供正确的用户名和密码,如图5所示,要求用户输入跟Windows登录类似的用户名和密码,只有输入正确的用户名和密码后才能进入系统。

图5 Citrix中的用户和密码验证
(五)使用快捷键绕过密码验证
在连接上Citrix服务器后可以使用一些热键来进行常见的操作,一些常见的热键如下所示:
SHIFT+F1: 打开本地任务列表
SHIFT+F2: Toggle Title Bar
SHIFT+F3: 关闭远程应用程序
CTRL+F1: 显示Windows安全桌面相当于“Ctrl+Alt+Del”
CTRL+F2: 打开远程任务列表
CTRL+F3: 打开远程任务管理器,相当于本地热键“Ctrl+Shift+ESC”打开本地任务管理器。
ALT+MINUS: 相当于本地的“ALT+SHIFT+TAB”热键在各个任务之间切换
在Citrix服务器的某些版本存在密码绕过漏洞,通过热键直接调出任务管理器,从而绕过密码验证。即在出现确定的连接后,使用热键“CTRL+F3”打开远程的任务管理器,如图6所示,直接调出远程的任务管理器,呵呵,还是小日本的计算机呢!

(六)进入远程Citrix服务器
前面的进入的日文的Citrix服务器,看不懂,后面换了一台英文版本的进行测试,如图7所示,通过热键“CTRL+F3”打开远程计算机上的任务管理器,然后在任务管理器中“文件”-“新建任务”-“打开”,在其中输入“cmd.exe”或者“Explorer”直接打开命令提示符或者资源管理器,如图7所示,通过运行“Explorer”进入对方计算机。

图7 通过新建任务进入远程Citrix服务器
(七)问题与探讨
1.修改参数失效。
在下载的ICA文件中有些通过修改参数InitialProgram的值顺利的进入远程服务器,但有些ICA文件在修改其值后,连接Citrix服务器后却要求输入用户名和密码才能进入。在没有获取用户名和密码的情况下基本无法进入。
2.具有执行程序权限,却很难提权
通过ICA文件连接使用热键绕过密码验证,虽然能够使用计算机中的资源,执行部分或者全部程序,但由于权限限制,如果登录的用户不是administrator权限,则服务器提权很难成功。有关Citrix的更多漏洞可以参考http://secunia.com/advisories/search/?search=citrix
3. Citrix服务器安全配置的一些方法
(1)首先正确配置NFuse/Citrix Secure Gateway;
(2)确定IIS/Apache已经打了最新补丁,并且在DMZ的保护中,或者使用NTLM认证;
(3)如果可能,要求远程用户使用SecureID认证方式;
(4)使用其它的浏览器取代IE;
(5)建立一个组,把所有Citrix用户放到这个组里面,禁止他们访问cmd.exe、ftp.exe、tftp.exe、rcp.exe、net.exe、command.com、iexplorer.exe等可能对系统有危害的权限(在安全与应用的平衡之间选择);笔者曾经在一个老外的服务器上看见其权限做的非常严格,对每一个文件、文件夹都进行了仔细的审核,尤其是system权限,进行了严格的分配。
(6)给你的Citrix打上最新的补丁;
(7)禁止winhelp32的访问,设置Internet选项禁止下载,禁止使用进程管理器;
(8)如果可能,设置Citrix Connection Configuration—>ica-tcp—>client settings—>选择必须为开。