From 08fc8920172dc071c7320d5d82fccfa0260d63dd Mon Sep 17 00:00:00 2001 From: Michael Haag <5632822+MHaggis@users.noreply.github.com> Date: Tue, 16 May 2023 09:10:59 -0600 Subject: [PATCH] name fixes --- .../endpoint/windows_papercut_ng_spawn_shell.yml | 4 ++-- .../papercutng_suspicious_behavior_debug_log.yml | 10 +++++----- .../web/papercutng_remote_web_access_attempt.yml | 10 +++++----- 3 files changed, 12 insertions(+), 12 deletions(-) diff --git a/detections/endpoint/windows_papercut_ng_spawn_shell.yml b/detections/endpoint/windows_papercut_ng_spawn_shell.yml index ac2f5a35a9..3687655fd0 100644 --- a/detections/endpoint/windows_papercut_ng_spawn_shell.yml +++ b/detections/endpoint/windows_papercut_ng_spawn_shell.yml @@ -7,7 +7,7 @@ status: production type: TTP data_source: - Sysmon Event ID 1 -description: The following analytic is designed to detect instances where the PaperCutNG application (pc-app.exe) spawns a Windows shell, specifically cmd.exe or PowerShell. This behavior may indicate potential malicious activity, such as an attacker attempting to gain unauthorized access or execute harmful commands on the affected system. +description: The following analytic is designed to detect instances where the PaperCut NG application (pc-app.exe) spawns a Windows shell, specifically cmd.exe or PowerShell. This behavior may indicate potential malicious activity, such as an attacker attempting to gain unauthorized access or execute harmful commands on the affected system. search: '| tstats `security_content_summariesonly` count min(_time) as firstTime max(_time) as lastTime from datamodel=Endpoint.Processes where Processes.parent_process_name=pc-app.exe `process_cmd` OR `process_powershell` OR Processes.process_name=java.exe by Processes.dest Processes.user Processes.parent_process_name Processes.process_name @@ -25,7 +25,7 @@ tags: atomic_guid: [] confidence: 90 impact: 100 - message: The PaperCutNG application has spawned a shell $process_name$ on endpoint $dest$ by $user$. + message: The PaperCut NG application has spawned a shell $process_name$ on endpoint $dest$ by $user$. mitre_attack_id: - T1059 - T1190 diff --git a/detections/experimental/application/papercutng_suspicious_behavior_debug_log.yml b/detections/experimental/application/papercutng_suspicious_behavior_debug_log.yml index 52fe096687..cce66a6674 100644 --- a/detections/experimental/application/papercutng_suspicious_behavior_debug_log.yml +++ b/detections/experimental/application/papercutng_suspicious_behavior_debug_log.yml @@ -1,4 +1,4 @@ -name: PaperCutNG Suspicious Behavior Debug Log +name: PaperCut NG Suspicious Behavior Debug Log id: 395163b8-689b-444b-86c7-9fe9ad624734 version: 1 date: '2023-05-15' @@ -6,15 +6,15 @@ author: Michael Haag, Splunk status: experimental type: Hunting data_source: [] -description: The following hunting analytic is designed to monitor and detect potential exploitation attempts targeting a PaperCutNG server by analyzing its debug log data. By focusing on public IP addresses accessing the PaperCutNG instance, this analytic aims to identify unauthorized or suspicious access attempts. Furthermore, it searches for specific URIs that have been discovered in the proof of concept code, which are associated with known exploits or vulnerabilities. The analytic is focused on the user admin. Regex is used mainly because the log is not parsed by Splunk and there is no TA for this debug log. +description: The following hunting analytic is designed to monitor and detect potential exploitation attempts targeting a PaperCut NG server by analyzing its debug log data. By focusing on public IP addresses accessing the PaperCut NG instance, this analytic aims to identify unauthorized or suspicious access attempts. Furthermore, it searches for specific URIs that have been discovered in the proof of concept code, which are associated with known exploits or vulnerabilities. The analytic is focused on the user admin. Regex is used mainly because the log is not parsed by Splunk and there is no TA for this debug log. search: '`papercutng` (loginType=Admin OR userName=admin) | eval uri_match=if(match(_raw, "(?i)(\/app\?service=page\/SetupCompleted|\/app|\/app\?service=page\/PrinterList|\/app\?service=direct\/1\/PrinterList\/selectPrinter&sp=l1001|\/app\?service=direct\/1\/PrinterDetails\/printerOptionsTab\.tab)"), "URI matches", null()) | eval ip_match=if(match(_raw, "(?i)((25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?))") AND NOT match(_raw, "(?i)(10\.(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?))|(172\.(1[6-9]|2[0-9]|3[0-1])\.(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?))|(192\.168\.(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?))"), "IP matches", null()) | where (isnotnull(uri_match) OR isnotnull(ip_match)) | stats sparkline, count, values(uri_match) AS uri_match, values(ip_match) AS ip_match latest(_raw) - BY host, index, sourcetype | `papercutng_suspicious_behavior_debug_log_filter`' + BY host, index, sourcetype | `papercut_ng_suspicious_behavior_debug_log_filter`' how_to_implement: Debug logs must be enabled and shipped to Splunk in order to properly identify behavior with this analytic. -known_false_positives: False positives may be present, as this is based on the admin user accessing the PapercutNG instance from a public IP address. Filter as needed. +known_false_positives: False positives may be present, as this is based on the admin user accessing the Papercut NG instance from a public IP address. Filter as needed. references: - https://www.papercut.com/kb/Main/HowToCollectApplicationServerDebugLogs - https://github.com/inodee/threathunting-spl/blob/master/hunt-queries/HAFNIUM.md @@ -30,7 +30,7 @@ tags: atomic_guid: [] confidence: 80 impact: 80 - message: Behavior related to exploitation of PaperCutNG has been identified on $host$. + message: Behavior related to exploitation of PaperCut NG has been identified on $host$. mitre_attack_id: - T1190 observable: diff --git a/detections/web/papercutng_remote_web_access_attempt.yml b/detections/web/papercutng_remote_web_access_attempt.yml index 9cf0dad22c..5f46d9b535 100644 --- a/detections/web/papercutng_remote_web_access_attempt.yml +++ b/detections/web/papercutng_remote_web_access_attempt.yml @@ -1,4 +1,4 @@ -name: PaperCutNG Remote Web Access Attempt +name: PaperCut NG Remote Web Access Attempt id: 9fcb214a-dc42-4ce7-a650-f1d2cab16a6a version: 1 date: '2023-05-15' @@ -6,10 +6,10 @@ author: Michael Haag, Splunk status: production type: TTP data_source: [] -description: The following analytic is designed to detect potential exploitation attempts on publicly accessible PaperCutNG servers. It identifies connections from public IP addresses to the server and specifically monitors for URI paths commonly found in proof-of-concept (POC) scripts for exploiting PaperCutNG vulnerabilities. These URI paths have been observed in both Metasploit modules and standalone scripts used for attacking PaperCutNG servers. - When a public IP address is detected accessing one or more of these suspicious URI paths, an alert may be generated to notify the security team of the potential threat. The team can then investigate the source IP address, the targeted PaperCutNG server, and any other relevant information to determine the nature of the activity and take appropriate actions to mitigate the risk. +description: The following analytic is designed to detect potential exploitation attempts on publicly accessible PaperCut NG servers. It identifies connections from public IP addresses to the server and specifically monitors for URI paths commonly found in proof-of-concept (POC) scripts for exploiting PaperCut NG vulnerabilities. These URI paths have been observed in both Metasploit modules and standalone scripts used for attacking PaperCut NG servers. + When a public IP address is detected accessing one or more of these suspicious URI paths, an alert may be generated to notify the security team of the potential threat. The team can then investigate the source IP address, the targeted PaperCut NG server, and any other relevant information to determine the nature of the activity and take appropriate actions to mitigate the risk. search: '| tstats count from datamodel=Web where Web.url IN ("/app?service=page/SetupCompleted", "/app", "/app?service=page/PrinterList", "/app?service=direct/1/PrinterList/selectPrinter&sp=*", "/app?service=direct/1/PrinterDetails/printerOptionsTab.tab") NOT (src IN ("10.*.*.*","172.16.*.*", "192.168.*.*", "169.254.*.*", "127.*.*.*", "fc00::*", "fd00::*", "fe80::*")) by Web.http_user_agent Web.http_method, Web.url,Web.url_length Web.src, Web.dest Web.dest_port sourcetype | `drop_dm_object_name("Web")` | `security_content_ctime(firstTime)` - | `security_content_ctime(lastTime)` | `papercutng_remote_web_access_attempt_filter`' + | `security_content_ctime(lastTime)` | `papercut_ng_remote_web_access_attempt_filter`' how_to_implement: To successfully implement this search you need to be ingesting information on Web traffic that include fields relavent for traffic into the `Web` datamodel. known_false_positives: False positives may be present, filter as needed. @@ -26,7 +26,7 @@ tags: atomic_guid: [] confidence: 70 impact: 90 - message: URIs specific to PaperCutNG have been access by a public IP against $dest$. + message: URIs specific to PaperCut NG have been access by a public IP against $dest$. mitre_attack_id: - T1190 observable: