name: Suspicious Java Classes id: if1fea6da-3c86-4c1d-b255-fc3b2781a491 version: 1 date: '2018-12-06' author: Jose Hernandez, Splunk type: batch datamodel: [] description: This search looks for suspicious Java classes that are often used to exploit remote command execution in common Java frameworks, such as Apache Struts. search: '`stream_http` http_method=POST http_content_length>1 | regex form_data="(?i)java\.lang\.(?:runtime|processbuilder)" | rename src_ip as src | stats count earliest(_time) as firstTime, latest(_time) as lastTime, values(url) as uri, values(status) as status, values(http_user_agent) as http_user_agent by src, dest | `security_content_ctime(firstTime)` | `security_content_ctime(lastTime)` | `suspicious_java_classes_filter`' how_to_implement: In order to properly run this search, Splunk needs to ingest data from your web-traffic appliances that serve or sit in the path of your Struts application servers. This can be accomplished by indexing data from a web proxy, or by using network traffic-analysis tools, such as Splunk Stream or Bro. known_false_positives: There are no known false positives. references: [] tags: analytic_story: - Apache Struts Vulnerability asset_type: Endpoint cis20: - CIS 7 - CIS 12 kill_chain_phases: - Exploitation nist: - DE.AE product: - Splunk Enterprise - Splunk Enterprise Security - Splunk Cloud security_domain: threat