Citrix密码绕过漏洞引发的渗透
simeon
Citrix系统以前听说过,未真正操作过,对于Citrix系统的研究来自与好友Micky的交流,后面对此进行了一些研究,应该说小有心得,撰文与大家一起分享。
一、Citrix简介
Citrix是Citrix Systems, Inc.的一款主打产品,该公司主要提供全球接入架构解决方案,其解决方案能够让客户在任何时间、任何地点、在任何设备上,通过任何形式的网络连接,高效获取各种应用、信息及通讯。Citrix技术使得数字办公室无处不在,令工作轻松易行。 Citrix以代号CTXS于Nasdaq Stock MarketSM上市,并获列入标准普尔500指数。2001财年公司总收益为5.92亿美元。Citrix 总部设于美国佛罗里达州 Fort Lauderdale,公司网站 http://www.citrix.com。
Citrix是一款广泛流行的远程桌面控制程序,类似于Microsoft的远程终端(Terminal Services)。只是其原理不同,Microsoft Terminal Services使用的是RDP(远程桌面协议,Remote Desktop Protocol)协议,而Citrix使用的是ICA (独立计算机架构,Independent Computing Architecture)协议。ICA技术已成为基于服务器计算模式的工业基础。ICA包括了包括以下三个重要内容:
(1)MultiWin。在服务器上模拟本地应用程序处理的多用户层;
(2)服务器端ICA软件。将应用程序的执行和显示逻辑分开,应用程序100%在服务器上进行,并通过标准的网络协议(TCP/IP、SPX、IPX、NETBEUI、NWLINK)将显示界面传送给客户端;
(3)客户端设备上的ICA软件:一方面接收显示界面,同时向服务器发送鼠标移动和键盘击键动作信息,对基于服务器上的应用程序进行操作。
ICA具有网络传输的高效性、客户端设备的灵活性、操作平台的灵活性以及连接方式的灵活性。由于在客户端与服务器之间无数据传送,传送的只是显示界面,并运用Citrix特有的SpeedScreen技术(传输的仅是显示界面变化的部分),平均只占用10K的网络带宽。ICA可以在从286计算机到现在的PIII级计算机上正常工作,可以在任何客户端操作系统平台上正常工作,客户端与服务器可通过多种连接方式LAN、WAN、电话拨号、Internet、无线的Web方式等。
迄今全球已有近十五万家用户采用了Citrix解决方案,享受到ICA技术的客户端更超过五千万,其中包括世界财富500强中99%以上的集团,以及欧洲财经时代500强中75%以上的公司,Citrix凭借其卓越的技术方案和业务成就,赢得了业界与用户的广泛赞誉。
二、Citrix的工作方式
Citrix主要有Citrix MetaFrame和Citrix NFuse/Citrix安全网关两种工作方式。
Citrix MetaFrame有XPs、XPa及XPe三个不同的版本,分别适合不同的环境使用;其中XPs是完全安全版,包括一些不同于其它版本的管理选项;XPa和XPe则功能相对稍微少一点;Citrix 默认使用1494端口并且只和使用了Citrix ICA加密协议的客户端通信。
Citrix NFuse/Citrix安全网关中Citrix NFuse允许管理员锁定程序且只能通过Web浏览器通信。Citrix NFuse默认安装在IIS 5.0及以上版本上的。Citrix NFuse默认安装情况下的远程权限规则允许管理员执行Citrix安全网关。
三、一个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%3D1
图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服务器后可以直接调出远程服务器上的命令提示符或者资源管理器。出来这两个东东,呵呵,不说你也知道可以干什么了!
图3 ICA文件具体内容
(四)直接打开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+F
3
”
打开远程的任务管理器,如图6所示,直接调出远程的任务管理器,呵呵,还是小日本的计算机呢!
图6 使用热键“CTRL+F
3
”
打开远程计算机上的任务管理器
(六)进入远程Citrix服务器
前面的进入的日文的Citrix服务器,看不懂,后面换了一台英文版本的进行测试,如图7所示,通过热键“CTRL+F
3
”
打开远程计算机上的任务管理器,然后在任务管理器中“文件”-“新建任务”-“打开”,在其中输入“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—>选择必须为开。
本文转自 simeon2005 51CTO博客,原文链接:http://blog.51cto.com/simeon/294251