Detecting Cloud Threats With Guardduty
Overview
Cybersecurity skill for detecting cloud threats with guardduty. Follows industry best practices and security standards.
When to Use
Trigger phrases:
"detecting cloud threats with guardduty"
"Use when working with detecting cloud threats with guardduty"
When establishing continuous threat detection for new or existing AWS accounts
When investigating GuardDuty findings related to compromised instances, credential abuse, or data exfiltration
When building automated incident response playbooks triggered by GuardDuty findings
When extending threat coverage to container workloads running on EKS, ECS, or Fargate
When enabling malware scanning for EBS volumes attached to suspicious EC2 instances
Do not use for Azure or GCP threat detection (see securing-azure-with-microsoft-defender or auditing-gcp-security-posture), for static code analysis, or for compliance posture monitoring (see implementing-aws-security-hub).
When NOT to Use
- When you lack proper authorization for testing
- For production systems without change management
- When the task requires legal or compliance expertise beyond technical scope
Prerequisites
- AWS account with GuardDuty administrative permissions (guardduty:*)
- AWS CloudTrail, VPC Flow Logs, and DNS query logs enabled (GuardDuty consumes these automatically)
- AWS Organizations configured if deploying GuardDuty across a multi-account estate
- EventBridge and Lambda configured for automated response workflows
Workflow
# Example: IOC detection
import re
IOC_PATTERNS = {
"ip": r"\b(?:\d{1,3}\.){3}\d{1,3}\b",
"domain": r"\b[a-z0-9-]+\.[a-z]{2,}\b",
"hash_md5": r"\b[a-f0-9]{32}\b",
"hash_sha256": r"\b[a-f0-9]{64}\b",
}
def extract_iocs(text: str) -> dict:
return {k: re.findall(v, text) for k, v in IOC_PATTERNS.items()}
- Define Detection Scope — Identify the specific cloud threats techniques or indicators to hunt. Map to MITRE ATT&CK tactics/techniques where applicable.
- Collect Baseline Data — Gather historical logs and establish normal behavior patterns for cloud threats.
- Build Detection Queries — Write guardduty queries targeting cloud threats indicators. Use platform-specific query language for optimal performance.
- Execute Hunts — Run queries against the collected data, starting with broad filters and narrowing down.
- Triage Results — Investigate alerts, filter false positives, and validate findings against known-good behavior.
- Document Findings — Record confirmed detections, IOCs, and affected systems. Update detection rules based on findings.
Tools
- guardduty — Primary tool for this skill
- SIEM Platform — Central log aggregation and query execution
- Sigma Rules — Vendor-agnostic detection rule format
- MITRE ATT&CK Navigator — Technique mapping and coverage analysis
Process
- Reconnaissance — Gather target information, identify attack surface, enumerate services
- Analysis/Exploitation — Execute the technique, analyze results, document findings
- Reporting — Document IOCs, write findings, provide remediation recommendations
Verification
Anti-Rationalization Table
| Rationalization |
Reality |
| "We are too small to be targeted" |
Automated attacks target everyone. Size does not matter. |
| "Security slows us down" |
A breach slows you down 100x more. Build security in from the start. |
| "We will fix it after launch" |
Vulnerabilities in production are exploited within hours. Fix before deploy. |
1---2name: detecting-cloud-threats-with-guardduty3description: Use when this skill teaches security teams how to deploy and operationalize Amazon GuardDuty for continuous threat detection across AWS accounts and workloads. It covers enabling protection plans for S3, EKS, EC2 runtime monitoring, and Lambda, interpreting finding severity levels, and building automated response workflows using EventBridge and Lambda.4license: Apache-2.05---67# Detecting Cloud Threats With Guardduty89## Overview1011Cybersecurity skill for detecting cloud threats with guardduty. Follows industry best practices and security standards.1213## When to Use1415**Trigger phrases:**16- "detecting cloud threats with guardduty"17- "Use when working with detecting cloud threats with guardduty"181920- When establishing continuous threat detection for new or existing AWS accounts21- When investigating GuardDuty findings related to compromised instances, credential abuse, or data exfiltration22- When building automated incident response playbooks triggered by GuardDuty findings23- When extending threat coverage to container workloads running on EKS, ECS, or Fargate24- When enabling malware scanning for EBS volumes attached to suspicious EC2 instances2526**Do not use** for Azure or GCP threat detection (see securing-azure-with-microsoft-defender or auditing-gcp-security-posture), for static code analysis, or for compliance posture monitoring (see implementing-aws-security-hub).272829## When NOT to Use3031- When you lack proper authorization for testing32- For production systems without change management33- When the task requires legal or compliance expertise beyond technical scope343536## Prerequisites3738- AWS account with GuardDuty administrative permissions (guardduty:*)39- AWS CloudTrail, VPC Flow Logs, and DNS query logs enabled (GuardDuty consumes these automatically)40- AWS Organizations configured if deploying GuardDuty across a multi-account estate41- EventBridge and Lambda configured for automated response workflows4243## Workflow4445```python46# Example: IOC detection47import re4849IOC_PATTERNS = {50 "ip": r"\b(?:\d{1,3}\.){3}\d{1,3}\b",51 "domain": r"\b[a-z0-9-]+\.[a-z]{2,}\b",52 "hash_md5": r"\b[a-f0-9]{32}\b",53 "hash_sha256": r"\b[a-f0-9]{64}\b",54}5556def extract_iocs(text: str) -> dict:57 return {k: re.findall(v, text) for k, v in IOC_PATTERNS.items()}58```59601. **Define Detection Scope** — Identify the specific cloud threats techniques or indicators to hunt. Map to MITRE ATT&CK tactics/techniques where applicable.612. **Collect Baseline Data** — Gather historical logs and establish normal behavior patterns for cloud threats.623. **Build Detection Queries** — Write guardduty queries targeting cloud threats indicators. Use platform-specific query language for optimal performance.634. **Execute Hunts** — Run queries against the collected data, starting with broad filters and narrowing down.645. **Triage Results** — Investigate alerts, filter false positives, and validate findings against known-good behavior.656. **Document Findings** — Record confirmed detections, IOCs, and affected systems. Update detection rules based on findings.6667## Tools6869- **guardduty** — Primary tool for this skill70- **SIEM Platform** — Central log aggregation and query execution71- **Sigma Rules** — Vendor-agnostic detection rule format72- **MITRE ATT&CK Navigator** — Technique mapping and coverage analysis737475## Process76771. **Reconnaissance** — Gather target information, identify attack surface, enumerate services781. **Analysis/Exploitation** — Execute the technique, analyze results, document findings791. **Reporting** — Document IOCs, write findings, provide remediation recommendations8081## Verification8283- [ ] All cloud threats procedures executed completely and documented84- [ ] Findings validated against multiple data sources85- [ ] False positives identified and filtered86- [ ] Results documented with evidence and timestamps87- [ ] Recommendations provided with risk-based prioritization8889## Anti-Rationalization Table9091| Rationalization | Reality |92|---|---|93| "We are too small to be targeted" | Automated attacks target everyone. Size does not matter. |94| "Security slows us down" | A breach slows you down 100x more. Build security in from the start. |95| "We will fix it after launch" | Vulnerabilities in production are exploited within hours. Fix before deploy. |