Security Hub aggregates findings from GuardDuty, Inspector, Macie, Config, and third-party tools. Attackers can disable it, suppress findings, or use GetFindings as a reconnaissance goldmine for misconfiguration discovery.
Security Hub ingests findings from GuardDuty, Inspector, Macie, Config, Firewall Manager, and third-party tools. Disabling Security Hub silences all integrated findings in a single API call, creating a massive blind spot.
Built-in standards (CIS AWS Foundations, PCI DSS, NIST 800-53, AWS Foundational Security Best Practices) continuously evaluate your environment. GetFindings reveals every misconfiguration and compliance gap to an attacker.
Automation rules can auto-update finding statuses. Attackers create rules to auto-suppress future findings, effectively creating persistent blind spots. BatchUpdateFindings can archive hundreds of findings instantly.
Security Hub is both a reconnaissance goldmine (GetFindings reveals all misconfigurations) and a key target for defense evasion (DisableSecurityHub, BatchUpdateFindings, CreateAutomationRule for suppression).
aws securityhub describe-hubaws securityhub get-findings \
--filters '{"ComplianceStatus":[{"Value":"FAILED","Comparison":"EQUALS"}]}' \
--max-items 100aws securityhub list-membersaws securityhub get-enabled-standardsaws securityhub list-automation-rulesaws securityhub disable-security-hubaws securityhub batch-update-findings \
--finding-identifiers '[{"Id":"arn:aws:securityhub:us-east-1:123456789012:finding/abc123","ProductArn":"arn:aws:securityhub:us-east-1::product/aws/securityhub"}]' \
--workflow '{"Status":"SUPPRESSED"}'aws securityhub create-automation-rule \
--rule-name "SuppressAll" \
--rule-order 1 \
--criteria '{"SeverityLabel":[{"Value":"CRITICAL","Comparison":"EQUALS"}]}' \
--actions '[{"Type":"FINDING_FIELDS_UPDATE","FindingFieldsUpdate":{"Workflow":{"Status":"SUPPRESSED"}}}]'aws securityhub disassociate-from-administrator-accountaws securityhub get-findings \
--filters '{"ComplianceStatus":[{"Value":"FAILED","Comparison":"EQUALS"}],"RecordState":[{"Value":"ACTIVE","Comparison":"EQUALS"}]}' \
--query 'Findings[].[Title,Resources[0].Id]' \
--output tableaws securityhub disable-import-findings-for-product \
--product-subscription-arn arn:aws:securityhub:us-east-1:123456789012:product-subscription/aws/guardduty{
"Version": "2012-10-17",
"Statement": [{
"Effect": "Allow",
"Action": "securityhub:*",
"Resource": "*"
}]
}Full Security Hub access allows disabling the service, suppressing findings, and creating suppression automation
{
"Version": "2012-10-17",
"Statement": [{
"Effect": "Allow",
"Action": [
"securityhub:Get*",
"securityhub:List*",
"securityhub:Describe*"
],
"Resource": "*"
}]
}Read-only access for security analysts to view findings without modification rights
{
"Version": "2012-10-17",
"Statement": [{
"Effect": "Allow",
"Action": [
"securityhub:BatchUpdateFindings",
"securityhub:CreateAutomationRule",
"securityhub:UpdateAutomationRule"
],
"Resource": "*"
}]
}Ability to suppress findings and create automation rules enables covert defense evasion
{
"Version": "2012-10-17",
"Statement": [{
"Sid": "PreventSecurityHubDisable",
"Effect": "Deny",
"Action": [
"securityhub:DisableSecurityHub",
"securityhub:DisassociateFromAdministratorAccount",
"securityhub:DisableImportFindingsForProduct",
"securityhub:DeleteMembers"
],
"Resource": "*"
}]
}Organization SCP prevents member accounts from disabling Security Hub or escaping admin oversight
Use Organization SCPs to deny DisableSecurityHub, DisassociateFromAdministratorAccount in all member accounts.
Send findings to S3 or external SIEM via EventBridge so they persist even if Security Hub is disabled.
aws events put-rule --name SecurityHubFindings \
--event-pattern '{"source":["aws.securityhub"],"detail-type":["Security Hub Findings - Imported"]}'Security Hub is regional. Enable in all regions and configure cross-region aggregation.
aws securityhub create-finding-aggregator \
--region us-east-1 \
--region-linking-mode ALL_REGIONSRegularly review automation rules to ensure none are suppressing findings inappropriately.
aws securityhub list-automation-rules \
--query 'AutomationRulesMetadata[].{Name:RuleName,Status:RuleStatus}'Centralize Security Hub management so member accounts cannot disable it independently.
aws securityhub enable-organization-admin-account \
--admin-account-id 123456789012Create EventBridge rules for DisableSecurityHub, BatchUpdateFindings, and CreateAutomationRule events.
AWS Security Hub Security Card • Toc Consulting
Always obtain proper authorization before testing