AWS - SSM Privesc
Last updated
Last updated
Ucz się i ćwicz Hacking AWS:HackTricks Training AWS Red Team Expert (ARTE) Ucz się i ćwicz Hacking GCP: HackTricks Training GCP Red Team Expert (GRTE)
Aby uzyskać więcej informacji o SSM, sprawdź:
AWS - EC2, EBS, ELB, SSM, VPC & VPN Enumssm:SendCommand
Atakujący z uprawnieniem ssm:SendCommand
może wykonywać polecenia w instancjach działających z Amazon SSM Agent i kompromitować rolę IAM działającą w jej wnętrzu.
W przypadku, gdy używasz tej techniki do eskalacji uprawnień w już skompromitowanej instancji EC2, możesz po prostu przechwycić rev shell lokalnie za pomocą:
Potencjalny wpływ: Bezpośrednie privesc do ról IAM EC2 przypisanych do działających instancji z uruchomionymi agentami SSM.
ssm:StartSession
Atakujący z uprawnieniem ssm:StartSession
może rozpocząć sesję podobną do SSH w instancjach uruchamiających agenta Amazon SSM i skompromitować rolę IAM działającą wewnątrz niej.
Aby rozpocząć sesję, musisz mieć zainstalowany SessionManagerPlugin: https://docs.aws.amazon.com/systems-manager/latest/userguide/install-plugin-macos-overview.html
Potencjalny wpływ: Bezpośrednie podniesienie uprawnień do ról IAM EC2 przypisanych do działających instancji z uruchomionymi agentami SSM.
Gdy zadania ECS są uruchamiane z włączoną opcją ExecuteCommand
, użytkownicy z wystarczającymi uprawnieniami mogą użyć ecs execute-command
, aby wykonać polecenie wewnątrz kontenera.
Zgodnie z dokumentacją odbywa się to poprzez utworzenie bezpiecznego kanału między urządzeniem, którego używasz do inicjowania polecenia “exec”, a docelowym kontenerem z SSM Session Manager. (Wtyczka SSM Session Manager jest niezbędna do działania tej funkcji)
Dlatego użytkownicy z ssm:StartSession
będą mogli uzyskać powłokę wewnątrz zadań ECS z włączoną tą opcją, po prostu uruchamiając:
Potencjalny wpływ: Bezpośrednie podniesienie uprawnień do ról ECS
IAM przypisanych do uruchomionych zadań z włączonym ExecuteCommand
.
ssm:ResumeSession
Atakujący z uprawnieniem ssm:ResumeSession
może ponownie uruchomić sesję podobną do SSH w instancjach uruchamiających Amazon SSM Agent z rozłączonym stanem sesji SSM i skompromitować rolę IAM działającą w jej obrębie.
Potencjalny wpływ: Bezpośrednie privesc do ról IAM EC2 przypisanych do działających instancji z uruchomionymi agentami SSM i rozłączonymi sesjami.
ssm:DescribeParameters
, (ssm:GetParameter
| ssm:GetParameters
)Atakujący z wymienionymi uprawnieniami będzie w stanie wylistować parametry SSM i odczytać je w postaci niezaszyfrowanej. W tych parametrach często można znaleźć wrażliwe informacje takie jak klucze SSH lub klucze API.
Potencjalny wpływ: Znalezienie wrażliwych informacji wewnątrz parametrów.
ssm:ListCommands
Atakujący z tym uprawnieniem może wylistować wszystkie komendy wysłane i miejmy nadzieję znaleźć wrażliwe informacje w nich.
Potencjalny wpływ: Znalezienie wrażliwych informacji w liniach poleceń.
ssm:GetCommandInvocation
, (ssm:ListCommandInvocations
| ssm:ListCommands
)Atakujący z tymi uprawnieniami może wylistować wszystkie polecenia wysłane i przeczytać wygenerowany wynik, mając nadzieję na znalezienie wrażliwych informacji w nim.
Potencjalny wpływ: Znajdź wrażliwe informacje w wynikach poleceń.
Możesz również użyć SSM, aby dostać się do projektu codebuild, który jest budowany:
AWS - Codebuild PrivescUcz się i ćwicz Hacking AWS:HackTricks Training AWS Red Team Expert (ARTE) Ucz się i ćwicz Hacking GCP: HackTricks Training GCP Red Team Expert (GRTE)