PH_RULE_Log4j_Exploit_DetectByRegex
Disabled
Log4J Exploit Request Detected by Regex. Regex Inspection of http user agent, referrer, cookie, content type, and cache control for Log4J CVE-2021-44228.
7
Security
Lateral Movement
Lateral Movement consists of techniques that adversaries use to enter and control remote systems on a network. Following through on their primary objective often requires exploring the network to find their target and subsequently gaining access to it. Reaching their objective often involves pivoting through multiple systems and accounts to gain. Adversaries might install their own remote access tools to accomplish Lateral Movement or use legitimate credentials with native network and operating system tools, which may be stealthier.
https://attack.mitre.org/tactics/TA0008T1210
Exploitation of Remote Services
Adversaries may exploit remote services to gain unauthorized access to internal systems once inside of a network. Exploitation of a software vulnerability occurs when an adversary takes advantage of a programming error in a program, service, or within the operating system software or kernel itself to execute adversary-controlled code. A common goal for post-compromise exploitation of remote services is for lateral movement to enable access to a remote system.
https://attack.mitre.org/techniques/T1210Server
FortiGate via Syslog or Netflow,Checkpoint via Syslog or Netflow, Palo Alto via Syslog or Netflow
Correlation
Investigate source and target. If target is running vulnerable version of log4j, upgrade immediately to patched version and block source IP.
If the following pattern or patterns match an ingested event within the given time window in seconds, trigger an incident.
300 seconds
If the following defined pattern/s occur within a 300 second time window.
log4j_exploit
This is the named definition of the event query, this is important if multiple subpatterns are defined to distinguish them.
This is the query logic that matches incoming events
(( eventType IN (Group@PH_SYS_EVENT_PermitNetTraffic, Group@PH_SYS_EVENT_NetflowTraffic, Group@PH_SYS_EVENT_BiNetflowTraffic) AND destIpPort IN (80,443) ) OR eventType IN (Group@PH_SYS_EVENT_Exploit,Group@PH_SYS_EVENT_PermitWebTraffic) ) AND ( uriStem REGEXP "(?:.*jndi.*|.*{env:[^:]+:-[jndi].*|.*\${::-\w+}.*|.*base64:.*|.*\${(?:lower|upper):\w+}.*)" OR httpEndUri REGEXP "(?:.*jndi.*|.*{env:[^:]+:-[jndi].*|.*\${::-\w+}.*|.*base64:.*|.*\${(?:lower|upper):\w+}.*)" OR httpUserAgent REGEXP "(?:.*jndi.*|.*{env:[^:]+:-[jndi].*|.*\${::-\w+}.*|.*base64:.*|.*\${(?:lower|upper):\w+}.*)" OR httpReferrer REGEXP "(?:.*jndi.*|.*{env:[^:]+:-[jndi].*|.*\${::-\w+}.*|.*base64:.*|.*\${(?:lower|upper):\w+}.*)" OR httpCookie REGEXP "(?:.*jndi.*|.*{env:[^:]+:-[jndi].*|.*\${::-\w+}.*|.*base64:.*|.*\${(?:lower|upper):\w+}.*)" OR httpContentType REGEXP "(?:.*jndi.*|.*{env:[^:]+:-[jndi].*|.*\${::-\w+}.*|.*base64:.*|.*\${(?:lower|upper):\w+}.*)" OR httpHeaderCacheControl REGEXP "(?:.*jndi.*|.*{env:[^:]+:-[jndi].*|.*\${::-\w+}.*|.*base64:.*|.*\${(?:lower|upper):\w+}.*)" )
This defines how matching events are aggregated, only events with the same matching attribute values are grouped into one unique incident ID
srcIpAddr,destIpAddr
This is most typically a numerical constraint that defines when the rule should trigger an incident
COUNT(*) >= 1
This section defines which fields in matching raw events should be mapped to the incident attributes in the resulting incident.
The available raw event attributes to map are limited to the group by attributes and the aggregate event constraint fields for each subpattern
srcIpAddr=log4j_exploit.srcIpAddr,
destIpAddr=log4j_exploit.destIpAddr