id: CVE-2022-35405

info:
  name: Zoho ManageEngine - Remote Code Execution
  author: viniciuspereiras,true13
  severity: critical
  description: |
    Zoho ManageEngine Password Manager Pro, PAM 360, and Access Manager Plus are susceptible to unauthenticated remote code execution via XML-RPC. An attacker can execute malware, obtain sensitive information, modify data, and/or gain full control over a compromised system without entering necessary credentials.
  impact: |
    Successful exploitation of this vulnerability could allow an attacker to execute arbitrary code on the affected system.
  remediation: |
    Apply the latest security patch or update provided by Zoho ManageEngine to fix the vulnerability.
  reference:
    - https://github.com/rapid7/metasploit-framework/blob/master/modules/exploits/windows/http/zoho_password_manager_pro_xml_rpc_rce.rb
    - https://xz.aliyun.com/t/11578
    - https://www.manageengine.com/products/passwordmanagerpro/advisory/cve-2022-35405.html
    - https://www.bigous.me/2022/09/06/CVE-2022-35405.html
    - https://nvd.nist.gov/vuln/detail/CVE-2022-35405
  classification:
    cvss-metrics: CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H
    cvss-score: 9.8
    cve-id: CVE-2022-35405
    cwe-id: CWE-502
    epss-score: 0.9994
    epss-percentile: 0.9997
    cpe: cpe:2.3:a:zohocorp:manageengine_access_manager_plus:*:*:*:*:*:*:*:*
  metadata:
    max-request: 1
    vendor: zohocorp
    product: manageengine_access_manager_plus
    shodan-query:
      - http.title:"ManageEngine"
      - http.title:"manageengine"
    fofa-query: title="manageengine"
    google-query: intitle:"manageengine"
  tags: cve,cve2022,rce,zoho,passwordmanager,deserialization,unauth,msf,kev,zohocorp,vkev,vuln

http:
  - method: POST
    path:
      - "{{RootURL}}/xmlrpc"

    body: |
      <?xml version="1.0"?><methodCall><methodName>{{randstr}}</methodName><params><param><value>big0us</value></param></params></methodCall>

    matchers-condition: and
    matchers:
      - type: word
        part: body
        words:
          - "<name>faultString</name>"

      - type: word
        part: body
        words:
          - "No such service [{{randstr}}]"
          - "No such handler: {{randstr}}"
        condition: or

      - type: word
        part: body
        words:
          - "<methodResponse>"
          - "</methodResponse>"
        condition: or
# digest: 4b0a00483046022100f5425440f0588ad8cd499a971dafc3febdda51859d192eec88e2f6675c7a708a022100867a9a72fcde344c4a59f30c36fb35004b70979215aee28ea6e7b97b348b09a2:922c64590222798bb761d5b6d8e72950