<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:content="http://purl.org/rss/1.0/modules/content/"><channel><title>S3 — CraftedSignal Threat Feed</title><link>https://feed.craftedsignal.io/tags/s3/</link><description>Trending threats, MITRE ATT&amp;CK coverage, and detection metadata — refreshed continuously.</description><generator>Hugo</generator><language>en</language><managingEditor>hello@craftedsignal.io</managingEditor><webMaster>hello@craftedsignal.io</webMaster><lastBuildDate>Fri, 01 May 2026 19:43:38 +0000</lastBuildDate><atom:link href="https://feed.craftedsignal.io/tags/s3/feed.xml" rel="self" type="application/rss+xml"/><item><title>Rapid Enumeration of AWS S3 Buckets</title><link>https://feed.craftedsignal.io/briefs/2024-01-aws-s3-bucket-discovery/</link><pubDate>Fri, 01 May 2026 19:43:38 +0000</pubDate><author>hello@craftedsignal.io</author><guid isPermaLink="true">https://feed.craftedsignal.io/briefs/2024-01-aws-s3-bucket-discovery/</guid><description>An AWS principal rapidly enumerates S3 bucket posture using read-only APIs, indicative of reconnaissance, scanning, or post-compromise activity.</description><content:encoded><![CDATA[<p>This threat brief covers suspicious activity related to the rapid enumeration of AWS S3 buckets. The activity is characterized by an AWS principal invoking read-only S3 control-plane APIs from the same source IP address within a short timeframe. This pattern is often associated with reconnaissance efforts, security scanning tools, or post-compromise enumeration activities. The behavior is similar to that observed with CSPM tools and by threat actors like Team PCP. The detection specifically excludes AWS service principals and requires programmatic-style sessions (i.e., not Management Console credentials). It focuses on scenarios where resource and identity fields are populated to avoid skewed results from null values. The detection threshold is set to greater than 15 distinct <code>aws.cloudtrail.resources.arn</code> values within a 10-second window.</p>
<h2 id="attack-chain">Attack Chain</h2>
<ol>
<li>An attacker gains initial access to an AWS environment using compromised credentials or through an exposed IAM role. (T1530)</li>
<li>The attacker authenticates to AWS using the obtained credentials, creating a programmatic session.</li>
<li>The attacker issues a series of <code>GetBucketAcl</code>, <code>GetBucketPublicAccessBlock</code>, <code>GetBucketPolicy</code>, <code>GetBucketPolicyStatus</code>, and <code>GetBucketVersioning</code> API calls to S3.</li>
<li>These API calls are directed towards multiple distinct S3 buckets within a short timeframe (10 seconds).</li>
<li>The attacker collects information about the bucket&rsquo;s access control lists (ACLs), public access blocks, policies, versioning status, and other metadata. (T1526, T1580, T1619)</li>
<li>The collected information is analyzed to identify publicly accessible buckets, misconfigurations, or sensitive data storage locations.</li>
<li>The attacker uses identified vulnerabilities to exfiltrate data.</li>
<li>The attacker attempts lateral movement within the AWS environment, leveraging the discovered information to compromise other resources.</li>
</ol>
<h2 id="impact">Impact</h2>
<p>Successful enumeration of S3 buckets can lead to the discovery of sensitive data, misconfigurations, and publicly accessible resources. This can result in data breaches, unauthorized access, and further compromise of the AWS environment. The enumeration allows an attacker to map out the S3 storage landscape, identifying targets for data exfiltration or privilege escalation. The rapid nature of the enumeration suggests automated scanning or reconnaissance, potentially indicating a larger attack campaign.</p>
<h2 id="recommendation">Recommendation</h2>
<ul>
<li>Deploy the following Sigma rule to detect rapid S3 bucket enumeration activity based on AWS CloudTrail logs, adjusting the threshold of 15 distinct buckets to suit your environment.</li>
<li>Investigate any alerts generated by the Sigma rule, focusing on the source IP address (<code>source.ip</code>), AWS principal ARN (<code>aws.cloudtrail.user_identity.arn</code>), and the list of accessed buckets (<code>aws.cloudtrail.resources.arn</code>).</li>
<li>Review IAM policies associated with the identified principal to ensure least privilege for S3 read APIs.</li>
<li>Monitor CloudTrail logs for related events, such as <code>ListBuckets</code>, <code>GetObject</code>, <code>PutBucketPolicy</code>, <code>AssumeRole</code>, or IAM changes, occurring within ±30 minutes of the detected enumeration activity.</li>
<li>Implement network-level restrictions on the source IP address if it is not authorized to perform S3 enumeration.</li>
<li>Document approved scanning accounts and add user agent filters to the provided Sigma rule to reduce noise from those identities.</li>
</ul>
]]></content:encoded><category domain="severity">low</category><category domain="type">advisory</category><category>aws</category><category>s3</category><category>cloudtrail</category><category>discovery</category><category>enumeration</category><category>reconnaissance</category></item><item><title>AWS S3 Rapid Bucket Posture API Calls Indicate Reconnaissance</title><link>https://feed.craftedsignal.io/briefs/2026-04-aws-s3-reconnaissance/</link><pubDate>Sat, 11 Apr 2026 12:00:00 +0000</pubDate><author>hello@craftedsignal.io</author><guid isPermaLink="true">https://feed.craftedsignal.io/briefs/2026-04-aws-s3-reconnaissance/</guid><description>An AWS principal rapidly enumerates S3 bucket configurations using read-only APIs, potentially indicating reconnaissance activity by security scanners, CSPM tools, or malicious actors performing post-compromise enumeration.</description><content:encoded><![CDATA[<p>This threat brief details detection of rapid enumeration of AWS S3 bucket configurations. The activity is characterized by an AWS principal invoking read-only S3 control-plane APIs across numerous buckets within a short timeframe. This pattern is consistent with automated reconnaissance, security scanning, or post-compromise enumeration. The activity is detected by monitoring AWS CloudTrail logs for specific API calls such as <code>GetBucketAcl</code>, <code>GetBucketPublicAccessBlock</code>, <code>GetBucketPolicy</code>, <code>GetBucketPolicyStatus</code>, and <code>GetBucketVersioning</code>. The detection logic excludes AWS service principals and sessions using Management Console credentials to reduce false positives. This activity is relevant for defenders as it can signal early-stage reconnaissance by threat actors like Team PCP, or unauthorized data discovery within the AWS environment. The rule uses a threshold of 15 distinct buckets accessed within 10 seconds to identify suspicious behavior.</p>
<h2 id="attack-chain">Attack Chain</h2>
<ol>
<li>An attacker gains access to AWS credentials, possibly through compromised credentials or misconfigured IAM roles.</li>
<li>The attacker uses the acquired credentials to authenticate to the AWS environment.</li>
<li>The attacker executes a script or tool that calls multiple S3 APIs (e.g., <code>GetBucketAcl</code>, <code>GetBucketPolicy</code>) to gather information about S3 buckets.</li>
<li>The tool iterates through a list of buckets, querying the configuration of each.</li>
<li>The attacker collects the responses from the S3 API calls, mapping out bucket names, permissions, and access control lists.</li>
<li>The attacker analyzes the collected data to identify potentially sensitive data or misconfigured buckets.</li>
<li>Based on the findings, the attacker may proceed to exfiltrate data from accessible buckets (T1530).</li>
<li>The attacker may also attempt to modify bucket policies or access controls to gain further access or persistence.</li>
</ol>
<h2 id="impact">Impact</h2>
<p>Successful reconnaissance of S3 bucket configurations allows attackers to identify vulnerable buckets, potentially leading to data breaches or unauthorized access to sensitive information. The source material does not provide specific victim counts or sectors. However, the impact can range from exposure of confidential data to full compromise of the AWS environment, depending on the level of access gained and the sensitivity of the data stored in the targeted buckets. Identifying the activity early can prevent further exploitation.</p>
<h2 id="recommendation">Recommendation</h2>
<ul>
<li>Deploy the provided Sigma rule to your SIEM to detect rapid S3 bucket posture API calls (see: &ldquo;AWS S3 Rapid Bucket Enumeration&rdquo;).</li>
<li>Review IAM policies and enforce least privilege on S3 read APIs to limit the scope of potential reconnaissance activities.</li>
<li>Monitor CloudTrail logs for the same <code>aws.cloudtrail.user_identity.arn</code> and <code>source.ip</code> within approximately ±30 minutes for follow-on patterns such as <code>ListBuckets</code>, <code>GetObject</code>, <code>PutBucketPolicy</code>, or <code>AssumeRole</code> activities (see Overview).</li>
<li>Rotate or disable keys for the affected identity, revoke active role sessions where possible, and restrict the source IP at the network layer if it is not authorized (see Overview).</li>
<li>Whitelist approved scanning accounts and tune the Sigma rule to reduce noise from those identities (see Overview).</li>
</ul>
]]></content:encoded><category domain="severity">low</category><category domain="type">advisory</category><category>cloud</category><category>aws</category><category>s3</category><category>reconnaissance</category></item><item><title>MinIO SSE Metadata Injection via Replication Headers Leads to Data Unreadability</title><link>https://feed.craftedsignal.io/briefs/2024-05-minio-metadata-injection/</link><pubDate>Fri, 27 Mar 2026 22:26:05 +0000</pubDate><author>hello@craftedsignal.io</author><guid isPermaLink="true">https://feed.craftedsignal.io/briefs/2024-05-minio-metadata-injection/</guid><description>A vulnerability in MinIO allows authenticated users with `s3:PutObject` permission to inject internal server-side encryption metadata into objects via crafted replication headers, leading to permanent data unreadability.</description><content:encoded><![CDATA[<p>A flaw in MinIO&rsquo;s <code>extractMetadataFromMime()</code> function allows any authenticated user with <code>s3:PutObject</code> permission to inject internal server-side encryption (SSE) metadata into objects. This is achieved by sending crafted <code>X-Minio-Replication-*</code> headers on a normal PutObject request. The MinIO server incorrectly maps these headers to <code>X-Minio-Internal-*</code> encryption metadata without validating if the request is a legitimate replication request. Objects written in this manner contain bogus encryption keys and become permanently unreadable through the S3 API. This vulnerability affects all MinIO releases up to the final release of the <code>minio/minio</code> open-source project, specifically versions introduced after commit <code>468a9fae83e965ecefa1c1fdc2fc57b84ece95b0</code> (included in <code>RELEASE.2024-03-30T09-41-56Z</code>). It was resolved in MinIO AIStor <code>RELEASE.2026-03-26T21-24-40Z</code>.</p>
<h2 id="attack-chain">Attack Chain</h2>
<ol>
<li>Attacker authenticates to the MinIO server with valid credentials having <code>s3:PutObject</code> permissions.</li>
<li>The attacker crafts a malicious PutObject request targeting a specific bucket and object key.</li>
<li>The attacker includes <code>X-Minio-Replication-Server-Side-Encryption-*</code> headers in the PutObject request.</li>
<li>The attacker omits the <code>X-Minio-Source-Replication-Request</code> header, which would normally indicate a legitimate replication request.</li>
<li>The MinIO server&rsquo;s <code>extractMetadataFromMime()</code> function incorrectly maps the crafted <code>X-Minio-Replication-*</code> headers to <code>X-Minio-Internal-Server-Side-Encryption-*</code> headers.</li>
<li>The server writes the object metadata, including the bogus encryption keys, to the object storage.</li>
<li>Subsequent GetObject or HeadObject requests for the modified object will fail because the server treats the object as encrypted with non-existent or incorrect keys.</li>
<li>The attacker achieves a targeted denial-of-service, rendering the object permanently unreadable via the S3 API.</li>
</ol>
<h2 id="impact">Impact</h2>
<p>This vulnerability enables a targeted denial-of-service attack. An attacker can selectively corrupt individual objects or entire buckets within a MinIO deployment. Successful exploitation results in permanent data loss, as affected objects become unreadable through the S3 API. This can disrupt critical services relying on the object storage and potentially impact a large number of users if entire buckets are targeted.</p>
<h2 id="recommendation">Recommendation</h2>
<ul>
<li>Upgrade to MinIO AIStor version <code>RELEASE.2026-03-26T21-24-40Z</code> or later to patch the vulnerability as documented in the <a href="https://docs.min.io/enterprise/aistor-object-store/upgrade-aistor-server/community-edition/">release notes</a>.</li>
<li>Implement a reverse proxy or load balancer rule to drop or reject any request containing <code>X-Minio-Replication-Server-Side-Encryption-*</code> headers that does not also include <code>X-Minio-Source-Replication-Request</code>, mitigating the injection path as described in the <a href="#workarounds">Workarounds</a> section.</li>
<li>Review and restrict IAM policies to limit <code>s3:PutObject</code> grants to trusted principals only, reducing the attack surface as noted in the <a href="#workarounds">Workarounds</a> section.</li>
</ul>
]]></content:encoded><category domain="severity">high</category><category domain="type">advisory</category><category>minio</category><category>s3</category><category>metadata-injection</category><category>denial-of-service</category></item><item><title>S3Browser IAM Policy Creation with Default Bucket Name</title><link>https://feed.craftedsignal.io/briefs/2024-01-26-s3browser-iam-policy/</link><pubDate>Fri, 26 Jan 2024 12:00:00 +0000</pubDate><author>hello@craftedsignal.io</author><guid isPermaLink="true">https://feed.craftedsignal.io/briefs/2024-01-26-s3browser-iam-policy/</guid><description>An AWS IAM policy is created by the S3Browser utility with the default S3 bucket name placeholder, potentially indicating unauthorized access or misconfiguration.</description><content:encoded><![CDATA[<p>The S3Browser utility is being used to create Inline IAM policies within AWS. This activity is flagged as suspicious when the policy includes the default S3 bucket name placeholder value of <code>&lt;YOUR-BUCKET-NAME&gt;</code>. This could indicate that the user has not properly configured the policy or is unaware of the implications of using a generic placeholder, potentially granting unintended access to S3 resources. This behavior was observed being used by the threat actor Guivil. The use of S3Browser in this manner poses a risk of privilege escalation, persistence, and unauthorized access to sensitive data stored in S3 buckets.</p>
<h2 id="attack-chain">Attack Chain</h2>
<ol>
<li>An attacker gains initial access to an AWS account, possibly through compromised credentials or misconfigured IAM roles (T1078.004).</li>
<li>The attacker utilizes the S3Browser utility to interact with AWS S3 buckets.</li>
<li>The attacker attempts to create an Inline IAM policy using S3Browser.</li>
<li>The attacker fails to replace the default bucket name placeholder <code>&lt;YOUR-BUCKET-NAME&gt;</code> with a specific bucket ARN.</li>
<li>The attacker saves the IAM policy with the default bucket name placeholder, leading to a broad or unintended scope of permissions.</li>
<li>The poorly configured policy is applied to a user, role, or group.</li>
<li>The attacker potentially escalates privileges or gains unauthorized access to S3 resources.</li>
<li>The attacker persists in the environment with the newly created or modified IAM policy.</li>
</ol>
<h2 id="impact">Impact</h2>
<p>Creation of an IAM policy with the default bucket name placeholder leaves S3 buckets open to potential unauthorized access. A successful attack could lead to data exfiltration, data modification, or denial of service. The scope of the impact depends on the specific permissions granted within the policy and the resources accessible through the affected IAM user, role, or group.</p>
<h2 id="recommendation">Recommendation</h2>
<ul>
<li>Deploy the Sigma rule &ldquo;AWS IAM S3Browser Templated S3 Bucket Policy Creation&rdquo; to your SIEM and tune for your environment to detect this specific activity.</li>
<li>Investigate any instances where <code>PutUserPolicy</code> events are associated with the S3Browser user agent (logsource: aws/cloudtrail).</li>
<li>Review existing IAM policies for the presence of the default bucket name placeholder <code>arn:aws:s3:::&lt;YOUR-BUCKET-NAME&gt;/*</code> (logsource: aws/cloudtrail).</li>
</ul>
]]></content:encoded><category domain="severity">high</category><category domain="type">advisory</category><category>aws</category><category>iam</category><category>s3browser</category><category>s3</category><category>policy</category><category>cloudtrail</category></item><item><title>AWS S3 Bucket Deletion Detected via CloudTrail</title><link>https://feed.craftedsignal.io/briefs/2024-01-aws-bucket-deletion/</link><pubDate>Tue, 02 Jan 2024 14:27:00 +0000</pubDate><author>hello@craftedsignal.io</author><guid isPermaLink="true">https://feed.craftedsignal.io/briefs/2024-01-aws-bucket-deletion/</guid><description>An AWS S3 bucket deletion event was detected via CloudTrail logs, potentially indicating data loss or unauthorized access attempts.</description><content:encoded><![CDATA[<p>The deletion of S3 buckets is a critical event to monitor in AWS environments. While legitimate administrative actions may involve bucket deletion, unauthorized or accidental removal of buckets can lead to significant data loss and business disruption. This brief focuses on detecting such events through AWS CloudTrail logs, which record API calls made within the AWS infrastructure. Monitoring for <code>DeleteBucket</code> events helps identify potential malicious activity or unintentional misconfigurations that could compromise data availability and integrity. This detection focuses on identifying DeleteBucket API calls, successful or otherwise, within CloudTrail logs to provide early warning of potential data compromise.</p>
<h2 id="attack-chain">Attack Chain</h2>
<ol>
<li>An attacker gains unauthorized access to an AWS account through compromised credentials or a privilege escalation exploit.</li>
<li>The attacker lists existing S3 buckets to identify potential targets using the <code>ListBuckets</code> API call.</li>
<li>The attacker identifies a target S3 bucket containing sensitive data.</li>
<li>The attacker attempts to delete the target S3 bucket by issuing a <code>DeleteBucket</code> API call using the AWS CLI or SDK.</li>
<li>CloudTrail logs the <code>DeleteBucket</code> event, including the user identity, timestamp, and bucket name.</li>
<li>If successful, the S3 bucket and its contents are permanently deleted.</li>
<li>The attacker may attempt to remove CloudTrail logs to cover their tracks, using the <code>DeleteTrail</code> API call.</li>
</ol>
<h2 id="impact">Impact</h2>
<p>The deletion of an S3 bucket results in the permanent loss of all data stored within that bucket. This can lead to service disruption, data breaches, and financial losses, especially if the bucket contained critical business data or backups. The impact can range from temporary inconvenience to complete business failure depending on the criticality of the data lost and the organization&rsquo;s backup and recovery capabilities. Without proper monitoring and alerting, an S3 bucket deletion can go unnoticed for extended periods, hindering incident response efforts and potentially exacerbating the damage.</p>
<h2 id="recommendation">Recommendation</h2>
<ul>
<li>Deploy the provided Sigma rule to your SIEM to detect S3 bucket deletion events in CloudTrail logs.</li>
<li>Investigate any detected <code>DeleteBucket</code> events to verify their legitimacy and ensure they were authorized by appropriate personnel.</li>
<li>Implement multi-factor authentication (MFA) for all AWS accounts to prevent unauthorized access and reduce the risk of credential compromise.</li>
<li>Enforce strict IAM policies and regularly review user permissions to minimize the blast radius of compromised accounts.</li>
<li>Enable versioning on S3 buckets to allow for the recovery of accidentally deleted objects, mitigating the impact of data loss.</li>
<li>Implement data backup and disaster recovery plans to ensure business continuity in the event of a successful bucket deletion attack.</li>
</ul>
]]></content:encoded><category domain="severity">medium</category><category domain="type">advisory</category><category>cloud</category><category>aws</category><category>s3</category><category>data_loss</category></item></channel></rss>