AWS - SSM Privesc
SSM
Für weitere Informationen zu SSM siehe:
AWS - EC2, EBS, ELB, SSM, VPC & VPN Enumssm:SendCommand
ssm:SendCommand
Ein Angreifer mit der Berechtigung ssm:SendCommand
kann Befehle in Instanzen ausführen, die den Amazon SSM-Agent ausführen, und die IAM-Rolle kompromittieren, die darin ausgeführt wird.
Im Falle, dass du diese Technik verwendest, um Berechtigungen innerhalb einer bereits kompromittierten EC2-Instanz zu eskalieren, könntest du einfach die Reverse-Shell lokal erfassen mit:
Potenzielle Auswirkungen: Direktes Privilege Escalation zu den EC2 IAM-Rollen, die an laufende Instanzen mit SSM-Agenten angehängt sind.
ssm:StartSession
ssm:StartSession
Ein Angreifer mit der Berechtigung ssm:StartSession
kann eine SSH-ähnliche Sitzung in Instanzen starten, die den Amazon SSM-Agenten ausführen, und die IAM-Rolle kompromittieren, die darin ausgeführt wird.
Um eine Sitzung zu starten, muss das SessionManagerPlugin installiert sein: https://docs.aws.amazon.com/systems-manager/latest/userguide/install-plugin-macos-overview.html
Potenzielle Auswirkungen: Direkter Privilege Escalation zu den EC2 IAM-Rollen, die an laufende Instanzen mit SSM Agents angehängt sind.
Privilege Escalation zu ECS
Wenn ECS-Aufgaben mit ExecuteCommand
aktiviert ausgeführt werden, können Benutzer mit ausreichenden Berechtigungen ecs execute-command
verwenden, um einen Befehl innerhalb des Containers auszuführen.
Laut der Dokumentation wird dies durch die Erstellung eines sicheren Kanals zwischen dem Gerät, das Sie zur Initiierung des "exec"-Befehls verwenden, und dem Zielcontainer mit SSM Session Manager durchgeführt. (SSM Session Manager Plugin erforderlich, damit dies funktioniert)
Daher können Benutzer mit ssm:StartSession
eine Shell innerhalb von ECS-Aufgaben mit dieser Option aktiviert erhalten, indem sie einfach ausführen:
Potenzielle Auswirkungen: Direktes Privilege Escalation zu den ECS
IAM-Rollen, die an laufende Tasks mit aktiviertem ExecuteCommand
angehängt sind.
ssm:ResumeSession
ssm:ResumeSession
Ein Angreifer mit der Berechtigung ssm:ResumeSession
kann eine SSH-ähnliche Sitzung in Instanzen, die den Amazon SSM-Agenten ausführen, neu starten, wenn sich die Sitzung im getrennten SSM-Sitzungszustand befindet, und die IAM-Rolle kompromittieren, die darin ausgeführt wird.
Potenzielle Auswirkungen: Direktes Privilegien-Eskalation zu den EC2 IAM-Rollen, die an laufende Instanzen mit laufenden SSM-Agents und getrennten Sitzungen angehängt sind.
ssm:DescribeParameters
, (ssm:GetParameter
| ssm:GetParameters
)
ssm:DescribeParameters
, (ssm:GetParameter
| ssm:GetParameters
)Ein Angreifer mit den genannten Berechtigungen kann die SSM-Parameter auflisten und im Klartext lesen. In diesen Parametern können häufig sensible Informationen wie SSH-Schlüssel oder API-Schlüssel gefunden werden.
Potenzielle Auswirkungen: Finden von sensiblen Informationen innerhalb der Parameter.
ssm:ListCommands
ssm:ListCommands
Ein Angreifer mit dieser Berechtigung kann alle gesendeten Befehle auflisten und hoffentlich sensible Informationen darin finden.
Potenzielle Auswirkungen: Sensible Informationen in den Befehlszeilen finden.
ssm:GetCommandInvocation
, (ssm:ListCommandInvocations
| ssm:ListCommands
)
ssm:GetCommandInvocation
, (ssm:ListCommandInvocations
| ssm:ListCommands
)Ein Angreifer mit diesen Berechtigungen kann alle gesendeten Befehle auflisten und die generierte Ausgabe lesen, in der Hoffnung, sensible Informationen darin zu finden.
Potenzielle Auswirkungen: Finden sensibler Informationen im Output der Befehlszeilen.
Codebuild
Sie können auch SSM verwenden, um Zugriff auf ein Codebuild-Projekt zu erhalten, das gerade erstellt wird:
AWS - Codebuild PrivescLast updated