T1588.006 Splunk · SPL

Detect Vulnerabilities in Splunk

Adversaries may acquire information about vulnerabilities to use during targeting. A vulnerability is a weakness in computer hardware or software that can potentially be exploited to cause unintended behavior. Adversaries monitor vulnerability disclosures and databases (NVD, Exploit-DB, Packet Storm, closed markets) to identify exploitable weaknesses, often targeting organizations that conduct vulnerability research to obtain pre-disclosure intelligence. Because this technique occurs on adversary-controlled infrastructure before victim engagement, direct detection is impossible via standard SIEM telemetry. Detection pivots to indirect indicators observable in the victim environment: internal endpoints accessing exploit repositories (indicating insider threat or compromised research workstations), exploit development toolchain execution, CVE-named file creation, and correlation between public CVE disclosure timelines and subsequent exploitation attempts against organizational assets. Real-world actors including Sandworm Team and Volt Typhoon have leveraged CVE research for initial access, making post-disclosure exploitation windows a critical detection opportunity.

MITRE ATT&CK

Tactic
Resource Development
Technique
T1588 Obtain Capabilities
Sub-technique
T1588.006 Vulnerabilities
Canonical reference
https://attack.mitre.org/techniques/T1588/006/

SPL Detection Query

Splunk (SPL)
spl
// T1588.006 — Vulnerability Research: Indirect Detection via Sysmon + Web Proxy
// Three detection branches: exploit site web access, exploit tool execution, CVE file creation
(
  sourcetype="XmlWinEventLog:Microsoft-Windows-Sysmon/Operational" EventCode=3
  (DestinationHostname="*exploit-db.com*" OR DestinationHostname="*packetstormsecurity.com*"
   OR DestinationHostname="*sploitus.com*" OR DestinationHostname="*0day.today*"
   OR DestinationHostname="*vulners.com*" OR DestinationHostname="*cxsecurity.com*"
   OR DestinationHostname="*seebug.org*")
  NOT (Image="*\\svchost.exe" OR Image="*\\lsass.exe" OR Image="*\\services.exe")
| eval detection_branch="ExploitSiteAccess"
| eval signal_detail="Process=".Image." | Destination=".DestinationHostname.":".DestinationPort
)
OR
(
  sourcetype="XmlWinEventLog:Microsoft-Windows-Sysmon/Operational" EventCode=1
  (
    (CommandLine="*searchsploit*") OR (CommandLine="*msfconsole*") OR
    (CommandLine="*msfvenom*") OR (CommandLine="*nuclei*" AND (CommandLine="*cve*" OR CommandLine="*-t cves*"))
    OR
    (
      (Image="*\\python.exe" OR Image="*\\python3.exe" OR Image="*\\ruby.exe" OR Image="*\\perl.exe")
      AND (CommandLine="*poc.py*" OR CommandLine="*exploit.py*" OR CommandLine="*exploit.rb*"
           OR CommandLine="*exploit.pl*" OR CommandLine="*CVE-20*" OR CommandLine="*cve-20*")
    )
  )
| eval detection_branch="ExploitToolExecution"
| eval signal_detail="Command=".CommandLine
)
OR
(
  sourcetype="XmlWinEventLog:Microsoft-Windows-Sysmon/Operational" EventCode=11
  (
    (TargetFilename="*CVE-20*" OR TargetFilename="*cve-20*" OR TargetFilename="*\\poc.*"
     OR TargetFilename="*\\exploit.*" OR TargetFilename="*0day.*")
    AND (TargetFilename="*.py" OR TargetFilename="*.rb" OR TargetFilename="*.sh"
         OR TargetFilename="*.pl" OR TargetFilename="*.exe" OR TargetFilename="*.ps1"
         OR TargetFilename="*.c" OR TargetFilename="*.cpp")
  )
| eval detection_branch="ExploitFileCreated"
| eval signal_detail="File=".TargetFilename." | Process=".Image
)
| eval detection_branch=coalesce(detection_branch, "Unknown")
| eval signal_detail=coalesce(signal_detail, "")
| table _time, host, User, detection_branch, signal_detail, Image, CommandLine, ParentImage
| sort - _time
medium severity low confidence

Detects indirect vulnerability research activity using Sysmon operational logs. Three independent detection branches are unioned: (1) Sysmon Event ID 3 (Network Connection) to known exploit repository hostnames including Exploit-DB, Packet Storm, Sploitus, and Vulners; (2) Sysmon Event ID 1 (Process Create) matching exploit toolchain commands including Metasploit, searchsploit, Nuclei CVE templates, and CVE-named Python/Ruby/Perl scripts; (3) Sysmon Event ID 11 (File Create) for files with CVE identifiers or exploit naming conventions with executable extensions. Results are tagged with a detection_branch field to help analysts triage the signal type. Confidence is low because all indicators are indirect proxies for a PRE-attack technique that fundamentally occurs outside the victim environment.

Data Sources

Network Traffic: Network Connection CreationProcess: Process CreationFile: File CreationSysmon Event ID 1, 3, 11

Required Sourcetypes

XmlWinEventLog:Microsoft-Windows-Sysmon/Operational

False Positives & Tuning

  • Authorized penetration testers and red team operators running Metasploit, searchsploit, or Nuclei during sanctioned engagements
  • Security researchers and threat intel analysts browsing Exploit-DB or Vulners as part of their regular vulnerability tracking workflow
  • Developers building security tooling who create files named with CVE identifiers for test cases, patch validators, or vulnerability scanners
  • Automated vulnerability management agents downloading CVE-related content during scheduled scan cycles
  • CTF (Capture the Flag) participants working on competition challenges from corporate endpoints
Download portable Sigma rule (.yml)

Other platforms for T1588.006


Testing Methodology

Validate this detection against 5 adversary techniques from Atomic Red Team. Each test below lists the behaviour to exercise and the telemetry you should expect to see. Executable commands and cleanup steps are available with Pro.

  1. Test 1Exploit-DB Access via Command Line HTTP Client

    Expected signal: Sysmon Event ID 3 (Network Connection) with Image=/usr/bin/curl, DestinationHostname=www.exploit-db.com, DestinationPort=443. Sysmon Event ID 11 (File Create) with TargetFilename=/tmp/exploitdb_search_result.html. Auditd EXECVE record for curl with exploit-db.com argument.

  2. Test 2searchsploit CVE Lookup

    Expected signal: Sysmon Event ID 1 (Process Create) with Image=/usr/bin/searchsploit or /usr/local/bin/searchsploit, CommandLine=searchsploit CVE-2021-44228. Auditd EXECVE record with argv[0]=searchsploit, argv[1]=CVE-2021-44228. Process creates child grep/ruby processes to query the local database.

  3. Test 3Download and Stage CVE PoC Script

    Expected signal: Sysmon Event ID 11 (File Create) with TargetFilename=/tmp/CVE-2021-44228-exploit.py. Sysmon Event ID 1 (Process Create) for touch and the shell writing to the file. Auditd OPEN record with path=/tmp/CVE-2021-44228-exploit.py and flags indicating write access.

  4. Test 4Nuclei CVE Template Scan Simulation

    Expected signal: Sysmon Event ID 1 (Process Create) with Image=/root/go/bin/nuclei (or similar), CommandLine containing '-t cves' and 'CVE-2021-44228'. Sysmon Event ID 3 (Network Connection) to 127.0.0.1:80 from nuclei process. Auditd EXECVE with argv containing 'nuclei', '-u', 'http://127.0.0.1', '-t', 'cves/2021/CVE-2021-44228.yaml'.

  5. Test 5Bulk CVE Research File Creation (Burst Pattern)

    Expected signal: Five Sysmon Event ID 11 (File Create) events in rapid succession, each with TargetFilename matching CVE-20*-poc.py pattern. Sysmon Event ID 1 for powershell.exe with New-Item commands. PowerShell ScriptBlock Log Event ID 4104 capturing the full foreach loop.

Unlock Pro Content

Get the full detection package for T1588.006 including response playbook, investigation guide, and atomic red team tests.

Response PlaybookInvestigation GuideHunting QueriesAtomic Red Team TestsTuning Guidance

Related Detections