AWS Service Quota Increase Requested by Rare Identity
Detects the first time an AWS identity requests a service quota increase via the AWS Service Quotas API within a 7-day history window. Service quota increases are submitted to AWS Support and, when approved, raise the limits on EC2 instances, Lambda concurrency, VPC resources, and other services. An adversary who obtains AWS credentials may request quota increases as infrastructure preparation for large-scale cryptomining, DDoS amplification, phishing campaigns, or data exfiltration operations that require compute or network resources beyond the account's current limits.
Elastic rule (View on GitHub)
1[metadata]
2creation_date = "2026/08/24"
3integration = ["aws"]
4maturity = "production"
5updated_date = "2026/08/24"
6
7[rule]
8author = ["Elastic"]
9description = """
10Detects the first time an AWS identity requests a service quota increase via the AWS Service
11Quotas API within a 7-day history window. Service quota increases are submitted to AWS Support
12and, when approved, raise the limits on EC2 instances, Lambda concurrency, VPC resources, and
13other services. An adversary who obtains AWS credentials may request quota increases as
14infrastructure preparation for large-scale cryptomining, DDoS amplification, phishing
15campaigns, or data exfiltration operations that require compute or network resources beyond
16the account's current limits.
17"""
18false_positives = [
19 """
20 Cloud infrastructure teams requesting quota increases for planned capacity expansions,
21 new region deployments, or scaling events will trigger this rule. Validate the requested
22 service and limit against your infrastructure roadmap before closing.
23 """,
24]
25from = "now-6m"
26index = ["logs-aws.cloudtrail-*"]
27language = "kuery"
28license = "Elastic License v2"
29name = "AWS Service Quota Increase Requested by Rare Identity"
30note = """## Triage and analysis
31
32### Investigating AWS Service Quota Increase Requested by Rare Identity
33
34AWS Service Quotas (formerly Service Limits) cap how many resources of each type an account can create. Default limits exist to prevent accidental runaway provisioning, but an adversary who requests an increase can scale operations far beyond what the default limits allow: requesting 1000 EC2 On-Demand vCPUs enables cryptomining at industrial scale; requesting higher SES sending limits enables large-scale phishing campaigns; requesting higher Lambda concurrency enables large-scale credential-stuffing operations.
35
36### Possible investigation steps
37
38- Identify the caller from aws.cloudtrail.user_identity.arn and user.name.
39- Review aws.cloudtrail.request_parameters for the serviceCode (which AWS service), the quotaCode (which specific limit), and the requested value.
40- Determine whether the requested quota increase aligns with a known infrastructure project.
41- Check whether the same identity has recently created resources in the service being scaled (EC2 RunInstances, Lambda CreateFunction, SES SendEmail).
42- Review whether this is the first quota increase request for this service from this identity or a continuation of a known capacity planning effort.
43
44### Response and remediation
45
46- If unauthorized, submit a cancellation request to AWS Support for the quota increase.
47- Revoke active sessions for the requesting identity.
48- Apply an SCP restricting servicequotas:RequestServiceQuotaIncrease to approved cloud-operations roles that require prior approval.
49"""
50references = [
51 "https://docs.aws.amazon.com/servicequotas/2019-06-24/apireference/API_RequestServiceQuotaIncrease.html",
52 "https://www.rapid7.com/blog/post/dr-threat-actors-aws-workmail-phishing-campaigns/",
53]
54risk_score = 47
55rule_id = "7e1b0654-b6c0-4b1b-ab47-75588533083c"
56setup = "The AWS integration must be ingesting management events into `logs-aws.cloudtrail-*`. Service Quotas management events are logged by default."
57severity = "medium"
58tags = [
59 "Domain: Cloud",
60 "Platform: AWS",
61 "Data Source: AWS CloudTrail",
62 "Service: AWS Service Quotas",
63 "Rule Type: New Terms",
64 "Tactic: Resource Development",
65 "Resources: Investigation Guide",
66]
67timestamp_override = "event.ingested"
68type = "new_terms"
69
70query = '''
71data_stream.dataset: "aws.cloudtrail"
72 and event.provider: "servicequotas.amazonaws.com"
73 and event.action: "RequestServiceQuotaIncrease"
74 and event.outcome: "success"
75 and not user_agent.original: (*Terraform* or *Pulumi* or *Ansible* or "cloudformation.amazonaws.com")
76'''
77
78
79[[rule.threat]]
80framework = "MITRE ATT&CK"
81[[rule.threat.technique]]
82id = "T1583"
83name = "Acquire Infrastructure"
84reference = "https://attack.mitre.org/techniques/T1583/"
85
86
87[rule.threat.tactic]
88id = "TA0042"
89name = "Resource Development"
90reference = "https://attack.mitre.org/tactics/TA0042/"
91
92[rule.investigation_fields]
93field_names = [
94 "@timestamp",
95 "aws.cloudtrail.user_identity.arn",
96 "aws.cloudtrail.user_identity.type",
97 "aws.cloudtrail.user_identity.access_key_id",
98 "user.name",
99 "event.action",
100 "event.outcome",
101 "aws.cloudtrail.request_parameters",
102 "source.ip",
103 "cloud.region",
104 "cloud.account.id",
105]
106
107[rule.new_terms]
108field = "new_terms_fields"
109value = ["cloud.account.id", "user.name"]
110[[rule.new_terms.history_window_start]]
111field = "history_window_start"
112value = "now-7d"
Triage and analysis
Investigating AWS Service Quota Increase Requested by Rare Identity
AWS Service Quotas (formerly Service Limits) cap how many resources of each type an account can create. Default limits exist to prevent accidental runaway provisioning, but an adversary who requests an increase can scale operations far beyond what the default limits allow: requesting 1000 EC2 On-Demand vCPUs enables cryptomining at industrial scale; requesting higher SES sending limits enables large-scale phishing campaigns; requesting higher Lambda concurrency enables large-scale credential-stuffing operations.
Possible investigation steps
- Identify the caller from aws.cloudtrail.user_identity.arn and user.name.
- Review aws.cloudtrail.request_parameters for the serviceCode (which AWS service), the quotaCode (which specific limit), and the requested value.
- Determine whether the requested quota increase aligns with a known infrastructure project.
- Check whether the same identity has recently created resources in the service being scaled (EC2 RunInstances, Lambda CreateFunction, SES SendEmail).
- Review whether this is the first quota increase request for this service from this identity or a continuation of a known capacity planning effort.
Response and remediation
- If unauthorized, submit a cancellation request to AWS Support for the quota increase.
- Revoke active sessions for the requesting identity.
- Apply an SCP restricting servicequotas:RequestServiceQuotaIncrease to approved cloud-operations roles that require prior approval.
References
Related rules
- AWS SES Email Identity Verified Then Deleted
- AWS SES Full Access Policy Attached to IAM Entity by Unusual User
- AWS Account Discovery By Rare User
- AWS EC2 Route Table Created
- AWS EC2 User Data Retrieval for EC2 Instance