Detect One-Way Communication in CrowdStrike LogScale
Adversaries may use an existing, legitimate external Web service as a means for sending commands to a compromised system without receiving return output over the Web service channel. Compromised systems may leverage popular websites and social media (GitHub, Twitter/X, Telegram, GitLab, TechNet) to host command and control (C2) instructions. Those infected systems may send output back over a different C2 channel or return no output at all. Using common services makes it easier for adversaries to hide in expected noise, and SSL/TLS encryption from Web service providers adds an additional layer of protection.
MITRE ATT&CK
- Tactic
- Command and Control
- Technique
- T1102 Web Service
- Sub-technique
- T1102.003 One-Way Communication
- Canonical reference
- https://attack.mitre.org/techniques/T1102/003/
LogScale Detection Query
#event_simpleName = "DnsRequest"
| DomainName = /(?i)(twitter\.com|x\.com|github\.com|githubusercontent\.com|gitlab\.com|telegram\.org|t\.me|pastebin\.com|paste\.ee|hastebin\.com|discord\.com|discordapp\.com|googleapis\.com|sharepoint\.com|onedrive\.live\.com|reddit\.com|redd\.it|notion\.so|trello\.com|digitalpoint\.com)/
| ContextBaseFileName = /(?i)(powershell\.exe|pwsh\.exe|cmd\.exe|wscript\.exe|cscript\.exe|mshta\.exe|rundll32\.exe|regsvr32\.exe|certutil\.exe|curl\.exe|wget\.exe|bitsadmin\.exe|msiexec\.exe|python\.exe|python3\.exe|ruby\.exe|node\.exe|wmic\.exe|msbuild\.exe)/
| IsEncodedCmd := if(ContextCommandLine = /(?i)(-EncodedCommand|-enc\s|FromBase64String|base64)/, "true", "false")
| IsOfficeParent := if(ContextParentImageFileName = /(?i)(winword\.exe|excel\.exe|powerpnt\.exe|outlook\.exe|onenote\.exe|msaccess\.exe|acrord32\.exe|acrobat\.exe)/, "true", "false")
| IsServiceSpawn := if(ContextParentImageFileName = /(?i)(svchost\.exe|taskeng\.exe|taskhostw\.exe|services\.exe|WmiPrvSE\.exe)/, "true", "false")
| SuspicionScore := if(IsEncodedCmd = "true", 30, 0) + if(IsOfficeParent = "true", 40, 0) + if(IsServiceSpawn = "true", 20, 0)
| table([ComputerName, UserName, ContextBaseFileName, ContextCommandLine, ContextParentImageFileName, DomainName, IsEncodedCmd, IsOfficeParent, IsServiceSpawn, SuspicionScore])
| sort(field=@timestamp, order=desc) CrowdStrike LogScale CQL query using DnsRequest telemetry to detect DNS resolution of legitimate web service domains known to be abused for one-way C2 (T1102.003), filtered to events where the initiating process (ContextBaseFileName) is a LOLBin or interpreter runtime. Enriches each result with encoded command, office parent, and service spawn boolean flags plus a composite suspicion score for analyst triage.
Data Sources
Required Tables
False Positives & Tuning
- Falcon-protected developer endpoints where Python.exe or Node.exe runtimes legitimately resolve github.com, googleapis.com, or npmjs.com during software development or build tasks
- Automated corporate IT tooling using PowerShell or cmd.exe to query SharePoint Online or Notion APIs as part of ITSM runbook automation under svchost.exe-spawned scheduled tasks
- Threat intelligence platforms or EDR management scripts using certutil.exe or bitsadmin.exe to retrieve IOC lists or update packages from trusted hosting providers such as GitHub or Google Drive
Other platforms for T1102.003
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.
- Test 1PowerShell C2 Polling via Pastebin Raw URL
Expected signal: Sysmon Event ID 1: Process Create with Image=powershell.exe, CommandLine containing 'Invoke-WebRequest', 'pastebin.com/raw', 'Invoke-Expression', '-WindowStyle Hidden'. Sysmon Event ID 3: Network Connection to pastebin.com on port 443. Sysmon Event ID 22: DNS query for pastebin.com. PowerShell ScriptBlock Log Event ID 4104 with the full script content.
- Test 2Python Script Polling GitHub Raw Content for Commands
Expected signal: Sysmon Event ID 1: Process Create with Image=python.exe, CommandLine containing 'raw.githubusercontent.com' and urllib. Sysmon Event ID 3: Three successive network connections to raw.githubusercontent.com on port 443, approximately 30 seconds apart. Sysmon Event ID 22: DNS queries for raw.githubusercontent.com.
- Test 3Curl Silent Polling of Telegram Bot API
Expected signal: Sysmon Event ID 1: Process Create with Image=curl.exe, CommandLine containing '-s', '-o', 'api.telegram.org', 'getUpdates'. Sysmon Event ID 3: Network Connection to api.telegram.org on port 443. Sysmon Event ID 11: File creation at %TEMP%\tg_response.txt. Sysmon Event ID 22: DNS query for api.telegram.org.
- Test 4Scheduled Task Simulating Periodic Web Service C2 Poll
Expected signal: Security Event ID 4698 (Scheduled Task Created) with task name 'MicrosoftEdgeUpdateTaskMachineUA_ARGUSTEST' and command containing 'raw.githubusercontent.com'. Sysmon Event ID 1: schtasks.exe process creation. Registry event for new task in HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Schedule\TaskCache. On execution: Sysmon Event ID 1 for powershell.exe spawned by taskeng.exe/taskhostw.exe, Sysmon Event ID 3 for network connection to raw.githubusercontent.com.
References (10)
- https://attack.mitre.org/techniques/T1102/003/
- https://www.prevailion.com/darkwatchman-a-new-javascript-rat/
- https://www.fireeye.com/blog/threat-research/2018/03/suspected-chinese-espionage-group-targeting-maritime-and-engineering-industries.html
- https://unit42.paloaltonetworks.com/gamaredon-group-russia-linked-threat-actor/
- https://blog.talosintelligence.com/lotus-blossom-sagerunex/
- https://www.f-secure.com/documents/996508/1030745/dukes_whitepaper.pdf
- https://www.volexity.com/blog/2024/04/12/zero-day-exploitation-of-unauthenticated-remote-code-execution-vulnerability-in-globalprotect/
- https://arxiv.org/ftp/arxiv/papers/1408/1408.1136.pdf
- https://github.com/redcanaryco/atomic-red-team/blob/master/atomics/T1102.003/T1102.003.md
- https://www.mandiant.com/resources/blog/apt29-using-wellmess-malware-to-target-covid19-vaccine-development
Unlock Pro Content
Get the full detection package for T1102.003 including response playbook, investigation guide, and atomic red team tests.