Potential Pspy Process Monitoring Detected
This rule leverages auditd to monitor for processes scanning different processes within the /proc directory using the openat syscall. This is a strong indication for the usage of the pspy utility. Attackers may leverage the pspy process monitoring utility to monitor system processes without requiring root permissions, in order to find potential privilege escalation vectors.
Elastic rule (View on GitHub)
1[metadata]
2creation_date = "2023/07/20"
3integration = ["auditd_manager"]
4maturity = "production"
5updated_date = "2025/01/24"
6
7[rule]
8author = ["Elastic"]
9description = """
10This rule leverages auditd to monitor for processes scanning different processes within the /proc directory using the
11openat syscall. This is a strong indication for the usage of the pspy utility. Attackers may leverage the pspy process
12monitoring utility to monitor system processes without requiring root permissions, in order to find potential privilege
13escalation vectors.
14"""
15from = "now-9m"
16index = ["logs-auditd_manager.auditd-*"]
17language = "eql"
18license = "Elastic License v2"
19name = "Potential Pspy Process Monitoring Detected"
20references = ["https://github.com/DominicBreuker/pspy"]
21risk_score = 21
22rule_id = "bdb04043-f0e3-4efa-bdee-7d9d13fa9edc"
23setup = """## Setup
24
25This rule requires data coming in from Auditd Manager.
26
27### Auditd Manager Integration Setup
28The Auditd Manager Integration receives audit events from the Linux Audit Framework which is a part of the Linux kernel.
29Auditd Manager provides a user-friendly interface and automation capabilities for configuring and monitoring system auditing through the auditd daemon. With `auditd_manager`, administrators can easily define audit rules, track system events, and generate comprehensive audit reports, improving overall security and compliance in the system.
30
31#### The following steps should be executed in order to add the Elastic Agent System integration "auditd_manager" on a Linux System:
32- Go to the Kibana home page and click “Add integrations”.
33- In the query bar, search for “Auditd Manager” and select the integration to see more details about it.
34- Click “Add Auditd Manager”.
35- Configure the integration name and optionally add a description.
36- Review optional and advanced settings accordingly.
37- Add the newly installed “auditd manager” to an existing or a new agent policy, and deploy the agent on a Linux system from which auditd log files are desirable.
38- Click “Save and Continue”.
39- For more details on the integration refer to the [helper guide](https://docs.elastic.co/integrations/auditd_manager).
40
41#### Rule Specific Setup Note
42Auditd Manager subscribes to the kernel and receives events as they occur without any additional configuration.
43However, if more advanced configuration is required to detect specific behavior, audit rules can be added to the integration in either the "audit rules" configuration box or the "auditd rule files" box by specifying a file to read the audit rules from.
44- For this detection rule the following additional audit rules are required to be added to the integration:
45 -- "-w /proc/ -p r -k audit_proc"
46"""
47severity = "low"
48tags = [
49 "Data Source: Auditd Manager",
50 "Domain: Endpoint",
51 "OS: Linux",
52 "Use Case: Threat Detection",
53 "Tactic: Discovery",
54 "Resources: Investigation Guide",
55]
56type = "eql"
57query = '''
58sequence by process.pid, host.id with maxspan=5s
59 [file where host.os.type == "linux" and auditd.data.syscall == "openat" and file.path == "/proc" and
60 auditd.data.a0 : ("ffffffffffffff9c", "ffffff9c") and auditd.data.a2 : ("80000", "88000") and
61 not process.name in ("agentbeat", "packetbeat")
62 ] with runs=10
63'''
64note = """## Triage and analysis
65
66> **Disclaimer**:
67> This investigation guide was created using generative AI technology and has been reviewed to improve its accuracy and relevance. While every effort has been made to ensure its quality, we recommend validating the content and adapting it to suit your specific environment and operational needs.
68
69### Investigating Potential Pspy Process Monitoring Detected
70
71Auditd is a Linux auditing system that tracks system calls, providing insights into process activities. Adversaries exploit tools like pspy to monitor processes via the /proc directory, seeking privilege escalation opportunities without root access. The detection rule identifies suspicious openat syscalls targeting /proc, excluding benign processes, to flag potential misuse of pspy for process discovery.
72
73### Possible investigation steps
74
75- Review the process details associated with the alert, focusing on the process.pid and process.name fields to identify the process attempting to access the /proc directory.
76- Investigate the host.id to determine if this activity is isolated to a single host or part of a broader pattern across multiple systems.
77- Examine the process tree and parent processes of the flagged process to understand how it was initiated and if it is part of a legitimate workflow or potentially malicious activity.
78- Check for any recent changes or installations on the host that might explain the presence of a tool like pspy, such as new software installations or updates.
79- Correlate the timing of the alert with any other suspicious activities or alerts on the same host to identify potential lateral movement or privilege escalation attempts.
80- Verify if the process name is a known benign process that might have been mistakenly excluded from the query, ensuring that the exclusion list is up-to-date and accurate.
81
82### False positive analysis
83
84- Frequent scanning by legitimate monitoring tools can trigger the rule. Identify and whitelist these tools by adding their process names to the exclusion list.
85- System management scripts that regularly access the /proc directory may cause false positives. Review these scripts and exclude their process names if they are verified as non-threatening.
86- Automated backup or security software that interacts with the /proc directory might be flagged. Confirm their legitimacy and add them to the exception list to prevent unnecessary alerts.
87- Custom applications developed in-house that require access to the /proc directory for performance monitoring should be reviewed and excluded if they are deemed safe.
88- Regularly update the exclusion list to reflect changes in legitimate software and tools used within the organization to minimize false positives.
89
90### Response and remediation
91
92- Immediately isolate the affected host from the network to prevent potential lateral movement by the adversary.
93- Terminate any suspicious processes identified as using the pspy utility to halt further unauthorized process monitoring.
94- Conduct a thorough review of the affected system's /proc directory access logs to identify any other unauthorized access attempts or anomalies.
95- Reset credentials and review permissions for any accounts that may have been compromised or used in the attack to prevent further unauthorized access.
96- Apply patches and updates to the affected system to address any vulnerabilities that may have been exploited for privilege escalation.
97- Enhance monitoring and logging on the affected host to detect any future attempts to access the /proc directory using similar methods.
98- Escalate the incident to the security operations team for further investigation and to determine if additional systems may be affected."""
99
100[[rule.threat]]
101framework = "MITRE ATT&CK"
102
103[[rule.threat.technique]]
104id = "T1057"
105name = "Process Discovery"
106reference = "https://attack.mitre.org/techniques/T1057/"
107
108[[rule.threat.technique]]
109id = "T1082"
110name = "System Information Discovery"
111reference = "https://attack.mitre.org/techniques/T1082/"
112
113[rule.threat.tactic]
114id = "TA0007"
115name = "Discovery"
116reference = "https://attack.mitre.org/tactics/TA0007/"
Triage and analysis
Disclaimer: This investigation guide was created using generative AI technology and has been reviewed to improve its accuracy and relevance. While every effort has been made to ensure its quality, we recommend validating the content and adapting it to suit your specific environment and operational needs.
Investigating Potential Pspy Process Monitoring Detected
Auditd is a Linux auditing system that tracks system calls, providing insights into process activities. Adversaries exploit tools like pspy to monitor processes via the /proc directory, seeking privilege escalation opportunities without root access. The detection rule identifies suspicious openat syscalls targeting /proc, excluding benign processes, to flag potential misuse of pspy for process discovery.
Possible investigation steps
- Review the process details associated with the alert, focusing on the process.pid and process.name fields to identify the process attempting to access the /proc directory.
- Investigate the host.id to determine if this activity is isolated to a single host or part of a broader pattern across multiple systems.
- Examine the process tree and parent processes of the flagged process to understand how it was initiated and if it is part of a legitimate workflow or potentially malicious activity.
- Check for any recent changes or installations on the host that might explain the presence of a tool like pspy, such as new software installations or updates.
- Correlate the timing of the alert with any other suspicious activities or alerts on the same host to identify potential lateral movement or privilege escalation attempts.
- Verify if the process name is a known benign process that might have been mistakenly excluded from the query, ensuring that the exclusion list is up-to-date and accurate.
False positive analysis
- Frequent scanning by legitimate monitoring tools can trigger the rule. Identify and whitelist these tools by adding their process names to the exclusion list.
- System management scripts that regularly access the /proc directory may cause false positives. Review these scripts and exclude their process names if they are verified as non-threatening.
- Automated backup or security software that interacts with the /proc directory might be flagged. Confirm their legitimacy and add them to the exception list to prevent unnecessary alerts.
- Custom applications developed in-house that require access to the /proc directory for performance monitoring should be reviewed and excluded if they are deemed safe.
- Regularly update the exclusion list to reflect changes in legitimate software and tools used within the organization to minimize false positives.
Response and remediation
- Immediately isolate the affected host from the network to prevent potential lateral movement by the adversary.
- Terminate any suspicious processes identified as using the pspy utility to halt further unauthorized process monitoring.
- Conduct a thorough review of the affected system's /proc directory access logs to identify any other unauthorized access attempts or anomalies.
- Reset credentials and review permissions for any accounts that may have been compromised or used in the attack to prevent further unauthorized access.
- Apply patches and updates to the affected system to address any vulnerabilities that may have been exploited for privilege escalation.
- Enhance monitoring and logging on the affected host to detect any future attempts to access the /proc directory using similar methods.
- Escalate the incident to the security operations team for further investigation and to determine if additional systems may be affected.
References
Related rules
- ESXI Discovery via Find
- ESXI Discovery via Grep
- Hping Process Activity
- Nping Process Activity
- Potential Network Scan Executed From Host