|
| 1 | +name: SAP NetWeaver Visual Composer Exploitation Attempt |
| 2 | +id: a583b9f1-9c3a-4402-9441-b981654dea6c |
| 3 | +version: 1 |
| 4 | +date: '2025-04-28' |
| 5 | +author: Michael Haag, Splunk |
| 6 | +status: production |
| 7 | +type: Hunting |
| 8 | +description: | |
| 9 | + Detects potential exploitation attempts targeting CVE-2025-31324, a critical unauthenticated file upload vulnerability in SAP NetWeaver Visual Composer. This flaw allows remote attackers to send specially crafted POST requests to the /developmentserver/metadatauploader endpoint, enabling arbitrary file uploads—commonly webshells—resulting in full system compromise. The detection looks for HTTP HEAD or POST requests with a 200 OK status to sensitive Visual Composer endpoints, which may indicate reconnaissance or active exploitation. Successful exploitation can lead to attackers gaining privileged access, deploying malware, and impacting business-critical SAP resources. Immediate patching and investigation of suspicious activity are strongly recommended, as this vulnerability is being actively exploited in the wild. |
| 10 | +data_source: |
| 11 | +- Suricata |
| 12 | +search: '| tstats count min(_time) as firstTime max(_time) as lastTime |
| 13 | + from datamodel=Web.Web |
| 14 | + where (Web.url IN ("/CTCWebService/CTCWebServiceBean", "/VisualComposer/services/DesignTimeService", "/ctc/CTCWebService/CTCWebServiceBean")) |
| 15 | + AND Web.http_method IN ("HEAD", "POST") |
| 16 | + AND Web.status=200 |
| 17 | + by Web.src, Web.dest, Web.http_method, Web.url, Web.http_user_agent, Web.url_length, sourcetype |
| 18 | + | `drop_dm_object_name("Web")` |
| 19 | + | eval action=case(http_method="HEAD", "Recon/Probe", http_method="POST", "Possible Exploitation") |
| 20 | + | `security_content_ctime(firstTime)` |
| 21 | + | `security_content_ctime(lastTime)` |
| 22 | + | table firstTime, lastTime, src, dest, http_method, action, url, user_agent, url_length, sourcetype |
| 23 | + | `sap_netweaver_visual_composer_exploitation_attempt_filter`' |
| 24 | +how_to_implement: | |
| 25 | + Ensure that the Web data model is accelerated and populated with web server or web proxy logs capturing HTTP request and response data. |
| 26 | + This search relies on HTTP method, status code, and URL path fields to identify suspicious access patterns against SAP NetWeaver endpoints. |
| 27 | +known_false_positives: | |
| 28 | + Some legitimate administrative activity may access SAP NetWeaver services. However, HEAD or POST requests directly resulting in a 200 OK |
| 29 | + to Visual Composer endpoints are uncommon and should be investigated carefully. |
| 30 | +references: |
| 31 | +- https://onapsis.com/blog/active-exploitation-of-sap-vulnerability-cve-2025-31324/ |
| 32 | +- https://reliaquest.com/blog/threat-spotlight-reliaquest-uncovers-vulnerability-behind-sap-netweaver-compromise/ |
| 33 | +- https://www.rapid7.com/blog/post/2025/04/28/etr-active-exploitation-of-sap-netweaver-visual-composer-cve-2025-31324/ |
| 34 | +tags: |
| 35 | + analytic_story: |
| 36 | + - SAP NetWeaver Exploitation |
| 37 | + asset_type: Web Server |
| 38 | + mitre_attack_id: |
| 39 | + - T1190 |
| 40 | + product: |
| 41 | + - Splunk Enterprise |
| 42 | + - Splunk Enterprise Security |
| 43 | + - Splunk Cloud |
| 44 | + security_domain: network |
| 45 | + cve: |
| 46 | + - CVE-2025-31324 |
| 47 | +tests: |
| 48 | +- name: True Positive Test |
| 49 | + attack_data: |
| 50 | + - data: https://media.githubusercontent.com/media/splunk/attack_data/master/datasets/attack_techniques/T1190/sap/suricata_sapnetweaver.log |
| 51 | + sourcetype: suricata |
| 52 | + source: suricata |
0 commit comments