T1587.001 CrowdStrike LogScale · LogScale

Detect Malware in CrowdStrike LogScale

Adversaries may develop malware and malware components that can be used during targeting. Building malicious software can include the development of payloads, droppers, post-compromise tools, backdoors, packers, C2 protocols, and the creation of infected removable media. Because malware development occurs primarily on adversary-controlled infrastructure before deployment, defenders cannot directly observe this activity. Detection must pivot to identifying proxies: compilation and build tool activity on non-developer endpoints, use of known obfuscation and packing tools, characteristics of freshly compiled executables executing immediately after creation, and behavioral patterns consistent with malware testing (sandbox evasion checks, anti-analysis routines). Threat actors such as Lazarus Group, APT29, Sandworm, Kimsuky, and Indrik Spider are known to develop bespoke malware to avoid commodity detection signatures.

MITRE ATT&CK

Tactic
Resource Development
Technique
T1587 Develop Capabilities
Sub-technique
T1587.001 Malware
Canonical reference
https://attack.mitre.org/techniques/T1587/001/

LogScale Detection Query

CrowdStrike LogScale (LogScale)
cql
// T1587.001 - Malware Development Tooling Detection
// Covers: compilers on non-dev endpoints, packers, obfuscators, Metasploit payload generation

#event_simpleName = ProcessRollup2
| eval ImageFileName_lower = lower(ImageFileName)
| eval CommandLine_lower = lower(CommandLine)
| eval ParentBaseFileName_lower = lower(ParentBaseFileName)

// Flag each detection branch
| eval is_compiler = if(match(ImageFileName_lower, "(csc\.exe|vbc\.exe|msbuild\.exe|ilasm\.exe|cl\.exe|link\.exe|rc\.exe)"), 1, 0)
| eval is_packer = if(match(ImageFileName_lower, "(upx\.exe|themida\.exe|vmprotect\.exe|pecompact\.exe|aspack\.exe|mpress\.exe)") or match(CommandLine_lower, "(upx\s|--best|--brute|--ultra-brute)"), 1, 0)
| eval is_obfuscator = if(match(ImageFileName_lower, "(confuserex|obfuscar|dotfuscator|eazfuscator|dnguard|codeprotector)") or match(CommandLine_lower, "(confuserex|obfuscar|dotfuscator|eazfuscator|dnguard)"), 1, 0)
| eval is_msfvenom = if(match(CommandLine_lower, "(msfvenom|msfconsole|shell_reverse_tcp|shell_bind_tcp|windows/meterpreter|linux/x86/meterpreter|msf_)"), 1, 0)
| eval is_non_ide_parent = if(not match(ParentBaseFileName_lower, "(devenv\.exe|code\.exe|rider64\.exe|idea64\.exe|eclipsec\.exe|dotnet\.exe)"), 1, 0)
| eval compiler_on_endpoint = if(is_compiler = 1 and is_non_ide_parent = 1, 1, 0)
| eval suspicious_path = if(match(CommandLine_lower, "(\\\\temp\\\\|\\\\appdata\\\\local\\\\temp\\\\|\\\\users\\\\public\\\\|\\\\programdata\\\\)"), 1, 0)
| eval malware_dev_score = compiler_on_endpoint + is_packer + is_obfuscator + is_msfvenom
| where malware_dev_score > 0
| eval detection_branch = case(
    is_msfvenom = 1, "MsfvenomPayloadGeneration",
    is_obfuscator = 1, "ObfuscatorUsage",
    is_packer = 1, "PackerProtectorUsage",
    compiler_on_endpoint = 1, "CompilerOnNonDevEndpoint",
    true, "Unknown"
  )
| table timestamp, ComputerName, UserName, ImageFileName, CommandLine, ParentBaseFileName, ParentCommandLine, detection_branch, malware_dev_score, suspicious_path, SHA256HashData
| sort timestamp desc
high severity high confidence

CrowdStrike LogScale (Falcon) query over ProcessRollup2 events detecting malware development tooling. Identifies compilers running without a recognized IDE parent, known packer and protector tools, obfuscation frameworks, and Metasploit payload generation commands. Assigns a composite malware development score across detection branches to prioritize analyst triage.

Data Sources

CrowdStrike Falcon EDR (ProcessRollup2 events)Falcon Data Replicator or Humio/LogScale ingestion

Required Tables

ProcessRollup2

False Positives & Tuning

  • Windows CI/CD build agents running MSBuild or CSC without a GUI IDE parent — add known build agent ComputerName values to an exclusion reference list
  • Legitimate use of UPX by software vendors or IT packaging teams compressing installers in Temp directories prior to deployment
  • Authorized penetration testers using Metasploit framework on scoped test assets — apply time-limited suppression tied to engagement windows and host groups
Download portable Sigma rule (.yml)

Other platforms for T1587.001


Testing Methodology

Validate this detection against 4 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 1On-System C# Payload Compilation via csc.exe

    Expected signal: Sysmon Event ID 1 (Process Create): Image=csc.exe, CommandLine containing '/out:' and path to %TEMP%, ParentImage=cmd.exe. Sysmon Event ID 11 (File Create): TargetFilename ending in df00tech_payload.exe in the Temp directory, initiated by csc.exe. Security Event ID 4688 (if command line auditing enabled) for the csc.exe invocation.

  2. Test 2Executable Packing with UPX

    Expected signal: Sysmon Event ID 1: Process Create for upx.exe with CommandLine containing '--best' and the target file path. Sysmon Event ID 11: File modification event on df00tech_target.exe as UPX rewrites the PE in-place. Sysmon Event ID 3: Network connection to GitHub for the UPX download (if not pre-staged).

  3. Test 3In-Memory C# Compilation via PowerShell Add-Type

    Expected signal: Sysmon Event ID 1: Process Create for powershell.exe with CommandLine containing 'Add-Type', '-TypeDefinition', and 'CSharpCodeProvider' (internal). PowerShell ScriptBlock Log Event ID 4104 capturing the full Add-Type invocation including the embedded C# source. Temporary .dll files may be written to %TEMP% by the CodeDom compiler with random names before being loaded and deleted.

  4. Test 4Metasploit msfvenom Payload Generation Simulation

    Expected signal: Sysmon for Linux Event ID 1 (if deployed) or auditd execve records capturing the msfvenom command invocation. The string 'msfvenom' and 'reverse_tcp' in the command line are the primary indicators. If msfvenom is present and executes, an ELF binary is created in /tmp, triggering file creation events.

Unlock Pro Content

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

Response PlaybookInvestigation GuideHunting QueriesAtomic Red Team TestsTuning Guidance

Related Detections