未经允许,不得擅自转载,违者必究

一、前言

@Adminxe

因为最近在刷edusrc,由此发现这个漏洞,涉及多所高校,所以过来给大家实战POC测试一波,可直接进行命令执行,Citrix产品中的漏洞使80000家公司面临风险,漏洞危害程度:严重!!!

二、漏洞详情

CVE-2019-19781 漏洞可能导致在 NetScaler ADC 或 NetScaler Gateway 上任意代码执行。
Citrix在2019年12月17日发布了安全公告 CTX267027 ( https://support.citrix.com/article/CTX267027 )
CVE-2019-19781的缓解步骤 CTX267679 ( https://support.citrix.com/article/CTX267679 )
缓解策略是阻止通过任何IP(VIP,例如vpn vserver或启用管理的nsip / snips)进行访问。nsapimgr命令确保全局绑定的响应者策略(可通过任何VIP保护所有Web请求)也将适用于管理ip。目前,建议是保护所有入口点。

CVE-2019-19781下发布了Citrix ADC和Citrix Gateway中的一个严重漏洞。该漏洞引起了我们的注意,因为它表明未经身份验证的对手可以利用它来破坏设备。尽管最初的发现是由Positive Technologies和Paddy Power Betfair做出的,但是没有公开的关于如何利用它的详细信息,因此值得进一步研究。

漏洞分析尽管没有公开披露如何利用此问题的详细信息,但Citrix的缓解建议显示了这种漏洞类型的潜在线索。

从此信息中,我们可以看到漏洞可能存在的路径(/ vpns /),这可能是目录遍历漏洞。考虑到这一点,我们开始在httpd.conf文件中查找/ vpns路径的定义,并发现/ vpn / portal / scripts /由NetScaler :: Portal :: Handler Perl模块(Handler.pm)处理。 )。

此目录中包含几个脚本,但是由于此漏洞是潜在的目录遍历,因此我们选择调查文件写入操作的所有潜在代码路径。

这导致在UsersPrefs perl模块中发现以下代码:

sub csd {my $self = shift;my $skip_read = shift || "";# Santity Checkmy $cgi = new CGI;
print "Content-type: text/html\n\n";// Username variable initialized by the NSC_USER HTTP Headermy $username = Encode::decode('utf8', $ENV{'HTTP_NSC_USER'}) || errorpage("Missing NSC_USER header.”); <- MARK THIS$self->{username} = $username;
...$self->{session} = %session;// Constructing the path from the username.$self->{filename} = NetScaler::Portal::Config::c->{bookmark_dir} . Encode::encode('utf8', $username) . '.xml’;if($skip_read eq 1) {return;}

简而言之,这段代码实质上是从NSC_USER HTTP标头构建路径的,而无需进行任何处理。因此,任何调用csd函数的脚本都将能够触发目录漏洞。

几乎所有脚本都使用此功能,但是对我们而言最有趣的一个脚本是newbm.pl脚本文件:

my $cgi = new CGI;
print "Content-type: text/html\n\n";
my $user = NetScaler::Portal::UserPrefs->new();
my $doc = $user->csd();
...
my $newurl = Encode::decode('utf8', $cgi->param('url'));
my $newtitle = Encode::decode('utf8', $cgi->param('title'));
my $newdesc = Encode::decode('utf8', $cgi->param('desc'));
my $UI_inuse = Encode::decode('utf8', $cgi->param('UI_inuse'));
...
my $newBM = {   url => $newurl,title => $newtitle,descr => $newdesc,UI_inuse => $UI_inuse,
};
...

该脚本使用来自几个参数的信息创建一个数组,然后调用文件写入函数,该函数会将内容写入磁盘上的XML文件。

if ($newBM->{url} =~ /^\/){push @{$doc->{filesystems}->{filesystem}}, $newBM;} else { # bookmarkpush @{$doc->{bookmarks}->{bookmark}}, $newBM;}
// Writing XML file to disk$user->filewrite($doc);

本质上,我们有一个部分文件写入原语,在这里我们控制路径而不是文件扩展名,并控制xml文件中的某些内容。仅凭此漏洞,我们几乎无能为力,但是在看到Craig Yong的文章后,它强调了使用Perl模板工具包进行开发的潜在途径。

通过进一步的研究,我们发现可以在XML文件上插入特定的指令,如果通过模板引擎解析该指令可以执行命令。

模板解析的示例可以在下面找到:

再次探讨我们的漏洞利用,我们现在有了部分文件写入原语,可用于注入Perl Template Toolkit指令,但仍需要一种方法来强制脚本解析模板。

在实际使用模板的代码上找到所有引用,Handler.pm模块看起来很有希望:

$ tmplfile变量是从HTTP请求路径构造的,并为该文件构建并处理了一个新模板。

将我们先前创建的test.xml文件复制到模板目录,即可触发模板解析。

概括地说,为了利用此漏洞,应遵循以下步骤:

探索一种通过模板执行perl代码的方法(需要绕过),使用路径遍历在模板目录上编写精巧的XML文件,浏览到上载的XML文件,触发模板解析。最后一个难题是使用模板执行任意命令,在默认配置下,这是“不可能”的。有一个未记录的功能,它允许执行任意的perl代码,但是目前,我们不打算记录此技术。但是,使用此信息安全团队应具有足够的详细信息来重现此问题,但没有用于执行代码的详细信息。

由于受影响的设备数量众多,MDSec决定不提供针对此漏洞的现成攻击,但是我们知道多个参与者现在已为该漏洞提供了武器,并认为分享这项研究很重要,以便其他人可以采取适当的措施。

漏洞利用的示例如下所示:

缓解措施Citrix发布了缓解措施,以防止利用此问题,如CVE-2019-19781的缓解步骤中所述。强烈建议任何Citrix ADC用户将此缓解措施作为当务之急。

此外,可以通过警告包含带有“ / vpns /”和“ /../”字符串的POST请求的URL,然后是对以xml扩展名结尾的文件的GET请求(由@突出显示)来识别对利用尝试的检测。 buffaloverflow。

三、POC测试:

先把exploit脚本献上:

https://github.com/projectzeroindia/CVE-2019-19781

https://www.exploit-db.com/exploits/47902

POC测试脚本代码:

复现开始:

随机采集某大学站点:

工具:BurpSuite

站点:http://212.95.XXX.XXX/

从poc代码中可以看,主要是通过目录遍历漏洞测试URL+/vpn/../vpns/cfg/smb.conf

所以我们可以对/vpn/../vpns/cfg/smb.conf就行burp抓包改包操作

附加信息

优先权冲突

给予响应者策略的优先级为1。如果还有其他具有相同优先级的响应者策略绑定,则策略绑定可能会失败。建议客户适当调整其他策略的优先级,同时确保此处给出的策略具有优先级1

‘skip_systemaccess_policyeval’标志

此标志可确保在管理门户流量上评估响应者策略。
如果管理门户IP在安全环境中,则不需要此旋钮。 
启用此功能可能会导致某些管理页面受阻。在这种情况下,客户可以在维护窗口期间切换标志并将其设置回值“ 1”。

从集群中删除的节点很容易受到攻击

删除群集节点后,将清除其配置。以上响应者策略及其附带的保护也已清除。因此,该节点将失去这些缓解步骤提供的保护。

管理员界面中的插件下载链接

当前的管理用户界面具有下载插件的链接(/vpns/scripts/vista/*.exe)。此链接中包含“ vpns”,因此在此修复之后将无法访问。

/ vpns /在后端网址中

如果任何后端Web服务器资源的路径中都有/ vpns /,则该资源将被阻止。

转载请注明:Adminxe's Blog » CVE-2019-19781 Citrix ADC&NetScaler远程命令执行漏洞

CVE-2019-19781 Citrix ADCNetScaler远程命令执行漏洞相关推荐

  1. 远程执行漏洞修复方案_请马上修复!SaltStack远程命令执行漏洞

    [漏洞预警]SaltStack远程命令执行漏洞(CVE-2020-11651.CVE-2020-11652) 2020年5月3日,阿里云应急响应中心监测到近日国外某安全团队披露了SaltStack存在 ...

  2. flexpaper php 代码,FlexPaper 2.3.6 远程命令执行漏洞 附Exp

    影响版本:小于FlexPaper 2.3.6的所有版本 FlexPaper (https://www.flowpaper.com) 是一个开源项目,遵循GPL协议,在互联网上非常流行.它为web客户端 ...

  3. 【注意】关于Redis存在远程命令执行漏洞的安全公告

    点击蓝色"程序猿DD"关注我 回复"资源"获取独家整理的学习资料! 来源:CNVD漏洞平台 安全公告编号:CNTA-2019-0024 2019年7月10日,国 ...

  4. rmi远程反序列化rce漏洞_Oracle WebLogic 反序列化远程命令执行漏洞预警

    报告编号:B6-2019-041901 报告来源:360-CERT 报告作者:360-CERT 更新日期:2019-04-19 0x00 事件背景 2019年4月17日,国家信息安全漏洞共享平台(CN ...

  5. 详述WebLogic反序列化远程命令执行漏洞的处理过程,云和恩墨技术通讯精选

    各位亲爱的用户/读者朋友们: 为了及时共享行业案例,通告共性问题,达成知识共享和提前预防,我们整理和编辑了<云和恩墨技术通讯>(5月刊),通过对过去一段时间的知识回顾和故障归纳,以期提供有 ...

  6. 邮件传输代理Exim远程命令执行漏洞细节披露,影响全球近一半邮件服务器

    注意:是远程命令执行,不是远程代码执行 Exim是一个MTA(Mail Transfer Agent,邮件传输代理)服务器软件,该软件基于GPL协议开发,是一款开源软件.该软件主要运行于类UNIX系统 ...

  7. 【知道创宇404实验室】Oracle WebLogic远程命令执行漏洞预警

    2019年04月17日,国家信息安全漏洞共享平台(CNVD)官方发布安全公告 http://www.cnvd.org.cn/webinfo/show/4989 称Oracle WebLogic wls ...

  8. webmin远程命令执行漏洞(cve-2019-15107)深入分析

    漏洞描述 近日Webmin被发现存在一处远程命令执行漏洞,经过分析后,初步猜测其为一次后门植入事件. Webmin是目前功能最强大的基于Web的Unix系统管理工具.管理员通过浏览器访问Webmin的 ...

  9. jenkins java反序列化_Jenkins “Java 反序列化”过程远程命令执行漏洞

    ###漏洞原理 反序列化是指特定语言中将传递的对象序列化数据重新恢复为实例对象的过程,而在这个过程中会执行一系列的字节流解析和对象实例化操作用于恢复之前序列化时的对象.在原博文所提到的那些 Java ...

最新文章

  1. mysql教程or怎么用_MySQL中or语句用法示例
  2. hibernate.cfg.xml 配置(摘录)
  3. 为了方便大家下载四级资料,开通FTP
  4. linux 源码目录结构,分析Android 源代码编译前后的目录结构
  5. CMU黑科技,手机录视频,实现人脸3D建模的高度逼真
  6. 中科大「少年班」对手来了!清华「丘成桐领军计划」招收优秀中学生
  7. pthread线程传递数据回主线程_操作系统4:线程(1)
  8. visual studio 安装教程
  9. php curl 及其参数
  10. 算法笔记--无向图的桥、割点、边双连通分量和点双连通分量
  11. 麦淘亲子完成近千万美元B+轮融资,预计2019年前将开设约300个线下科学活动点...
  12. 德标螺纹规格对照表_德标、欧标、国际、国标对照表
  13. 【TS】GARCH模型(1)
  14. CPC是什么意思和CPM、CPV有什么不同?
  15. Android Base64编码算法
  16. 为什么计算机日期最早1970,计算机时间基准——1970.1.1
  17. Tableau中的LOOKUP函数
  18. 如何利用IP地址开展金融反欺诈?
  19. [文本纠错] pycorrector框架训练
  20. Laravel Sail 使用 PhpStorm 与 Xdebug 进行调试

热门文章

  1. 设备指纹(Device Fingerprinting)是什么?
  2. 云剪辑-B端在线剪辑⼯具架构设计与演进
  3. 新东方国际教育为多人群提供留学语培解决方案
  4. 【转】数据的分类分级简介
  5. 国产PAN3501三通道低功耗ASK接收125K底片唤醒芯片兼容替代AS3933
  6. 免费的的文献下载网址推荐,赶紧收藏起来吧!
  7. 数控自动编程的内容与步骤
  8. 光照传感器哪个好_论文|多传感器环境下的温室蓝莓智能控制系统研究
  9. Systemverilog的一个牛人总结
  10. 2G时代写小说的挣钱了,4G时代又让玩短视频的白手起家,那5G时代的来临,将会带来的商机是什么呢?