Lesson 4 of 5 · 20 min read

Stratus Red Team — Cloud Attack Emulation

Endpoint adversary emulation (Atomic Red Team, CALDERA) doesn’t cover cloud attacks. A threat actor who compromises an AWS IAM key or exploits an Azure app consent vulnerability doesn’t generate Sysmon events — they generate CloudTrail entries, Azure Activity Log records, and GCP audit logs. Stratus Red Team was built to validate those detections.


Why Cloud Emulation Is Different

DimensionEndpoint (Atomic RT)Cloud (Stratus)
Attack surfaceWindows/Linux processesCloud APIs (IAM, storage, compute)
Primary telemetrySysmon, Windows EventsCloudTrail, Activity Log, GCP Audit
Log delivery delayNear-real-time5–15 minutes (CloudTrail)
Event structureProcessCreate, FileCreateAPI calls (eventName, userIdentity)
Test environmentLab VMReal cloud account (sandbox)
Cleanup complexityDelete files/registry keysDestroy IAM users, S3 buckets, etc.

Important: Stratus requires a real cloud account (AWS free tier works). It creates and destroys cloud resources during tests. Use a dedicated sandbox account — never a production account.


Installation

# Install Stratus Red Team
brew install datadog/stratus-red-team/stratus-red-team   # macOS
# or
go install github.com/DataDog/stratus-red-team/v2/cmd/stratus@latest

# For AWS — configure credentials
export AWS_DEFAULT_REGION=us-east-1
aws configure  # or use AWS CLI profile

# List available attack techniques
stratus list

# List only AWS techniques
stratus list --platform aws

The Stratus Workflow

Phase 1: Warmup

# Prepare infrastructure for the attack scenario
stratus warmup aws.credential-access.secretsmanager-retrieve-secrets

# Stratus creates:
# → IAM user with GetSecretValue permissions
# → Sample secret in AWS Secrets Manager
# Output: "Warmed up attack technique"

Phase 2: Detonate

# Execute the attack
stratus detonate aws.credential-access.secretsmanager-retrieve-secrets

# Stratus executes:
# → IAM user calls secretsmanager:GetSecretValue
# → CloudTrail logs: eventName=GetSecretValue, userIdentity=malicious-iam-user

# Output:
# Retrieving secret 'stratus-red-team-secret'
# Successfully retrieved secret value

Phase 3: Cleanup

# Destroy all created resources
stratus cleanup aws.credential-access.secretsmanager-retrieve-secrets

# Deletes:
# → IAM user
# → Secret in Secrets Manager
# → Any generated credentials

Key Attack Scenarios by Cloud

AWS

# IAM credential exfiltration via console access
aws.credential-access.console-login-without-mfa

# Backdoor IAM user creation
aws.persistence.backdoor-iam-user

# S3 data exfiltration
aws.exfiltration.s3-backdoor-bucket-policy

# CloudTrail tampering (disable logging)
aws.defense-evasion.cloudtrail-stop

# Lambda execution for persistence  
aws.persistence.malicious-lambda-extension

Azure

# OAuth app consent grant (T1550.001)
azure.credential-access.azure-ad-oauth-phishing

# Service Principal credentials added
azure.persistence.add-service-principal-credentials

# VM run command (lateral movement)
azure.lateral-movement.vm-run-command

GCP

# Custom IAM role with escalated privileges
gcp.privilege-escalation.create-custom-iam-role

# Service account key exfiltration
gcp.credential-access.service-account-key-exfil

# GCS bucket access
gcp.exfiltration.gcs-object-access

Validating Cloud Detections

After detonating a scenario, validate in your cloud SIEM:

-- AWS Athena query for CloudTrail (if using Athena+S3)
SELECT eventtime, eventname, useridentity.arn, sourceipaddress
FROM cloudtrail_logs
WHERE eventname = 'GetSecretValue'
  AND eventtime BETWEEN '2026-05-20T10:00:00Z' AND '2026-05-20T11:00:00Z'
ORDER BY eventtime DESC
LIMIT 10;

Or in a SIEM receiving CloudTrail:

# Splunk - check CloudTrail for Secrets Manager access
index=cloudtrail eventName=GetSecretValue
  earliest="-30m"
| table _time, eventName, userIdentity.arn, sourceIPAddress

Expected detection rule (Sigma):

title: AWS Secrets Manager GetSecretValue from Anomalous Principal
logsource:
  product: aws
  service: cloudtrail
detection:
  selection:
    eventName: GetSecretValue
    eventSource: secretsmanager.amazonaws.com
  filter_known:
    userIdentity.arn|contains: 'arn:aws:iam::123456789:role/app-production'
  condition: selection and not filter_known

Stratus with Other Cloud Tools

For deeper cloud detection validation, combine Stratus with:

ToolPurpose
pacuAWS post-exploitation framework — more realistic attack chains
ROADtoolsAzure AD attack scenarios (consent phishing, token theft)
gcp-goatIntentionally vulnerable GCP environment for practice
CloudGoatVulnerable AWS environments for attacker simulation

Stratus is focused on clean, documented scenarios with proper cleanup. Pacu and ROADtools simulate more complex, realistic attacks.

Stratus Red Team— DataDog Stratus Red Team GitHub— GitHub