SSM-SecureString-Pfad rekursiv auslesen
Kann rekursiv jeden SecureString-Parameter unter diesem Pfad in einem Aufruf abgreifen.
Ermöglicht Eskalation für sich allein.
ssm:GetParametersByPathFür sich allein kann ssm:GetParametersByPath rekursiv jeden SecureString-Parameter unter diesem Pfad in einem Aufruf auslesen. Bei einem weiten Ressourcenbereich erreicht dies allein die Daten selbst.
Warum es gefährlich ist
Ein Principal kann ssm:GetParametersByPath --recursive --with-decryption aufrufen, um den SecureString-Parameter zusammen mit jedem anderen Parameter unterhalb seines Pfads in einem einzigen API-Aufruf zu lesen. Dies wird unabhängig von ssm:GetParameter autorisiert, ein Principal, der nur GetParametersByPath besitzt, kann also einen ganzen Baum von Anmeldeinformationen abgreifen, selbst wo GetParameter verweigert ist, und benötigt keine vorherige Kenntnis der Parameternamen.
In MITRE ATT&CK entspricht dies T1555.006, Credentials from Password Stores: Cloud Secrets Management Stores, unter der Taktik Credential Access. AWS protokolliert dies in CloudTrail als GetParametersByPath. Der Aufruf ist gegenüber normaler Aktivität unauffällig, daher ist er ohne passende Regel leicht zu übersehen.
Erkennung
GetParametersByPathVoraussetzungen
ssm:GetParametersByPath für den Parameterpfad und kms:Decrypt für dessen verschlüsselnden Schlüssel.
Taktik
Credential Access
Eine Maßnahme, die ihn beseitigen würde: ssm:GetParametersByPath beschränken, es wird NICHT durch das Verweigern von ssm:GetParameter abgedeckt, und auf ein enges Pfadpräfix einschränken.
Ob sie angewendet werden sollte, hängt davon ab, wie die Berechtigung in Ihrer Umgebung verwendet wird, daher ist es eine geschäftliche Entscheidung und keine automatische Behebung. Dieselbe Berechtigung kann in einem Konto tragend und in einem anderen reines Risiko sein.
Pathbreak bestätigt, ob dieser Pfad in Ihrem Konto auflösbar ist, stuft ihn gegenüber den anderen danach ein, wie viel er eröffnet, und nutzt Ihr Bedrohungsmodell und Ihren Geschäftskontext, um zu zeigen, welche Pfade es wert sind, unterbrochen zu werden.
Fragen
Was erlaubt ssm:GetParametersByPath?
Kann rekursiv jeden SecureString-Parameter unter diesem Pfad in einem Aufruf abgreifen.
Kann ssm:GetParametersByPath allein Privilegien eskalieren?
Ja. Auf einer ausreichend breiten Ressource gehalten, erreicht sie ohne weitere Berechtigung die Daten selbst.
Wie wird das rekursive Auslesen eines SSM-SecureString-Pfads erkannt?
Achten Sie in CloudTrail auf GetParametersByPath. Der Aufruf ist im Vergleich zur normalen Aktivität leise, daher lässt er sich ohne eine entsprechende Regel leicht übersehen.
Wie unterbricht man diesen Pfad?
Eine Maßnahme, die ihn beseitigen würde, ist: Beschränken Sie ssm:GetParametersByPath, es wird durch das Verweigern von ssm:GetParameter NICHT abgedeckt, und beschränken Sie es auf ein enges Pfad-Präfix. Ob sie angewendet werden sollte, hängt davon ab, wie die Berechtigung in Ihrem Konto verwendet wird, es ist also eine geschäftliche Entscheidung und keine automatische Behebung.
Welche MITRE ATT&CK Technik ist das?
T1555.006, Credentials from Password Stores: Cloud Secrets Management Stores, unter der Taktik Credential Access.
Verwandte Pfade
Referenzen
Finden Sie dies in Ihrem eigenen Konto
Wir führen einen schreibgeschützten Scan eines AWS-Kontos durch und zeigen Ihnen, welche dieser Pfade existieren, nach Blast-Radius priorisiert, mit der Änderung, die jeden einzelnen unterbricht. Erste validierte Pfade innerhalb der Stunde.