| ID | Technique | Tactic |
|---|---|---|
| T1190 | Exploit Public-Facing Application | Initial Access |
Detection: Cisco Secure Firewall - PHP2Shell Serialized Payload Activity
Description
This analytic detects suspicious PHP web application requests using Cisco Secure Firewall Threat Defense Intrusion Events. The matching network signature identifies a serialized input pattern associated with attempts to exploit PHP request handling. Investigate the source, targeted application, and related web server activity to determine whether the request was part of PHP2Shell exploitation.
Search
1`cisco_secure_firewall` EventType=IntrusionEvent SignatureID=67359
2
3| fillnull
4
5| stats min(_time) as firstTime
6 max(_time) as lastTime
7 values(SignatureID) as SignatureID
8 values(signature) as signature
9 values(class_desc) as class_desc
10 values(MitreAttackGroups) as MitreAttackGroups
11 values(InlineResult) as InlineResult
12 values(InlineResultReason) as InlineResultReason
13 values(src) as src
14 values(dest_port) as dest_port
15 values(rule) as rule
16 values(transport) as transport
17 values(app) as app
18 by dest
19
20| `security_content_ctime(firstTime)`
21
22| `security_content_ctime(lastTime)`
23
24| `cisco_secure_firewall___php2shell_serialized_payload_activity_filter`
Data Source
| Name | Platform | Sourcetype | Source |
|---|---|---|---|
| Cisco Secure Firewall Threat Defense Intrusion Event | 'cisco:sfw:estreamer' |
'not_applicable' |
Macros Used
| Name | Value |
|---|---|
| cisco_secure_firewall | sourcetype="cisco:sfw:estreamer" |
| cisco_secure_firewall___php2shell_serialized_payload_activity_filter | search * |
cisco_secure_firewall___php2shell_serialized_payload_activity_filter is an empty macro by default. It allows the user to filter out any results (false positives) without editing the SPL.
Annotations
CVE
Default Configuration
This detection is configured by default in Splunk Enterprise Security to run with the following settings:
| Setting | Value |
|---|---|
| Disabled | true |
| Cron Schedule | 0 * * * * |
| Earliest Time | -70m@m |
| Latest Time | -10m@m |
| Schedule Window | auto |
| Creates Finding (Notable) | Yes |
| Rule Title | %name% |
| Rule Description | %description% |
| Notable Event Fields | user, dest |
| Creates Intermediate Finding (Risk Event) | No |
Implementation
This search requires Cisco Secure Firewall Threat Defense logs with IntrusionEvent data.
It uses the cisco_secure_firewall input macro, configure it for your environment (index, source, sourcetype).
Ensure intrusion events are collected via the Splunk Add-on for Cisco Security Cloud (https://splunkbase.splunk.com/app/7404) and that the relevant intrusion policy is enabled.
Known False Positives
Security testing or applications that legitimately submit serialized PHP data may trigger this signature. Review the request context and the targeted service.
Associated Analytic Story
Finding
| Title | Entity Field | Entity Type | Risk Score |
|---|---|---|---|
| Suspicious PHP serialized input from [$src$] targeting [$dest$] | dest | system | 50 |
Threat Objects
| Field | Type |
|---|---|
| src | ip_address |
| signature | signature |
References
Detection Testing
| Test Type | Status | Dataset | Source | Sourcetype |
|---|---|---|---|---|
| Validation | ✅ Passing | N/A | N/A | N/A |
| Unit | ✅ Passing | Dataset | not_applicable |
cisco:sfw:estreamer |
| Integration | ✅ Passing | Dataset | not_applicable |
cisco:sfw:estreamer |
Replay any dataset to Splunk Enterprise by using our replay.py tool or the UI.
Alternatively you can replay a dataset into a Splunk Attack Range
Source: GitHub |
Version: 1