FortiSIEM Rules

Log4J Exploit Request Detected By Regex

Rule ID

PH_RULE_Log4j_Exploit_DetectByRegex

Default Status

Disabled

Description

Log4J Exploit Request Detected by Regex. Regex Inspection of http user agent, referrer, cookie, content type, and cache control for Log4J CVE-2021-44228.

Severity

7

Category

Security

MITRE ATT&CK® Tactics

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/TA0008

MITRE ATT&CK® Techniques


T1210

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/T1210

Impacts

Server

Data Source

FortiGate via Syslog or Netflow,Checkpoint via Syslog or Netflow, Palo Alto via Syslog or Netflow

Detection

Correlation

Remediation Guidance

Investigate source and target. If target is running vulnerable version of log4j, upgrade immediately to patched version and block source IP.

Time Window

If the following pattern or patterns match an ingested event within the given time window in seconds, trigger an incident.

300 seconds

Trigger Conditions

If the following defined pattern/s occur within a 300 second time window.

log4j_exploit

SubPattern Definitions

SubPattern Name: log4j_exploit

This is the named definition of the event query, this is important if multiple subpatterns are defined to distinguish them.

SubPattern Query

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+}.*)" )

Group by Attributes

This defines how matching events are aggregated, only events with the same matching attribute values are grouped into one unique incident ID

srcIpAddr,destIpAddr

Aggregate Constraint

This is most typically a numerical constraint that defines when the rule should trigger an incident

COUNT(*) >= 1

Incident Attribute Mapping

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