Rolle an Glue-Job übergeben (Update)
Kann einen bestehenden Glue-Job mit einer Rolle kapern und Code als diese ausführen.
Ermöglicht Eskalation nur in Kombination. All diese sind zusammen erforderlich:
iam:PassRoleglue:UpdateJobglue:StartJobRuniam:PassRole kann einen bestehenden Glue-Job mit einer Rolle kapern und Code als diese ausführen, aber nur, wenn sie zusammen mit glue:UpdateJob, glue:StartJobRun gehalten wird. Gemeinsam gehalten erreichen sie Administratorzugriff.
Warum es gefährlich ist
Ein Principal besitzt iam:PassRole auf der Zielrolle sowie glue:UpdateJob und glue:StartJobRun, sodass er einen bestehenden Glue-Job so verändern kann, dass dessen Skript durch vom Angreifer kontrollierten Code ersetzt und die Zielrolle als Rolle des Jobs zugewiesen wird, und dann einen Job-Run starten kann, das Skript wird mit den Berechtigungen der Zielrolle ausgeführt und kann die Anmeldeinformationen der Zielrolle lesen oder IAM direkt verändern. Weil die Zielrolle glue.amazonaws.com vertraut, wird der Pass akzeptiert; die Wiederverwendung eines bestehenden Jobs ist unauffälliger als das Erstellen eines neuen, und die privilegierte Rolle ist vollständige Privilege Escalation.
In MITRE ATT&CK entspricht dies T1648, Serverless Execution, unter der Taktik Privilege Escalation. AWS protokolliert dies in CloudTrail als UpdateJob, StartJobRun. Der Aufruf erscheint in CloudTrail, geht aber in der normalen Administration unter, daher braucht es eine Regel, damit er auffällt.
Erkennung
UpdateJobStartJobRunVoraussetzungen
Ein bestehender Glue-Job, der geändert werden soll; die Vertrauensrichtlinie der Zielrolle muss glue.amazonaws.com erlauben.
MITRE ATT&CK
T1648 · Serverless ExecutionTaktik
Privilege Escalation
Eine Maßnahme, die ihn beseitigen würde: iam:PassRole für diese Rolle entfernen oder mit iam:PassedToService 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 iam:PassRole?
Kann einen bestehenden Glue-Job mit einer Rolle kapern und Code als diese ausführen.
Was ist außerdem nötig, damit iam:PassRole gefährlich ist?
Es wird erst zur Eskalation, wenn es mit glue:UpdateJob, glue:StartJobRun kombiniert wird. Für sich allein reicht es nicht aus, was die Kombination leicht übersehbar macht.
Wie wird das Übergeben einer Rolle an einen Glue-Job (Update) erkannt?
Achten Sie in CloudTrail auf UpdateJob, StartJobRun. Der Aufruf erscheint in CloudTrail, geht aber in der normalen Administration unter, daher braucht es eine Regel, damit er auffällt.
Wie unterbricht man diesen Pfad?
Eine Maßnahme, die ihn beseitigen würde, ist: Entfernen Sie iam:PassRole für diese Rolle oder beschränken Sie es mit iam:PassedToService. 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?
T1648, Serverless Execution, unter der Taktik Privilege Escalation.
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.