Skip to main content
T1530Collectionhard difficulty

Data from Cloud Storage

Data from Cloud Storage (T1530) is the theft itself: an adversary who already holds a valid credential or token pulls objects straight out of an S3 bucket, Azure Storage container, or Snowflake warehouse through the provider's own API. It rarely trips an endpoint alert, because a signed-in principal calling GetObject or running SELECT looks identical to normal business use.

Practice detecting Data from Cloud Storage on realistic SIEM alerts in SOCSimulator Operations.

SIEM

What is Data from Cloud Storage?

Data from Cloud Storage is documented as technique T1530 in MITRE ATT&CK® v19.1 under the Collection tactic. Detection requires visibility into SIEM telemetry.

The mechanics differ by provider but the shape is the same: use an already-valid identity to call the storage layer directly, skipping the front-end application entirely. Against S3 that means GetObject (and often a preceding ListBuckets or ListObjectsV2 to map what exists) called through the AWS API, CLI, or SDK, usually scripted in a loop so one credential can walk hundreds of buckets in minutes. Tools built for exactly this, like Pacu for S3 enumeration and download or Peirates for pulling cloud service-account tokens out of a compromised Kubernetes pod, exist specifically to automate that walk.

Snowflake looks different because there is no object API to call; the adversary authenticates to a virtual warehouse and issues SQL. Mandiant's account of the 2024 campaign documents a repeatable sequence: SHOW TABLES to enumerate what a stolen credential can reach, a large SELECT * against a target table, CREATE TEMPORARY STAGE to open a landing zone, COPY INTO that stage with GZIP compression and a defined max file size, and finally GET to pull the compressed file to local disk. Each step is a normal Snowflake feature; strung together with an unfamiliar CLIENT_APP_ID it is a full extraction pipeline.

Azure Storage adds a third pattern: shared access signature tokens. A SAS token is a URL-embedded credential that grants time-boxed read access to a blob or container without an Entra ID sign-in at all, so a leaked or over-scoped SAS token lets an attacker pull data through GetBlob calls that never touch conditional access, MFA, or the identity provider's logs. All three paths share the same defensive problem: the API call, the SQL statement, and the SAS token are all legitimate provider features being used by a credential the platform has no reason to distrust.

Where Data from Cloud Storage fits in an attack

This technique sits downstream of credential theft, not exploitation. In the UNC5537 campaign, Mandiant found the entry point was stolen Snowflake credentials, most harvested by infostealer malware families (Vidar, Lumma, Racoon Stealer, Redline, and others) running on non-Snowflake-owned machines, frequently a contractor's personal laptop outside any corporate monitoring. Roughly 80 percent of the compromised accounts had credentials already exposed in prior breach data, none had MFA enabled, and some passwords had not been rotated since 2020, which is why a years-old infostealer log became a live key to production data in 2024.

MITRE's own procedure examples show the same downstream position across unrelated actors: Scattered Spider enumerating cloud resources for exfiltration after gaining account access, and APT42 and AADInternals-driven operations collecting Microsoft 365 and OneDrive data once a session is already established. After the collection step, UNC5537 moved straight to monetization, listing stolen datasets from roughly 165 victim organizations for sale on cybercrime forums and running direct extortion against victims, which is the pattern that makes fast detection at the GetObject or query_history layer worth the tuning effort: by the time the data is staged, the attacker is close to done.

Detection Strategies

The following detection strategies help SOC analysts identify Data from Cloud Storage activity. These methods apply across SIEM environments and can be implemented as detection rules, correlation queries, or behavioral analytics in your security platform.

SIEM detection

SPL
sourcetype=aws:cloudtrail eventName=GetObject
| bin _time span=10m
| rename user_name as user
| stats count values(requestParameters.bucketName) as bucketName
    BY user user_agent src vendor_account
| anomalydetection "count" "user" action=annotate
| search probable_cause=*

Adapted from Splunk Security Content's 'AWS Exfiltration via Anomalous GetObject API Activity' analytic: it bins GetObject calls into 10-minute windows and flags any IAM user or role whose object-read volume statistically breaks from its own baseline.

other
SELECT query_id, user_name, client_application_id, start_time, query_text
FROM snowflake.account_usage.query_history
WHERE start_time > dateadd('hour', -24, current_timestamp())
  AND (
    query_text ILIKE 'CREATE TEMPORARY STAGE%'
    OR (query_text ILIKE 'COPY INTO%' AND query_text ILIKE '%COMPRESSION%')
    OR client_application_id IN ('rapeflake', 'DBeaver_DBeaverUltimate')
  )
ORDER BY start_time DESC;

SQL against Snowflake's own ACCOUNT_USAGE.QUERY_HISTORY view, built from Mandiant's UNC5537 threat-hunting guidance: it surfaces the temp-stage-plus-compressed-COPY-INTO exfiltration sequence and the two client application IDs Mandiant observed on compromised accounts.

Simulated example generated by SOCSimulator Research
EventName: GetObject
EventTime: 2026-07-15 22:41:09
EventSource: s3.amazonaws.com
UserIdentity.type: AssumedRole
UserIdentity.arn: arn:aws:sts::482910337215:assumed-role/svc-etl-reader/i-0af2c9d3e
SourceIPAddress: 185.220.101.47
UserAgent: Boto3/1.34.0 Python/3.11
RequestParameters.bucketName: finance-reports-prod
RequestParameters.key: exports/q2-customer-ledger.csv.gz

Tuning and false positives

Cloud storage is read constantly by things that are not attackers. Scheduled ETL jobs, backup agents, S3 cross-region replication, and BI tools like Looker, Tableau, or dbt all generate high-volume GetObject calls or Snowflake SELECT statements as their entire job description. A rule that fires on volume alone will bury the SOC in legitimate batch traffic, especially around nightly or end-of-month processing windows when read volume spikes for everyone at once.

The fix is the same allow-list discipline that works for RMM tools: enumerate the service accounts, IAM roles, and Snowflake CLIENT_APPLICATION_ID values your environment actually runs on a schedule, and tune the anomaly threshold against activity outside that set. A known ETL role reading its usual buckets at 2 AM is noise; the same role reading a bucket it has never touched, or a human account suddenly running SnowSQL from an ASN with no prior login history, is signal. Cross-referencing recent infostealer or credential-exposure alerts against the account doing the reading turns a marginal anomaly into a high-confidence one.

Example Alerts

These realistic alert examples show what Data from Cloud Storage looks like in your security tools. Use them to tune detection rules and train analysts to recognize true positives versus false positives in live environments.

HighSIEM

Anomalous GetObject Volume from Service Role

AWS CloudTrail recorded 4,200 GetObject calls against the finance-reports-prod bucket from IAM role svc-etl-reader inside a single 10-minute window, roughly nine times its 30-day baseline, sourced from an instance ARN the role had never called from before.

CriticalSIEM

Snowflake Query History: Temp Stage Followed by Bulk COPY INTO

Account j.alvarez@corp.com issued CREATE TEMPORARY STAGE stg_9f2a, then within 40 seconds ran COPY INTO @stg_9f2a FROM (SELECT * FROM SALES.PROD.CUSTOMERS) with GZIP compression, then a GET pulling the export to a local path. The recorded CLIENT_APP_ID was DBeaver_DBeaverUltimate, a client never seen on this account.

HighSIEM

First-Time VPN Source Calling Snowflake After Infostealer Alert

User m.chen authenticated to Snowflake from a Mullvad VPN exit node three days after an infostealer detection fired on their laptop, then ran SHOW TABLES against five schemas the account had never queried. VPN sourcing plus sudden schema-scope expansion matches the reconnaissance pattern UNC5537 ran before staging exports.

Responding to Data from Cloud Storage

When a cloud data-access alert fires, first establish whether the identity and pattern match a known, scheduled workflow: does this role or account have a documented ETL, backup, or BI job that explains the read? If the client application, source network, or table scope is one this account has never used, treat that mismatch as the real signal, not the raw volume number. Pull the account's recent login and query history to see how far the session has already gone, whether it is still reconnaissance (SHOW TABLES, small SELECTs) or already staging (temporary stage creation, compressed COPY INTO).

Escalate immediately once staging or export activity appears, since by that point the theft is close to complete rather than in progress. Revoke or force-rotate the credential and any associated API token or SAS token, terminate the active session, and enable MFA on the account if it was missing, since that gap is what let stolen credentials from years-old infostealer logs work in the first place. Preserve the query_history or CloudTrail record of exactly what was read, since scoping the breach for notification depends on knowing which tables or objects the session actually touched, not just that access occurred.

Frequently Asked Questions

How do SOC analysts detect Data from Cloud Storage?
Detection centers on SIEM telemetry for the collection phase of the attack. Alert on CloudTrail GetObject volume anomalies per IAM user or role within a short window, especially when a spike is paired with an unfamiliar user agent or a first-time-seen source IP that also called ListBuckets moments before. In Snowflake, treat CLIENT_APP_ID values outside your organization's sanctioned driver list (SnowSQL, JDBC, the Python connector, SnowSight) as suspicious, and specifically flag rapeflake or DBeaver_DBeaverUltimate, the two client identifiers Mandiant tied to the 2024 UNC5537 campaign.
What does a Data from Cloud Storage alert look like?
A representative SIEM detection is "Anomalous GetObject Volume from Service Role" (high severity): AWS CloudTrail recorded 4,200 GetObject calls against the finance-reports-prod bucket from IAM role svc-etl-reader inside a single 10-minute window, roughly nine times its 30-day baseline, sourced from an instance ARN the role had never called from before.
Which tools detect Data from Cloud Storage, and how can I practice?
Data from Cloud Storage (T1530) is best surfaced with SIEM telemetry, which exposes the collection signals described above. Practice detecting it on those exact consoles in SOCSimulator Operations, free.

Practice Data from Cloud Storage in a Free Room

Investigate Data from Cloud Storage on realistic SIEM, XDR, and firewall consoles, free.

Glossary

What is Exfiltration? SOC Glossary

Data exfiltration is the unauthorized transfer of sensitive data out of a victim environment to attacker-controlled infr…

Read more
Glossary

What is DLP? SOC Glossary

Data Loss Prevention (DLP) is a set of technologies and policies that detect and prevent unauthorized transmission, stor…

Read more
Glossary

What is SIEM? SOC Glossary

Security Information and Event Management (SIEM) is a platform that aggregates, normalizes, and correlates log data from…

Read more
Glossary

What is Log Management? SOC Glossary

Log management is the process of collecting, normalizing, storing, retaining, and analyzing log data from across the IT …

Read more
Career Path

DFIR Analyst Career Guide: Salary & Skills

DFIR Analysts combine forensic investigation with incident response. You collect and analyze digital evidence from compr…

Read more
Career Path

Incident Responder Career Guide: Salary & Skills

Incident Responders lead the technical response when confirmed breaches happen. You coordinate containment, run forensic…

Read more
Tool

SIEM Training Console: SOCSimulator

The SIEM console in SOCSimulator replicates the workflow of enterprise platforms like Splunk Enterprise Security, Micros…

Read more
Comparison

SOCSimulator Vs. Letsdefend: Platform Comparison

SOCSimulator wins on operational realism. You get multi-tool shift simulation with SLA pressure, noise injection, and al…

Read more
Glossary

SOC Glossary: Security Operations Terminology

Complete glossary of Security Operations Center terminology for aspiring SOC analysts.

Read more
Feature

Shift Mode: Real-Time SOC Simulation

Practice alert triage under realistic time pressure with SLA timers and noise injection.

Read more
Feature

Operations: Guided Training Operations

Structured CTF-style investigation operations covering real-world attack scenarios.

Read more
Blog

SOCSimulator Blog: Security Training Insights

Articles on SOC analyst skills, detection engineering, and career development.

Read more