AWS - SSM Privesc
Last updated
Last updated
Learn & practice AWS Hacking:HackTricks Training AWS Red Team Expert (ARTE) Learn & practice GCP Hacking: HackTricks Training GCP Red Team Expert (GRTE)
Для отримання додаткової інформації про SSM перегляньте:
AWS - EC2, EBS, ELB, SSM, VPC & VPN Enumssm:SendCommand
Атакуючий з дозволом ssm:SendCommand
може виконувати команди в екземплярах, що працюють з Amazon SSM Agent, і компрометувати IAM Role, що працює всередині нього.
У випадку, якщо ви використовуєте цю техніку для ескалації привілеїв всередині вже скомпрометованого EC2 екземпляра, ви можете просто захопити rev shell локально за допомогою:
Потенційний вплив: Пряме підвищення привілеїв до IAM ролей EC2, прикріплених до запущених екземплярів з працюючими SSM агентами.
ssm:StartSession
Зловмисник з дозволом ssm:StartSession
може розпочати сесію, подібну до SSH, в екземплярах, що працюють з Amazon SSM Agent, і скомпрометувати IAM роль, що працює всередині нього.
Щоб почати сесію, вам потрібно встановити SessionManagerPlugin: https://docs.aws.amazon.com/systems-manager/latest/userguide/install-plugin-macos-overview.html
Потенційний вплив: Пряме підвищення привілеїв до IAM ролей EC2, прикріплених до запущених екземплярів з працюючими SSM Agents.
Коли ECS завдання виконуються з увімкненим ExecuteCommand
, користувачі з достатніми правами можуть використовувати ecs execute-command
, щоб виконати команду всередині контейнера.
Згідно з документацією, це здійснюється шляхом створення безпечного каналу між пристроєм, який ви використовуєте для ініціювання команди “exec“, та цільовим контейнером за допомогою SSM Session Manager. (Необхідний плагін SSM Session Manager для цього)
Отже, користувачі з ssm:StartSession
зможуть отримати оболонку всередині ECS завдань з увімкненою цією опцією, просто виконавши:
Потенційний вплив: Пряме підвищення привілеїв до ECS
IAM ролей, прикріплених до запущених завдань з увімкненим ExecuteCommand
.
ssm:ResumeSession
Зловмисник з дозволом ssm:ResumeSession
може повторно розпочати сесію, подібну до SSH, на екземплярах, що виконують Amazon SSM Agent з відключеним станом сесії SSM та компрометувати IAM роль, що виконується всередині неї.
Потенційний вплив: Пряме підвищення привілеїв до IAM ролей EC2, прикріплених до запущених екземплярів з працюючими SSM агентами та відключеними сесіями.
ssm:DescribeParameters
, (ssm:GetParameter
| ssm:GetParameters
)Зловмисник з вказаними дозволами зможе перерахувати SSM параметри та читати їх у відкритому вигляді. У цих параметрах ви часто можете знайти чутливу інформацію, таку як SSH ключі або API ключі.
Потенційний вплив: Знайти чутливу інформацію всередині параметрів.
ssm:ListCommands
Зловмисник з цим дозволом може перерахувати всі команди, надіслані і, сподіваючись, знайти чутливу інформацію в них.
Потенційний вплив: Знайти чутливу інформацію всередині командних рядків.
ssm:GetCommandInvocation
, (ssm:ListCommandInvocations
| ssm:ListCommands
)Зловмисник з цими дозволами може перерахувати всі команди, надіслані та прочитати вихідні дані, сподіваючись знайти чутливу інформацію в них.
Потенційний вплив: Знайти чутливу інформацію всередині виходу командних рядків.
Ви також можете використовувати SSM, щоб потрапити всередину проекту codebuild, що будується:
AWS - Codebuild PrivescВчіться та практикуйте AWS Hacking:HackTricks Training AWS Red Team Expert (ARTE) Вчіться та практикуйте GCP Hacking: HackTricks Training GCP Red Team Expert (GRTE)