AWS - SSM Privesc
Last updated
Last updated
SSM hakkında daha fazla bilgi için şuraya bakın:
ssm:SendCommand
ssm:SendCommand
iznine sahip bir saldırgan, Amazon SSM Agent çalıştıran örneklerde komutları yürütebilir ve içinde çalışan IAM Rolünü kompromize edebilir.
Eğer zaten ele geçirilmiş bir EC2 örneği içinde ayrıcalıkları yükseltmek için bu tekniği kullanıyorsanız, rev shell'i yerel olarak yakalayabilirsiniz:
Potansiyel Etki: Çalışan Amazon SSM Ajanlarına sahip EC2 IAM rollerine doğrudan ayrıcalık yükseltme.
ssm:StartSession
İzin ssm:StartSession
olan bir saldırgan, Amazon SSM Ajanı çalıştıran örneklerde SSH benzeri bir oturum başlatabilir ve içinde çalışan IAM Rolünü kompromize edebilir.
Oturum başlatmak için SessionManagerPlugin'in yüklü olması gerekmektedir: https://docs.aws.amazon.com/systems-manager/latest/userguide/install-plugin-macos-overview.html
Potansiyel Etki: Çalışan örneklerle ilişkilendirilmiş EC2 IAM rollerine doğrudan ayrıcalık yükseltme.
ECS görevleri ExecuteCommand
etkin olduğunda, yeterli izinlere sahip kullanıcılar ecs execute-command
kullanarak bir komutu konteyner içinde çalıştırabilir.
Belgelendirmeye göre, bu, "exec" komutunu başlatmak için kullandığınız cihaz ile SSM Oturum Yöneticisi'ne sahip hedef konteyner arasında güvenli bir kanal oluşturularak gerçekleştirilir. (Bu işlem için SSM Oturum Yöneticisi Eklentisi gereklidir)
Bu nedenle, ssm:StartSession
iznine sahip kullanıcılar, bu seçenek etkin olduğunda ECS görevlerinin içinde bir kabuk alabilirler, sadece şu komutu çalıştırarak:
Potansiyel Etki: ExecuteCommand
özelliğine sahip çalışan görevlere bağlı ECS
IAM rollerine doğrudan ayrıcalık yükseltme.
ssm:ResumeSession
İzinlere sahip bir saldırgan, Amazon SSM Ajanı çalıştıran örneklerde bağlantısı kesilmiş bir SSM oturum durumunda bir SSH benzeri oturumu yeniden başlatabilir ve içinde çalışan IAM Rolünü kompromize edebilir.
Potansiyel Etki: Çalışan örneklerle ilişkilendirilmiş EC2 IAM rollerine doğrudan ayrıcalık yükseltme ve SSM Ajanları çalışırken ve oturumlar kesilmişken.
ssm:DescribeParameters
, (ssm:GetParameter
| ssm:GetParameters
)Söz konusu izinlere sahip bir saldırgan, SSM parametrelerini listeleyebilecek ve açık metin olarak okuyabilecektir. Bu parametreler arasında sık sık SSH anahtarları veya API anahtarları gibi duyarlı bilgiler bulunabilir.
Potansiyel Etki: Parametrelerin içinde hassas bilgiler bulunabilir.
ssm:ListCommands
Bu izne sahip bir saldırgan tüm gönderilen komutları listeleyebilir ve umarım bunlarda hassas bilgiler bulabilir.
Potansiyel Etki: Komut satırlarında hassas bilgiler bulunabilir.
ssm:GetCommandInvocation
, (ssm:ListCommandInvocations
| ssm:ListCommands
)Bu izinlere sahip bir saldırgan, gönderilen tüm komutları listeleyebilir ve umarım hassas bilgileri içeren çıktıları okuyabilir.
Potansiyel Etki: Komut satırlarının çıktısı içinde hassas bilgiler bulunabilir.
Ayrıca SSM'yi kullanarak derlenmekte olan bir codebuild projesine girebilirsiniz: