mirror of
https://github.com/splunk/security_content
synced 2026-06-08 17:32:49 +00:00
65 lines
3.5 KiB
YAML
65 lines
3.5 KiB
YAML
name: Web Spring4Shell HTTP Request Class Module
|
|
id: fcdfd69d-0ca3-4476-920e-9b633cb4593e
|
|
version: 9
|
|
creation_date: '2022-04-06'
|
|
modification_date: '2026-05-13'
|
|
author: Michael Haag, Splunk
|
|
status: production
|
|
type: TTP
|
|
description: The following analytic detects HTTP requests containing payloads related to the Spring4Shell vulnerability (CVE-2022-22965). It leverages Splunk Stream HTTP data to inspect the HTTP request body and form data for specific fields such as "class.module.classLoader.resources.context.parent.pipeline.first". This activity is significant as it indicates an attempt to exploit a critical vulnerability in Spring Framework, potentially leading to remote code execution. If confirmed malicious, this could allow attackers to gain unauthorized access, execute arbitrary code, and compromise the affected system.
|
|
data_source:
|
|
- Splunk Stream HTTP
|
|
search: |-
|
|
`stream_http` http_method IN ("POST")
|
|
| stats values(form_data) as http_request_body min(_time) as firstTime max(_time) as lastTime count
|
|
BY src dest http_method
|
|
http_user_agent uri_path url
|
|
bytes_in bytes_out
|
|
| search http_request_body IN ("*class.module.classLoader.resources.context.parent.pipeline.first.fileDateFormat=_*", "*class.module.classLoader.resources.context.parent.pipeline.first.pattern*","*suffix=.jsp*")
|
|
| `security_content_ctime(firstTime)`
|
|
| `security_content_ctime(lastTime)`
|
|
| `web_spring4shell_http_request_class_module_filter`
|
|
how_to_implement: To successfully implement this search, you need to be ingesting logs with the stream HTTP logs or network logs that catch network traffic. Make sure that the http-request-body, payload, or request field is enabled.
|
|
known_false_positives: False positives may occur and filtering may be required. Restrict analytic to asset type.
|
|
references:
|
|
- https://github.com/DDuarte/springshell-rce-poc/blob/master/poc.py
|
|
drilldown_searches:
|
|
- name: View the detection results for - "$dest$"
|
|
search: '%original_detection_search% | search dest = "$dest$"'
|
|
earliest_offset: $info_min_time$
|
|
latest_offset: $info_max_time$
|
|
- name: View risk events for the last 7 days for - "$dest$"
|
|
search: '| from datamodel Risk.All_Risk | search normalized_risk_object IN ("$dest$") | stats count min(_time) as firstTime max(_time) as lastTime values(search_name) as "Search Name" values(risk_message) as "Risk Message" values(analyticstories) as "Analytic Stories" values(annotations._all) as "Annotations" values(annotations.mitre_attack.mitre_tactic) as "ATT&CK Tactics" by normalized_risk_object | `security_content_ctime(firstTime)` | `security_content_ctime(lastTime)`'
|
|
earliest_offset: 7d
|
|
latest_offset: "0"
|
|
finding:
|
|
title: A http body request related to Spring4Shell has been sent to $dest$ by $src$.
|
|
entity:
|
|
field: dest
|
|
type: system
|
|
score: 50
|
|
threat_objects:
|
|
- field: src
|
|
type: ip_address
|
|
analytic_story:
|
|
- Spring4Shell CVE-2022-22965
|
|
asset_type: Web Server
|
|
cve:
|
|
- CVE-2022-22965
|
|
mitre_attack_id:
|
|
- T1190
|
|
- T1133
|
|
product:
|
|
- Splunk Enterprise
|
|
- Splunk Enterprise Security
|
|
- Splunk Cloud
|
|
category: web
|
|
security_domain: network
|
|
tests:
|
|
- name: True Positive Test
|
|
attack_data:
|
|
- data: https://media.githubusercontent.com/media/splunk/attack_data/master/datasets/attack_techniques/T1190/spring4shell/http_request_body_streams.log
|
|
source: stream:http
|
|
sourcetype: stream:http
|
|
test_type: unit
|