一、引言

金万维旗下系列产品存在信息泄漏、sql注入等漏洞,配合后台应用的功能可直接获取服务器权限。

说起金万维可能有的小伙伴没听过,但以下界面经常做攻防演练的小伙伴应该不会陌生:

通过搜索指纹 body="GNRemote.dll",发现公网上就存在大量案例:

本文以安全研究为目的,分享对该套系统的代码审计和漏洞挖掘过程,文中所提到的漏洞均已提交给CNVD&CITIVD,请勿用做非法用途。

二、环境搭建

金万维官网上就能直接下载和搭建系统,如“天联高级版”下载地址为:

https://www.gnway.com/prod/res.php?id=tkpro_server

ps:事实上“易速联”、 “易联通”、“畅捷通”、“天联”、“天联高级版”、“云联”、“远程通”、“路路通”等都是其直属产品或oem合作产品,均存在漏洞。

下载以后直接安装即可,安装目录默认在C:\GNWay目录下:

Web路径为:C:\GNWay\TeamLinkPro Server\Web,安装完成后根目录有phpinfo.php,index.php等,但并不能解析,主要由GNRemote.dll来调用功能,其余为静态文件。

安装后界面如下:

三、信息泄露

通过代码审计发现发现一处未鉴权接口,可获取用户名:

对应的url地址为:

/GNRemote.dll?GNFunction=GetUsers

有了用户名以后可以尝试通过弱口令登录后台。

四、SQL注入

用户名泄漏+弱口令当然不是最稳妥的进入后台方法,通过代码审计找到一处注入点, userid直接拼接导致注入。

该接口是将用户添加到管理员的接口,所以需要通过遍历userid获取用户信息。如果返回00代表该用户存在,反之不存在,而注入需要获取存在的userid,每个站userid不同,遍历一下找到一个存在userid便可进行注入。

注入点还是挺好找的,通过注入可获取用户密码。比较麻烦的是密码解密,该密码的加密方式并不是传统的MD5。

PS:信息泄漏的漏洞适用于全版本,sql注入的漏洞适用于2018以上的版本。

五、密码解密分析

首先IDA反编译GNRemote.dll文件,再其中搜索password关键字,发现相关的sql语句,然后找一处相对比较简单的语句(涉及的字段比较少,便于分析),如下图所示:

经过交叉引用分析,发现该语句位于导出函数ChangePassword函数中,从字面意思可以理解为修改密码,如下图所示:

在这个函数中,通过其中的一些字符串可以看出,该函数可能是和修改用户密码相关,那么分析下能否找到这个语句中的password值的来源。简单分析后,发现多处对该值有操作,不太好定位分析,所以改为动态调试分析。

经过分析,加载GNRemote.dll这个文件的进程名为GNCore.exe。使用windbg附加后在ChangePassword函数下断点,发现在web界面中的修改密码处,可以触发断点,也就是修改密码的功能确实在这个ChangePassword函数中,如下图所示:

结合刚才定位的sql语句,使用动态调试,反复查看password的值的来源,最终在地址100758C2出发现对输入的原始密码进行操作,最后将结果格式化到sql语句中,完成密码修改功能,如下图所示:

那么在该地址处的函数即为加密操作的关键函数,应该着重分析。在这个函数内部,可以看到对原始密码的长度进行判断,如果不是8的倍数,则在原始密码后面追加空格字符,一直填充到满足8的倍数为止,如下图所示:

然后将原始密码进行一系列的异或操作,如下图所示:

分析发现,异或的KEY来着上一函数100D6220,在该函数内部,发现复制两处固定值数据,如下图所示:

查看其数值,发现这正式是Blowfish算法使用的p_box和s_box数据,如下所示:

那么该算法的KEY是什么?分析后发现KEY来自上一层函数10154BC0,可以看到这里有两个KEY,分别是地址101D0480和101D0440,这里使用的是101D0480的KEY,如下图所示:

到目前为止,分析清楚了对原始密码加密的算法是Blowfish,并且找到了KEY。因为这是对称加密算法,所以可以完成对加密后的密码进行解密,还原出原始密码,完成对分析结果正确性的验证,如下图:

六、后台getshell

登录后台后可以看到服务端配置的应用程序,一般分为以下几种。

6.1 远程桌面

服务端在安装完毕后会映射一个远程桌面端口,默认为55366,对用户配置了远程桌面可以直接通过客户端进行连接。(在易速联服务端新建用户后系统也会创建GNWay前缀的系统用户)

通过客户端连接到系统桌面。

6.2 服务端

配置服务端应用可以通过该用户配置远程登录,直接连接服务器。

发布桌面后该用户应用中便会添加远程登录的应用,添加完成后即可远程连接。

6.3 第三方程序

如用友u8等程序,一般情况都可以通过弱口令进入应用,或者本身就已经勾选了记住密码了的。利用思路也比较简单,在与系统有交互的地方shift+右键即可调出cmd。

某知名系统漏洞挖掘与利用思路探索相关推荐

  1. 视频教程-SQL注入与SQLmap工具-漏洞挖掘与利用

    SQL注入与SQLmap工具 玄道,从混迹漏洞平台与SRC应急响应中心的白帽子到创业乙方的技术与运营 刘畅 ¥15.00 立即订阅 扫码下载「CSDN程序员学院APP」,1000+技术好课免费看 AP ...

  2. 视频教程-逆向工程:游戏安全入门教程-漏洞挖掘与利用

    逆向工程:游戏安全入门教程 杨闯(rkvir)天融信阿尔法实验室安全研究员.看雪漏洞分析小组成员,看雪讲师,MS08067小组成员.从事安全行业多年,擅长二进制安全领域的研究与工程化实现.有多年教育经 ...

  3. c++ 界面交互影响处理代码执行速度_原创 | 某SCADA的远程代码执行漏洞挖掘与利用...

    作者 | 绿盟科技格物实验室 陈杰 前言 近年来网络安全形势日渐严峻,国内外都开始对工控安全越来越重视,而工控领域由于常年来对安全的忽视,导致暴露出数量惊人的严重安全漏洞,更为严重的是,相当一部分厂商 ...

  4. ctf中linux内核态的漏洞挖掘与利用系列1

    说明 该系列文章主要是从ctf比赛入手,针对linux内核上的漏洞分析.挖掘与利用做讲解,本篇文章主要介绍内核漏洞利用所需的前置知识以及准备工作. linux内核态与用户态的区别 以 Intel CP ...

  5. 89.网络安全渗透测试—[常规漏洞挖掘与利用篇5]—[文件包含漏洞详解实战示例]

    我认为,无论是学习安全还是从事安全的人,多多少少都有些许的情怀和使命感!!! 文章目录 一.文件包含漏洞详解 1.文件包含漏洞相关概念 2.PHP文件包含漏洞相关概念 3.PHP文件包含漏洞利用:`构 ...

  6. ctf中linux 内核态的漏洞挖掘与利用系列

    qwb2018 core 题目链接:https://pan.baidu.com/s/10te2a1LTZCiNi19_MzGmJg 密码:ldiy 解压官方给的tar包,可以看到如下4个文件: 其中s ...

  7. 【漏洞利用】JSONP跨域请求漏洞 挖掘、利用详解

    参考文章 轻松搞定JSONP跨域请求 jsonp跨域原理,使用以及同源策略 跨域漏洞丨JSONP和CORS跨域资源共享 Tag: Ref: [[019.同源策略]] 本片文章仅供学习使用,切勿触犯法律 ...

  8. 网站渗透测试服务之discuz漏洞挖掘与利用

    近期我们SINE安全在对discuz x3.4进行全面的网站渗透测试的时候,发现discuz多国语言版存在远程代码执行漏洞,该漏洞可导致论坛被直接上传webshell,直接远程获取管理员权限,linu ...

  9. Bash Shellshock(Bash远程代码执行)漏洞分析及利用思路

     今日爆出一个Bash的RCE漏洞,威力巨大.看了看老外的分析,觉得有必要写一写自己对这个漏洞的理解. 首先,问题起因于一个命令ENV. 原型: env [OPTION]... [NAME=VAL ...

  10. 实验五:常见WEB漏洞挖掘与利用

    Author:ZERO-A-ONE Date:2021-05-11 一.实验题目 1.1 SQL注入 目标:通过SQL注入拿到flag https://sqli.littlefisher.me/Les ...

最新文章

  1. python-web自动化-Python+Selenium之expected_conditions:各种判断
  2. 三路合并 —— Git 学习笔记 17
  3. Redis 命令--Redis有序集合(sorted set)
  4. mugen4g补丁如何使用_如何搜索下载游戏
  5. 什么都不说,来4波js
  6. 纸盒叠成的长方形竟然能自己动?
  7. 单个基因集富集分析泡泡图绘制
  8. 为什么C++编译器不能支持对模板的分离式编译
  9. python 客户端_Python一个简单的通信程序(客户端 服务器)
  10. android开发微博前的包准备,新浪微博开发之前期准备篇
  11. Proxy 简答实现 ViewModel 和 View
  12. error 系统错误 错误码10007_工业界纠错系统
  13. ae合成设置快捷键_【教程】你不知道的全网最全ae快捷键【基础篇】
  14. 新浪开发者平台 android 签名,新浪微博接入流程
  15. P6364 1024 程序员节发橙子 ( 正序 反序遍历不降序 )
  16. 怎么样优化可以避免百度的冰桶算法?
  17. 前端图片放大缩小/比例自适应/打码/码大小可调整
  18. 什么是单工、半双工和双工通信(最详细)
  19. 人工智能非技术从业者必知的十件事
  20. 安卓中的AP、BP、NV是什么意思?

热门文章

  1. 互联网国家缩写代码一览表
  2. K3CLOUD安装教程
  3. Html常用正则表达式
  4. 【课程作业|图论】第四章课后习题
  5. 【JS基础】JavaScript语言简介及简单例子
  6. 基于JSP的网上订餐管理系统
  7. 计算机技术在足球的应用,图象处理技术在足球机器人中的应用研究
  8. 奇迹mu 服务器状态,奇迹mu服务端的架设
  9. 我的精神家园——陈皓(@左耳朵耗子)专访
  10. Lightweight OpenPose