Batch-Job-Definition-Rolle kapern
Kann einen Batch-Job mit einem Override-Befehl einreichen und einen Container als dessen Job-Rolle ausführen.
Ermöglicht Eskalation für sich allein.
batch:SubmitJobFür sich allein kann batch:SubmitJob einen Batch-Job mit einem Override-Befehl einreichen und einen Container als dessen Job-Rolle ausführen. Bei einem weiten Ressourcenbereich erreicht dies allein Administratorzugriff.
Warum es gefährlich ist
Ein Principal kann batch:SubmitJob gegen eine bestehende Batch-Job-Definition aufrufen, die die Job-Rolle bereits trägt, und einen ContainerOverrides.Command übergeben, dessen Shell-Befehl vom Angreifer kontrolliert wird. Batch führt diesen Befehl in einem Container als Zielrolle aus, ohne iam:PassRole und ohne batch:RegisterJobDefinition, weil die Zielrolle bereits an die Job-Definition gebunden ist. Der Befehl liest die aktiven Anmeldeinformationen der Zielrolle vom Task-Metadata-Endpoint oder ruft AWS direkt auf; ist die Zielrolle privilegiert, ist dies eine vollständige Privilege Escalation gegen eine Job-Definition, der bereits vertraut wurde.
In MITRE ATT&CK entspricht dies T1578, Modify Cloud Compute Infrastructure, unter der Taktik Privilege Escalation. AWS protokolliert dies in CloudTrail als SubmitJob. Der Aufruf ist in CloudTrail gut sichtbar und hebt sich von normaler Aktivität ab.
Erkennung
SubmitJobVoraussetzungen
Eine bestehende Batch-Job-Definition mit einer jobRoleArn; eine zugängliche Job-Queue; Berechtigung, einen Job einzureichen. ContainerOverrides.Command muss erlaubt sein (die Voreinstellung).
MITRE ATT&CK
T1578 · Modify Cloud Compute InfrastructureTaktik
Privilege Escalation
Eine Maßnahme, die ihn beseitigen würde: batch:SubmitJob bei Job-Queues/-Definitionen beschränken, die einen privilegierten jobRoleArn tragen; ContainerOverrides.Command nicht zulassen.
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 batch:SubmitJob?
Kann einen Batch-Job mit einem Override-Befehl einreichen und einen Container als dessen Job-Rolle ausführen.
Kann batch:SubmitJob allein Privilegien eskalieren?
Ja. Auf einer ausreichend breiten Ressource gehalten, erreicht sie ohne weitere Berechtigung Administratorzugriff.
Wie wird das Kapern einer Batch-Job-Definition-Rolle erkannt?
Achten Sie in CloudTrail auf SubmitJob. Der Aufruf ist in CloudTrail laut und hebt sich von der normalen Aktivität ab.
Wie unterbricht man diesen Pfad?
Eine Maßnahme, die ihn beseitigen würde, ist: Beschränken Sie batch:SubmitJob bei Job-Queues/-Definitionen, die eine privilegierte jobRoleArn tragen; untersagen Sie ContainerOverrides.Command. 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?
T1578, Modify Cloud Compute Infrastructure, 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.