Skip to content

Dieses Tool steht in keiner Verbindung zu Amazon Web Services, Inc. oder Amazon.com, Inc. und wird von diesen weder unterstützt noch gesponsert. AWS, Amazon Web Services, CloudTrail und GuardDuty sind Marken von Amazon.com, Inc. oder seinen verbundenen Unternehmen. Andere Namen sind Marken ihrer jeweiligen Inhaber.

Wichtige CloudTrail-Ereignisse, zugeordnet zu MITRE ATT&CK

Die CloudTrail-Ereignisse, die jeder AWS-Responder kennen sollte, von Erkundung bis Auswirkung, mit den Belegfeldern und ihren MITRE-ATT&CK-Technik-IDs.

Veröffentlicht am 5 Min. Lesezeit

Kurzfassung. Sie müssen nicht Tausende von AWS-API-Namen kennen. Etwa fünfzig Ereignisnamen decken den üblichen Angriffspfad in AWS ab: GetCallerIdentity und Salven von List-/Describe-Aufrufen (Erkundung), CreateUser / CreateAccessKey / CreateLoginProfile (Persistenz), AttachUserPolicy mit AdministratorAccess (Rechteausweitung), StopLogging / DeleteDetector (Umgehung von Abwehrmaßnahmen), Salven von GetObject / ModifySnapshotAttribute (Exfiltration), RunInstances mit GPU / ScheduleKeyDeletion (Auswirkung). Die Tabellen unten nennen für jedes Ereignis die Ereignisquelle, die Felder mit den Belegen und die zugehörige MITRE-ATT&CK-Technik.

Jede Tabelle hier entspricht einer Regel im offenen Regelwerk des Analysetools – was Sie hier lesen, ist also genau das, was das Tool prüft. Die Tabellen sind nach Taktiken geordnet, in der Reihenfolge, in der ein Einbruch üblicherweise abläuft.

Felder, die Sie bei jedem Ereignis lesen

FeldWas es Ihnen sagt
eventTimeUTC-Zeitpunkt der Anfrage
eventSource / eventNameDienst und API, z. B. iam.amazonaws.com / CreateUser
userIdentity.typeRoot, IAMUser, AssumedRole, FederatedUser, AWSService…
userIdentity.arn, accessKeyIdWer, und mit welchen Anmeldedaten (AKIA langfristig, ASIA temporär)
sourceIPAddress, userAgentVon wo aus und mit welchem Client
errorCode, errorMessageFehlen, wenn der Aufruf erfolgreich war
requestParameters, responseElementsWas angefragt und was angelegt wurde
awsRegion, recipientAccountIdWo es passiert ist

AWS dokumentiert das vollständige Schema in der Referenz zum Inhalt von CloudTrail-Einträgen und zum userIdentity-Element.

Initialer Zugriff und Missbrauch von Anmeldedaten

EreignisZu prüfende BelegeATT&CK
Beliebiger Aufruf mit einem AKIA-Schlüssel von einer neuen IPaccessKeyId, sourceIPAddress, userAgentT1078.004, T1552.001
Beliebiger Aufruf mit userIdentity.type = RootQuell-IP; das Root-Konto sollte so gut wie nie aktiv seinT1078.004
ConsoleLogin (signin)responseElements.ConsoleLogin = Success/Failure, additionalEventData.MFAUsedT1078.004
Wiederholt fehlgeschlagene ConsoleLogin von einer IPAnzahl pro IP und 15 MinutenT1110

Erkundung

EreignisZu prüfende BelegeATT&CK
sts:GetCallerIdentity mit einem langfristigen SchlüsselErster Aufruf von einer neuen AdresseT1087.004
Viele verschiedene List* / Describe* / Get* innerhalb von MinutenAnzahl unterschiedlicher eventName pro SchlüsselT1580, T1526
iam:GetAccountAuthorizationDetailsVollständiger IAM-Dump mit einem einzigen AufrufT1087.004
Häufung von AccessDenied / UnauthorizedOperationerrorCode pro PrincipalT1069.003

GetCallerIdentity benötigt keine Berechtigungen und wird von der CLI selbst aufgerufen; für sich genommen hat es daher einen niedrigen Schweregrad. Bedeutung gewinnt es als erstes Ereignis von einer unbekannten Adresse.

Persistenz

EreignisZu prüfende BelegeATT&CK
iam:CreateUserrequestParameters.userNameT1136.003
iam:CreateAccessKey für einen anderen BenutzerrequestParameters.userName ≠ Aufrufer; neuer Schlüssel in responseElements.accessKey.accessKeyIdT1098.001
iam:CreateLoginProfile / UpdateLoginProfileKonsolenpasswort für einen BenutzerT1098
iam:UpdateAssumeRolePolicyNeue Principals, denen eine Rolle vertrautT1098
iam:CreateSAMLProvider, CreateOpenIDConnectProvider, UpdateOpenIDConnectProviderThumbprintNeue Vertrauensstellung für FöderationT1484.002
lambda:AddPermission mit Principal *, CreateFunctionUrlConfig mit authType: NONEÖffentliche Backdoor-FunktionT1546, T1648
ec2:ModifyInstanceAttribute mit userDataSkript, das beim nächsten Start ausgeführt wirdT1059
ec2:CreateKeyPair / ImportKeyPairSSH-Zugang zu neuen InstanzenT1098.004

Rechteausweitung

EreignisZu prüfende BelegeATT&CK
AttachUserPolicy / AttachRolePolicy / AttachGroupPolicypolicyArn endet auf AdministratorAccess oder IAMFullAccessT1098.003
PutUserPolicy / PutRolePolicy / CreatePolicyVersionRichtliniendokument mit "Action": "*" auf "Resource": "*"T1098.003
AddUserToGroupGruppenname, der auf Administratorrechte hindeutetT1098

Umgehung von Abwehrmaßnahmen

EreignisZu prüfende BelegeATT&CK
cloudtrail:StopLogging, DeleteTrailName des Trails, RegionT1562.008
cloudtrail:UpdateTrail, PutEventSelectorsZiel oder Selektoren geändertT1562.008
guardduty:DeleteDetector, UpdateDetector (deaktiviert), CreateIPSet, ArchivierungsfilterDetektor-ID, RegionT1562.001
config:StopConfigurationRecorder, DeleteDeliveryChannelRegionT1562.001
securityhub:DisableSecurityHub, macie2:DisableMacie, inspector2:Disable, detective:DeleteGraphDienstT1562.001
s3:PutBucketLogging ohne ZielZugriffsprotokollierung abgeschaltetT1562.008
ec2:DeleteFlowLogsNetzwerkprotokollierung entferntT1562.008
logs:DeleteLogGroup / DeleteLogStreamBeweismittel vernichtetT1070
ec2:AuthorizeSecurityGroupIngress mit 0.0.0.0/0Firewall geöffnetT1562.007
Schreibzugriffe in einer bisher ungenutzten RegionawsRegionT1535

Der Beitrag zur Umgehung von Abwehrmaßnahmen erklärt, wie Sie die Lücke lesen, die ein StopLogging hinterlässt.

Zugriff auf Anmeldedaten und Exfiltration

EreignisZu prüfende BelegeATT&CK
secretsmanager:GetSecretValue / BatchGetSecretValue auf viele SecretsAnzahl unterschiedlicher secretId pro PrincipalT1555.006
Salven von s3:GetObject (Datenereignis)Anzahl pro Principal und Bucket; additionalEventData.bytesTransferredOutT1530
s3:PutBucketPolicy mit Principal: "*", PutBucketAcl mit AllUsersBucket öffentlich gemachtT1530
DeleteBucketPublicAccessBlock / abgeschwächtes PutPublicAccessBlockSchutzmechanismus entferntT1530
ec2:ModifySnapshotAttribute, ModifyImageAttribute, rds:ModifyDBSnapshotAttributecreateVolumePermission / restore mit einem fremden Konto oder all geteiltT1537

GetObject ist ein Datenereignis: Es taucht nur auf, wenn der Trail dafür konfiguriert war. Siehe Belege für S3-Datenexfiltration.

Auswirkung

EreignisZu prüfende BelegeATT&CK
ec2:RunInstances mit Instanztypen p* / g*instanceType, awsRegionT1496
servicequotas:RequestServiceQuotaIncreasequotaCode, RegionT1496
Viele Delete* / Terminate* durch einen einzigen PrincipalAnzahl pro 10 MinutenT1485
kms:ScheduleKeyDeletion, DisableKeySchlüssel-IDT1485, T1486

Aus der Liste Alarme machen

AWS selbst empfiehlt, den Trail an CloudWatch Logs zu senden und für Ereignisse wie diese Metrikfilter und Alarme anzulegen (re:Post-Anleitung); EventBridge-Regeln funktionieren ebenfalls. Für eine nachträgliche Untersuchung genügt es, die Exporte zu filtern – oder Sie legen sie im Analysetool ab, das diese Regeln auf jeden einzelnen Eintrag anwendet und jeden Befund mit seinen ATT&CK-Techniken verknüpft. Die Schritt-für-Schritt-Anleitung zur Analyse zeigt, wie Sie die Befunde bestätigen.

Verwandte Beiträge

Verwandte Artikel

Umgehung von Abwehrmaßnahmen in AWS: StopLogging, DeleteTrail, geänderte Event-Selektoren, gelöschtes GuardDuty – was CloudTrail aufzeichnet, was verloren geht.
Wie sich Angreifer über IAM Zugang zu AWS sichern: Backdoor-Benutzer, weitere Schlüssel, Adminrichtlinien, Rollen-Vertrauen, IdPs – und was CloudTrail zeigt.
S3-Datendiebstahl belegen oder ausschließen: CloudTrail-Datenereignisse, S3-Server-Zugriffsprotokolle, öffentliche Bucket-Richtlinien, geteilte Snapshots.

Dieses Tool steht in keiner Verbindung zu Amazon Web Services, Inc. oder Amazon.com, Inc. und wird von diesen weder unterstützt noch gesponsert. AWS, Amazon Web Services, CloudTrail und GuardDuty sind Marken von Amazon.com, Inc. oder seinen verbundenen Unternehmen. Andere Namen sind Marken ihrer jeweiligen Inhaber.