🔏
RootGuard
HomeSOC OperationsIncident ResponseWindows ForensicsLinux ForensicsKQL Investigations
  • Welcome
    • RootGuard
      • Who Am I?
        • Professional Profile
  • Resources Hub
    • Blogs
      • Articles
        • Safeguarding SMEs: The Strategic Importance of a Security Operations Center (SOC)
      • Posts
        • Roadmap to Becoming a Cybersecurity Specialist
        • Starting a Career in Cybersecurity
        • A Guide to Landing Your First Cybersecurity Analyst Role
        • Moving from Intermediate to Expert Incident Responder
  • SOC Operations
    • Introduction
      • Development Resources
        • SOC Analysts Roadmap
        • Becoming A SOC Analyst
        • SOC Analysts Prep Interview Questions
    • Essential Skills
      • Critical Windows EventIDs to Monitor
    • Junior Analyst Skills
      • Splunk Use Cases
      • KQL Use Cases
        • Reconnaissance (TA0043)
        • Initial Access (TA0001)
        • Execution (TA0002)
        • Persistence (TA0003)
        • Privilege Escalation (TA0004)
        • Defence Evasion (TA0005)
        • Credential Access (TA0006)
        • Discovery (TA0007)
        • Lateral Movement (TA0008)
        • Collection (TA0009)
        • Command and Control (TA0011)
        • Exfiltration (TA0010)
        • Impact (TA0040)
      • Investigating Common Attacks
        • Domain Dominance Attacks - Detection & Analysis
        • Investigating a Suspected AD FS Distributed Key Management (DKM) Attack
        • Authentication From Suspicious DeviceName
        • Identifying Interactive or RemoteInteractive Session From Service Account
        • Identifying Split or Part Archive File Transfers
        • Detect Potential Cleartext Credentials in Command Line
        • Detecting Command Line Interpreters Launched via Scheduled Tasks
        • Detecting Files Containing Potentially Sensitive Data
        • Detecting DeviceNetworkEvents From Windows Processes and Domains by TLD
        • Detecting Silent cmd.exe Execution With Redirected STDERR & STDOUT
        • Detecting Low Prevalence DLL Loaded From Process In User Downloads Directory
        • Detecting Virtual Drive Mounted From Archive
        • Identify Execution of Script From User's Downloads Folder
        • Identify Potential RDP Tunneled Sessions
        • Identify Instances of PowerShell Invoke-WebRequest, IWR or Net.WebClient
        • Identify Processes Launched by PowerShell Remoting (WSMProvHost.exe)
        • Detect DeviceNetworkEvents for LOLBAS with Download or Upload Functions
        • Detect Execution of PSEXESVC via Remote Systems
        • Identify Suspicious String in Service Creation ImagePath
        • Identify File with Double Extensions
        • Detect Potential Cleartext Credentials in Commandline
        • Detect When Large Number of Files Downloaded From OneDrive or SharePoint
        • Identify and Investigate Phishing Attacks with KQL
      • PowerShell for SecOps
        • Powershell Remoting
        • Reconnaissance Discovery
        • Initial Access Discovery
        • Execution Discovery
        • Persistence Discovery
        • Privilege Escalation Discovery
        • Defence Evasion Discovery
        • Credential Access Discovery
        • Discovery
        • Lateral Movement Discovery
        • Collection Discovery
        • Command & Control (C2) Discovery
        • Exfiltration Discovery
        • Impact Discovery
      • Packet Analysis (pcap)
        • Tcpdump
        • Tcpdump (Intermediate)
        • Tshark
        • Ngrep
      • Investigating Suspicious Emails Using KQL
    • Intermediate and Advanced Skills
      • Investigate Using MITRE ATT&CK Methodology
        • Reconnaissance (TA0043) Techniques
        • Resource Development (TA0042) Techniques
        • Initial Access (TA0001) Techniques
        • Command Execution (TA0002) Techniques
        • Persistence (TA0003) Techniques
        • Privilege Escalation (TA0004) Techniques
        • Defence Evasion (TA0005) Techniques
        • Credential Access (TA0006) Techniques
        • Discovery (TA0007) Techniques
        • Lateral Movement (TA0008) Techniques
        • Collection (TA0009) Techniques
        • Command and Control (C2) (TA0011) Techniques
        • Exfiltration (TA0010) Techniques
        • Impact (TA0040) Techniques
    • Vulnerability Management
    • Malware Analysis
  • DFIR
    • Incident Response
      • Incident Triage
        • Triage Types and Processes
        • PowerShell for Detection and Analysis
          • Malware or Compromise Investigation
          • Lateral Movement Discovery
        • Registry Analysis
        • Sysinternals Intrusion Analysis
        • PowerShell Intrusion Analysis
        • Velociraptor Intrusion Analysis
        • Zimmerman Tools Intrusion Analysis
      • KAPE Artifacts Analysis
      • Velociraptor Artifacts Analysis
      • Using The Unified Kill Chain Model to Analyse Individual Cyber Attacks
        • Phase 1 - Gaining an Initial Foothold
          • Gaining Access to the Network
          • Establishing a Foothold
          • Network Discovery
      • Response Strategies
        • Privilege Escalation Assessment
        • Command and Control Assessment
        • Command Execution Assessment
        • Defence Evasion Assessment
        • Detection Assessment
        • Discovery Assessment
        • Exfiltration Assessment
        • Initial Access Assessment
        • Initial Impact Assessment Techniques
        • Lateral Movement Assessment
        • Persistence Assessment
    • Windows Forensics
      • Evidence of Execution
      • Window Artifact Analysis
        • Account Usage
        • User Activity Tracking (Event Logs)
        • Program Execution
        • File and Folder Opening
        • File Download
        • Browser Usage
        • Deleted File or File Knowledge
        • External Device & USB Usage
    • Linux Forensics
      • Linux Commandline Basics
      • Host Compromise Assessment
    • KQL for Defender & Sentinel
      • MDO (Office)
      • MDI (Identity)
      • MDE (Endpoint)
    • Memory Forensics
      • Memory Forensics (Volatility 3)
    • Playbooks
      • First Responder DFIR Playbook
        • Device Isolation
        • Evidence Collection
          • Acquire Triage Image Using KAPE
          • Acquire Triage Data Using Velociraptor
          • Acquire Triage Data Using Powershell
          • Acquire Triage Memory Image
          • Acquire Image Using FTK
          • AXIOM Cyber Data Collection
        • Windows Forensic Artefacts
          • Application Execution
          • File & Folder Knowledge
          • External Device Usage
          • Network Activity
          • Windows Event Logs
        • Initial Analysis
          • Memory Analysis (Vol 3)
          • Axiom Cyber Examiner
  • Detection Engineering
    • AD Attack Detections & Mitigations
      • Kerberoasting
      • Authentication Server Response (AS-REP) Roasting
      • Password Spraying
      • MachineAccountQuota Compromise
      • Unconstrained Delegation
      • Password in Group Policy Preferences (GPP) Compromise
      • Active Directory Certificate Services (AD CS) Compromise
      • Golden Certificate
      • DCSync
      • Dumping ntds.dit
      • Golden Ticket
      • Silver Ticket
      • Golden Security Assertion Markup Language (SAML)
      • Microsoft Entra Connect Compromise
      • One-way Domain Trust Bypass
      • Security Identifier (SID) History Compromise
      • Skeleton Key
      • Active Directory Security Controls
      • Active Directory Events for Detecting Compromise
    • Attack Triage Playbooks (KQL Triage)
      • Windows Malware Detection Playbook
      • Linux Host Intrusion Detection Playbook (CLI)
      • Linux Intrusion Detection Playbook
      • Large-Scale Compromise Detection Playbook
      • Ransomware Detection Playbook
      • Phishing Email Compromise Detection Playbook
      • Scam Detection Playbook
      • Customer Phishing Detection Playbook
      • Insider Abuse Detection Playbook
      • Information Leakage Detection Playbook
      • Social Engineering Detection Playbook
      • Malicious Network Behaviour Detection Playbook
      • Windows Intrusion Detection Playbook
      • Vulnerability Detection Playbook
      • Business Email Compromise Detection Playbook
    • Process Execution (KQL Triage)
    • Threat Hunting
      • Hunting Ransomware Indicators
      • Hunting With KQL
        • Detecting Malware Infection (MITRE ATT&CK: T1566, T1059)
        • Discovery Activities (MITRE ATT&CK: T1016, T1083, T1046)
        • Credential Theft (MITRE ATT&CK: T1003, T1078)
        • Lateral Movement (MITRE ATT&CK: T1076, T1021)
        • Data Theft (MITRE ATT&CK: T1041, T1071)
        • Detecting CommandLine Executions (MITRE ATT&CK: T1059)
        • Windows Security Logs (Identity and Logon Activities)
      • Hunting With Splunk
Powered by GitBook
On this page
  • Introduction
  • Capabilities of PowerShell for Collection Discovery in DFIR
  • Efficiency Provided by PowerShell in Collection Discovery
  • Collection Discovery
  • 1. File and Data Collection
  • 2. Clipboard Data Collection
  • 3. Keystroke Logging
  • 4. Screenshot and Video Capture
  • 5. Audio Capture and Surveillance
  • 6. Credential and Authentication Data Collection
  • 7. Email and Messaging Data Collection
  • 8. Browser Data Collection
  • 9. Data Staging and Compression
  • 10. Cloud and Remote Storage Access
Edit on GitHub
  1. SOC Operations
  2. Junior Analyst Skills
  3. PowerShell for SecOps

Collection Discovery

Introduction

PowerShell is a powerful and versatile tool widely used by security operations (SecOps) teams to manage systems, automate tasks, and conduct detailed investigations. Its robust scripting capabilities and deep integration with Windows make it indispensable for Digital Forensics and Incident Response (DFIR). One of its critical applications in DFIR is uncovering Collection Discovery activities. Collection Discovery involves identifying and investigating attackers' unauthorised gathering of sensitive data or intellectual property within an enterprise network. PowerShell empowers SecOps teams to efficiently detect and analyse these activities, enabling swift containment and mitigation of data-related threats.


Capabilities of PowerShell for Collection Discovery in DFIR

1. Detecting File and Directory Enumeration:

PowerShell can monitor and analyse commands used to enumerate files and directories, which is often an initial step in data collection. This includes detecting suspicious access to shared drives, sensitive directories, or files with specific extensions, such as .docx, .xlsx, or .pdf.

2. Investigating Unauthorised Data Access:

Attackers may attempt to access or exfiltrate confidential data. PowerShell provides the ability to query audit logs, monitor file system activity, and detect unauthorised access to critical resources.

3. Monitoring Data Aggregation Tools:

PowerShell can identify the use of tools or scripts designed for aggregating data, such asrobocopy, custom PowerShell scripts or third-party utilities. It can also monitor for unusual compression or archiving activities, such as the creation of .zip or .rar files.

4. Analysing Network File Transfers:

PowerShell enables analysts to detect suspicious file transfers over the network, such as uploads to cloud storage services, transfers via SMB shares, or unusual HTTP/FTP activity.

5. Detecting Credential Collection:

Collection Discovery often includes harvesting credentials stored on systems. PowerShell can identify attempts to access the Windows Credential Manager, SAM database, or tools like Mimikatz, which are used to collect credentials.

6. Inspecting Registry and Configuration Changes:

Attackers may modify registry settings or system configurations to enable easier data collection. PowerShell can query and analyse registry keys and configuration files for unauthorised changes.

7. Querying Event Logs for Data Collection Patterns:

PowerShell can analyse event logs to identify patterns indicative of data collection, such as abnormal read/write operations, access to large volumes of data, or failed access attempts.


Efficiency Provided by PowerShell in Collection Discovery

  1. Comprehensive Visibility: PowerShell offers access to critical data sources, such as file systems, logs, and network configurations, enabling analysts to thoroughly investigate collection activities.

  2. Real-Time Monitoring: PowerShell supports real-time detection and analysis, allowing SecOps teams to identify collection attempts as they occur and take immediate action.

  3. Scalability: Using PowerShell Remoting, analysts can simultaneously investigate collection activities across multiple systems, ensuring comprehensive coverage in enterprise environments.

  4. Automation and Efficiency: Repetitive tasks, such as scanning directories for sensitive file access or monitoring audit logs, can be automated using PowerShell scripts, saving time and ensuring consistency.

  5. Tailored Detection Rules: PowerShell scripts can be customised to detect specific collection techniques aligned with the MITRE ATT&CK framework, enhancing the precision of investigations.

  6. Integration with Security Tools: PowerShell integrates seamlessly with platforms like Microsoft Sentinel, Defender for Endpoint, and SIEM solutions, enabling enriched data analysis and automated threat response.


By leveraging PowerShell’s capabilities, SecOps teams can efficiently uncover and analyse Collection Discovery activities in enterprise networks. This enables proactive defence against data theft and ensures the organisation’s sensitive information remains secure.

Collection Discovery

1. File and Data Collection

1.1. Detecting Large File Searches

Purpose: Identify searches for large files, which may indicate data collection.

Get-ChildItem -Path "C:\Users\*" -Recurse -File |  Where-Object {$_.Length -gt 100MB} |  Select-Object FullName, Length

1.2. Monitoring for File Searches by Extension

Purpose: Detect searches for specific file types, such as documents or spreadsheets.

Get-ChildItem -Path "C:\Users\*" -Recurse -Include *.docx, *.xlsx, *.pdf |  Select-Object FullName, LastWriteTime

2. Clipboard Data Collection

2.1. Monitoring Clipboard Access

Get-EventLog -LogName Application -Source 'ClipSp' | Select-Object TimeGenerated, EntryType, Message

2.2. Detecting Clipboard Content Retrieval

Purpose: Identify attempts to read clipboard contents programmatically.

Get-WinEvent -FilterHashtable @{LogName='Security'; ID=4663} | Where-Object {$_.Properties[8].Value -match 'Clipboard'} | Select-Object TimeCreated, @{n='ObjectName';e={$_.Properties[6].Value}}

3. Keystroke Logging

3.1. Detecting Keylogger Installation

Purpose: Identify the presence of keylogging software.

Get-ChildItem -Path "C:\Program Files\*" -Filter "*keylogger*" -Recurse | Select-Object FullName, CreationTime

3.2. Monitoring for Keystroke Logging Activity

Purpose: Detect processes indicative of keystroke logging.

Get-Process | Where-Object {$_.ProcessName -like '*logger*'} | Select-Object ProcessName, Id, StartTime

4. Screenshot and Video Capture

4.1. Detecting Screenshot Capture Programs

Purpose: Identify tools used for capturing screenshots.

Get-Process | Where-Object {$_.ProcessName -match 'Snagit|Greenshot|SnippingTool'} | Select-Object ProcessName, Id, StartTime

4.2. Monitoring Video Capture Software

Purpose: Detect software used for video capture.

Get-Process | Where-Object {$_.ProcessName -match 'OBS|Camtasia|Debut'} | Select-Object ProcessName, Id, StartTime

5. Audio Capture and Surveillance

5.1. Monitoring for Audio Recording Software

Purpose: Identify software that may be used to record audio.

Get-Process | Where-Object {$_.ProcessName -match 'Audacity|AudioHijack|SoundRecorder'} | Select-Object ProcessName, Id, StartTime

5.2. Detecting Use of System Microphone

Purpose: Monitor for applications accessing the system's microphone.

Get-WmiObject -Class Win32_PnPEntity |  Where-Object {($_.Name -match "Microphone") -and ($_.Status -eq "OK")} | Select-Object Name, Status

6. Credential and Authentication Data Collection

6.1. Monitoring for Credential Dumping Tools

Purpose: Detect the use of tools like Mimikatz for extracting credentials.

Get-WinEvent -FilterHashtable @{LogName='Security'; ID=4688} | Where-Object {$_.Properties[5].Value -match 'mimikatz'} | Select-Object TimeCreated, @{n='ProcessName';e={$_.Properties[5].Value}}, @{n='CommandLine';e={$_.Properties[9].Value}}

6.2. Detecting Access to Credential Stores

Purpose: Identify attempts to access stored credentials, such as password vaults.

Get-WinEvent -FilterHashtable @{LogName='Security'; ID=4663} | Where-Object {$_.Properties[8].Value -match 'Credentials'} | Select-Object TimeCreated, @{n='ObjectName';e={$_.Properties[6].Value}}

7. Email and Messaging Data Collection

7.1. Monitoring for Email Client Activity

Purpose: Detect unusual activity in email clients, such as bulk exports.

Get-WinEvent -FilterHashtable @{LogName='Application'; ID=3005} | Where-Object {$_.Message -match 'Outlook'} | Select-Object TimeCreated, @{n='Event';e={$_.Message}}

7.2. Detecting Access to Messaging Applications

Purpose: Identify access to messaging applications like Skype, Teams, etc.

Get-Process | Where-Object {$_.ProcessName -match 'Teams|Skype|Slack'} | Select-Object ProcessName, Id, StartTime

8. Browser Data Collection

8.1. Detecting Access to Browser Data

Purpose: Monitor for access to browser data, including cookies and history.

Get-ChildItem -Path "C:\Users\*\AppData\Local\Google\Chrome\User Data\Default" -Include Cookies, History -Recurse | Select-Object FullName, LastWriteTime

8.2. Monitoring Browser Extensions for Data Collection

Purpose: Detect malicious or suspicious browser extensions.

Get-ChildItem -Path "C:\Users\*\AppData\Local\Google\Chrome\User Data\Default\Extensions" -Recurse | Select-Object FullName, LastWriteTime

9. Data Staging and Compression

9.1. Detecting Data Compression Tools

Purpose: Identify the use of tools like WinRAR or 7-Zip for compressing data.

Get-Process | Where-Object {$_.ProcessName -match 'WinRAR|7z'} | Select-Object ProcessName, Id, StartTime

9.2. Monitoring for Creation of Archive Files

Purpose: Detect the creation of archive files that may indicate data staging.

Get-ChildItem -Path "C:\Users\*" -Recurse -Include *.zip, *.rar, *.7z | Select-Object FullName, LastWriteTime

10. Cloud and Remote Storage Access

10.1. Monitoring for Cloud Storage Access

Purpose: Detect access to cloud storage services like Dropbox, Google Drive, etc.

Get-Process | Where-Object {$_.ProcessName -match 'Dropbox|GoogleDrive|OneDrive'} | Select-Object ProcessName, Id, StartTime

10.2. Detecting File Uploads to Remote Servers

Purpose: Identify file uploads to remote servers, indicating potential exfiltration.

Get-WinEvent -FilterHashtable @{LogName='Security'; ID=4663} | Where-Object {$_.Properties[8].Value -match 'File Write'} | Select-Object TimeCreated, @{n='ObjectName';e={$_.Properties[6].Value}}

PreviousLateral Movement DiscoveryNextCommand & Control (C2) Discovery

Last updated 4 months ago