Citrix未授权漏洞cve-2020-8193个人复现 – 作者:AEKiller

参考连接:

https://github.com/Airboi/Citrix-ADC-RCE-CVE-2020-8193

https://sec.thief.one/article_content?a_id=37a2780da444b10bd966237a9799771e

漏洞简介:

 2020年7月7日,Citrix官方发布漏洞公告,其中5个漏洞影响较大,分别为CVE-2020-8191、CVE-2020-8193、CVE-2020-8194、CVE-2020-8195、CVE-2020-8196。 其中8191为xss漏洞,8193为未授权访问漏洞,8194为代码注入漏洞,8195和8196为信息泄露漏洞

影响范围:

Citrix NetScaler Gateway 10.5.70.18

Citrix NetScaler Gateway 11.1.64.14

Citrix NetScaler Gateway 12.0.63.21

Citrix NetScaler Gateway 12.1.57.18

Citrix NetScaler Gateway 13.0.58.30

等等

 漏洞复现:

2020-7-15号左右官网上下载到的老版本,NSVPX-ESX-13.0-47.24,依然存在漏洞。

1、打开ova虚拟机,nsroot默认账密登录,/var/nstmp目录,rm sess*,查看会话:

图片[1]-Citrix未授权漏洞cve-2020-8193个人复现 – 作者:AEKiller-安全小百科

2、登录web管理界面,账密不变:

图片[2]-Citrix未授权漏洞cve-2020-8193个人复现 – 作者:AEKiller-安全小百科

3、此时虚拟机查看会话,发现多了一个sess_00b…….163的会话,这就是web管理员的远程会话sessid:

图片[3]-Citrix未授权漏洞cve-2020-8193个人复现 – 作者:AEKiller-安全小百科

4、使用github的利用脚本,可以看到多了一个脚本绕过授权的会话,该会话只有读权限,可以读取/var/nstmp等目录下的文件,至于为什么脚本读的和后台显示的会话数不一样,目前也解释不通,但是脚本读出的但后台没有的会话是肯定不可用的:

图片[4]-Citrix未授权漏洞cve-2020-8193个人复现 – 作者:AEKiller-安全小百科

5、读取管理员的sess_00b….163文件,内有管理员的rand:

图片[5]-Citrix未授权漏洞cve-2020-8193个人复现 – 作者:AEKiller-安全小百科

6、规律证明,普通用户和管理用户的sess_文件是不同的,普通用户明显短小:

图片[6]-Citrix未授权漏洞cve-2020-8193个人复现 – 作者:AEKiller-安全小百科

7、使用这个rand和sessid构造post包,payload仿照参考链接的payload,返回{errorcode:0,message:Done}则上传成功:

图片[7]-Citrix未授权漏洞cve-2020-8193个人复现 – 作者:AEKiller-安全小百科

8、验证上传是否成功:

图片[8]-Citrix未授权漏洞cve-2020-8193个人复现 – 作者:AEKiller-安全小百科

9、接下来构造Post包修改ssh密码:

图片[9]-Citrix未授权漏洞cve-2020-8193个人复现 – 作者:AEKiller-安全小百科

10、更改成功:

图片[10]-Citrix未授权漏洞cve-2020-8193个人复现 – 作者:AEKiller-安全小百科

11、接下来创建用户并绑定超级管理员权限:

图片[11]-Citrix未授权漏洞cve-2020-8193个人复现 – 作者:AEKiller-安全小百科

图片[12]-Citrix未授权漏洞cve-2020-8193个人复现 – 作者:AEKiller-安全小百科

12、创建成功,该页面证明是管理员身份,后续也可用此管理员会话sess和rand做绕过测试:

图片[13]-Citrix未授权漏洞cve-2020-8193个人复现 – 作者:AEKiller-安全小百科

13、不做绑定超级管理员那一步的化,用户权限过低,页面不同,sess和rang也无写权限:

 

图片[14]-Citrix未授权漏洞cve-2020-8193个人复现 – 作者:AEKiller-安全小百科

总结:

​  测试发现特定的几个版本才存在该漏洞;

​  绕过授权后只有读权限;

​  只要管理员权限拥有者通过web远程会话时,才可通过找到管理员sess并读取rand拿到写权限,从而上传文件或创建ssh用户;

​  上传shell后通过web并不能访问,可访问的路径暂未找到;

​  通过改写脚本可以一键打击,测试当前是否存在管理员会话,如果存在可以自动化上传指定内容和文件名的文件,或者额外创建超级管理员用户。

 

来源:freebuf.com 2020-08-09 13:59:20 by: AEKiller

© 版权声明
THE END
喜欢就支持一下吧
点赞0
分享
评论 抢沙发

请登录后发表评论