diff --git a/src/pentesting-cloud/aws-security/aws-post-exploitation/aws-secrets-manager-post-exploitation.md b/src/pentesting-cloud/aws-security/aws-post-exploitation/aws-secrets-manager-post-exploitation.md index 95ed7cdb4..23e9f6779 100644 --- a/src/pentesting-cloud/aws-security/aws-post-exploitation/aws-secrets-manager-post-exploitation.md +++ b/src/pentesting-cloud/aws-security/aws-post-exploitation/aws-secrets-manager-post-exploitation.md @@ -4,22 +4,22 @@ ## Secrets Manager -Vir meer inligting, kyk: +For more information check: {{#ref}} ../aws-services/aws-secrets-manager-enum.md {{#endref}} -### Read Secrets +### Lees geheime -Die **secrets self is sensitiewe inligting**, [kyk na die privesc bladsy](../aws-privilege-escalation/aws-secrets-manager-privesc.md) om te leer hoe om dit te lees. +Die **geheime self is sensitiewe inligting**, [kyk na die privesc bladsy](../aws-privilege-escalation/aws-secrets-manager-privesc.md) om te leer hoe om dit te lees. -### DoS Change Secret Value +### DoS — Verander geheime waarde -Deur die waarde van die secret te verander, kan jy **alle stelsels wat van daardie waarde afhanklik is DoS maak.** +Deur die waarde van die geheim te verander, kan jy **'n DoS op al die stelsels wat van daardie waarde afhanklik is veroorsaak.** > [!WARNING] -> Neem kennis dat vorige waardes ook gestoor word, so dit is maklik om net terug te gaan na die vorige waarde. +> Let wel dat vorige waardes ook gestoor word, so dit is maklik om net terug te keer na die vorige waarde. ```bash # Requires permission secretsmanager:PutSecretValue aws secretsmanager put-secret-value \ @@ -28,22 +28,54 @@ aws secretsmanager put-secret-value \ ``` ### DoS Change KMS key -As die aanvaller die secretsmanager:UpdateSecret-toestemming het, kan hulle die secret so konfigureer dat dit 'n KMS key gebruik wat aan die aanvaller behoort. Daardie sleutel is aanvanklik so ingestel dat enigiemand toegang daartoe kan kry en dit kan gebruik, dus is dit moontlik om die secret met die nuwe sleutel by te werk. As die sleutel nie toeganklik was nie, sou die secret nie bygewerk kon word nie. +As die aanvaller die secretsmanager:UpdateSecret toestemming het, kan hulle die geheim konfigureer om 'n KMS key te gebruik wat deur die aanvaller besit word. Daardie sleutel word aanvanklik so opgestel dat enigiemand daartoe toegang het en dit kan gebruik, sodat die geheim met die nuwe sleutel bygewerk kan word. As die sleutel nie toeganklik was nie, kon die geheim nie bygewerk word nie. -Na die verandering van die sleutel vir die secret, wysig die aanvaller die konfiguratie van hul sleutel sodat slegs hulle toegang daartoe het. Op hierdie manier sal toekomstige weergawes van die secret met die nuwe sleutel geïnkripteer word, en aangesien daar geen toegang tot hierdie sleutel is nie, sal die vermoë om die secret op te haal verlore wees. +Na die verandering van die sleutel vir die geheim, wysig die aanvaller die konfigurasie van hul sleutel sodat slegs hulle daartoe toegang het. Op hierdie manier sal toekomstige weergawes van die geheim met die nuwe sleutel geënkripteer word, en aangesien daar geen toegang tot daardie sleutel is nie, sal die vermoë om die geheim op te haal verlore gaan. -Dit is belangrik om te let dat hierdie ontoeganklikheid slegs in later weergawes sal voorkom, nadat die inhoud van die secret verander is, aangesien die huidige weergawe nog steeds met die oorspronklike KMS key geïnkripteer is. +Dit is belangrik om te let dat hierdie ontoeganklikheid slegs in latere weergawes sal voorkom, nadat die inhoud van die geheim verander is, aangesien die huidige weergawe steeds met die oorspronklike KMS key geënkripteer is. ```bash aws secretsmanager update-secret \ --secret-id MyTestSecret \ --kms-key-id arn:aws:kms:us-west-2:123456789012:key/EXAMPLE1-90ab-cdef-fedc-ba987EXAMPLE ``` -### DoS Verwydering van geheim +### DoS Deleting Secret -Die minimum aantal dae om 'n geheim te verwyder is 7 +Die minimum aantal dae om 'n secret te verwyder is 7 ```bash aws secretsmanager delete-secret \ --secret-id MyTestSecret \ --recovery-window-in-days 7 ``` +## secretsmanager:RestoreSecret + +Dit is moontlik om 'n geheim te herstel, wat die herstel van geheime wat vir verwydering geskeduleer is moontlik maak, aangesien die minimum verwyderingsperiode vir geheime 7 dae is en die maksimum 30 dae. Saam met die secretsmanager:GetSecretValue toestemming maak dit moontlik om hul inhoud te bekom. + +Om 'n geheim wat in die proses van verwydering is te herstel, gebruik jy die volgende opdrag: +```bash +aws secretsmanager restore-secret \ +--secret-id +``` +## secretsmanager:DeleteResourcePolicy + +Hierdie aksie maak dit moontlik om die hulpbronbeleid te verwyder wat beheer wie toegang tot 'n geheim het. Dit kan tot 'n DoS lei indien die hulpbronbeleid gekonfigureer was om toegang aan 'n spesifieke groep gebruikers toe te laat. + +Om die hulpbronbeleid te verwyder: +```bash +aws secretsmanager delete-resource-policy \ +--secret-id +``` +## secretsmanager:UpdateSecretVersionStage + +Die state van 'n geheim word gebruik om weergawes van 'n geheim te bestuur. AWSCURRENT merk die aktiewe weergawe wat toepassings gebruik, AWSPREVIOUS hou die vorige weergawe sodat jy terug kan rol indien nodig, en AWSPENDING word in die rotasieproses gebruik om 'n nuwe weergawe voor te berei en te valideer voordat dit die huidige gemaak word. + +Toepassings lees altyd die weergawe met AWSCURRENT. As iemand daardie etiket na die verkeerde weergawe skuif, sal die toepassings ongeldige inlogbewyse gebruik en kan misluk. + +AWSPREVIOUS word nie outomaties gebruik nie. As AWSCURRENT egter verwyder of verkeerd toegewys word, kan dit lyk asof alles steeds op die vorige weergawe loop. +```bash +aws secretsmanager update-secret-version-stage \ +--secret-id \ +--version-stage AWSCURRENT \ +--move-to-version-id \ +--remove-from-version-id +``` {{#include ../../../banners/hacktricks-training.md}} diff --git a/src/pentesting-cloud/aws-security/aws-privilege-escalation/aws-secrets-manager-privesc.md b/src/pentesting-cloud/aws-security/aws-privilege-escalation/aws-secrets-manager-privesc.md index 9bdb421a2..402d87761 100644 --- a/src/pentesting-cloud/aws-security/aws-privilege-escalation/aws-secrets-manager-privesc.md +++ b/src/pentesting-cloud/aws-security/aws-privilege-escalation/aws-secrets-manager-privesc.md @@ -4,7 +4,7 @@ ## Secrets Manager -Vir meer inligting oor secrets manager, kyk: +Vir meer inligting oor Secrets Manager, kyk: {{#ref}} ../aws-services/aws-secrets-manager-enum.md @@ -12,21 +12,24 @@ Vir meer inligting oor secrets manager, kyk: ### `secretsmanager:GetSecretValue` -'n Aanvaller met hierdie toestemming kan die **gestoor waarde binne 'n geheim** in AWS **Secretsmanager** verkry. +'n attacker met hierdie toestemming kan die **gestoorde waarde binne 'n secret** in AWS **Secretsmanager** kry. ```bash aws secretsmanager get-secret-value --secret-id # Get value ``` -**Potensiële Impak:** Toegang tot hoë sensitiewe data binne die AWS secrets manager diens. +**Potential Impact:** Toegang tot hoogs sensitiewe data binne die AWS secrets manager service. + +> [!WARNING] +> Let wel dat selfs met die `secretsmanager:BatchGetSecretValue` permissie 'n aanvaller ook `secretsmanager:GetSecretValue` nodig sou hê om die sensitiewe secrets te verkry. ### `secretsmanager:GetResourcePolicy`, `secretsmanager:PutResourcePolicy`, (`secretsmanager:ListSecrets`) -Met die vorige toestemmings is dit moontlik om **toegang te gee aan ander principals/rekeninge (selfs eksterne)** om die **geheim** te bekom. Let daarop dat om **geheime wat met 'n KMS-sleutel versleut is** te **lees**, die gebruiker ook **toegang oor die KMS-sleutel** moet hê (meer inligting op die [KMS Enum page](../aws-services/aws-kms-enum.md)). +Met die voorafgaande permissies is dit moontlik om **ander principals/accounts (selfs ekstern)** toegang tot die **secret** te gee. Let wel dat om **geënkripteerde secrets te lees** wat met 'n KMS key gekodeer is, die gebruiker ook **toegang tot die KMS key** moet hê (meer inligting op die [KMS Enum page](../aws-services/aws-kms-enum.md)). ```bash aws secretsmanager list-secrets aws secretsmanager get-resource-policy --secret-id aws secretsmanager put-resource-policy --secret-id --resource-policy file:///tmp/policy.json ``` -beleid.json: +policy.json: ```json { "Version": "2012-10-17",