Files
splunk-security_content/escu/searches/detection_suspicious_java_classes.json
2019-02-04 18:22:25 -05:00

85 lines
3.3 KiB
JSON

{
"asset_type": "Endpoint",
"channel": "ESCU",
"confidence": "medium",
"correlation_rule": {
"notable": {
"nes_fields": "src, url, http_user_agent",
"rule_description": "The host $src$ with user agent $http_user_agent$ is sending web traffic to $url$, which contains suspicious Java classes. These classes may be indicative of remote code execution in Java frameworks, such as Apache Struts.",
"rule_title": "Suspicious Java Classes: Possible RCE against Struts or similar Java framework from $src$"
},
"risk": {
"risk_object": "src",
"risk_object_type": [
"system"
],
"risk_score": 50
},
"suppress": {
"suppress_fields": "src, url, http_user_agent",
"suppress_period": "3600s"
}
},
"creation_date": "2018-12-06",
"data_metadata": {
"data_source": [
"Web Traffic"
],
"data_sourcetypes": [
"stream:http"
],
"providing_technologies": [
"Splunk Stream",
"Bro",
"Bluecoat",
"Apache"
]
},
"eli5": "The search leverages HTTP form data from typically POST events that can be captured with Splunk streams or similar wire data capture tools. The search looks for java classes like `processbuilder` and `runtime` are used to create a new process and execute commands inside java, and are synonymous with spawning a shell. There are very exceptional reasons to ever these classes in Java via an HTTP API and hence when seen are highly suspicious. Also, this is a common vectors leverage to exploit Apache Struts.",
"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.",
"maintainers": [
{
"company": "Splunk",
"email": "jhernandez@splunk.com",
"name": "Jose Hernandez"
}
],
"mappings": {
"cis20": [
"CIS 7",
"CIS 12"
],
"kill_chain_phases": [
"Exploitation"
],
"mitre_attack": [
"Execution"
],
"nist": [
"DE.AE"
]
},
"modification_date": "2018-12-06",
"original_authors": [
{
"company": "Splunk",
"email": "jhernandez@splunk.com",
"name": "Jose Hernandez"
}
],
"scheduling": {
"cron_schedule": "0 * * * *",
"earliest_time": "-70m@m",
"latest_time": "-10m@m"
},
"search": "sourcetype=\"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 | convert ctime(firstTime) ctime(lastTime)",
"search_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_id": "if1fea6da-3c86-4c1d-b255-fc3b2781a491",
"search_name": "Suspicious Java Classes",
"search_type": "detection",
"security_domain": "threat",
"spec_version": 1,
"version": "1.0"
}