AWS - Sagemaker Privesc
Last updated
Last updated
AWS Hacking'i öğrenin ve pratik yapın:HackTricks Training AWS Red Team Expert (ARTE) GCP Hacking'i öğrenin ve pratik yapın: HackTricks Training GCP Red Team Expert (GRTE)
iam:PassRole
, sagemaker:CreateNotebookInstance
, sagemaker:CreatePresignedNotebookInstanceUrl
Bağlı olduğu IAM Rolü ile bir not defteri oluşturmaya başlayın:
Yanıt, yeni oluşturulan defter örneğinin ARN'sini içerecek NotebookInstanceArn
alanını içermelidir. Ardından, defter örneğine erişmek için hazır olduğunda kullanabileceğimiz bir URL oluşturmak için create-presigned-notebook-instance-url
API'sini kullanabiliriz:
Tarayıcı ile URL'ye gidin ve sağ üstteki `Open JupyterLab`` butonuna tıklayın, ardından “Launcher” sekmesine kaydırın ve “Other” bölümünde “Terminal” butonuna tıklayın.
Artık IAM Rolünün metadata kimlik bilgilerine erişmek mümkündür.
Olası Etki: Belirtilen sagemaker hizmet rolüne privesc.
sagemaker:CreatePresignedNotebookInstanceUrl
Eğer üzerinde Jupyter notebook'ları zaten çalışıyorsa ve bunları sagemaker:ListNotebookInstances
ile listeleyebiliyorsanız (veya başka bir şekilde keşfedebiliyorsanız). Onlar için bir URL oluşturabilir, erişebilir ve önceki teknikte belirtildiği gibi kimlik bilgilerini çalabilirsiniz.
Olası Etki: Bağlı olan sagemaker hizmet rolüne privesc.
sagemaker:CreateProcessingJob,iam:PassRole
Bu izinlere sahip bir saldırgan, sagemaker'ın bir processingjob yürütmesini sağlayabilir ve buna bağlı bir sagemaker rolü ekleyebilir. Saldırgan, AWS yönetimli ECS hesap örneğinde çalıştırılacak konteynerin tanımını belirtebilir ve bağlı IAM rolünün kimlik bilgilerini çalabilir.
Olası Etki: Belirtilen sagemaker hizmet rolüne privesc.
sagemaker:CreateTrainingJob
, iam:PassRole
Bu izinlere sahip bir saldırgan, bir eğitim işi oluşturabilecek, üzerinde rastgele bir konteyner çalıştırarak ona bağlı bir rol ile. Bu nedenle, saldırgan rolün kimlik bilgilerini çalabilecektir.
Bu senaryo, önceki senaryodan daha zor istismar edilebilir çünkü rev shell veya kimlik bilgilerini doğrudan saldırgana gönderecek bir Docker imajı oluşturmanız gerekiyor (eğitim işinin yapılandırmasında bir başlangıç komutu belirtemezsiniz).
Potansiyel Etki: Belirtilen sagemaker hizmet rolüne privesc.
sagemaker:CreateHyperParameterTuningJob
, iam:PassRole
Bu izinlere sahip bir saldırgan, bir hiperparametre eğitim işi oluşturma yeteneğine (potansiyel olarak) sahip olacaktır, üzerinde rastgele bir konteyner çalıştırarak ve ona bir rol ekleyerek. &#xNAN;I zaman eksikliği nedeniyle istismar etmedim, ancak önceki istismarlarla benzer görünüyor, istismar detaylarıyla bir PR göndermekten çekinmeyin.
AWS Hacking'i öğrenin ve pratik yapın:HackTricks Training AWS Red Team Expert (ARTE) GCP Hacking'i öğrenin ve pratik yapın: HackTricks Training GCP Red Team Expert (GRTE)