📦 Honey Storage Bucket
Decoy S3/Blob/GCS buckets with attractive names.
What it is
A storage bucket named in the normal scheme and filled with fake but plausible files. Storage is a common first target, because buckets often hold backups, exports and credentials. Listing or reading inside the decoy bucket is recorded by data-access logging; listing all buckets in the account does not single it out.
Implementation requirements
- AWS: an S3 bucket named in your normal scheme, with Block Public Access on. Azure: a container in its own storage account. GCP: a GCS bucket. Fill it with fake but plausible objects (D018)
- Grant no more access than comparable real buckets have. An explicit deny-all returns AccessDenied, which teaches the attacker the bucket is different
- Monitoring: S3 CloudTrail data events (
GetObject,ListObjects,ListObjectsV2) for the bucket. Azure: a diagnostic setting sendingStorageBlobLogsreads. GCS: Data Access logs with DATA_READ. S3 server access logs are a cheaper alternative, but AWS delivers them best-effort, within a few hours ListBucketsreturns every bucket in one call and does not single out the decoy. Listing or reading inside the decoy bucket does- Scoping data-event selectors to the decoy ARN keeps cost down, but the selector itself then lists your decoys. Apply logging the same way to comparable real buckets
- Safety: no real data, no public access. OPSEC: tags, region and creation date consistent with real buckets
- Rollback: Empty and delete the bucket. Remove its data-event selector or diagnostic setting.
- Upkeep: Refresh object dates occasionally, so the content does not look abandoned. Monthly proof-of-life read of one object.
Technologies
ATT&CK coverage 14
| Technique | Tactic | Status | Confidence | Tier |
|---|---|---|---|---|
| T1074 Data Staged |
Collection | theoretical | weak | T2 |
| ↳ Detection point: the attack step itself touches the decoy | ||||
↳ Evidence (2 sources)
Staging into a defender-planted location is not documented attacker behaviour. | ||||
| T1074.002 Remote Data Staging |
Collection | theoretical | weak | T2 |
| ↳ Detection point: the attack step itself touches the decoy | ||||
↳ Evidence (1 source)
Staging into a decoy location is not documented behaviour. | ||||
| T1119 Automated Collection |
Collection | confirmed | strong | T3 |
| ↳ Detection point: the decoy fires at a later step of the attack | ||||
↳ Evidence (3 sources)
| ||||
| T1530 Data from Cloud Storage |
Collection | confirmed | strong | T2 |
| ↳ Detection point: the attack step itself touches the decoy | ||||
↳ Evidence (4 sources)
| ||||
| T1222 File and Directory Permissions Modification |
Defense Impairment | theoretical | moderate | T2 |
| ↳ Detection point: the attack step itself touches the decoy | ||||
↳ Evidence (3 sources)
| ||||
| T1135 Network Share Discovery |
Discovery | theoretical | moderate | T2 |
| ↳ Detection point: the attack step itself touches the decoy | ||||
↳ Evidence (2 sources)
Moderate: listing share names (net view) does not access the share; the alert fires when the attacker opens it. | ||||
| T1526 Cloud Service Discovery |
Discovery | theoretical | moderate | T1 |
| ↳ Detection point: the attack step itself touches the decoy | ||||
↳ Evidence (3 sources)
Moderate: discovering that a service exists does not necessarily touch a decoy resource in it. | ||||
| T1580 Cloud Infrastructure Discovery |
Discovery | theoretical | moderate | T1 |
| ↳ Detection point: the attack step itself touches the decoy | ||||
↳ Evidence (3 sources)
Moderate: a plain List call does not name the decoy. The alert fires when the attacker queries the decoy resource itself, which the token documentation does not break down by API call. | ||||
| T1619 Cloud Storage Object Discovery |
Discovery | confirmed | strong | T1 |
| ↳ Detection point: the attack step itself touches the decoy | ||||
↳ Evidence (1 source)
| ||||
| T1537 Transfer Data to Cloud Account |
Exfiltration | theoretical | weak | T4 |
| ↳ Detection point: the attack step itself touches the decoy | ||||
↳ Evidence (2 sources)
Transfers to the attacker's own account touch no decoy, unless a decoy snapshot or bucket is shared out. | ||||
| T1485 Data Destruction |
Impact | theoretical | moderate | T4 |
| ↳ Detection point: the attack step itself touches the decoy | ||||
↳ Evidence (4 sources)
Deleting a decoy snapshot or database is a management event; deleting objects in a decoy bucket needs data events enabled. | ||||
| T1486 Data Encrypted for Impact |
Impact | confirmed | strong | T4 |
| ↳ Detection point: the attack step itself touches the decoy | ||||
↳ Evidence (3 sources)
| ||||
| T1491.002 External Defacement |
Impact | theoretical | weak | T2 |
| ↳ Detection point: the attack step itself touches the decoy | ||||
↳ Evidence (1 source)
Defacing a decoy property needs access that would already have alerted. | ||||
| T1080 Taint Shared Content |
Lateral Movement | confirmed | strong | T2 |
| ↳ Detection point: the attack step itself touches the decoy | ||||
↳ Evidence (2 sources)
| ||||
Evidence
- Decoy File (D3-DF) — MITRE D3FEND standard
- Using Honeybuckets to Characterize Cloud Storage Scanning in the Wild — Izhikevich, K.; Voelker, G.; Savage, S.; Izhikevich, L., IEEE EuroS&P 2024 peer-reviewed
- 2023 Honeypotting in the Cloud Report — Orca Security 2023 industry
- MITRE Engage — adversary engagement matrix and ATT&CK mapping — MITRE 2022 standard
- Logging data events — AWS CloudTrail User Guide — Amazon Web Services industry
- MITRE ATT&CK Enterprise v20.0 — MITRE 2026 standard
- Tracebit for AWS — canary resources and credentials — Tracebit industry
- Agentic Cloud Decoys: A Deception-Driven Framework for Autonomous Intrusion Investigation — Manivannan, M.; Alharthi, D., arXiv:2607.24006 2026 peer-reviewed
- Canarytokens token guides (MS Word, Windows Directory, Network Folder, Kubeconfig, AWS Infrastructure, DNS, Azure Login Certificate, MySQL Dump) — Thinkst Applied Research industry