AWS - SSM Privesc
Last updated
Last updated
Lernen & üben Sie AWS Hacking:HackTricks Training AWS Red Team Expert (ARTE) Lernen & üben Sie GCP Hacking: HackTricks Training GCP Red Team Expert (GRTE)
Für weitere Informationen zu SSM siehe:
AWS - EC2, EBS, ELB, SSM, VPC & VPN Enumssm:SendCommand
Ein Angreifer mit der Berechtigung ssm:SendCommand
kann Befehle in Instanzen ausführen, die den Amazon SSM-Agenten ausführen, und die IAM-Rolle kompromittieren, die darin läuft.
Falls Sie diese Technik verwenden, um Privilegien innerhalb einer bereits kompromittierten EC2-Instanz zu eskalieren, könnten Sie einfach die rev shell lokal erfassen mit:
Potenzielle Auswirkungen: Direkte Privilegieneskalation zu den EC2 IAM-Rollen, die an laufende Instanzen mit SSM-Agenten angehängt sind.
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 läuft.
Um eine Sitzung zu starten, benötigen Sie das SessionManagerPlugin: https://docs.aws.amazon.com/systems-manager/latest/userguide/install-plugin-macos-overview.html
Potenzielle Auswirkungen: Direkte Privilegieneskalation zu den EC2 IAM-Rollen, die an laufende Instanzen mit SSM-Agenten angehängt sind.
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 geschieht dies durch die Erstellung eines sicheren Kanals zwischen dem Gerät, das Sie verwenden, um den „exec“-Befehl zu initiieren, und dem Zielcontainer mit SSM Session Manager. (SSM Session Manager Plugin ist notwendig, damit dies funktioniert)
Daher werden Benutzer mit ssm:StartSession
in der Lage sein, eine Shell innerhalb von ECS-Aufgaben mit dieser Option aktiviert zu erhalten, indem sie einfach Folgendes ausführen:
Potenzielle Auswirkungen: Direkte Privilegieneskalation zu den ECS
IAM-Rollen, die an laufende Aufgaben mit aktiviertem ExecuteCommand
angehängt sind.
ssm:ResumeSession
Ein Angreifer mit der Berechtigung ssm:ResumeSession
kann eine SSH-ähnliche Sitzung in Instanzen neu starten, die den Amazon SSM-Agenten mit einem getrennten SSM-Sitzungsstatus ausführen und die IAM-Rolle kompromittieren, die darin läuft.
Potenzielle Auswirkungen: Direkte Privilegieneskalation zu den EC2 IAM-Rollen, die an laufende Instanzen mit SSM-Agenten und getrennten Sitzungen angehängt sind.
ssm:DescribeParameters
, (ssm:GetParameter
| ssm:GetParameters
)Ein Angreifer mit den genannten Berechtigungen wird in der Lage sein, die SSM-Parameter aufzulisten und diese im Klartext zu lesen. In diesen Parametern findet man häufig sensible Informationen wie SSH-Schlüssel oder API-Schlüssel.
Potenzielle Auswirkungen: Sensible Informationen innerhalb der Parameter finden.
ssm:ListCommands
Ein Angreifer mit dieser Berechtigung kann alle Befehle auflisten, die gesendet wurden, und hoffentlich sensible Informationen darin finden.
Potenzielle Auswirkungen: Sensible Informationen in den Befehlszeilen finden.
ssm:GetCommandInvocation
, (ssm:ListCommandInvocations
| ssm:ListCommands
)Ein Angreifer mit diesen Berechtigungen kann alle Befehle auflisten, die gesendet wurden, und die Ausgabe lesen, in der Hoffnung, sensible Informationen darin zu finden.
Potenzielle Auswirkungen: Finden Sie sensible Informationen im Output der Befehlszeilen.
Sie können SSM auch verwenden, um in ein Codebuild-Projekt einzudringen, das gerade erstellt wird:
AWS - Codebuild PrivescLernen & üben Sie AWS Hacking:HackTricks Training AWS Red Team Expert (ARTE) Lernen & üben Sie GCP Hacking: HackTricks Training GCP Red Team Expert (GRTE)