diff --git a/src/pentesting-cloud/aws-security/aws-basic-information/README.md b/src/pentesting-cloud/aws-security/aws-basic-information/README.md index 917c2f002..b48a04987 100644 --- a/src/pentesting-cloud/aws-security/aws-basic-information/README.md +++ b/src/pentesting-cloud/aws-security/aws-basic-information/README.md @@ -10,24 +10,24 @@ In AWS is daar 'n **root rekening,** wat die **ouerhouer is vir al die rekeninge** van jou **organisasie**. Jy hoef egter nie daardie rekening te gebruik om hulpbronne te ontplooi nie, jy kan **ander rekeninge skep om verskillende AWS** infrastruktuur van mekaar te skei. -Dit is baie interessant vanuit 'n **veiligheid** oogpunt, aangesien **een rekening nie hulpbronne van 'n ander rekening kan toegang nie** (behalwe as brûe spesifiek geskep word), so op hierdie manier kan jy grense tussen ontplooiings skep. +Dit is baie interessant vanuit 'n **veiligheid** oogpunt, aangesien **een rekening nie in staat sal wees om hulpbronne van 'n ander rekening te benader** (behalwe as brûe spesifiek geskep word), so op hierdie manier kan jy grense tussen ontplooiings skep. Daarom is daar **twee tipes rekeninge in 'n organisasie** (ons praat van AWS rekeninge en nie gebruikersrekeninge nie): 'n enkele rekening wat as die bestuurrekening aangewys is, en een of meer lidrekeninge. - Die **bestuurrekening (die root rekening)** is die rekening wat jy gebruik om die organisasie te skep. Van die organisasie se bestuurrekening af, kan jy die volgende doen: -- Skep rekeninge in die organisasie -- Nooi ander bestaande rekeninge na die organisasie -- Verwyder rekeninge uit die organisasie -- Bestuur uitnodigings -- Pas beleide toe op entiteite (wortels, OU's, of rekeninge) binne die organisasie -- Aktiveer integrasie met ondersteunende AWS dienste om diensfunksionaliteit oor al die rekeninge in die organisasie te bied. -- Dit is moontlik om in te log as die root gebruiker met die e-pos en wagwoord wat gebruik is om hierdie root rekening/organisasie te skep. +- Rekeninge in die organisasie skep +- Ander bestaande rekeninge na die organisasie nooi +- Rekeninge uit die organisasie verwyder +- Uitnodigings bestuur +- Beleide toepas op entiteite (wortels, OU's, of rekeninge) binne die organisasie +- Integrasie met ondersteunende AWS dienste inskakel om diensfunksionaliteit oor al die rekeninge in die organisasie te bied. +- Dit is moontlik om as die root gebruiker aan te meld met die e-pos en wagwoord wat gebruik is om hierdie root rekening/organisasie te skep. Die bestuurrekening het die **verantwoordelikhede van 'n betaler rekening** en is verantwoordelik vir die betaling van alle koste wat deur die lidrekeninge opgeloop word. Jy kan nie 'n organisasie se bestuurrekening verander nie. - **Lidrekeninge** maak al die res van die rekeninge in 'n organisasie uit. 'n Rekening kan slegs 'n lid van een organisasie op 'n slag wees. Jy kan 'n beleid aan 'n rekening koppel om kontroles slegs op daardie een rekening toe te pas. -- Lidrekeninge **moet 'n geldige e-posadres gebruik** en kan 'n **naam** hê, in die algemeen sal hulle nie in staat wees om die faktuur te bestuur nie (maar hulle mag toegang daartoe gegee word). +- Lidrekeninge **moet 'n geldige e-posadres gebruik** en kan 'n **naam** hê; in die algemeen sal hulle nie in staat wees om die faktuur te bestuur nie (maar hulle mag toegang daartoe gegee word). ``` aws organizations create-account --account-name testingaccount --email testingaccount@lalala1233fr.com ``` @@ -46,7 +46,7 @@ Dit is die ENIGE manier waarop **selfs die wortelgebruiker gestop kan word** om Die enigste manier om dit te omseil, is om ook die **meesterrekening** wat die SCP's konfigureer, te kompromitteer (meesterrekening kan nie geblokkeer word nie). > [!WARNING] -> Let daarop dat **SCP's slegs die principals in die rekening beperk**, so ander rekeninge word nie beïnvloed nie. Dit beteken dat 'n SCP wat `s3:GetObject` weier, nie mense sal stop om **toegang te verkry tot 'n openbare S3-bucket** in jou rekening nie. +> Let daarop dat **SCP's slegs die principals in die rekening beperk**, so ander rekeninge word nie beïnvloed nie. Dit beteken dat 'n SCP wat `s3:GetObject` weier, nie mense sal stop om **toegang tot 'n openbare S3-bucket** in jou rekening te kry nie. SCP voorbeelde: @@ -55,7 +55,7 @@ SCP voorbeelde: - Laat slegs witgelysde dienste toe - Weier GuardDuty, CloudTrail, en S3 Publieke Bloktoegang van -deaktiveer +om gedeaktiveer te word - Weier sekuriteit/voorvalrespons rolle om verwyder of @@ -88,13 +88,13 @@ IAM is die diens wat jou sal toelaat om **Verifikasie**, **Magtiging** en **Toeg - **Magtiging** - Bepaal wat 'n identiteit kan toegang tot binne 'n stelsel nadat dit geverifieer is. - **Toegangsbeheer** - Die metode en proses van hoe toegang tot 'n veilige hulpbron toegestaan word. -IAM kan gedefinieer word deur sy vermoë om verifikasie, magtiging en toegangsbeheer meganismes van identiteite na jou hulpbronne binne jou AWS-rekening te bestuur, te beheer en te regeer. +IAM kan gedefinieer word deur sy vermoë om verifikasie, magtiging en toegangsbeheer meganismes van identiteite tot jou hulpbronne binne jou AWS-rekening te bestuur, te beheer en te regeer. ### [AWS rekening wortel gebruiker](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_root-user.html) Wanneer jy vir die eerste keer 'n Amazon Web Services (AWS) rekening skep, begin jy met 'n enkele aanmeld identiteit wat **volledige toegang tot alle** AWS dienste en hulpbronne in die rekening het. Dit is die AWS rekening _**wortel gebruiker**_ en word verkry deur in te teken met die **e-posadres en wagwoord wat jy gebruik het om die rekening te skep**. -Let wel dat 'n nuwe **admin gebruiker** **minder regte as die wortel gebruiker** sal hê. +Let wel dat 'n nuwe **admin gebruiker** **minder toestemmings sal hê as die wortel gebruiker**. Vanuit 'n sekuriteits oogpunt, word dit aanbeveel om ander gebruikers te skep en om hierdie een te vermy. @@ -102,30 +102,30 @@ Vanuit 'n sekuriteits oogpunt, word dit aanbeveel om ander gebruikers te skep en 'n IAM _gebruiker_ is 'n entiteit wat jy in AWS skep om **die persoon of toepassing** wat dit gebruik om **met AWS te kommunikeer** te **verteenwoordig**. 'n Gebruiker in AWS bestaan uit 'n naam en geloofsbriewe (wagwoord en tot twee toegang sleutels). -Wanneer jy 'n IAM gebruiker skep, gee jy dit **regte** deur dit 'n **lid van 'n gebruikersgroep** te maak wat toepaslike regte beleid aanheg (aanbeveel), of deur **regte direk aan die gebruiker te heg**. +Wanneer jy 'n IAM gebruiker skep, gee jy dit **toestemmings** deur dit 'n **lid van 'n gebruikersgroep** te maak wat toepaslike toestemming beleid aangeheg het (aanbeveel), of deur **direk beleid** aan die gebruiker te heg. Gebruikers kan **MFA geaktiveer hê om in te teken** deur die konsole. API tokens van MFA geaktiveerde gebruikers is nie deur MFA beskerm nie. As jy wil **die toegang van 'n gebruiker se API sleutels met MFA beperk**, moet jy in die beleid aandui dat om sekere aksies uit te voer, MFA teenwoordig moet wees (voorbeeld [**hier**](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_credentials_mfa_configure-api-require.html)). #### CLI - **Toegang Sleutel ID**: 20 ewekansige hoofletters alfanumeriese karakters soos AKHDNAPO86BSHKDIRYT -- **Geheime toegang sleutel ID**: 40 ewekansige groot en klein letters: S836fh/J73yHSb64Ag3Rkdi/jaD6sPl6/antFtU (Dit is nie moontlik om verlore geheime toegang sleutel ID's te herstel nie). +- **Geheime toegang sleutel ID**: 40 ewekansige hoof- en kleinletters karakters: S836fh/J73yHSb64Ag3Rkdi/jaD6sPl6/antFtU (Dit is nie moontlik om verlore geheime toegang sleutel ID's te herstel nie). Wanneer jy die **Toegang Sleutel** moet **verander**, is dit die proses wat jy moet volg:\ _Skep 'n nuwe toegang sleutel -> Pas die nuwe sleutel toe op die stelsel/toepassing -> merk die oorspronklike een as inaktief -> Toets en verifieer dat die nuwe toegang sleutel werk -> Verwyder die ou toegang sleutel_ ### MFA - Multi-Faktor Verifikasie -Dit word gebruik om 'n **addisionele faktor vir verifikasie** te skep benewens jou bestaande metodes, soos wagwoord, wat 'n multi-faktor vlak van verifikasie skep.\ -Jy kan 'n **gratis virtuele toepassing of 'n fisiese toestel** gebruik. Jy kan toepassings soos Google Authenticator gratis gebruik om 'n MFA in AWS te aktiveer. +Dit word gebruik om 'n **addisionele faktor vir verifikasie** te skep benewens jou bestaande metodes, soos wagwoord, en skep dus 'n multi-faktor vlak van verifikasie.\ +Jy kan 'n **gratis virtuele toepassing of 'n fisiese toestel** gebruik. Jy kan toepassings soos google authentication gratis gebruik om 'n MFA in AWS te aktiveer. Beleide met MFA voorwaardes kan aan die volgende geheg word: - 'n IAM gebruiker of groep -- 'n hulpbron soos 'n Amazon S3-bucket, Amazon SQS-ry, of Amazon SNS-tema +- 'n hulpbron soos 'n Amazon S3 emmer, Amazon SQS waglyn, of Amazon SNS onderwerp - Die vertrouensbeleid van 'n IAM rol wat deur 'n gebruiker aanvaar kan word -As jy 'n hulpbron wat **MFA nagaan** via CLI wil **toegang**, moet jy **`GetSessionToken`** aanroep. Dit sal vir jou 'n token gee met inligting oor MFA.\ +As jy **via CLI** toegang wil hê tot 'n hulpbron wat **MFA nagaan**, moet jy **`GetSessionToken`** aanroep. Dit sal vir jou 'n token gee met inligting oor MFA.\ Let wel dat **`AssumeRole` geloofsbriewe nie hierdie inligting bevat nie**. ```bash aws sts get-session-token --serial-number --token-code @@ -147,13 +147,13 @@ Hier is 'n paar belangrike eienskappe van gebruikersgroepe: ### [IAM rolle](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles.html) -'n IAM **rol** is baie **soortgelyk** aan 'n **gebruiker**, in die sin dat dit 'n **identiteit met toestemmingbeleide is wat bepaal wat** dit kan en nie kan doen in AWS nie. egter, 'n rol **het nie enige geloofsbriewe** (wagwoord of toegang sleutels) wat daarmee geassosieer word nie. In plaas daarvan om uniek aan een persoon geassosieer te wees, is 'n rol bedoel om **aangenome te word deur enigiemand wat dit nodig het (en genoeg perms het)**. 'n **IAM gebruiker kan 'n rol aanneem om tydelik** verskillende toestemmings vir 'n spesifieke taak aan te neem. 'n rol kan **toegeken word aan 'n** [**gefedereerde gebruiker**](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_providers.html) wat aanmeld deur 'n eksterne identiteitsverskaffer te gebruik in plaas van IAM. +'n IAM **rol** is baie **soortgelyk** aan 'n **gebruiker**, in die sin dat dit 'n **identiteit met toestemmingbeleide is wat bepaal wat** dit kan en nie kan doen in AWS nie. egter, 'n rol **het nie enige geloofsbriewe** (wagwoord of toegang sleutels) wat daarmee geassosieer is nie. In plaas daarvan om uniek aan een persoon geassosieer te wees, is 'n rol bedoel om **aangenome te word deur enigiemand wat dit nodig het (en genoeg perms het)**. 'n **IAM gebruiker kan 'n rol aanvaar om tydelik** verskillende toestemmings vir 'n spesifieke taak aan te neem. 'n rol kan **toegeken word aan 'n** [**gefedereerde gebruiker**](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_providers.html) wat aanmeld deur 'n eksterne identiteitsverskaffer te gebruik in plaas van IAM. -'n IAM rol bestaan uit **twee tipes beleide**: 'n **vertrouensbeleid**, wat nie leeg kan wees nie, wat **definieer wie die rol kan aanneem**, en 'n **toestemmingsbeleid**, wat nie leeg kan wees nie, wat **definieer wat dit kan toegang**. +'n IAM rol bestaan uit **twee tipes beleide**: 'n **vertrouensbeleid**, wat nie leeg kan wees nie, wat **definieer wie die rol kan aanvaar**, en 'n **toestemmingsbeleid**, wat nie leeg kan wees nie, wat **definieer wat dit kan toegang**. -#### AWS Sekuriteits Token Diens (STS) +#### AWS Veiligheidstoken Diens (STS) -AWS Sekuriteits Token Diens (STS) is 'n webdiens wat die **uitreiking van tydelike, beperkte bevoegdhede** fasiliteer. Dit is spesifiek ontwerp vir: +AWS Veiligheidstoken Diens (STS) is 'n webdiens wat die **uitreiking van tydelike, beperkte bevoegdheid geloofsbriewe** fasiliteer. Dit is spesifiek ontwerp vir: ### [Tydelike geloofsbriewe in IAM](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_credentials_temp.html) @@ -166,10 +166,10 @@ AWS Sekuriteits Token Diens (STS) is 'n webdiens wat die **uitreiking van tydeli Word gebruik om toestemmings toe te ken. Daar is 2 tipes: - AWS bestuurde beleide (vooraf geconfigureer deur AWS) -- Klant bestuurde beleide: Geconfigureer deur jou. Jy kan beleide skep gebaseer op AWS bestuurde beleide (een van hulle wysig en jou eie skep), met behulp van die beleidsgenerator (n GUI-uitsig wat jou help om toestemmings toe te ken en te weier) of jou eie te skryf. +- Klantbestuurde Beleide: Geconfigureer deur jou. Jy kan beleide skep gebaseer op AWS bestuurde beleide (een van hulle wysig en jou eie skep), met behulp van die beleidgenerator (n GUI-uitsig wat jou help om toestemmings toe te ken en te weier) of jou eie te skryf. Deur **standaard toegang** is **weggeneem**, toegang sal toegestaan word as 'n eksplisiete rol gespesifiseer is.\ -As **enkele "Deny" bestaan, sal dit die "Allow" oorskry**, behalwe vir versoeke wat die AWS-rekening se wortel sekuriteitsgeloofsbriewe gebruik (wat standaard toegelaat word). +As **enige "Deny" bestaan, sal dit die "Allow" oorskry**, behalwe vir versoeke wat die AWS rekening se wortelveiligheidsgeloofsbriewe gebruik (wat standaard toegelaat word). ```javascript { "Version": "2012-10-17", //Version of the policy @@ -204,7 +204,7 @@ Inline beleide is nuttig as jy wil **'n streng een-tot-een verhouding tussen 'n Hierdie is **beleide** wat in **hulpbronne** gedefinieer kan word. **Nie alle hulpbronne van AWS ondersteun hulle nie**. -As 'n hoof nie 'n eksplisiete weiering op hulle het nie, en 'n hulpbronbeleid hulle toegang gee, dan word hulle toegelaat. +As 'n hoof nie 'n eksplisiete weiering op hulle het nie, en 'n hulpbronbeleid hulle toegang verleen, dan word hulle toegelaat. ### IAM Grense @@ -216,7 +216,7 @@ IAM grense kan gebruik word om **die toestemmings wat 'n gebruiker of rol toegan ### Sessie Beleide -'n Sessie beleid is 'n **beleid wat ingestel word wanneer 'n rol aanvaar word** op een of ander manier. Dit sal soos 'n **IAM grens vir daardie sessie wees**: Dit beteken dat die sessie beleid nie toestemmings toeken nie, maar **beperk hulle tot diegene wat in die beleid aangedui word** (met die maksimum toestemmings diegene wat die rol het). +'n Sessie beleid is 'n **beleid wat ingestel word wanneer 'n rol aanvaar word** op een of ander manier. Dit sal soos 'n **IAM grens vir daardie sessie wees**: Dit beteken dat die sessie beleid nie toestemmings verleen nie, maar **hulle beperk tot diegene wat in die beleid aangedui word** (met die maksimum toestemmings wat die rol het). Dit is nuttig vir **veiligheidsmaatreëls**: Wanneer 'n admin 'n baie bevoorregte rol gaan aanvaar, kan hy die toestemming beperk tot slegs diegene wat in die sessie beleid aangedui word in die geval dat die sessie gecompromitteer word. ```bash @@ -226,16 +226,16 @@ aws sts assume-role \ [--policy-arns ] [--policy ] ``` -Let wel dat **AWS dalk sessiebeleide aan sessies kan toevoeg** wat gegenereer gaan word weens derde redes. Byvoorbeeld, in [ongemagtigde cognito aangeneemde rolle](../aws-services/aws-cognito-enum/cognito-identity-pools.md#accessing-iam-roles) sal AWS standaard (met verbeterde verifikasie) **sessie-akkrediteer met 'n sessiebeleid** genereer wat die dienste wat die sessie kan toegang hê, beperk [**tot die volgende lys**](https://docs.aws.amazon.com/cognito/latest/developerguide/iam-roles.html#access-policies-scope-down-services). +Let wel dat **AWS dalk sessiebeleide aan sessies kan voeg** wat gegenereer gaan word as gevolg van derde redes. Byvoorbeeld, in [ongemagtigde cognito aangeneemde rolle](../aws-services/aws-cognito-enum/cognito-identity-pools.md#accessing-iam-roles) sal AWS standaard (met verbeterde verifikasie) **sessie-akkrediteer met 'n sessiebeleid** genereer wat die dienste wat die sessie kan toegang hê, beperk [**tot die volgende lys**](https://docs.aws.amazon.com/cognito/latest/developerguide/iam-roles.html#access-policies-scope-down-services). -As jy dus op 'n stadium die fout "… omdat geen sessiebeleid dit toelaat nie …" teëkom, en die rol toegang het om die aksie uit te voer, is dit omdat **daar 'n sessiebeleid is wat dit verhinder**. +As gevolg hiervan, as jy op 'n stadium die fout "… omdat geen sessiebeleid dit toelaat nie …" teëkom, en die rol toegang het om die aksie uit te voer, is dit omdat **daar 'n sessiebeleid is wat dit verhinder**. ### Identiteitsfederasie -Identiteitsfederasie **laat gebruikers van identiteitsverskaffers wat eksterne** tot AWS is, toe om AWS-hulpbronne veilig te benader sonder om AWS-gebruikersakkrediteer van 'n geldige IAM-gebruikersrekening te verskaf.\ -'n Voorbeeld van 'n identiteitsverskaffer kan jou eie korporatiewe **Microsoft Active Directory** (via **SAML**) of **OpenID** dienste (soos **Google**) wees. Federale toegang sal dan die gebruikers binne dit toelaat om AWS te benader. +Identiteitsfederasie **laat gebruikers van identiteitsverskaffers wat eksterne** is tot AWS toe om AWS-hulpbronne veilig te benader sonder om AWS-gebruikersakkrediteer van 'n geldige IAM-gebruikersrekening te verskaf.\ +'n Voorbeeld van 'n identiteitsverskaffer kan jou eie korporatiewe **Microsoft Active Directory** (via **SAML**) of **OpenID** dienste (soos **Google**) wees. Gefedereerde toegang sal dan die gebruikers binne dit toelaat om AWS te benader. -Om hierdie vertroue te konfigureer, word 'n **IAM Identiteitsverskaffer gegenereer (SAML of OAuth)** wat die **ander platform** sal **vertrou**. Dan word ten minste een **IAM rol (wat vertrou) aan die Identiteitsverskaffer toegeken**. As 'n gebruiker van die vertroude platform AWS benader, sal hy as die genoemde rol toegang hê. +Om hierdie vertroue te konfigureer, word 'n **IAM Identiteitsverskaffer gegenereer (SAML of OAuth)** wat die **ander platform** sal **vertrou**. Dan, ten minste een **IAM rol word toegeken (wat vertrou) aan die Identiteitsverskaffer**. As 'n gebruiker van die vertroude platform AWS benader, sal hy as die genoemde rol toegang hê. Jy sal egter gewoonlik 'n **verskillende rol wil gee, afhangende van die groep van die gebruiker** in die derdeparty-platform. Dan kan verskeie **IAM rolle vertrou** die derdeparty Identiteitsverskaffer en die derdeparty-platform sal die een wees wat gebruikers toelaat om een rol of die ander aan te neem. @@ -243,14 +243,14 @@ Jy sal egter gewoonlik 'n **verskillende rol wil gee, afhangende van die groep v ### IAM Identiteitsentrum -AWS IAM Identiteitsentrum (opvolger van AWS Enkelteken) brei die vermoëns van AWS Identiteits- en Toegangsbestuur (IAM) uit om 'n **sentraal plek** te bied wat die **administrasie van gebruikers en hul toegang tot AWS** rekeninge en wolkdienste saambring. +AWS IAM Identiteitsentrum (opvolger van AWS Enkelteken) brei die vermoëns van AWS Identiteits- en Toegangsbestuur (IAM) uit om 'n **sentraal plek** te bied wat die **administrasie van gebruikers en hul toegang tot AWS** rekeninge en wolktoepassings saambring. Die aanmeld domein gaan iets soos `.awsapps.com` wees. Om gebruikers aan te meld, is daar 3 identiteitsbronne wat gebruik kan word: - Identiteitsentrum Gids: Gereelde AWS gebruikers -- Aktiewe Gids: Ondersteun verskillende koppelvlakke +- Aktiewe Gids: Ondersteun verskillende koppelvlak - Eksterne Identiteitsverskaffer: Alle gebruikers en groepe kom van 'n eksterne Identiteitsverskaffer (IdP)
@@ -267,8 +267,8 @@ Daarom, selfs al sien jy 2 rolle met 'n inline beleid genaamd **`AwsSSOInlinePol ### Kruisrekening Vertroue en Rolle -**'n gebruiker** (wat vertrou) kan 'n Kruisrekening Rol met sommige beleide skep en dan **'n ander gebruiker** (vertrou) toelaat om **sy rekening te benader** maar net **met die toegang wat in die nuwe rolbeleide aangedui is**. Om dit te skep, skep eenvoudig 'n nuwe Rol en kies Kruisrekening Rol. Rolle vir Kruisrekening Toegang bied twee opsies. Om toegang te bied tussen AWS rekeninge wat jy besit, en om toegang te bied tussen 'n rekening wat jy besit en 'n derdeparty AWS rekening.\ -Dit word aanbeveel om **die gebruiker wat vertrou is spesifiek aan te dui en nie 'n generiese ding te plaas nie**, want anders sal ander geverifieerde gebruikers soos federale gebruikers ook hierdie vertroue kan misbruik. +**'n gebruiker** (wat vertrou) kan 'n Kruisrekening Rol met sommige beleide skep en dan, **'n ander gebruiker** (vertrou) toelaat om **sy rekening te benader** maar slegs **met die toegang wat in die nuwe rolbeleide aangedui is**. Om dit te skep, skep eenvoudig 'n nuwe Rol en kies Kruisrekening Rol. Rolle vir Kruisrekening Toegang bied twee opsies. Om toegang te bied tussen AWS rekeninge wat jy besit, en om toegang te bied tussen 'n rekening wat jy besit en 'n derdeparty AWS rekening.\ +Dit word aanbeveel om **die gebruiker wat vertrou spesifiek aan te dui en nie 'n generiese ding te plaas nie**, want anders sal ander geverifieerde gebruikers soos gefedereerde gebruikers ook hierdie vertroue kan misbruik. ### AWS Eenvoudige AD @@ -289,7 +289,7 @@ Die toepassing gebruik die AssumeRoleWithWebIdentity om tydelike akkrediteer te ### Ander IAM opsies - Jy kan **'n wagwoordbeleid instelling** opsies soos minimum lengte en wagwoordvereistes stel. -- Jy kan **"Akkrediteer Verslag" aflaai** met inligting oor huidige akkrediteer (soos gebruikers skepping tyd, is wagwoord geaktiveer ...). Jy kan 'n akkrediteer verslag genereer so dikwels as een keer elke **vier uur**. +- Jy kan **"Akkrediteer Verslag" aflaai** met inligting oor huidige akkrediteer (soos gebruikers skepping tyd, is wagwoord geaktiveer...). Jy kan 'n akkrediteer verslag genereer so dikwels as een keer elke **vier uur**. AWS Identiteits- en Toegangsbestuur (IAM) bied **fyn-granulêre toegangbeheer** oor al die AWS. Met IAM kan jy spesifiseer **wie toegang kan hê tot watter dienste en hulpbronne**, en onder watter omstandighede. Met IAM beleide bestuur jy toestemmings aan jou werksmag en stelsels om **minst-bevoegdheidstoestemmings** te verseker. @@ -315,7 +315,7 @@ In [**hierdie bladsy**](https://docs.aws.amazon.com/IAM/latest/UserGuide/referen ### Aanbevole toestemmings om rekeninge te oudit -Die volgende voorregte bied verskeie lees toegang tot metadata: +Die volgende voorregte bied verskeie lees toegang van metadata: - `arn:aws:iam::aws:policy/SecurityAudit` - `arn:aws:iam::aws:policy/job-function/ViewOnlyAccess` diff --git a/src/pentesting-cloud/aws-security/aws-services/aws-security-and-detection-services/aws-cloudtrail-enum.md b/src/pentesting-cloud/aws-security/aws-services/aws-security-and-detection-services/aws-cloudtrail-enum.md index 79ea4ae6f..98ee8d1f7 100644 --- a/src/pentesting-cloud/aws-security/aws-services/aws-security-and-detection-services/aws-cloudtrail-enum.md +++ b/src/pentesting-cloud/aws-security/aws-services/aws-security-and-detection-services/aws-cloudtrail-enum.md @@ -4,7 +4,7 @@ ## **CloudTrail** -AWS CloudTrail **registreer en monitor aktiwiteit binne jou AWS omgewing**. Dit vang gedetailleerde **gebeurtenislogs**, insluitend wie wat gedoen het, wanneer, en van waar, vir alle interaksies met AWS hulpbronne. Dit bied 'n ouditspoor van veranderinge en aksies, wat help met sekuriteitsanalise, nakoming ouditering, en hulpbron verandering opvolging. CloudTrail is noodsaaklik om gebruikers- en hulpbron gedrag te verstaan, sekuriteitsposisies te verbeter, en regulatoriese nakoming te verseker. +AWS CloudTrail **registreer en monitor aktiwiteit binne jou AWS omgewing**. Dit vang gedetailleerde **gebeurtenislogs**, insluitend wie wat gedoen het, wanneer, en van waar, vir alle interaksies met AWS hulpbronne. Dit bied 'n oudit spoor van veranderinge en aksies, wat help met sekuriteitsanalise, nakoming ouditering, en hulpbron verandering opvolging. CloudTrail is noodsaaklik om gebruikers- en hulpbron gedrag te verstaan, sekuriteitsposisies te verbeter, en regulatoriese nakoming te verseker. Elke gelogde gebeurtenis bevat: @@ -22,11 +22,11 @@ Elke gelogde gebeurtenis bevat: Gebeurtenisse word na 'n nuwe loglêer **ongeveer elke 5 minute in 'n JSON-lêer** geskryf, hulle word deur CloudTrail gehou en uiteindelik, loglêers word **aan S3 afgelewer ongeveer 15min na**.\ CloudTrail se logs kan **geaggregeer word oor rekeninge en oor streke.**\ CloudTrail laat toe om **loglêer integriteit te gebruik om te kan verifieer dat jou loglêers onveranderd gebly het** sedert CloudTrail dit aan jou afgelewer het. Dit skep 'n SHA-256 hash van die logs binne 'n digest-lêer. 'n sha-256 hash van die nuwe logs word elke uur geskep.\ -Wanneer 'n Trail geskep word, sal die gebeurteniskeuses jou toelaat om die trail aan te dui om te log: Bestuur, data of insig gebeurtenisse. +Wanneer 'n Trail geskep word, sal die gebeurteniskeuses jou toelaat om die spoor aan te dui om te log: Bestuur, data of insig gebeurtenisse. -Logs word in 'n S3-bucket gestoor. Standaard word Server Side Encryption (SSE-S3) gebruik, so AWS sal die inhoud ontsleutel vir die mense wat toegang daartoe het, maar vir addisionele sekuriteit kan jy SSE met KMS en jou eie sleutels gebruik. +Logs word in 'n S3-bucket gestoor. Standaard word Server Side Encryption (SSE-S3) gebruik, so AWS sal die inhoud ontsleutel vir die mense wat toegang het, maar vir bykomende sekuriteit kan jy SSE met KMS en jou eie sleutels gebruik. -Die logs word in 'n **S3-bucket met hierdie naamformaat** gestoor: +Die logs word gestoor in 'n **S3-bucket met hierdie naamformaat**: - **`BucketName/AWSLogs/AccountID/CloudTrail/RegionName/YYY/MM/DD`** - Waar die BucketName is: **`aws-cloudtrail-logs--`** @@ -38,7 +38,7 @@ Log Lêer Naam Konvensie ![](<../../../../images/image (122).png>) -Boonop sal **digest-lêers (om lêer integriteit te kontroleer)** binne die **dieselfde bucket** wees in: +Boonop, **digest-lêers (om lêer integriteit te kontroleer)** sal binne die **dieselfde bucket** wees in: ![](<../../../../images/image (195).png>) @@ -59,9 +59,9 @@ Wanneer 'n CloudTrail geskep word, is dit moontlik om aan te dui om cloudtrail t
-Op hierdie manier kan jy CloudTrail maklik in al die streke van al die rekeninge konfigureer en die logs in 1 rekening sentraliseer (wat jy moet beskerm). +Op hierdie manier kan jy maklik CloudTrail in al die streke van al die rekeninge konfigureer en die logs in 1 rekening sentraliseer (wat jy moet beskerm). -### Loglêers Kontrole +### Log Lêers Kontrole Jy kan kontroleer dat die logs nie verander is nie deur te loop ```javascript @@ -122,10 +122,10 @@ aws cloudtrail list-event-data-stores aws cloudtrail list-queries --event-data-store aws cloudtrail get-query-results --event-data-store --query-id ``` -### **CSV Inspuiting** +### **CSV Injection** -Dit is moontlik om 'n CVS inspuiting binne CloudTrail uit te voer wat arbitrêre kode sal uitvoer as die logs in CSV uitgevoer word en met Excel oopgemaak word.\ -Die volgende kode sal 'n loginskrywing genereer met 'n slegte Trail naam wat die payload bevat: +Dit is moontlik om 'n CVS-inspuiting binne CloudTrail uit te voer wat arbitrêre kode sal uitvoer as die logs in CSV uitgevoer word en met Excel oopgemaak word.\ +Die volgende kode sal 'n loginskrywing genereer met 'n slegte Trail-naam wat die payload bevat: ```python import boto3 payload = "=cmd|'/C calc'|''" @@ -150,7 +150,7 @@ Vir meer inligting oor hierdie spesifieke tegniek, kyk [https://rhinosecuritylab Honeytokens word geskep om **die uitvloeiing van sensitiewe inligting te detecteer**. In die geval van AWS, is dit **AWS sleutels waarvan die gebruik gemonitor word**, as iets 'n aksie met daardie sleutel aktiveer, dan moet iemand daardie sleutel gesteel het. -E however, Honeytokens soos die wat geskep is deur [**Canarytokens**](https://canarytokens.org/generate)**,** [**SpaceCrab**](https://bitbucket.org/asecurityteam/spacecrab/issues?status=new&status=open)**,** [**SpaceSiren**](https://github.com/spacesiren/spacesiren) gebruik óf 'n herkenbare rekeningnaam óf gebruik dieselfde AWS rekening ID vir al hul kliënte. Daarom, as jy die rekeningnaam en/of rekening ID kan kry sonder om Cloudtrail enige log te laat genereer, **kan jy weet of die sleutel 'n honeytoken is of nie**. +E however, Honeytokens soos die wat deur [**Canarytokens**](https://canarytokens.org/generate)**,** [**SpaceCrab**](https://bitbucket.org/asecurityteam/spacecrab/issues?status=new&status=open)**,** [**SpaceSiren**](https://github.com/spacesiren/spacesiren) geskep is, gebruik óf 'n herkenbare rekeningnaam óf gebruik dieselfde AWS rekening ID vir al hul kliënte. Daarom, as jy die rekeningnaam en/of rekening ID kan kry sonder om Cloudtrail enige log te laat skep, **kan jy weet of die sleutel 'n honeytoken is of nie**. [**Pacu**](https://github.com/RhinoSecurityLabs/pacu/blob/79cd7d58f7bff5693c6ae73b30a8455df6136cca/pacu/modules/iam__detect_honeytokens/main.py#L57) het 'n paar reëls om te detecteer of 'n sleutel aan [**Canarytokens**](https://canarytokens.org/generate)**,** [**SpaceCrab**](https://bitbucket.org/asecurityteam/spacecrab/issues?status=new&status=open)**,** [**SpaceSiren**](https://github.com/spacesiren/spacesiren)** behoort:** @@ -158,7 +158,7 @@ E however, Honeytokens soos die wat geskep is deur [**Canarytokens**](https://ca - Deur hulle meer onlangs te toets, gebruik hulle die rekening **`717712589309`** en het steeds die **`canarytokens.com`** string in die naam. - As **`SpaceCrab`** in die rolnaam in die foutboodskap verskyn. - **SpaceSiren** gebruik **uuids** om gebruikersname te genereer: `[a-f0-9]{8}-[a-f0-9]{4}-4[a-f0-9]{3}-[89aAbB][a-f0-9]{3}-[a-f0-9]{12}` -- As die **naam lyk soos dit lukraak gegenereer is**, is daar 'n hoë waarskynlikheid dat dit 'n HoneyToken is. +- As die **naam soos lukraak gegenereer lyk**, is daar 'n hoë waarskynlikheid dat dit 'n HoneyToken is. #### Kry die rekening ID van die Sleutel ID @@ -191,9 +191,9 @@ Die ding is dat die uitvoer 'n fout sal toon wat die rekening-ID en die rekening #### AWS-dienste sonder logs -In die verlede was daar 'n paar **AWS-dienste wat nie logs na CloudTrail gestuur het nie** (vind 'n [lys hier](https://docs.aws.amazon.com/awscloudtrail/latest/userguide/cloudtrail-unsupported-aws-services.html)). Sommige van daardie dienste sal **antwoordgee** met 'n **fout** wat die **ARN van die sleutelrol** bevat as iemand ongeoorloof (die honeytoken-sleutel) probeer om toegang te verkry. +In die verlede was daar 'n paar **AWS-dienste wat nie logs na CloudTrail stuur nie** (vind 'n [lys hier](https://docs.aws.amazon.com/awscloudtrail/latest/userguide/cloudtrail-unsupported-aws-services.html)). Sommige van daardie dienste sal **reageer** met 'n **fout** wat die **ARN van die sleutelrol** bevat as iemand ongeoorloof (die honeytoken-sleutel) probeer om toegang te verkry. -Op hierdie manier kan 'n **aanvaller die ARN van die sleutel verkry sonder om enige log te aktiveer**. In die ARN kan die aanvaller die **AWS-rekening-ID en die naam** sien, dit is maklik om die HoneyToken se maatskappy-rekeninge se ID's en name te ken, so op hierdie manier kan 'n aanvaller identifiseer of die token 'n HoneyToken is. +Op hierdie manier kan 'n **aanvaller die ARN van die sleutel verkry sonder om enige log te aktiveer**. In die ARN kan die aanvaller die **AWS-rekening-ID en die naam** sien, dit is maklik om die HoneyToken se maatskappy-rekening-ID en name te ken, so op hierdie manier kan 'n aanvaller identifiseer of die token 'n HoneyToken is. ![](<../../../../images/image (93).png>) @@ -204,7 +204,7 @@ Op hierdie manier kan 'n **aanvaller die ARN van die sleutel verkry sonder om en ### Toegang tot Derde Infrastruktuur -Sekere AWS-dienste sal **sekere infrastruktuur** genereer soos **Databasisse** of **Kubernetes** klusters (EKS). 'n Gebruiker wat **direk met daardie dienste praat** (soos die Kubernetes API) **sal nie die AWS API gebruik nie**, so CloudTrail sal nie in staat wees om hierdie kommunikasie te sien nie. +Sekere AWS-dienste sal **'n bietjie infrastruktuur** soos **Databasisse** of **Kubernetes** klusters (EKS) **skep**. 'n Gebruiker wat **direk met daardie dienste praat** (soos die Kubernetes API) **sal nie die AWS API gebruik nie**, so CloudTrail sal nie in staat wees om hierdie kommunikasie te sien nie. Daarom kan 'n gebruiker met toegang tot EKS wat die URL van die EKS API ontdek het, 'n token plaaslik genereer en **direk met die API-diens praat sonder om deur Cloudtrail opgespoor te word**. @@ -244,12 +244,12 @@ Jy kan die gebeurteniskeuse aanpas op grond van jou spesifieke vereistes. ```bash aws s3api put-bucket-lifecycle --bucket --lifecycle-configuration '{"Rules": [{"Status": "Enabled", "Prefix": "", "Expiration": {"Days": 7}}]}' --region ``` -### Modifying Bucket Configuration +### Modifisering van Emmer Konfigurasie -- Verwyder die S3-bucket -- Verander die bucket-beleid om enige skrywe van die CloudTrail-diens te weier -- Voeg 'n lewensiklusbeleid by die S3-bucket om voorwerpe te verwyder -- Deaktiveer die kms-sleutel wat gebruik word om die CloudTrail-logboek te enkripteer +- Verwyder die S3-emmer +- Verander emmerbeleid om enige skrywe van die CloudTrail-diens te weier +- Voeg lewensiklusbeleid by S3-emmer om voorwerpe te verwyder +- Deaktiveer die kms-sleutel wat gebruik word om die CloudTrail-logs te enkripteer ### Cloudtrail ransomware @@ -270,7 +270,7 @@ Dit is 'n maklike manier om die vorige aanval met verskillende toestemmingsverei ../../aws-post-exploitation/aws-kms-post-exploitation.md {{#endref}} -## **References** +## **Verwysings** - [https://cloudsecdocs.com/aws/services/logging/cloudtrail/#inventory](https://cloudsecdocs.com/aws/services/logging/cloudtrail/#inventory) diff --git a/src/pentesting-cloud/aws-security/aws-services/aws-security-and-detection-services/aws-cloudwatch-enum.md b/src/pentesting-cloud/aws-security/aws-services/aws-security-and-detection-services/aws-cloudwatch-enum.md index 370b69ebf..520198916 100644 --- a/src/pentesting-cloud/aws-security/aws-services/aws-security-and-detection-services/aws-cloudwatch-enum.md +++ b/src/pentesting-cloud/aws-security/aws-services/aws-security-and-detection-services/aws-cloudwatch-enum.md @@ -8,7 +8,7 @@ CloudWatch Log Gebeurtenis het 'n **grootte beperking van 256KB op elke loglyn**.\ Dit kan **hoë resolusie alarms** stel, **logs** en **metrieke** langs mekaar visualiseer, outomatiese aksies neem, probleme oplos, en insigte ontdek om toepassings te optimaliseer. -U kan byvoorbeeld logs van CloudTrail monitor. Gebeurtenisse wat gemonitor word: +Jy kan byvoorbeeld logs van CloudTrail monitor. Gebeurtenisse wat gemonitor word: - Veranderinge aan Sekuriteitsgroepe en NACLs - Begin, Stop, herbegin en beëindig EC2 instansies @@ -39,7 +39,7 @@ Dimensies is sleutel-waarde pare wat deel van metrieke is. Dit help om 'n metrie ### Statistieke -Statistieke is wiskundige berekeninge wat op metriekdata uitgevoer word om dit oor tyd saam te vat. Algemene statistieke sluit Gemiddelde, Som, Minimum, Maksimum, en Steekproefgetal in. +Statistieke is wiskundige berekeninge wat op metriekdata uitgevoer word om dit oor tyd saam te vat. Algemene statistieke sluit Gemiddelde, Som, Minimum, Maksimum, en MonsterTelling in. - **Voorbeeld**: Die gemiddelde CPU benutting oor 'n tydperk van een uur bereken. @@ -83,7 +83,7 @@ Eenhede is die meting tipe wat aan 'n metriek gekoppel is. Eenhede help om konte - **Drempel**: Die waarde waarop die alarm geaktiveer word. - **Evaluasieperiodes**: Die aantal periodes waaroor data geëvalueer word. -- **Datapunten om Alarm**: Die aantal periodes met 'n bereik drempel wat nodig is om die alarm te aktiveer. +- **Datapunten om Alarm**: Die aantal periodes met 'n bereikde drempel wat nodig is om die alarm te aktiveer. - **Aksies**: Wat gebeur wanneer 'n alarmtoestand geaktiveer word (bv. kennisgewing via SNS). **Voorbeeld Gebruik Geval**: @@ -92,26 +92,26 @@ Eenhede is die meting tipe wat aan 'n metriek gekoppel is. Eenhede help om konte ### Anomalie Detektors -**Anomalie Detektors** gebruik masjienleer om outomaties anomalieë in jou metrieke te detecteer. U kan anomaliedetektering op enige CloudWatch metriek toepas om afwykings van normale patrone te identifiseer wat probleme kan aandui. +**Anomalie Detektors** gebruik masjienleer om outomaties anomalieë in jou metrieke te detecteer. Jy kan anomalie detectie op enige CloudWatch metriek toepas om afwykings van normale patrone te identifiseer wat probleme kan aandui. **Sleutel Komponente**: - **Modelopleiding**: CloudWatch gebruik historiese data om 'n model op te lei en te bepaal hoe normale gedrag lyk. -- **Anomalie Deteksieband**: 'n Visuele voorstelling van die verwagte reeks waardes vir 'n metriek. +- **Anomalie Detectie Band**: 'n Visuele voorstelling van die verwagte reeks waardes vir 'n metriek. **Voorbeeld Gebruik Geval**: - Die opsporing van ongewone CPU benutting patrone in 'n EC2 instansie wat 'n sekuriteitsbreuk of toepassingsprobleem kan aandui. -### Inligtingsreëls en Gemanageerde Inligtingsreëls +### Inligtingsreëls en Gemanagte Inligtingsreëls **Inligtingsreëls** stel jou in staat om tendense te identifiseer, pieke of ander patrone van belang in jou metriekdata te detecteer deur **kragtige wiskundige uitdrukkings** te gebruik om die toestande te definieer waaronder aksies geneem moet word. Hierdie reëls kan jou help om anomalieë of ongewone gedrag in jou hulpbronprestasie en benutting te identifiseer. -**Gemanageerde Inligtingsreëls** is vooraf-gekonfigureerde **inligtingsreëls wat deur AWS verskaf word**. Hulle is ontwerp om spesifieke AWS dienste of algemene gebruiksgevalle te monitor en kan geaktiveer word sonder om gedetailleerde konfigurasie te benodig. +**Gemanagte Inligtingsreëls** is vooraf-gekonfigureerde **inligtingsreëls wat deur AWS verskaf word**. Hulle is ontwerp om spesifieke AWS dienste of algemene gebruiksgevalle te monitor en kan geaktiveer word sonder om gedetailleerde konfigurasie te benodig. **Voorbeeld Gebruik Geval**: -- Monitor RDS Prestasie: Aktiveer 'n gemanageerde inligtingsreël vir Amazon RDS wat sleutelprestasie-indikators soos CPU benutting, geheue gebruik, en skyf I/O monitor. As enige van hierdie metrieke veilige operasionele drempels oorskry, kan die reël 'n waarskuwing of outomatiese mitigering aksie aktiveer. +- Monitor RDS Prestasie: Aktiveer 'n gemanagte inligtingsreël vir Amazon RDS wat sleutelprestasie-aanwysers soos CPU benutting, geheue gebruik, en skyf I/O monitor. As enige van hierdie metrieke veilige operasionele drempels oorskry, kan die reël 'n waarskuwing of outomatiese mitigering aksie aktiveer. ### CloudWatch Logs @@ -122,24 +122,24 @@ Laat toe om **logs van toepassings** en stelsels van **AWS dienste** (insluitend | ------------------------ | ---------------------------------------------------------------------------------------------------------------------------------------------------------- | | **Log Groep** | 'n **versameling van log strome** wat dieselfde retensie, monitering, en toegangbeheer instellings deel | | **Log Stroom** | 'n reeks van **log gebeurtenisse** wat die **dieselfde bron** deel | -| **Subskripsiefilters** | Definieer 'n **filterpatroon wat gebeurtenisse** in 'n spesifieke loggroep pas, stuur dit na Kinesis Data Firehose stroom, Kinesis stroom, of 'n Lambda funksie | +| **Subskripsie Filters** | Definieer 'n **filterpatroon wat gebeurtenisse** in 'n spesifieke log groep pas, stuur dit na Kinesis Data Firehose stroom, Kinesis stroom, of 'n Lambda funksie | ### CloudWatch Monitering & Gebeurtenisse -CloudWatch **basies** aggregeer data **elke 5min** (die **gedetailleerde** een doen dit **elke 1 min**). Na die aggregasie, **kontroleer dit die drempels van die alarms** in geval dit een moet aktiveer.\ +CloudWatch **basies** aggregeer data **elke 5min** (die **gedetailleerde** een doen dit **elke 1 min**). Na die aggregering, **kontroleer dit die drempels van die alarms** in geval dit een moet aktiveer.\ In daardie geval kan CloudWatch voorberei wees om 'n gebeurtenis te stuur en sommige outomatiese aksies uit te voer (AWS lambda funksies, SNS onderwerpe, SQS rye, Kinesis Strome) ### Agent Installasie -U kan agente binne u masjiene/tenks installeer om outomaties die logs terug na CloudWatch te stuur. +Jy kan agente binne jou masjiene/tenks installeer om outomaties die logs terug na CloudWatch te stuur. - **Skep** 'n **rol** en **heg** dit aan die **instansie** met toestemmings wat CloudWatch toelaat om data van die instansies te versamel benewens om met AWS stelsels bestuurder SSM te kommunikeer (CloudWatchAgentAdminPolicy & AmazonEC2RoleforSSM) -- **Laai** en **installeer** die **agent** op die EC2 instansie ([https://s3.amazonaws.com/amazoncloudwatch-agent/linux/amd64/latest/AmazonCloudWatchAgent.zip](https://s3.amazonaws.com/amazoncloudwatch-agent/linux/amd64/latest/AmazonCloudWatchAgent.zip)). U kan dit van binne die EC2 aflaai of dit outomaties installeer met behulp van AWS Stelselsbestuurder deur die pakket AWS-ConfigureAWSPackage te kies. +- **Laai** en **installeer** die **agent** op die EC2 instansie ([https://s3.amazonaws.com/amazoncloudwatch-agent/linux/amd64/latest/AmazonCloudWatchAgent.zip](https://s3.amazonaws.com/amazoncloudwatch-agent/linux/amd64/latest/AmazonCloudWatchAgent.zip)). Jy kan dit van binne die EC2 aflaai of dit outomaties installeer met behulp van AWS Stelselsbestuurder deur die pakket AWS-ConfigureAWSPackage te kies. - **Konfigureer** en **begin** die CloudWatch Agent -'n Log groep het baie strome. 'n Stroom het baie gebeurtenisse. En binne elke stroom is die gebeurtenisse gewaarborg om in volgorde te wees. +'n Log groep het baie strome. 'n Stroom het baie gebeurtenisse. En binne elke stroom, is die gebeurtenisse gewaarborg om in volgorde te wees. -## Enumeration +## Enumerasie ```bash # Dashboards # @@ -227,7 +227,7 @@ aws cloudwatch put-composite-alarm --alarm-name --alarm-rule [-- Die volgende voorbeeld toon hoe om 'n metriek alarm ondoeltreffend te maak: - Hierdie metriek alarm monitor die gemiddelde CPU benutting van 'n spesifieke EC2 instansie, evalueer die metriek elke 300 sekondes en vereis 6 evaluasieperiodes (30 minute in totaal). As die gemiddelde CPU benutting 60% oorskry vir ten minste 4 van hierdie periodes, sal die alarm geaktiveer word en 'n kennisgewing na die gespesifiseerde SNS onderwerp stuur. -- Deur die Drempel aan te pas om meer as 99% te wees, die Periode op 10 sekondes te stel, die Evaluasieperiodes op 8640 (aangesien 8640 periodes van 10 sekondes gelyk is aan 1 dag), en die Datapunte na Alarm ook op 8640, sal dit nodig wees dat die CPU benutting elke 10 sekondes oor 99% moet wees deur die hele 24-uur periode om 'n alarm te aktiveer. +- Deur die Drempel aan te pas om meer as 99% te wees, die Periode op 10 sekondes te stel, die Evaluasieperiodes op 8640 (aangesien 8640 periodes van 10 sekondes gelyk is aan 1 dag), en die Datapunte na Alarm ook op 8640, sal dit nodig wees dat die CPU benutting elke 10 sekondes oor 99% moet wees gedurende die hele 24-uur periode om 'n alarm te aktiveer. {{#tabs }} {{#tab name="Original Metric Alarm" }} @@ -302,7 +302,7 @@ aws cloudwatch set-alarm-state --alarm-name --state-value | --namespace --metric-name --dimensions --stat ] aws cloudwatch put-anomaly-detector [--cli-input-json | --namespace --metric-name --dimensions --stat --configuration --metric-characteristics ] ``` -Die volgende voorbeeld toon hoe om 'n metrieke anomalie-detektor ondoeltreffend te maak. Hierdie metrieke anomalie-detektor monitor die gemiddelde CPU-gebruik van 'n spesifieke EC2-instantie, en net deur die “ExcludedTimeRanges” parameter met die gewenste tydsbereik by te voeg, sal dit genoeg wees om te verseker dat die anomalie-detektor nie enige relevante data gedurende daardie tydperk analiseer of waarsku nie. +Die volgende voorbeeld toon hoe om 'n metrieke anomalie-detektor ondoeltreffend te maak. Hierdie metrieke anomalie-detektor monitor die gemiddelde CPU-gebruik van 'n spesifieke EC2-instansie, en net deur die “ExcludedTimeRanges” parameter met die gewenste tydsbereik by te voeg, sal dit genoeg wees om te verseker dat die anomalie-detektor nie enige relevante data gedurende daardie tydperk analiseer of waarsku nie. {{#tabs }} {{#tab name="Original Metric Anomaly Detector" }} @@ -355,7 +355,7 @@ Die volgende voorbeeld toon hoe om 'n metrieke anomalie-detektor ondoeltreffend ### **`cloudwatch:DeleteDashboards`, `cloudwatch:PutDashboard`** -'n Aanvaller sou in staat wees om die monitering en visualisering vermoëns van 'n organisasie te benadeel deur sy dashboards te skep, te wysig of te verwyder. Hierdie toestemmings kan benut word om kritieke sigbaarheid in die prestasie en gesondheid van stelsels te verwyder, dashboards te verander om verkeerde data te vertoon of kwaadwillige aktiwiteite te verberg. +'n Aanvaller sou in staat wees om die monitering en visualisering vermoëns van 'n organisasie te kompromitteer deur sy dashboards te skep, te wysig of te verwyder. Hierdie toestemmings kan benut word om kritieke sigbaarheid in die prestasie en gesondheid van stelsels te verwyder, dashboards te verander om verkeerde data te vertoon of kwaadwillige aktiwiteite te verberg. ```bash aws cloudwatch delete-dashboards --dashboard-names aws cloudwatch put-dashboard --dashboard-name --dashboard-body @@ -379,14 +379,14 @@ Deur kritieke insigreëls te deaktiveer, kan 'n aanvaller die organisasie effekt aws cloudwatch disable-insight-rules --rule-names aws cloudwatch enable-insight-rules --rule-names ``` -**Potensiële Impak**: Verwarring onder die operasiespan, wat lei tot vertraagde reaksies op werklike probleme en onnodige aksies gebaseer op valse waarskuwings. +**Potensiële Impak**: Verwarring onder die operasiespan, wat lei tot vertraagde reaksies op werklike probleme en onnodige aksies gebaseer op vals waarskuwings. ### **`cloudwatch:DeleteMetricStream` , `cloudwatch:PutMetricStream` , `cloudwatch:PutMetricData`** 'n Aanvaller met die **`cloudwatch:DeleteMetricStream`** , **`cloudwatch:PutMetricStream`** regte sou in staat wees om metrieke data strome te skep en te verwyder, wat die sekuriteit, monitering en data integriteit in gevaar stel: - **Skep kwaadwillige strome**: Skep metrieke strome om sensitiewe data na nie-geautoriseerde bestemmings te stuur. -- **Hulpbron manipulasie**: Die skepping van nuwe metrieke strome met oormatige data kan baie geraas veroorsaak, wat onakkurate waarskuwings veroorsaak en werklike probleme verdoesel. +- **Hulpbron manipulasie**: Die skep van nuwe metrieke strome met oormatige data kan baie geraas veroorsaak, wat onakkurate waarskuwings veroorsaak en werklike probleme verdoesel. - **Monitering onderbreking**: Deur metrieke strome te verwyder, sou aanvallers die deurlopende vloei van moniteringsdata onderbreek. Op hierdie manier sou hul kwaadwillige aktiwiteite effektief verborge wees. Op soortgelyke wyse, met die **`cloudwatch:PutMetricData`** toestemming, sou dit moontlik wees om data aan 'n metrieke stroom toe te voeg. Dit kan lei tot 'n DoS as gevolg van die hoeveelheid onvanpaste data wat bygevoeg word, wat dit heeltemal nutteloos maak. @@ -395,7 +395,7 @@ aws cloudwatch delete-metric-stream --name aws cloudwatch put-metric-stream --name [--include-filters ] [--exclude-filters ] --firehose-arn --role-arn --output-format aws cloudwatch put-metric-data --namespace [--metric-data ] [--metric-name ] [--timestamp ] [--unit ] [--value ] [--dimensions ] ``` -Voorbeeld van die toevoeging van data wat ooreenstem met 'n 70% CPU benutting oor 'n gegewe EC2 instance: +Voorbeeld van die toevoeging van data wat ooreenstem met 'n 70% CPU benutting oor 'n gegewe EC2-instansie: ```bash aws cloudwatch put-metric-data --namespace "AWS/EC2" --metric-name "CPUUtilization" --value 70 --unit "Percent" --dimensions "InstanceId=i-0123456789abcdefg" ``` diff --git a/src/pentesting-cloud/azure-security/az-persistence/az-cloud-shell-persistence.md b/src/pentesting-cloud/azure-security/az-persistence/az-cloud-shell-persistence.md index 5316d028f..bae74e91a 100644 --- a/src/pentesting-cloud/azure-security/az-persistence/az-cloud-shell-persistence.md +++ b/src/pentesting-cloud/azure-security/az-persistence/az-cloud-shell-persistence.md @@ -4,9 +4,9 @@ ## Cloud Shell Persistence -Azure Cloud Shell bied opdraglyn toegang om Azure hulpbronne te bestuur met volhoubare berging en outomatiese verifikasie. Aanvallers kan dit benut deur agterdeure in die volhoubare tuisgids te plaas: +Azure Cloud Shell bied opdraglyn toegang om Azure hulpbronne te bestuur met volhoubare stoorplek en outomatiese verifikasie. Aanvallers kan dit misbruik deur agterdeure in die volhoubare huisgids te plaas: -* **Volhoubare Berging**: Azure Cloud Shell se tuisgids is op 'n Azure lêerdeel gemonteer en bly ongeskonde selfs nadat die sessie eindig. +* **Volhoubare Stoorplek**: Azure Cloud Shell se huisgids is op 'n Azure lêerdeel gemonteer en bly ongeskonde selfs nadat die sessie eindig. * **Opstart Skripte**: Lêers soos .bashrc voer outomaties uit aan die begin van elke sessie, wat volhoubare uitvoering moontlik maak wanneer die cloud shell begin. Voorbeeld agterdeur in .bashrc: diff --git a/src/pentesting-cloud/azure-security/az-post-exploitation/az-blob-storage-post-exploitation.md b/src/pentesting-cloud/azure-security/az-post-exploitation/az-blob-storage-post-exploitation.md index 56dbf252e..3060ea459 100644 --- a/src/pentesting-cloud/azure-security/az-post-exploitation/az-blob-storage-post-exploitation.md +++ b/src/pentesting-cloud/azure-security/az-post-exploitation/az-blob-storage-post-exploitation.md @@ -2,9 +2,9 @@ {{#include ../../../banners/hacktricks-training.md}} -## Berg Privesc +## Storage Privesc -Vir meer inligting oor berging, kyk: +Vir meer inligting oor stoor, kyk: {{#ref}} ../az-services/az-storage.md diff --git a/src/pentesting-cloud/azure-security/az-post-exploitation/az-cosmosDB-post-exploitation.md b/src/pentesting-cloud/azure-security/az-post-exploitation/az-cosmosDB-post-exploitation.md index 40bd5e261..0da03917c 100644 --- a/src/pentesting-cloud/azure-security/az-post-exploitation/az-cosmosDB-post-exploitation.md +++ b/src/pentesting-cloud/azure-security/az-post-exploitation/az-cosmosDB-post-exploitation.md @@ -79,7 +79,7 @@ az cosmosdb sql trigger create \ --operation All ``` ### `Microsoft.DocumentDB/databaseAccounts/sqlDatabases/containers/storedProcedures/write` && `Microsoft.DocumentDB/databaseAccounts/sqlDatabases/containers/storedProcedures/read` -Met hierdie toestemming kan jy gestoor prosedures binne 'n houer van 'n SQL-databasis in 'n Azure Cosmos DB-rekening skep of wysig. Gestoor prosedures in Cosmos DB is bediener-kant JavaScript funksies wat jou toelaat om logika vir die verwerking van data of die uitvoering van operasies direk binne die databasis te enkapsuleer. +Met hierdie toestemming kan jy gestoor prosedures binne 'n houer van 'n SQL-databasis in 'n Azure Cosmos DB-rekening skep of wysig. Gestoor prosedures in Cosmos DB is bediener-kant JavaScript-funksies wat jou toelaat om logika vir die verwerking van data of die uitvoering van operasies direk binne die databasis te enkapsuleer. ```bash az cosmosdb sql stored-procedure create \ --account-name \ @@ -120,7 +120,7 @@ az cosmosdb mongodb database create \ --name ``` ### `Microsoft.DocumentDB/databaseAccounts/mongodbRoleDefinitions/write` && `Microsoft.DocumentDB/databaseAccounts/mongodbRoleDefinitions/read` -Met hierdie toestemming kan jy nuwe MongoDB rol definisies binne 'n Azure Cosmos DB rekening skep. Dit stel jou in staat om pasgemaakte rolle met spesifieke toestemmings vir MongoDB gebruikers te definieer. +Met hierdie toestemming kan jy nuwe MongoDB roldefinisies binne 'n Azure Cosmos DB rekening skep. Dit stel jou in staat om pasgemaakte rolle met spesifieke toestemmings vir MongoDB gebruikers te definieer. ```bash az cosmosdb mongodb role definition create \ --account-name \ diff --git a/src/pentesting-cloud/azure-security/az-post-exploitation/az-file-share-post-exploitation.md b/src/pentesting-cloud/azure-security/az-post-exploitation/az-file-share-post-exploitation.md index 3fa662bd1..0d231182c 100644 --- a/src/pentesting-cloud/azure-security/az-post-exploitation/az-file-share-post-exploitation.md +++ b/src/pentesting-cloud/azure-security/az-post-exploitation/az-file-share-post-exploitation.md @@ -39,6 +39,6 @@ az storage blob upload \ ``` ### \*/delete -Dit sal toelaat om lêers binne die gedeelde lêerstelsel te verwyder wat dalk **sekere dienste kan onderbreek** of die kliënt **waardevolle inligting kan laat verloor**. +Dit sal toelaat om 'n lêer binne die gedeelde lêerstelsel te verwyder wat dalk **sekere dienste kan onderbreek** of die kliënt **waardevolle inligting kan laat verloor**. {{#include ../../../banners/hacktricks-training.md}} diff --git a/src/pentesting-cloud/azure-security/az-post-exploitation/az-logic-apps-post-exploitation.md b/src/pentesting-cloud/azure-security/az-post-exploitation/az-logic-apps-post-exploitation.md index 2bd993a4f..ec73eb631 100644 --- a/src/pentesting-cloud/azure-security/az-post-exploitation/az-logic-apps-post-exploitation.md +++ b/src/pentesting-cloud/azure-security/az-post-exploitation/az-logic-apps-post-exploitation.md @@ -43,7 +43,7 @@ az logicapp config appsettings set \ --settings "=" ``` ### `Microsoft.Logic/integrationAccounts/write` -Met hierdie toestemming kan jy Azure Logic Apps integrasie rekeninge skep, opdateer of verwyder. Dit sluit die bestuur van integrasie rekening-vlak konfigurasies in soos kaarte, skemas, vennote, ooreenkomste, en meer. +Met hierdie toestemming kan jy Azure Logic Apps integrasie rekeninge skep, opdateer of verwyder. Dit sluit die bestuur van integrasie rekeningvlak konfigurasies in soos kaarte, skemas, vennote, ooreenkomste, en meer. ```bash az logic integration-account create \ --resource-group \ @@ -77,7 +77,7 @@ az logic integration-account map create \ --map-content map-content.xslt ``` ### `Microsoft.Resources/subscriptions/resourcegroups/read` && `Microsoft.Logic/integrationAccounts/partners/write` -Met hierdie toestemming kan jy vennote in 'n Azure Logic Apps integrasiewerkrekening skep of wysig. Vennote verteenwoordig entiteite of stelsels wat deelneem aan besigheid-tot-besigheid (B2B) werksvloei. +Met hierdie toestemming kan jy vennote in 'n Azure Logic Apps integrasiewerkingrekening skep of wysig. Vennote verteenwoordig entiteite of stelsels wat deelneem aan besigheid-tot-besigheid (B2B) werksvloeie. ```bash az logic integration-account partner create \ --resource-group \ @@ -96,7 +96,7 @@ az logic integration-account partner create \ }' ``` ### `Microsoft.Resources/subscriptions/resourcegroups/read` && `Microsoft.Logic/integrationAccounts/sessions/write` -Met hierdie toestemming kan jy sessies binne 'n Azure Logic Apps integrasietoevoer skep of wysig. Sessies word in B2B werkvloei gebruik om boodskappe te groepeer en verwante transaksies oor 'n gedefinieerde tydperk te volg. +Met hierdie toestemming kan jy sessies binne 'n Azure Logic Apps integrasietoevoeging skep of wysig. Sessies word in B2B werkvloei gebruik om boodskappe te groepeer en verwante transaksies oor 'n gedefinieerde tydperk te volg. ```bash az logic integration-account session create \ --resource-group \ diff --git a/src/pentesting-cloud/azure-security/az-post-exploitation/az-mysql-post-exploitation.md b/src/pentesting-cloud/azure-security/az-post-exploitation/az-mysql-post-exploitation.md index 6ee144c5e..1d882f257 100644 --- a/src/pentesting-cloud/azure-security/az-post-exploitation/az-mysql-post-exploitation.md +++ b/src/pentesting-cloud/azure-security/az-post-exploitation/az-mysql-post-exploitation.md @@ -11,7 +11,7 @@ Vir meer inligting oor MySQL Databasis, kyk: ### `Microsoft.DBforMySQL/flexibleServers/databases/write` && `Microsoft.DBforMySQL/flexibleServers/databases/read` -Met hierdie toestemming kan jy nuwe databasis binne 'n MySQL Flexible Server-instansie op Azure skep. Terwyl hierdie aksie self nie bestaande hulpbronne wysig nie, kan oormatige of ongeoorloofde skepping van databasisse lei tot hulpbronverbruik, of potensiële misbruik van die bediener. +Met hierdie toestemming kan jy nuwe databasis skep binne 'n MySQL Flexible Server instansie op Azure. Terwyl hierdie aksie self nie bestaande hulpbronne wysig nie, kan oormatige of ongemagtigde skep van databasisse lei tot hulpbronverbruik, of potensiële misbruik van die bediener. ```bash az mysql flexible-server db create \ --server-name \ @@ -20,7 +20,7 @@ az mysql flexible-server db create \ ``` ### `Microsoft.DBforMySQL/flexibleServers/backups/write` -Met hierdie toestemming kan jy die skep van rugsteun vir 'n MySQL Flexible Server-instansie op Azure begin. Dit stel gebruikers in staat om op aanvraag rugsteun te genereer, wat nuttig kan wees om data op spesifieke tydstippe te bewaar. +Met hierdie toestemming kan jy die skep van rugsteun vir 'n MySQL Flexible Server-instansie op Azure begin. Dit stel gebruikers in staat om op aanvraag rugsteun te genereer, wat nuttig kan wees om data op spesifieke tydpunte te bewaar. ```bash az mysql flexible-server backup create \ --name \ @@ -76,7 +76,7 @@ az mysql flexible-server parameter set-batch \ ``` ### `Microsoft.DBforMySQL/flexibleServers/read`, `Microsoft.DBforMySQL/flexibleServers/write` && `Microsoft.ManagedIdentity/userAssignedIdentities/assign/action` -Met hierdie toestemming kan jy 'n gebruiker-toegepaste bestuurde identiteit aan MySQL buigbare bedieners toewys. +Met hierdie toestemming kan jy 'n gebruiker-toegewyde bestuurde identiteit aan MySQL buigsame bedieners toewys. ```bash az mysql flexible-server identity assign \ --resource-group \ diff --git a/src/pentesting-cloud/azure-security/az-post-exploitation/az-postgresql-post-exploitation.md b/src/pentesting-cloud/azure-security/az-post-exploitation/az-postgresql-post-exploitation.md index 0fedac3c9..cbe106355 100644 --- a/src/pentesting-cloud/azure-security/az-post-exploitation/az-postgresql-post-exploitation.md +++ b/src/pentesting-cloud/azure-security/az-post-exploitation/az-postgresql-post-exploitation.md @@ -11,7 +11,7 @@ Vir meer inligting oor PostgreSQL Databasis, kyk: ### `Microsoft.DBforPostgreSQL/flexibleServers/databases/write` && `Microsoft.DBforPostgreSQL/flexibleServers/databases/read` -Met hierdie toestemming kan jy nuwe databasis skep binne 'n Postgres Flexible Server instance op Azure. Terwyl hierdie aksie self nie bestaande hulpbronne wysig nie, kan oormatige of ongeoorloofde skep van databasisse lei tot hulpbronverbruik, of potensiële misbruik van die bediener. +Met hierdie toestemming kan jy nuwe databasis skep binne 'n Postgres Flexible Server instansie op Azure. Terwyl hierdie aksie self nie bestaande hulpbronne wysig nie, kan oormatige of ongeoorloofde skep van databasisse lei tot hulpbronverbruik, of potensiële misbruik van die bediener. ```bash az postgres flexible-server db create \ --server-name \ @@ -29,7 +29,7 @@ az postgres flexible-server backup create \ ``` ### `Microsoft.DBforPostgreSQL/flexibleServers/advancedThreatProtectionSettings/write` && `Microsoft.DBforPostgreSQL/flexibleServers/advancedThreatProtectionSettings/read` -Met hierdie toestemming kan jy die Advanced Threat Protection (ATP) instellings vir 'n Postgres Flexible Server instance op Azure konfigureer of opdateer. Dit stel jou in staat om sekuriteitskenmerke in te skakel of uit te skakel wat ontwerp is om anomale aktiwiteite en potensiële bedreigings te detecteer en daarop te reageer. +Met hierdie toestemming kan jy die Advanced Threat Protection (ATP) instellings vir 'n Postgres Flexible Server instansie op Azure konfigureer of opdateer. Dit stel jou in staat om sekuriteitskenmerke te aktiveer of te deaktiveer wat ontwerp is om anomale aktiwiteite en potensiële bedreigings te detecteer en daarop te reageer. ```bash az postgres flexible-server threat-protection-policy update \ --name \ @@ -38,7 +38,7 @@ az postgres flexible-server threat-protection-policy update \ ``` ### `Microsoft.DBforPostgreSQL/flexibleServers/firewallRules/write`, `Microsoft.DBforPostgreSQL/flexibleServers/read` && `Microsoft.DBforPostgreSQL/flexibleServers/firewallRules/read` -Met hierdie toestemming kan jy firewallreëls vir 'n Postgres Flexible Server-instansie op Azure skep of wysig. Dit stel jou in staat om te beheer watter IP-adresse of -reekse toegang tot die bediener kan verkry. Onbevoegde of onvanpaste gebruik van hierdie toestemming kan die bediener aan ongewenste of kwaadwillige toegang blootstel. +Met hierdie toestemming kan jy firewallreëls vir 'n Postgres Flexible Server-instansie op Azure skep of wysig. Dit stel jou in staat om te beheer watter IP-adresse of -reekse toegang tot die bediener kan hê. Onbevoegde of onvanpaste gebruik van hierdie toestemming kan die bediener aan ongewenste of kwaadwillige toegang blootstel. ```bash # Create Rule az postgres flexible-server firewall-rule create \ diff --git a/src/pentesting-cloud/azure-security/az-post-exploitation/az-sql-post-exploitation.md b/src/pentesting-cloud/azure-security/az-post-exploitation/az-sql-post-exploitation.md index 589b1ea8c..8185f2b79 100644 --- a/src/pentesting-cloud/azure-security/az-post-exploitation/az-sql-post-exploitation.md +++ b/src/pentesting-cloud/azure-security/az-post-exploitation/az-sql-post-exploitation.md @@ -22,7 +22,7 @@ az sql db update --resource-group --server --name ``` ### `Microsoft.Sql/servers/elasticPools/write` && `Microsoft.Sql/servers/elasticPools/read` -Met hierdie toestemmings kan 'n aanvaller elasticPools binne die gecompromitteerde omgewing skep en opdateer. Hierdie post-exploitatie aktiwiteit kan 'n aanvaller in staat stel om kwaadwillige data by te voeg, databasis konfigurasies te wysig, of agterdeure in te voeg vir verdere volharding, wat moontlik operasies kan ontwrig of addisionele kwaadwillige aksies kan moontlik maak. +Met hierdie toestemmings kan 'n aanvaller elastiese poele binne die gecompromitteerde omgewing skep en opdateer. Hierdie post-exploitatie aktiwiteit kan 'n aanvaller in staat stel om kwaadwillige data by te voeg, databasis konfigurasies te wysig, of agterdeure in te voeg vir verdere volharding, wat moontlik operasies kan ontwrig of addisionele kwaadwillige aksies kan moontlik maak. ```bash # Create Elastic Pool az sql elastic-pool create \ @@ -42,7 +42,7 @@ az sql elastic-pool update \ ``` ### `Microsoft.Sql/servers/auditingSettings/read` && `Microsoft.Sql/servers/auditingSettings/write` -Met hierdie toestemming kan jy ouditinstellings op 'n Azure SQL Server wysig of aktiveer. Dit kan 'n aanvaller of gemagtigde gebruiker in staat stel om ouditkonfigurasies te manipuleer, wat moontlik spore kan bedek of ouditlogs na 'n plek onder hul beheer kan herlei. Dit kan sekuriteitsmonitering belemmer of dit in staat stel om die aksies op te volg. LET WEL: Om ouditering vir 'n Azure SQL Server met Blob Storage te aktiveer, moet jy 'n stoorrekening koppel waar die ouditlogs gestoor kan word. +Met hierdie toestemming kan jy ouditinstellings op 'n Azure SQL Server wysig of aktiveer. Dit kan 'n aanvaller of gemagtigde gebruiker in staat stel om ouditkonfigurasies te manipuleer, wat moontlik spore kan bedek of ouditlogs na 'n plek onder hul beheer kan herlei. Dit kan sekuriteitsmonitering hindern of dit in staat stel om die aksies op te volg. LET WEL: Om ouditing vir 'n Azure SQL Server met Blob Storage te aktiveer, moet jy 'n stoorrekening koppel waar die ouditlogs gestoor kan word. ```bash az sql server audit-policy update \ --server \ @@ -53,7 +53,7 @@ az sql server audit-policy update \ ``` ### `Microsoft.Sql/locations/connectionPoliciesAzureAsyncOperation/read`, `Microsoft.Sql/servers/connectionPolicies/read` && `Microsoft.Sql/servers/connectionPolicies/write` -Met hierdie toestemming kan jy die verbindsbeleid van 'n Azure SQL Server wysig. Hierdie vermoë kan benut word om bediener-vlak verbindsinstellings in te skakel of te verander. +Met hierdie toestemming kan jy die verbintingsbeleide van 'n Azure SQL Server wysig. Hierdie vermoë kan benut word om bediener-vlak verbintningsinstellings in te skakel of te verander. ```bash az sql server connection-policy update \ --server \ @@ -62,7 +62,7 @@ az sql server connection-policy update \ ``` ### `Microsoft.Sql/servers/databases/export/action` -Met hierdie toestemming kan jy 'n databasis van 'n Azure SQL Server na 'n stoorrekening uitvoer. 'n Aanvaller of gemagtigde gebruiker met hierdie toestemming kan sensitiewe data uit die databasis onttrek deur dit na 'n plek wat hulle beheer, uit te voer, wat 'n beduidende data-oortredingsrisiko inhou. Dit is belangrik om die stoor sleutel te ken om dit te kan uitvoer. +Met hierdie toestemming kan jy 'n databasis van 'n Azure SQL Server na 'n stoorrekening uitvoer. 'n Aanvaller of gemagtigde gebruiker met hierdie toestemming kan sensitiewe data uit die databasis uitfiltreer deur dit na 'n plek wat hulle beheer, uit te voer, wat 'n beduidende data-oortredingsrisiko inhou. Dit is belangrik om die stoor sleutel te ken om dit te kan uitvoer. ```bash az sql db export \ --server \ diff --git a/src/pentesting-cloud/azure-security/az-privilege-escalation/az-cosmosDB-privesc.md b/src/pentesting-cloud/azure-security/az-privilege-escalation/az-cosmosDB-privesc.md index e9a0f0eb5..7059f6993 100644 --- a/src/pentesting-cloud/azure-security/az-privilege-escalation/az-cosmosDB-privesc.md +++ b/src/pentesting-cloud/azure-security/az-privilege-escalation/az-cosmosDB-privesc.md @@ -34,7 +34,7 @@ az cosmosdb sql role definition create \ ] }' ``` -Daarna word die toekenning van die definisie aan 'n gebruiker gegee. Daarna kan daardie gebruiker die DefaultAzureCredential() verbindingsmetode gebruik om navrae uit te voer. +Na dit word die toekenning van die definisie aan 'n gebruiker gegee. Daarna kan daardie gebruiker die DefaultAzureCredential() verbindingsmetode gebruik om navrae uit te voer. ```bash az cosmosdb sql role assignment create \ --account-name \ diff --git a/src/pentesting-cloud/azure-security/az-privilege-escalation/az-functions-app-privesc.md b/src/pentesting-cloud/azure-security/az-privilege-escalation/az-functions-app-privesc.md index e9de7f246..06d809924 100644 --- a/src/pentesting-cloud/azure-security/az-privilege-escalation/az-functions-app-privesc.md +++ b/src/pentesting-cloud/azure-security/az-privilege-escalation/az-functions-app-privesc.md @@ -58,7 +58,7 @@ az functionapp config appsettings list \ Hierdie konfigurasie sal gewoonlik 'n **SAS URL om die** kode van die Stoorrekening af te laai, bevat. > [!CAUTION] -> Met genoeg toestemming om met die blob-container te verbind wat **die kode in zip bevat**, is dit moontlik om willekeurige kode in die Funksie uit te voer en bevoegdhede te verhoog. +> Met genoeg toestemming om met die blob-container te verbind wat **die kode in zip bevat**, is dit moontlik om arbitrêre kode in die Funksie uit te voer en bevoegdhede te verhoog. - **`github-actions-deploy`** (`WEBSITE_RUN_FROM_PACKAGE)` @@ -98,10 +98,10 @@ unsquashfs -l "/tmp/scm-latest-.zip" mkdir /tmp/fs unsquashfs -d /tmp/fs /tmp/scm-latest-.zip ``` -Dit is ook moontlik om die **master en funksies sleutels** wat in die stoorrekening gestoor is, te vind in die houer **`azure-webjobs-secrets`** binne die gids **``** in die JSON-lêers wat jy daarbinne kan vind. +Dit is ook moontlik om die **master en functions sleutels** te vind wat in die stoorrekening gestoor is in die houer **`azure-webjobs-secrets`** binne die gids **``** in die JSON-lêers wat jy daarbinne kan vind. > [!CAUTION] -> Met genoeg toestemming om met die blob-houer te verbind wat **die kode in 'n zip-uitbreiding lêer** bevat (wat eintlik 'n **`squashfs`** is), is dit moontlik om arbitrêre kode in die Funksie uit te voer en voorregte te verhoog. +> Met genoeg toestemming om met die blob houer te verbind wat die **kode in 'n zip-uitbreiding lêer** bevat (wat eintlik 'n **`squashfs`** is) is dit moontlik om arbitrêre kode in die Funksie uit te voer en voorregte te verhoog. ```bash # Modify code inside the script in /tmp/fs adding your code @@ -166,7 +166,7 @@ az functionapp keys set --resource-group --key-name --key ### `Microsoft.Web/sites/host/systemKeys/write` -Hierdie toestemming laat jou toe om 'n stelselsleutel vir 'n funksie te skep/op te dateer na die gespesifiseerde funksie met: +Hierdie toestemming stel jou in staat om 'n stelselsleutel vir 'n funksie te skep/op te dateer na die gespesifiseerde funksie met: ```bash az functionapp keys set --resource-group --key-name --key-type masterKey --name --key-value q_8ILAoJaSp_wxpyHzGm4RVMPDKnjM_vpEb7z123yRvjAzFuo6wkIQ== ``` @@ -226,7 +226,7 @@ az rest --method PUT \ ``` ### `Microsoft.Web/sites/publishxml/action`, (`Microsoft.Web/sites/basicPublishingCredentialsPolicies/write`) -Hierdie toestemmings laat toe om al die publikasieprofiele te lys wat basies **basiese outentiseringsbewyse** bevat: +Hierdie toestemmings laat toe om al die publikasieprofiele te lys wat basies **basiese outentiseringsakkredite** bevat: ```bash # Get creds az functionapp deployment list-publishing-profiles \ @@ -264,7 +264,7 @@ az rest --method PUT \ ``` - **Metode SCM** -Dan kan jy toegang verkry met hierdie **basiese outentikasie akrediteerings na die SCM-URL** van jou funksie-app en die waardes van die omgewing veranderlikes kry: +Dan kan jy toegang verkry met hierdie **basiese outentikasie akrediteerings na die SCM URL** van jou funksie-app en die waardes van die omgewing veranderlikes kry: ```bash # Get settings values curl -u ':' \ @@ -279,11 +279,11 @@ _Note dat die **SCM gebruikersnaam** gewoonlik die karakter "$" gevolg deur die Jy kan ook die webblad vanaf `https://.scm.azurewebsites.net/BasicAuth` benader. -Die instellingswaardes bevat die **AccountKey** van die stoorrekening wat die data van die funksie-app stoor, wat toelaat om daardie stoorrekening te beheer. +Die instellingswaardes bevat die **AccountKey** van die stoorrekening wat die data van die funksie-app stoor, wat dit moontlik maak om daardie stoorrekening te beheer. - **Metode FTP** -Verbind met die FTP-bediener deur: +Verbinde met die FTP-bediener deur: ```bash # macOS install lftp brew install lftp @@ -307,7 +307,7 @@ az rest --url "https://management.azure.com/subscriptions//reso ``` ### `Microsoft.Web/sites/functions/token/action` -Met hierdie toestemming is dit moontlik om [die **admin token**](https://learn.microsoft.com/ca-es/rest/api/appservice/web-apps/get-functions-admin-token?view=rest-appservice-2024-04-01) te verkry wat later gebruik kan word om die **master key** te verkry en dus toegang te verkry tot en die funksie se kode te wysig. +Met hierdie toestemming is dit moontlik om die [**admin token**](https://learn.microsoft.com/ca-es/rest/api/appservice/web-apps/get-functions-admin-token?view=rest-appservice-2024-04-01) te verkry wat later gebruik kan word om die **master key** te verkry en dus toegang te verkry tot en die funksie se kode te wysig. E however, in my laaste kontroles is daar geen token teruggestuur nie, so dit mag gedeaktiveer wees of nie meer werk nie, maar hier is hoe jy dit sou doen: ```bash @@ -321,7 +321,7 @@ curl "https://.azurewebsites.net/admin/host/systemkeys/_master" \ ``` ### `Microsoft.Web/sites/config/write`, (`Microsoft.Web/sites/functions/properties/read`) -Hierdie toestemmings laat toe om **funksies te aktiveer** wat dalk gedeaktiveer is (of om hulle te deaktiveer). +Hierdie toestemmings laat toe om **funksies in te skakel** wat dalk gedeaktiveer is (of om hulle te deaktiveer). ```bash # Enable a disabled function az functionapp config appsettings set \ @@ -343,7 +343,7 @@ az functionapp config container set --name \ ``` ### `Microsoft.Web/sites/write`, `Microsoft.ManagedIdentity/userAssignedIdentities/assign/action`, `Microsoft.App/managedEnvironments/join/action`, (`Microsoft.Web/sites/read`, `Microsoft.Web/sites/operationresults/read`) -Met hierdie toestemmings is dit moontlik om **'n nuwe gebruiker bestuurde identiteit aan 'n funksie te koppel**. As die funksie gecompromitteer was, sou dit moontlik wees om voorregte na enige gebruiker bestuurde identiteit op te skaal. +Met hierdie toestemmings is dit moontlik om **'n nuwe gebruiker bestuurde identiteit aan 'n funksie te koppel**. As die funksie gecompromitteer was, sou dit toelaat om bevoegdhede na enige gebruiker bestuurde identiteit te eskaleer. ```bash az functionapp identity assign \ --name \ @@ -365,7 +365,7 @@ az functionapp config set --remote-debugging-enabled=True --name --re ### Verander Github repo Ek het probeer om die Github repo te verander van waar die ontplooiing plaasvind deur die volgende opdragte uit te voer, maar selfs al het dit verander, **was die nuwe kode nie gelaai nie** (waarskynlik omdat dit verwag dat die Github Action die kode opdateer).\ -Boonop was die **bestuurde identiteit federale akte nie opgedateer nie**, wat die nuwe repository toelaat, so dit lyk nie baie nuttig nie. +Boonop was die **bestuurde identiteit federale geloofsbriewe nie opgedateer nie**, wat die nuwe repo toelaat, so dit lyk nie baie nuttig nie. ```bash # Remove current az functionapp deployment source delete \ diff --git a/src/pentesting-cloud/azure-security/az-privilege-escalation/az-key-vault-privesc.md b/src/pentesting-cloud/azure-security/az-privilege-escalation/az-key-vault-privesc.md index 5f60cbd33..97b3a1ea5 100644 --- a/src/pentesting-cloud/azure-security/az-privilege-escalation/az-key-vault-privesc.md +++ b/src/pentesting-cloud/azure-security/az-privilege-escalation/az-key-vault-privesc.md @@ -29,4 +29,14 @@ az keyvault set-policy \ --certificate-permissions all \ --storage-permissions all ``` +### Pas Netwerkbeperkings Aan + +Dit mag dalk moontlik wees dat jy genoeg toestemmings het om sensitiewe data (soos die waarde van 'n geheim) te bekom, maar jy kan dit nie bekom nie omdat die sleutelkluis beperk is tot 'n spesifieke netwerk. As jy die toestemming het om die netwerkbeperkings aan te pas, kan jy jou IP by die lys van toegelate IP's voeg. +```bash +# Get the current network restrictions +az keyvault network-rule list --name + +# Add your IP to the list +az keyvault network-rule add --name --ip-address +``` {{#include ../../../banners/hacktricks-training.md}} diff --git a/src/pentesting-cloud/azure-security/az-privilege-escalation/az-logic-apps-privesc.md b/src/pentesting-cloud/azure-security/az-privilege-escalation/az-logic-apps-privesc.md index d6490dafb..b4d2e3d8f 100644 --- a/src/pentesting-cloud/azure-security/az-privilege-escalation/az-logic-apps-privesc.md +++ b/src/pentesting-cloud/azure-security/az-privilege-escalation/az-logic-apps-privesc.md @@ -33,7 +33,7 @@ az rest \ --headers "Content-Type=application/json" ``` ### (`Microsoft.Web/sites/read`, `Microsoft.Web/sites/basicPublishingCredentialsPolicies/read`, `Microsoft.Web/sites/write`, `Microsoft.Web/sites/config/list/action`) && (`Microsoft.Web/sites/start/action`) -Met hierdie toestemmings kan jy Logic App werkvloei ontplooi deur ZIP-lêer ontplooiing. Hierdie toestemmings stel aksies in staat soos om app besonderhede te lees, toegang te verkry tot publikasie geloofsbriewe, veranderinge te skryf, en app konfigurasies te lys. Saam met die begin toestemmings kan jy 'n nuwe Logic App opdateer en ontplooi met die gewenste inhoud. +Met hierdie toestemmings kan jy Logic App werkvloei ontplooi deur ZIP-lêer ontplooiings. Hierdie toestemmings stel aksies in staat soos om app besonderhede te lees, toegang tot publikasie geloofsbriewe te verkry, veranderinge te skryf, en app konfigurasies te lys. Saam met die begin toestemmings kan jy 'n nuwe Logic App opdateer en ontplooi met die gewenste inhoud. ```bash az logicapp deployment source config-zip \ --name \ diff --git a/src/pentesting-cloud/azure-security/az-privilege-escalation/az-mysql-privesc.md b/src/pentesting-cloud/azure-security/az-privilege-escalation/az-mysql-privesc.md index eb05574bc..5e32ddf19 100644 --- a/src/pentesting-cloud/azure-security/az-privilege-escalation/az-mysql-privesc.md +++ b/src/pentesting-cloud/azure-security/az-privilege-escalation/az-mysql-privesc.md @@ -37,7 +37,7 @@ az mysql flexible-server update --resource-group --server- ``` ### `Microsoft.DBforMySQL/flexibleServers/read`, `Microsoft.DBforMySQL/flexibleServers/write`, `Microsoft.ManagedIdentity/userAssignedIdentities/assign/action`, `Microsoft.DBforMySQL/flexibleServers/administrators/write` && `Microsoft.DBforMySQL/flexibleServers/administrators/read` -Met hierdie toestemming kan jy Azure Active Directory (AD) administrateurs vir 'n MySQL Flexible Server konfigureer. Dit kan uitgebuit word deur jouself of 'n ander rekening as die AD-administrator in te stel, wat volle administratiewe beheer oor die MySQL-bediener verleen. Dit is belangrik dat die flexible-server 'n gebruiker toegewyde bestuurde identiteite het om te gebruik. +Met hierdie toestemming kan jy Azure Active Directory (AD) administrateurs vir 'n MySQL Flexible Server konfigureer. Dit kan uitgebuit word deur jouself of 'n ander rekening as die AD-administrator in te stel, wat volle administratiewe beheer oor die MySQL-bediener toeken. Dit is belangrik dat die flexible-server 'n gebruiker toegewyde bestuurde identiteite het om te gebruik. ```bash az mysql flexible-server ad-admin create \ --resource-group \ diff --git a/src/pentesting-cloud/azure-security/az-privilege-escalation/az-postgresql-privesc.md b/src/pentesting-cloud/azure-security/az-privilege-escalation/az-postgresql-privesc.md index 987e7e53d..9a4e73283 100644 --- a/src/pentesting-cloud/azure-security/az-privilege-escalation/az-postgresql-privesc.md +++ b/src/pentesting-cloud/azure-security/az-privilege-escalation/az-postgresql-privesc.md @@ -11,7 +11,7 @@ Vir meer inligting oor SQL Database, kyk: ### `Microsoft.DBforPostgreSQL/flexibleServers/read` && `Microsoft.DBforPostgreSQL/flexibleServers/write` -Met hierdie toestemming kan jy PostgreSQL Flexible Server instansies op Azure skep, opdateer of verwyder. Dit sluit die voorsiening van nuwe bedieners, die wysiging van bestaande bediener konfigurasies, of die afskaling van bedieners in. +Met hierdie toestemming kan jy PostgreSQL Flexible Server instansies op Azure skep, opdateer of verwyder. Dit sluit die voorsiening van nuwe bedieners, die wysiging van bestaande bediener konfigurasies, of die afskakeling van bedieners in. ```bash az postgres flexible-server create \ --name \ @@ -31,13 +31,13 @@ az postgres flexible-server update \ --name \ --admin-password ``` -Boonop is dit nodig om die publieke toegang geaktiveer te hê as jy vanaf 'n nie-private eindpunt wil toegang verkry, om dit te aktiveer: +Boonop is dit nodig om die publieke toegang in te skakel as jy van 'n nie-private eindpunt wil toegang hê, om dit in te skakel: ```bash az postgres flexible-server update --resource-group --server-name --public-access Enabled ``` ### `Microsoft.DBforPostgreSQL/flexibleServers/read`, `Microsoft.DBforPostgreSQL/flexibleServers/write`, `Microsoft.ManagedIdentity/userAssignedIdentities/assign/action`, `Microsoft.DBforPostgreSQL/flexibleServers/administrators/write` && `Microsoft.DBforPostgreSQL/flexibleServers/administrators/read` -Met hierdie toestemming kan jy Azure Active Directory (AD) administrateurs vir 'n PostgreSQL Flexible Server konfigureer. Dit kan uitgebuit word deur jouself of 'n ander rekening as die AD administrateur in te stel, wat volle administratiewe beheer oor die PostgreSQL bediener gee. Dit is nog nie ondersteun om 'n bestaande hoofpersoon op te dateer nie, so as daar een geskep is, moet jy dit eers verwyder. +Met hierdie toestemming kan jy Azure Active Directory (AD) administrateurs vir 'n PostgreSQL Flexible Server konfigureer. Dit kan uitgebuit word deur jouself of 'n ander rekening as die AD-administrator in te stel, wat volle administratiewe beheer oor die PostgreSQL-bediener verleen. Dit is nog nie ondersteun om 'n bestaande hoofpersoon op te dateer nie, so as daar een geskep is, moet jy dit eers verwyder. Dit is belangrik dat die flexible-server 'n gebruiker toegewyde bestuurde identiteite het om te gebruik. ```bash diff --git a/src/pentesting-cloud/azure-security/az-privilege-escalation/az-servicebus-privesc.md b/src/pentesting-cloud/azure-security/az-privilege-escalation/az-servicebus-privesc.md index 596c973ab..d43b98459 100644 --- a/src/pentesting-cloud/azure-security/az-privilege-escalation/az-servicebus-privesc.md +++ b/src/pentesting-cloud/azure-security/az-privilege-escalation/az-servicebus-privesc.md @@ -83,7 +83,7 @@ print("----------------------------") ``` ### Ontvang Berigte. Aksie: `Microsoft.ServiceBus/namespaces/authorizationRules/listkeys/action` OF `Microsoft.ServiceBus/namespaces/authorizationRules/regenerateKeys/action` -Jy kan die PrimaryConnectionString verkry, wat as 'n geloofsbrief vir die Service Bus naamruimte dien. Deur hierdie verbindingsstring te gebruik, kan jy berigte van enige wagte of subskripsie binne die naamruimte ontvang, wat toegang tot potensieel sensitiewe of kritieke data moontlik maak, data-uitvloeiing moontlik maak, of inmeng met boodskapverwerking en toepassingswerkvloei. +Jy kan die PrimaryConnectionString verkry, wat as 'n geloofsbrief vir die Service Bus-namespace dien. Met hierdie verbindingsstring kan jy berigte ontvang van enige wachtrij of subskripsie binne die namespace, wat toegang tot potensieel sensitiewe of kritieke data moontlik maak, data-uitvloeiing moontlik maak, of inmeng met boodskapverwerking en toepassingswerkvloei. ```python #You need to install the following libraries #pip install azure-servicebus diff --git a/src/pentesting-cloud/azure-security/az-privilege-escalation/az-sql-privesc.md b/src/pentesting-cloud/azure-security/az-privilege-escalation/az-sql-privesc.md index 43d30b61a..ac71bf3d6 100644 --- a/src/pentesting-cloud/azure-security/az-privilege-escalation/az-sql-privesc.md +++ b/src/pentesting-cloud/azure-security/az-privilege-escalation/az-sql-privesc.md @@ -12,7 +12,7 @@ Vir meer inligting oor SQL Databasis, kyk: ### `Microsoft.Sql/servers/read` && `Microsoft.Sql/servers/write` -Met hierdie toestemmings kan 'n gebruiker privilige-eskalasie uitvoer deur Azure SQL bedieners op te dateer of te skep en kritieke konfigurasies, insluitend administratiewe akredite, te wysig. Hierdie toestemming stel die gebruiker in staat om bediener eienskappe op te dateer, insluitend die SQL bediener admin wagwoord, wat ongeoorloofde toegang of beheer oor die bediener moontlik maak. Hulle kan ook nuwe bedieners skep, wat potensieel skadu-infrastruktuur vir kwaadwillige doeleindes kan inbring. Dit word veral krities in omgewings waar "Microsoft Entra Authentication Only" gedeaktiveer is, aangesien hulle SQL-gebaseerde verifikasie kan benut om onbeperkte toegang te verkry. +Met hierdie toestemmings kan 'n gebruiker privilige-eskalasie uitvoer deur Azure SQL bedieners op te dateer of te skep en kritieke konfigurasies te wysig, insluitend administratiewe akrediteer. Hierdie toestemming laat die gebruiker toe om bediener eienskappe op te dateer, insluitend die SQL bediener admin wagwoord, wat ongeoorloofde toegang of beheer oor die bediener moontlik maak. Hulle kan ook nuwe bedieners skep, wat potensieel skadu-infrastruktuur vir kwaadwillige doeleindes kan inbring. Dit word veral krities in omgewings waar "Microsoft Entra Authentication Only" gedeaktiveer is, aangesien hulle SQL-gebaseerde verifikasie kan benut om onbeperkte toegang te verkry. ```bash # Change the server password az sql server update \ @@ -74,7 +74,7 @@ LET WEL: Dit is nodig om die publieke toegang geaktiveer te hê. ### `Microsoft.Sql/servers/administrators/write` && `Microsoft.Sql/servers/administrators/read` -Met hierdie toestemmings kan jy privesc in 'n Azure SQL Server omgewing deur toegang te verkry tot SQL databasisse en kritieke inligting te onttrek. Met die onderstaande opdrag kan 'n aanvaller of gemagtigde gebruiker hulself of 'n ander rekening as die Azure AD administrateur stel. As "Microsoft Entra Authentication Only" geaktiveer is, kan jy toegang tot die bediener en sy instansies verkry. Hier is die opdrag om die Azure AD administrateur vir 'n SQL bediener in te stel: +Met hierdie toestemmings kan jy privesc in 'n Azure SQL Server omgewing deur toegang te verkry tot SQL databasisse en kritieke inligting te onttrek. Deur die onderstaande opdrag te gebruik, kan 'n aanvaller of gemagtigde gebruiker hulself of 'n ander rekening as die Azure AD administrateur stel. As "Microsoft Entra Authentication Only" geaktiveer is, kan jy toegang tot die bediener en sy instansies verkry. Hier is die opdrag om die Azure AD administrateur vir 'n SQL bediener in te stel: ```bash az sql server ad-admin create \ --server \ diff --git a/src/pentesting-cloud/azure-security/az-privilege-escalation/az-storage-privesc.md b/src/pentesting-cloud/azure-security/az-privilege-escalation/az-storage-privesc.md index c2807761b..228469684 100644 --- a/src/pentesting-cloud/azure-security/az-privilege-escalation/az-storage-privesc.md +++ b/src/pentesting-cloud/azure-security/az-privilege-escalation/az-storage-privesc.md @@ -70,7 +70,7 @@ Dit behoort 'n gebruiker met hierdie toestemming in staat te stel om aksies binn ### `Microsoft.Storage/storageAccounts/localusers/write (Microsoft.Storage/storageAccounts/localusers/read)` -Met hierdie toestemming kan 'n aanvaller 'n nuwe plaaslike gebruiker vir 'n Azure Storage-rekening (gekonfigureer met hiërargiese naamruimte) skep en opdateer (indien hy die `Microsoft.Storage/storageAccounts/localusers/read` toestemming het), insluitend die spesifisering van die gebruiker se toestemmings en tuisgids. Hierdie toestemming is belangrik omdat dit die aanvaller in staat stel om hulself toegang tot 'n stoorrekening met spesifieke toestemmings soos lees (r), skryf (w), verwyder (d), en lys (l) en meer te verleen. Boonop kan die verifikasiemetodes wat dit gebruik Azure-gegeneerde wagwoorde en SSH-sleutelpaar wees. Daar is geen kontrole of 'n gebruiker reeds bestaan nie, so jy kan ander gebruikers wat reeds daar is, oorskryf. Die aanvaller kan hul bevoegdhede opgradeer en SSH-toegang tot die stoorrekening verkry, wat moontlik sensitiewe data blootstel of in gevaar stel. +Met hierdie toestemming kan 'n aanvaller 'n nuwe plaaslike gebruiker vir 'n Azure Storage-rekening (gekonfigureer met hiërargiese naamruimte) skep en opdateer (indien hy die `Microsoft.Storage/storageAccounts/localusers/read` toestemming het), insluitend die spesifisering van die gebruiker se toestemmings en tuisgids. Hierdie toestemming is belangrik omdat dit die aanvaller in staat stel om hulself toegang tot 'n stoorrekening met spesifieke toestemmings soos lees (r), skryf (w), verwyder (d), en lys (l) en meer te verleen. Boonop kan die autentikasie metodes wat dit gebruik Azure-gegeneerde wagwoorde en SSH-sleutelpare wees. Daar is geen kontrole of 'n gebruiker reeds bestaan nie, so jy kan ander gebruikers wat reeds daar is oorskryf. Die aanvaller kan hul voorregte opgradeer en SSH-toegang tot die stoorrekening verkry, wat moontlik sensitiewe data blootstel of in gevaar stel. ```bash az storage account local-user create \ --account-name \ @@ -96,7 +96,7 @@ sftp .@.blob.core.w ``` ### `Microsoft.Storage/storageAccounts/restoreBlobRanges/action`, `Microsoft.Storage/storageAccounts/blobServices/containers/read`, `Microsoft.Storage/storageAccounts/read` && `Microsoft.Storage/storageAccounts/listKeys/action` -Met hierdie toestemmings kan 'n aanvaller 'n verwyderde houer herstel deur sy verwyderde weergawe-ID te spesifiseer of spesifieke blobs binne 'n houer te onttrek, indien hulle voorheen sag-verwyder was. Hierdie voorregverhoging kan 'n aanvaller in staat stel om sensitiewe data te herstel wat bedoel was om permanent verwyder te word, wat moontlik kan lei tot ongemagtigde toegang. +Met hierdie toestemmings kan 'n aanvaller 'n verwyderde houer herstel deur sy verwyderde weergawe-ID te spesifiseer of spesifieke blobs binne 'n houer te onttrek, indien hulle voorheen sag-verwyder was. Hierdie privilige-eskalasie kan 'n aanvaller in staat stel om sensitiewe data te herstel wat bedoel was om permanent verwyder te word, wat moontlik kan lei tot ongemagtigde toegang. ```bash #Restore the soft deleted container az storage container restore \ diff --git a/src/pentesting-cloud/azure-security/az-services/az-azuread.md b/src/pentesting-cloud/azure-security/az-services/az-azuread.md index c46d86391..c9e44ff05 100644 --- a/src/pentesting-cloud/azure-security/az-services/az-azuread.md +++ b/src/pentesting-cloud/azure-security/az-services/az-azuread.md @@ -4,11 +4,11 @@ ## Basiese Inligting -Azure Active Directory (Azure AD) dien as Microsoft se wolk-gebaseerde diens vir identiteit en toegang bestuur. Dit is noodsaaklik om werknemers in staat te stel om aan te meld en toegang te verkry tot hulpbronne, beide binne en buite die organisasie, insluitend Microsoft 365, die Azure-portaal, en 'n verskeidenheid ander SaaS-toepassings. Die ontwerp van Azure AD fokus op die lewering van noodsaaklike identiteit dienste, wat prominent **authentisering, autorisasie, en gebruikersbestuur** insluit. +Azure Active Directory (Azure AD) dien as Microsoft se wolk-gebaseerde diens vir identiteit en toegang bestuur. Dit is noodsaaklik om werknemers in staat te stel om aan te meld en toegang tot hulpbronne te verkry, beide binne en buite die organisasie, insluitend Microsoft 365, die Azure-portaal, en 'n verskeidenheid ander SaaS-toepassings. Die ontwerp van Azure AD fokus op die lewering van noodsaaklike identiteitsdienste, wat prominent **autentisering, magtiging, en gebruikersbestuur** insluit. -Belangrike kenmerke van Azure AD sluit **multi-faktor authentisering** en **voorwaardelike toegang** in, tesame met naatlose integrasie met ander Microsoft sekuriteitsdienste. Hierdie kenmerke verhoog die sekuriteit van gebruikersidentiteite aansienlik en bemagtig organisasies om hul toegangbeleide effektief te implementeer en af te dwing. As 'n fundamentele komponent van Microsoft se wolkdienste-ekosisteem, is Azure AD van kardinale belang vir die wolk-gebaseerde bestuur van gebruikersidentiteite. +Belangrike kenmerke van Azure AD sluit **multi-faktor autentisering** en **voorwaardelike toegang** in, tesame met naatlose integrasie met ander Microsoft-sekuriteitsdienste. Hierdie kenmerke verhoog die sekuriteit van gebruikersidentiteite aansienlik en bemagtig organisasies om hul toegangbeleide effektief te implementeer en af te dwing. As 'n fundamentele komponent van Microsoft se wolkdienste-ekosisteem, is Azure AD van kardinale belang vir die wolk-gebaseerde bestuur van gebruikersidentiteite. -## Opsomming +## Enumerasie ### **Verbinding** @@ -487,7 +487,7 @@ Eienaars van die groep kan nuwe gebruikers by die groep voeg Add-AzureADGroupMember -ObjectId -RefObjectId -Verbose ``` > [!WARNING] -> Groepe kan dinamies wees, wat basies beteken dat **as 'n gebruiker aan sekere voorwaardes voldoen, sal hy by 'n groep gevoeg word**. Natuurlik, as die voorwaardes gebaseer is op **eienskappe** wat 'n **gebruiker** kan **beheer**, kan hy hierdie funksie misbruik om **in ander groepe te kom**.\ +> Groepe kan dinamies wees, wat basies beteken dat **as 'n gebruiker aan sekere voorwaardes voldoen, sal hy aan 'n groep bygevoeg word**. Natuurlik, as die voorwaardes gebaseer is op **eienskappe** wat 'n **gebruiker** kan **beheer**, kan hy hierdie funksie misbruik om **in ander groepe te kom**.\ > Kyk hoe om dinamiese groepe te misbruik op die volgende bladsy: {{#ref}} @@ -601,7 +601,7 @@ Get-AzureADServicePrincipal -ObjectId | Get-AzureADServicePrincipalMembersh
-lys en probeer om 'n kliënt geheim by elke Enterprise App te voeg +Lyste en probeer om 'n kliënt geheim by elke Enterprise App te voeg ```bash # Just call Add-AzADAppSecret Function Add-AzADAppSecret @@ -797,16 +797,16 @@ Get-AzureADApplication -ObjectId | Get-AzureADApplicationOwner |fl * > [!NOTE] > 'n Geheime string wat die toepassing gebruik om sy identiteit te bewys wanneer dit 'n token aan vra, is die toepassingswagwoord.\ -> So, as jy hierdie **wagwoord** vind, kan jy toegang verkry as die **dienshoof** **binne** die **huurder**.\ +> So, as jy hierdie **wagwoord** vind, kan jy toegang verkry as die **service principal** **binne** die **tenant**.\ > Let daarop dat hierdie wagwoord slegs sigbaar is wanneer dit gegenereer word (jy kan dit verander, maar jy kan dit nie weer kry nie).\ > Die **eienaar** van die **toepassing** kan 'n **wagwoord** daaraan **byvoeg** (sodat hy dit kan naboots).\ -> Aanmeldings as hierdie dienshoofde is **nie as riskant gemerk nie** en hulle **sal nie MFA hê nie.** +> Aanmeldings as hierdie service principals is **nie as riskant gemerk nie** en hulle **sal nie MFA hê nie.** Dit is moontlik om 'n lys van algemeen gebruikte App ID's wat aan Microsoft behoort te vind in [https://learn.microsoft.com/en-us/troubleshoot/entra/entra-id/governance/verify-first-party-apps-sign-in#application-ids-of-commonly-used-microsoft-applications](https://learn.microsoft.com/en-us/troubleshoot/entra/entra-id/governance/verify-first-party-apps-sign-in#application-ids-of-commonly-used-microsoft-applications) ### Gemanagte Identiteite -Vir meer inligting oor Gemanagte Identiteite, kyk: +Vir meer inligting oor Gemanagte Identiteite kyk: {{#ref}} ../az-basic-information/ @@ -1090,7 +1090,7 @@ Get-AzureADMSScopedRoleMembership -Id | fl #Get role ID and role members Privileged Identity Management (PIM) in Azure help om **oormatige voorregte** te voorkom wat onnodig aan gebruikers toegeken word. -Een van die hoofkenmerke wat deur PIM verskaf word, is dat dit toelaat om nie rolle aan principals toe te ken wat konstant aktief is nie, maar om hulle **verkieslik vir 'n tydperk (bv. 6 maande)** te maak. Dan, wanneer die gebruiker daardie rol wil aktiveer, moet hy daarvoor vra en die tyd aan dui wat hy die voorreg nodig het (bv. 3 ure). Dan moet 'n **admin die versoek goedkeur**.\ +Een van die hoofkenmerke wat deur PIM verskaf word, is dat dit toelaat om nie rolle aan principals toe te ken wat konstant aktief is nie, maar om hulle **verkieslik te maak vir 'n tydperk (bv. 6 maande)**. Dan, wanneer die gebruiker daardie rol wil aktiveer, moet hy daarvoor vra en die tyd aan dui wat hy die voorreg nodig het (bv. 3 uur). Dan moet 'n **admin die versoek goedkeur**.\ Let daarop dat die gebruiker ook kan vra om die tyd te **verleng**. Boonop, **PIM stuur e-posse** wanneer 'n voorregte rol aan iemand toegeken word. @@ -1102,10 +1102,10 @@ Wanneer PIM geaktiveer is, is dit moontlik om elke rol met sekere vereistes te k - Maksimum duur (ure) van aktivering - Vereis MFA op aktivering - Vereis voorwaardelike toegang autentikasie konteks -- Vereis regverdigheid op aktivering +- Vereis regverdigings op aktivering - Vereis kaartjie-inligting op aktivering - Vereis goedkeuring om te aktiveer -- Maks tyd om die verkieslike toewysings te laat verval +- Maks tyd om die verkieslike toekennings te laat verval - Nog baie meer konfigurasie oor wanneer en aan wie om kennisgewings te stuur wanneer sekere aksies met daardie rol gebeur ### Voorwaardelike Toegang Beleide @@ -1132,7 +1132,7 @@ Dit laat die admin toe om dit te konfigureer om **pogings te blokkeer** wanneer Entra Wagwoordbeskerming ([https://portal.azure.com/index.html#view/Microsoft_AAD_ConditionalAccess/PasswordProtectionBlade](https://portal.azure.com/#view/Microsoft_AAD_ConditionalAccess/PasswordProtectionBlade)) is 'n sekuriteitskenmerk wat **help om die misbruik van swak wagwoorde te voorkom deur rekeninge te sluit wanneer verskeie onsuksesvolle aanmeldpogings plaasvind**.\ Dit laat ook toe om 'n **aangepaste wagwoordlys te verbied** wat jy moet verskaf. -Dit kan **op beide** die wolkvlak en op-premises Aktiewe Gids toegepas word. +Dit kan **op beide** die wolkvlak en op-premises Aktiewe Directory toegepas word. Die standaardmodus is **Oudit**: diff --git a/src/pentesting-cloud/azure-security/az-services/az-cloud-shell.md b/src/pentesting-cloud/azure-security/az-services/az-cloud-shell.md index 718856c7c..591565124 100644 --- a/src/pentesting-cloud/azure-security/az-services/az-cloud-shell.md +++ b/src/pentesting-cloud/azure-security/az-services/az-cloud-shell.md @@ -4,17 +4,17 @@ ## Azure Cloud Shell -**Azure Cloud Shell** is 'n interaktiewe, geverifieerde, blaartoegang terminal wat ontwerp is om Azure hulpbronne te bestuur, en bied die buigsaamheid om met of Bash of PowerShell te werk. Dit loop op 'n tydelike, per-sessie gasheer wat na 20 minute van inaktiwiteit tydelik is, terwyl dit lêers in die $HOME ligging behou met behulp van 'n 5-GB lêerdeel. Cloud Shell kan deur verskeie punte toeganklik gemaak word, insluitend die Azure portaal, shell.azure.com, Azure CLI en PowerShell dokumentasie, die Azure mobiele app, en die Visual Studio Code Azure Account uitbreiding. +**Azure Cloud Shell** is 'n interaktiewe, geverifieerde, blaartoegang terminal wat ontwerp is om Azure hulpbronne te bestuur, wat die buigsaamheid bied om met of Bash of PowerShell te werk. Dit loop op 'n tydelike, per-sessie gasheer wat na 20 minute van inaktiwiteit tydelik is, terwyl dit lêers in die $HOME ligging behou met behulp van 'n 5-GB lêerdeel. Cloud Shell kan deur verskeie punte toeganklik gemaak word, insluitend die Azure portaal, shell.azure.com, Azure CLI en PowerShell dokumentasie, die Azure mobiele app, en die Visual Studio Code Azure Account uitbreiding. Daar is geen toestemmings aan hierdie diens toegeken nie, daarom is daar geen voorregverhoging tegnieke nie. Ook is daar geen soort van enumerasie nie. ### Sleutelkenmerke **Omgewing**: Azure Cloud Shell bied 'n veilige omgewing deur op Azure Linux te loop, Microsoft se eie Linux verspreiding wat ontwerp is vir wolkinfrastruktuur. Alle pakkette ingesluit in die Azure Linux repository is intern saamgestel deur Microsoft om teen voorsieningskettingaanvalle te beskerm. -**Vooraf geïnstalleerde Gereedskap**: Cloud Shell sluit 'n omvattende stel van vooraf geïnstalleerde gereedskap in soos Azure CLI, Azure PowerShell, Terraform, Docker CLI, Ansible, Git, en teksredigeerders soos vim, nano, en emacs. Hierdie gereedskap is gereed om te gebruik. Om die geïnstalleerde pakkette en modules te lys, kan jy "Get-Module -ListAvailable", "tdnf list" en "pip3 list" gebruik. +**Vooraf geïnstalleerde Gereedskap**: Cloud Shell sluit 'n omvattende stel van vooraf geïnstalleerde gereedskap in soos Azure CLI, Azure PowerShell, Terraform, Docker CLI, Ansible, Git, en teksredigeerders soos vim, nano, en emacs. Hierdie gereedskap is gereed om te gebruik. Om die geïnstalleerde pakkette en modules te lys kan jy "Get-Module -ListAvailable", "tdnf list" en "pip3 list" gebruik. **$HOME volharding**: Wanneer jy Azure Cloud Shell vir die eerste keer begin, kan jy dit met of sonder 'n aangehegte stoorrekening gebruik. Om nie stoor aan te heg nie, skep 'n ephemerale sessie waar lêers verwyder word wanneer die sessie eindig. Om lêers oor sessies te behou, monteer 'n stoorrekening, wat outomaties as **$HOME\clouddrive** aangeheg word, met jou **$HOME** gids wat as 'n **.img** lêer in Azure File Share gestoor word. Lêers buite $HOME en masjienstate word egter nie behou nie. Vir die veilige stoor van geheime soos SSH sleutels, gebruik Azure Key Vault. -**Azure dryf (Azure:)**: PowerShell in Azure Cloud Shell sluit die Azure dryf (Azure:) in, wat maklike navigasie van Azure hulpbronne soos Compute, Network, en Storage met behulp van lêerstelsels soos opdragte toelaat. Skakel na die Azure dryf met cd Azure: en keer terug na jou tuisgids met cd ~. Jy kan steeds Azure PowerShell cmdlets gebruik om hulpbronne van enige dryf te bestuur. -**Pasgemaakte Gereedskap Installasie**: Gebruikers wat Cloud Shell met 'n stoorrekening konfigureer, kan addisionele gereedskap installeer wat nie worteltoestemmings vereis nie. Hierdie kenmerk stel gebruikers in staat om die Cloud Shell omgewing verder aan te pas, wat gebruikers in staat stel om hul opstelling aan hul spesifieke behoeftes aan te pas. +**Azure dryf (Azure:)**: PowerShell in Azure Cloud Shell sluit die Azure dryf (Azure:) in, wat maklike navigasie van Azure hulpbronne soos Compute, Network, en Storage met behulp van lêerstelsel-agtige opdragte toelaat. Skakel na die Azure dryf met cd Azure: en keer terug na jou tuisgids met cd ~. Jy kan steeds Azure PowerShell cmdlets gebruik om hulpbronne van enige dryf te bestuur. +**Pasgemaakte Gereedskap Installasie**: Gebruikers wat Cloud Shell met 'n stoorrekening konfigureer, kan addisionele gereedskap installeer wat nie worteltoestemmings vereis nie. Hierdie kenmerk stel gebruikers in staat om die Cloud Shell omgewing verder aan te pas, wat hulle in staat stel om hul opstelling aan hul spesifieke behoeftes aan te pas. ## Verwysings diff --git a/src/pentesting-cloud/azure-security/az-services/az-cosmosDB.md b/src/pentesting-cloud/azure-security/az-services/az-cosmosDB.md index 03851e4f0..824a6a4b8 100644 --- a/src/pentesting-cloud/azure-security/az-services/az-cosmosDB.md +++ b/src/pentesting-cloud/azure-security/az-services/az-cosmosDB.md @@ -8,7 +8,7 @@ Azure Cosmos DB bied verskeie databasis API's om werklike data te modelleer met behulp van dokumente, relationele, sleutel-waarde, grafiek, en kolom-familie datamodelles, wat hierdie API's NoSQL, MongoDB, PostgreSQL, Cassandra, Gremlin en Tabel is. -Een sleutel aspek van CosmosDB is Azure Cosmos Account. **Azure Cosmos Account** dien as die toegangspunt tot die databasisse. Die rekening bepaal sleutelinstellings soos globale verspreiding, konsekwentievlakke, en die spesifieke API wat gebruik moet word, soos NoSQL. Deur die rekening kan jy globale replikaasies instel om te verseker dat data beskikbaar is oor verskeie streke vir lae-latensie toegang. Boonop kan jy 'n konsekwentievlak kies wat 'n balans tussen prestasie en datanauwkeurigheid handhaaf, met opsies wat wissel van Sterk tot Finale konsekwentheid. +Een sleutel aspek van CosmosDB is Azure Cosmos Account. **Azure Cosmos Account** dien as die toegangspunt tot die databasisse. Die rekening bepaal sleutelinstellings soos globale verspreiding, konsekwentievlakke, en die spesifieke API wat gebruik moet word, soos NoSQL. Deur die rekening kan jy globale replikaasies instel om te verseker dat data beskikbaar is oor verskeie streke vir lae-latensie toegang. Boonop kan jy 'n konsekwentievlak kies wat 'n balans tussen prestasie en datanauwkeurigheid handhaaf, met opsies wat wissel van Sterk tot Geleidelike konsekwentheid. ### NoSQL (sql) Die Azure Cosmos DB NoSQL API is 'n dokument-gebaseerde API wat JSON as sy dataformaat gebruik. Dit bied 'n SQL-agtige vraagsintaksis vir die ondervraging van JSON-objekte, wat dit geskik maak vir die werk met gestruktureerde en semi-gestruktureerde data. Die eindpunt van die diens is: @@ -110,7 +110,7 @@ Get-AzCosmosDBSqlUserDefinedFunction -ResourceGroupName "" -A #### Verbinding -Om die azure-cosmosDB (pip install azure-cosmos) biblioteek te verbind, is dit nodig. Boonop is die eindpunt en die sleutel belangrike komponente om die verbinding te maak. +Om die azure-cosmosDB (pip install azure-cosmos) biblioteek te verbind, is dit nodig. Boonop is die eindpunt en die sleutel kritieke komponente om die verbinding te maak. ```python from azure.cosmos import CosmosClient, PartitionKey @@ -175,7 +175,7 @@ container.create_item(item) print("Document inserted.") ``` ### MongoDB -Die MongoDB NoSQL API is 'n dokument-gebaseerde API wat JSON-agtige BSON (Binary JSON) as sy dataformaat gebruik. Dit bied 'n navraagtaal met aggregasievermoëns, wat dit geskik maak vir die werk met gestruktureerde, semi-gestruktureerde en ongestruktureerde data. Die eindpunt van die diens volg tipies hierdie formaat: +Die MongoDB NoSQL API is 'n dokument-gebaseerde API wat JSON-agtige BSON (Binary JSON) as sy dataformaat gebruik. Dit bied 'n navraagtaal met aggregasie vermoëns, wat dit geskik maak vir die werk met gestruktureerde, semi-gestruktureerde en ongestruktureerde data. Die eindpunt van die diens volg tipies hierdie formaat: ```bash mongodb://:/ ``` diff --git a/src/pentesting-cloud/azure-security/az-services/az-file-shares.md b/src/pentesting-cloud/azure-security/az-services/az-file-shares.md index bd77f2e06..6dcb24e60 100644 --- a/src/pentesting-cloud/azure-security/az-services/az-file-shares.md +++ b/src/pentesting-cloud/azure-security/az-services/az-file-shares.md @@ -4,13 +4,13 @@ ## Basiese Inligting -**Azure Files** is 'n volledig bestuurde wolk lêeropbergingsdiens wat gedeelde lêeropberging bied wat toeganklik is via standaard **SMB (Server Message Block)** en **NFS (Network File System)** protokolle. Alhoewel die hoof protokol wat gebruik word SMB is, word NFS Azure lêer gedeeltes nie ondersteun vir Windows nie (volgens die [**docs**](https://learn.microsoft.com/en-us/azure/storage/files/files-nfs-protocol)). Dit stel jou in staat om hoogs beskikbare netwerk lêer gedeeltes te skep wat gelyktydig deur verskeie virtuele masjiene (VMs) of plaaslike stelsels toeganklik gemaak kan word, wat naatlose lêerdeling oor omgewings moontlik maak. +**Azure Files** is 'n volledig bestuurde wolk lêeropbergingsdiens wat gedeelde lêeropberging bied wat toeganklik is via standaard **SMB (Server Message Block)** en **NFS (Network File System)** protokolle. Alhoewel die hoof protokol wat gebruik word SMB is, word NFS Azure lêer deel nie ondersteun vir Windows (volgens die [**docs**](https://learn.microsoft.com/en-us/azure/storage/files/files-nfs-protocol)). Dit stel jou in staat om hoogs beskikbare netwerk lêer dele te skep wat gelyktydig deur verskeie virtuele masjiene (VMs) of plaaslike stelsels toeganklik gemaak kan word, wat naatlose lêerdeling oor omgewings moontlik maak. ### Toegang Lae - **Transaksie Geoptimaliseer**: Geoptimaliseer vir transaksie-sware operasies. -- **Warm**: Gebalanseerd tussen transaksies en opberging. -- **Koel**: Kostedoeltreffend vir opberging. +- **Warm**: Gebalanseerd tussen transaksies en stoor. +- **Koel**: Kostedoeltreffend vir stoor. - **Premium:** Hoë-prestasie lêeropberging geoptimaliseer vir lae-latensie en IOPS-intensiewe werklas. ### Rugsteun @@ -23,9 +23,9 @@ ### Gesteunde Outentikasies via SMB -- **Plaaslike AD DS Outentikasie**: Dit gebruik plaaslike Active Directory akrediteerlinge wat gesinkroniseer is met Microsoft Entra ID vir identiteit-gebaseerde toegang. Dit vereis netwerkverbinding met plaaslike AD DS. -- **Microsoft Entra Domein Dienste Outentikasie**: Dit benut Microsoft Entra Domein Dienste (wolke-gebaseerde AD) om toegang te bied met Microsoft Entra akrediteerlinge. -- **Microsoft Entra Kerberos vir Hibrid Identiteite**: Dit stel Microsoft Entra gebruikers in staat om Azure lêer gedeeltes oor die internet te outentiseer met behulp van Kerberos. Dit ondersteun hibrid Microsoft Entra-verbonden of Microsoft Entra-verbonden VMs sonder om verbinding met plaaslike domeinbeheerder te vereis. Maar dit ondersteun nie wolk-slegs identiteite nie. +- **Plaaslike AD DS Outentikasie**: Dit gebruik plaaslike Active Directory akrediteerlinge wat gesinkroniseer is met Microsoft Entra ID vir identiteitsgebaseerde toegang. Dit vereis netwerkverbinding met plaaslike AD DS. +- **Microsoft Entra Domein Dienste Outentikasie**: Dit benut Microsoft Entra Domein Dienste (wolk-gebaseerde AD) om toegang te bied met Microsoft Entra akrediteerlinge. +- **Microsoft Entra Kerberos vir Hibrid Identiteite**: Dit stel Microsoft Entra gebruikers in staat om Azure lêer dele oor die internet te outentiseer met behulp van Kerberos. Dit ondersteun hibrid Microsoft Entra-verbonden of Microsoft Entra-verbonden VMs sonder om verbinding met plaaslike domeinbeheerders te vereis. Maar dit ondersteun nie wolk-slegs identiteite nie. - **AD Kerberos Outentikasie vir Linux Kliënte**: Dit stel Linux kliënte in staat om Kerberos te gebruik vir SMB outentikasie via plaaslike AD DS of Microsoft Entra Domein Dienste. ## Enumerasie @@ -136,7 +136,7 @@ open smb://:@.file.core.windows.ne {{#endtab}} {{#endtabs}} -### Gereelde stoorenumerasie (toegang sleutels, SAS...) +### Gereelde stooropsporing (toegang sleutels, SAS...) {{#ref}} az-storage.md diff --git a/src/pentesting-cloud/azure-security/az-services/az-function-apps.md b/src/pentesting-cloud/azure-security/az-services/az-function-apps.md index ff10af630..7753c2876 100644 --- a/src/pentesting-cloud/azure-security/az-services/az-function-apps.md +++ b/src/pentesting-cloud/azure-security/az-services/az-function-apps.md @@ -11,24 +11,24 @@ ### Verskillende Planne -- **Flex Consumption Plan**: Bied **dinamiese, gebeurtenis-gedrewe skaal** met 'n betaal-vir-wat-jy-gebruik prys, wat funksie-instanties byvoeg of verwyder gebaseer op vraag. Dit ondersteun **virtuele netwerke** en **vooraf-geprovisioneerde instanties** om koue begin te verminder, wat dit geskik maak vir **veranderlike werklas** wat nie hou van hou van hou nie. -- **Tradisionele Consumption Plan**: Die standaard serverless opsie, waar jy **net betaal vir rekenaarbronne wanneer funksies loop**. Dit skaal outomaties gebaseer op inkomende gebeurtenisse en sluit **koue begin optimalisering** in, maar ondersteun nie hou van hou nie. Ideaal vir **intermitterende werklas** wat outomatiese skaal vereis. +- **Flex Consumption Plan**: Bied **dinamiese, gebeurtenis-gedrewe skaal** met 'n betaal-vir-wat-jy-gebruik prysmodel, wat funksie-instanties byvoeg of verwyder op grond van vraag. Dit ondersteun **virtuele netwerke** en **vooraf-geprovisioneerde instanties** om koue begin te verminder, wat dit geskik maak vir **veranderlike werklas** wat nie houerondersteuning vereis nie. +- **Traditional Consumption Plan**: Die standaard serverless opsie, waar jy **net betaal vir rekenaarbronne wanneer funksies loop**. Dit skaal outomaties op grond van inkomende gebeurtenisse en sluit **koue begin optimalisering** in, maar ondersteun nie houerontplooiings nie. Ideaal vir **intermitterende werklas** wat outomatiese skaal vereis. - **Premium Plan**: Ontwerp vir **konstante prestasie**, met **voorverhitte werkers** om koue begin te elimineer. Dit bied **verlengde uitvoertye, virtuele netwerke**, en ondersteun **pasgemaakte Linux beelde**, wat dit perfek maak vir **missie-kritieke toepassings** wat hoë prestasie en gevorderde funksies benodig. -- **Toegewyd Plan**: Loop op toegewyde virtuele masjiene met **voorspelbare fakturering** en ondersteun handmatige of outomatiese skaal. Dit laat toe om verskeie toepassings op dieselfde plan te loop, bied **rekenaar isolasie**, en verseker **veilige netwerktoegang** via App Service Omgewings, wat dit ideaal maak vir **lanklopende toepassings** wat konstante hulpbron toewysing benodig. -- **Container Apps**: Maak dit moontlik om **gecontaineriseerde funksie-apps** in 'n bestuurde omgewing te ontplooi, langs mikro-dienste en API's. Dit ondersteun pasgemaakte biblioteke, erfenis app migrasie, en **GPU verwerking**, wat Kubernetes kluster bestuur elimineer. Ideaal vir **gebeurtenis-gedrewe, skaalbare gecontaineriseerde toepassings**. +- **Dedicated Plan**: Loop op toegewyde virtuele masjiene met **voorspelbare fakturering** en ondersteun handmatige of outomatiese skaal. Dit laat toe om verskeie toepassings op dieselfde plan te laat loop, bied **rekenaarisolasie**, en verseker **veilige netwerktoegang** via App Service Omgewings, wat dit ideaal maak vir **lanklopende toepassings** wat konstante hulpbron toewysing benodig. +- **Container Apps**: Maak dit moontlik om **gecontaineriseerde funksie-apps** in 'n bestuurde omgewing te ontplooi, langs mikro-dienste en API's. Dit ondersteun pasgemaakte biblioteke, erfenis app migrasie, en **GPU verwerking**, wat die bestuur van Kubernetes klusters elimineer. Ideaal vir **gebeurtenis-gedrewe, skaalbare gecontaineriseerde toepassings**. ### **Stoor Emmers** Wanneer 'n nuwe Function App geskep word wat nie gecontaineriseerd is nie (maar die kode om te loop gee), sal die **kode en ander funksie-verwante data in 'n Stoor rekening gestoor word**. Standaard sal die webkonsol 'n nuwe een per funksie skep om die kode te stoor. -Boonop, deur die kode binne die emmer te wysig (in die verskillende formate waarin dit gestoor kan word), sal die **kode van die app gewysig word na die nuwe een en uitgevoer** word die volgende keer dat die Funksie genoem word. +Boonop, deur die kode binne die emmer te wysig (in die verskillende formate waarin dit gestoor kan word), sal die **kode van die app na die nuwe een gewysig word en die volgende keer wanneer die Funksie genoem word, uitgevoer word**. > [!CAUTION] > Dit is baie interessant vanuit 'n aanvaller se perspektief aangesien **skrywe toegang oor hierdie emmer** 'n aanvaller sal toelaat om die **kode te kompromitteer en bevoegdhede te verhoog** na die bestuurde identiteite binne die Function App. > > Meer hieroor in die **bevoegdheid verhoging afdeling**. -Dit is ook moontlik om die **master en funksies sleutels** wat in die stoor rekening gestoor is, in die houer **`azure-webjobs-secrets`** binne die gids **``** in die JSON-lêers wat jy binne kan vind. +Dit is ook moontlik om die **master en funksiesleutels** wat in die stoor rekening gestoor is, in die houer **`azure-webjobs-secrets`** binne die gids **``** in die JSON-lêers wat jy daarbinne kan vind. Let daarop dat Funksies ook toelaat om die kode in 'n afgeleë plek te stoor deur net die URL daarna te dui. @@ -36,7 +36,7 @@ Let daarop dat Funksies ook toelaat om die kode in 'n afgeleë plek te stoor deu Met 'n HTTP-trigger: -- Dit is moontlik om **toegang tot 'n funksie van die hele Internet** te gee sonder om enige verifikasie te vereis of toegang IAM-gebaseerd te gee. Alhoewel dit ook moontlik is om hierdie toegang te beperk. +- Dit is moontlik om **toegang tot 'n funksie van die hele Internet te gee** sonder om enige verifikasie te vereis of toegang op IAM-basis te gee. Alhoewel dit ook moontlik is om hierdie toegang te beperk. - Dit is ook moontlik om **toegang te gee of te beperk** tot 'n Function App van **'n interne netwerk (VPC)**. > [!CAUTION] @@ -44,9 +44,9 @@ Met 'n HTTP-trigger: ### **Function App Instellings & Omgewing Veranderlikes** -Dit is moontlik om omgewing veranderlikes binne 'n app te konfigureer, wat sensitiewe inligting kan bevat. Boonop, standaard word die omgewing veranderlikes **`AzureWebJobsStorage`** en **`WEBSITE_CONTENTAZUREFILECONNECTIONSTRING`** (onder andere) geskep. Hierdie is spesiaal interessant omdat hulle **die rekening sleutel bevat om met VOLLE toestemmings die stoor rekening wat die data van die toepassing bevat te beheer**. Hierdie instellings is ook nodig om die kode van die Stoor Rekening uit te voer. +Dit is moontlik om omgewing veranderlikes binne 'n app te konfigureer, wat sensitiewe inligting kan bevat. Boonop, standaard word die omgewing veranderlikes **`AzureWebJobsStorage`** en **`WEBSITE_CONTENTAZUREFILECONNECTIONSTRING`** (onder andere) geskep. Hierdie is spesiaal interessant omdat hulle **die rekening sleutel bevat om met VOLLE toestemmings die stoor rekening wat die data van die toepassing bevat, te beheer**. Hierdie instellings is ook nodig om die kode van die Stoor Rekening uit te voer. -Hierdie omgewing veranderlikes of konfigurasie parameters beheer ook hoe die Funksie die kode uitvoer, byvoorbeeld as **`WEBSITE_RUN_FROM_PACKAGE`** bestaan, sal dit die URL aandui waar die kode van die toepassing geleë is. +Hierdie omgewing veranderlikes of konfigurasieparameters beheer ook hoe die Funksie die kode uitvoer, byvoorbeeld as **`WEBSITE_RUN_FROM_PACKAGE`** bestaan, sal dit die URL aandui waar die kode van die toepassing geleë is. ### **Function Sandbox** @@ -56,36 +56,36 @@ In 'n **Windows** funksie wat NodeJS gebruik, was die kode geleë in **`C:\home\ ### **Bestuurde Identiteite & Metadata** -Net soos [**VMs**](vms/index.html), kan Funksies **Bestuurde Identiteite** van 2 tipes hê: Stelsel toegeken en Gebruiker toegeken. +Net soos [**VMs**](vms/index.html), kan Funksies **Bestuurde Identiteite** van 2 tipes hê: Stelsel toegewy en Gebruiker toegewy. -Die **stelsel toegeken** een sal 'n bestuurde identiteit wees wat **net die funksie** wat dit toegeken het, kan gebruik, terwyl die **gebruiker toegeken** bestuurde identiteite bestuurde identiteite is wat **enige ander Azure diens kan gebruik**. +Die **stelsel toegewy** een sal 'n bestuurde identiteit wees wat **net die funksie** wat dit toegewy het, kan gebruik, terwyl die **gebruiker toegewy** bestuurde identiteite bestuurde identiteite is wat **enige ander Azure diens kan gebruik**. > [!NOTE] -> Net soos in [**VMs**](vms/index.html), kan Funksies **1 stelsel toegeken** bestuurde identiteit en **verskeie gebruiker toegeken** hê, so dit is altyd belangrik om te probeer om al hulle te vind as jy die funksie kompromitteer omdat jy dalk bevoegdhede kan verhoog na verskeie bestuurde identiteite vanaf net een Funksie. +> Net soos in [**VMs**](vms/index.html), kan Funksies **1 stelsel toegewy** bestuurde identiteit en **verskeie gebruiker toegewy** hê, so dit is altyd belangrik om te probeer om al hulle te vind as jy die funksie kompromitteer omdat jy dalk bevoegdhede kan verhoog na verskeie bestuurde identiteite vanaf net een Funksie. > > As 'n geen stelsel bestuurde identiteit gebruik word nie, maar een of meer gebruiker bestuurde identiteite aan 'n funksie geheg is, sal jy standaard nie in staat wees om enige token te kry nie. -Dit is moontlik om die [**PEASS skripte**](https://github.com/peass-ng/PEASS-ng) te gebruik om tokens van die standaard bestuurde identiteit van die metadata eindpunt te kry. Of jy kan hulle **handmatig** kry soos verduidelik in: +Dit is moontlik om die [**PEASS skripte**](https://github.com/peass-ng/PEASS-ng) te gebruik om tokens van die standaard bestuurde identiteit van die metadata eindpunt te kry. Of jy kan dit **handmatig** kry soos verduidelik in: {% embed url="https://book.hacktricks.wiki/en/pentesting-web/ssrf-server-side-request-forgery/cloud-ssrf.html#azure-vm" %} -Let daarop dat jy 'n manier moet vind om **alle Bestuurde Identiteite wat 'n funksie het, te kontroleer** aangesien as jy dit nie aandui nie, die metadata eindpunt **net die standaard een sal gebruik** (kyk na die vorige skakel vir meer inligting). +Let daarop dat jy 'n manier moet vind om **alle Bestuurde Identiteite wat 'n funksie het, te kontroleer** aangesien as jy dit nie aandui nie, die metadata eindpunt **net die standaard een sal gebruik** (kyk die vorige skakel vir meer inligting). ## Toegang Sleutels > [!NOTE] -> Let daarop dat daar geen RBAC toestemmings is om toegang aan gebruikers te gee om die funksies aan te roep nie. Die **funksie aanroep hang af van die trigger** wat gekies is toe dit geskep is en as 'n HTTP Trigger gekies is, mag dit nodig wees om 'n **toegang sleutel** te gebruik. +> Let daarop dat daar geen RBAC toestemmings is om toegang aan gebruikers te gee om die funksies aan te roep nie. Die **funksie-aanroep hang af van die trigger** wat gekies is toe dit geskep is en as 'n HTTP Trigger gekies is, mag dit nodig wees om 'n **toegang sleutel** te gebruik. -Wanneer 'n eindpunt binne 'n funksie geskep word met 'n **HTTP trigger** is dit moontlik om die **toegang sleutel outorisering vlak** aan te dui wat nodig is om die funksie te trigger. Drie opsies is beskikbaar: +Wanneer 'n eindpunt binne 'n funksie geskep word met 'n **HTTP trigger** is dit moontlik om die **toegang sleutel outorisatienvlak** aan te dui wat nodig is om die funksie te aktiveer. Drie opsies is beskikbaar: -- **ANONYMOUS**: **Enigiemand** kan toegang tot die funksie deur die URL. +- **ANONYMOUS**: **Enigiemand** kan toegang tot die funksie verkry deur die URL. - **FUNCTION**: Eindpunt is slegs toeganklik vir gebruikers wat 'n **funksie, gasheer of meester sleutel** gebruik. - **ADMIN**: Eindpunt is slegs toeganklik vir gebruikers met 'n **meester sleutel**. **Tipe sleutels:** -- **Funksie Sleutels:** Funksie sleutels kan of standaard of gebruiker-gedefinieer wees en is ontwerp om toegang eksklusief te verleen tot **spesifieke funksie eindpunte** binne 'n Function App wat 'n meer fyn-gegradeerde toegang oor die eindpunte toelaat. -- **Gasheer Sleutels:** Gasheer sleutels, wat ook standaard of gebruiker-gedefinieer kan wees, bied toegang tot **alle funksie eindpunte binne 'n Function App met FUNKSIE toegang vlak**. +- **Funksie Sleutels:** Funksie sleutels kan of standaard of gebruiker-gedefinieerd wees en is ontwerp om toegang eksklusief tot **spesifieke funksie eindpunte** binne 'n Function App te verleen wat 'n meer fyngekorreleerde toegang oor die eindpunte toelaat. +- **Gasheer Sleutels:** Gasheer sleutels, wat ook standaard of gebruiker-gedefinieerd kan wees, bied toegang tot **alle funksie eindpunte binne 'n Function App met FUNKSIE toegang vlak**. - **Meester Sleutel:** Die meester sleutel (`_master`) dien as 'n administratiewe sleutel wat verhoogde toestemmings bied, insluitend toegang tot alle funksie eindpunte (ADMIN toegang vlak ingesluit). Hierdie **sleutel kan nie herroep word nie.** - **Stelsel Sleutels:** Stelsel sleutels word **deur spesifieke uitbreidings bestuur** en is nodig vir toegang tot webhook eindpunte wat deur interne komponente gebruik word. Voorbeelde sluit die Event Grid trigger en Durable Functions in, wat stelsel sleutels gebruik om veilig met hul onderskeie API's te kommunikeer. @@ -104,7 +104,7 @@ az-app-services.md ### Github Gebaseerde Ontplooiings -Wanneer 'n funksie gegenereer word uit 'n Github repo, laat die Azure webkonsol toe om **automaties 'n Github Workflow in 'n spesifieke berging te skep** sodat wanneer hierdie berging opgedateer word, die kode van die funksie opgedateer word. Trouens, die Github Action yaml vir 'n python funksie lyk soos volg: +Wanneer 'n funksie gegenereer word uit 'n Github repo, laat die Azure webkonsol toe om **automaties 'n Github Workflow in 'n spesifieke repository te skep** sodat wanneer hierdie repository opgedateer word, die kode van die funksie opgedateer word. Trouens, die Github Action yaml vir 'n python funksie lyk soos volg:
@@ -192,14 +192,14 @@ package: ${{ env.AZURE_FUNCTIONAPP_PACKAGE_PATH }} ```
-Boonop, 'n **Gemanagte Identiteit** word ook geskep sodat die Github Aksie van die repository in Azure kan aanmeld. Dit word gedoen deur 'n Federated credential oor die **Gemanagte Identiteit** te genereer wat die **Uitgewer** `https://token.actions.githubusercontent.com` en die **Onderwerp Identifiseerder** `repo:/:ref:refs/heads/` toelaat. +Boonop, 'n **Gemanagte Identiteit** word ook geskep sodat die Github Aksie van die repository in Azure kan aanmeld. Dit word gedoen deur 'n Federated credential oor die **Gemanagte Identiteit** te genereer wat die **Issuer** `https://token.actions.githubusercontent.com` en die **Subject Identifier** `repo:/:ref:refs/heads/` toelaat. > [!CAUTION] > Daarom sal enigeen wat daardie repo kompromitteer, in staat wees om die funksie en die Gemanagte Identiteite wat daaraan gekoppel is, te kompromitteer. -### Houer-gebaseerde Ontplooiings +### Hou gebaseerde Ontplooiings -Nie al die planne laat toe om houers te ontplooi nie, maar vir diegene wat dit doen, sal die konfigurasie die URL van die houer bevat. In die API sal die **`linuxFxVersion`** instelling iets soos hê: `DOCKER|mcr.microsoft.com/...`, terwyl die webkonsol die **beeldinstellings** sal wys. +Nie al die planne laat toe om houers te ontplooi nie, maar vir diegene wat dit doen, sal die konfigurasie die URL van die houer bevat. In die API sal die **`linuxFxVersion`** instelling iets soos hê: `DOCKER|mcr.microsoft.com/...`, terwyl die webkonsol, die konfigurasie die **beeldinstellings** sal wys. Boonop sal **geen bronkode in die stoor** rekening wat met die funksie verband hou, gestoor word nie, aangesien dit nie nodig is nie. diff --git a/src/pentesting-cloud/azure-security/az-services/az-logic-apps.md b/src/pentesting-cloud/azure-security/az-services/az-logic-apps.md index d3b53d0e7..9166dcb65 100644 --- a/src/pentesting-cloud/azure-security/az-services/az-logic-apps.md +++ b/src/pentesting-cloud/azure-security/az-services/az-logic-apps.md @@ -6,7 +6,7 @@ Azure Logic Apps is 'n wolk-gebaseerde diens wat deur Microsoft Azure verskaf word wat ontwikkelaars in staat stel om **werkvloei te skep en te bestuur wat verskeie dienste**, databronne en toepassings integreer. Hierdie werkvloei is ontwerp om **besigheidsprosesse te outomatiseer**, take te orkestreer en data-integrasies oor verskillende platforms uit te voer. -Logic Apps bied 'n visuele ontwerper om werkvloei te skep met 'n **wye verskeidenheid voorafgeboude koppelvlakke**, wat dit maklik maak om te verbind met en te kommunikeer met verskeie dienste, soos Office 365, Dynamics CRM, Salesforce, en vele ander. U kan ook pasgemaakte koppelvlakke vir u spesifieke behoeftes skep. +Logic Apps bied 'n visuele ontwerper om werkvloei te skep met 'n **wye verskeidenheid voorafgeboude koppelvlakke**, wat dit maklik maak om te verbind met en te kommunikeer met verskeie dienste, soos Office 365, Dynamics CRM, Salesforce, en vele ander. Jy kan ook pasgemaakte koppelvlakke skep vir jou spesifieke behoeftes. ### Voorbeelde @@ -19,29 +19,29 @@ Dit is moontlik om 'n LogicApp met grafika te sien:
-of om die kode in die "**Logic app kode weergawe**" afdeling te kyk. +of om die kode in die "**Logic app kode weergawe**" afdeling te kontroleer. ### SSRF Beskerming -Selfs as u die **Logic App kwesbaar vir SSRF** vind, sal u nie in staat wees om die akrediteerbare inligting van die metadata te bekom nie, aangesien Logic Apps dit nie toelaat nie. +Selfs as jy die **Logic App kwesbaar vir SSRF** vind, sal jy nie in staat wees om die akrediteerbare inligting van die metadata te bekom nie, aangesien Logic Apps dit nie toelaat nie. Byvoorbeeld, iets soos dit sal nie die token teruggee: ```bash # The URL belongs to a Logic App vulenrable to SSRF curl -XPOST 'https://prod-44.westus.logic.azure.com:443/workflows/2d8de4be6e974123adf0b98159966644/triggers/manual/paths/invoke?api-version=2016-10-01&sp=%2Ftriggers%2Fmanual%2Frun&sv=1.0&sig=_8_oqqsCXc0u2c7hNjtSZmT0uM4Xi3hktw6Uze0O34s' -d '{"url": "http://169.254.169.254/metadata/identity/oauth2/token?api-version=2018-02-01&resource=https://management.azure.com/"}' -H "Content-type: application/json" -v ``` -### Hosting opsies +### Hosting options -Daar is verskeie hosting opsies: +Daar is verskeie gasheeropsies: -* **Verbruik** +* **Consumption** - **Multi-tenant**: bied gedeelde rekenaarbronne, werk in die openbare wolk, en volg 'n betaal-per-operasie prysmodel. Dit is ideaal vir liggewig en kostedoeltreffende werklas. -* **Standaard** -- **Workflow Service Plan**: toegewyde rekenaarbronne met VNET-integrasie vir netwerking en hef per workflow service plan instansie. Dit is geskik vir meer veeleisende werklas wat groter beheer vereis. -- **App Service Omgewing V3** toegewyde rekenaarbronne met volle isolasie en skaalbaarheid. Dit integreer ook met VNET vir netwerking en gebruik 'n prysmodel gebaseer op App Service instansies binne die omgewing. Dit is ideaal vir ondernemingskaal toepassings wat hoë isolasie benodig. -- **Hibriede** ontwerp vir plaaslike verwerking en multi-wolk ondersteuning. Dit laat kliënt-bestuurde rekenaarbronne met plaaslike netwerktoegang toe en gebruik Kubernetes Event-Driven Autoscaling (KEDA). +* **Standard** +- **Workflow Service Plan**: toegewyde rekenaarbronne met VNET-integrasie vir netwerk en hef per workflow service plan instansie. Dit is geskik vir meer veeleisende werklas wat groter beheer vereis. +- **App Service Environment V3** toegewyde rekenaarbronne met volle isolasie en skaalbaarheid. Dit integreer ook met VNET vir netwerk en gebruik 'n prysmodel gebaseer op App Service instansies binne die omgewing. Dit is ideaal vir ondernemingskaal toepassings wat hoë isolasie benodig. +- **Hybrid** ontwerp vir plaaslike verwerking en multi-cloud ondersteuning. Dit laat kliënt-bestuurde rekenaarbronne met plaaslike netwerktoegang toe en gebruik Kubernetes Event-Driven Autoscaling (KEDA). -### Enumerasie +### Enumeration {{#tabs }} {{#tab name="az cli" }} @@ -138,12 +138,12 @@ Get-AzLogicAppTriggerHistory -ResourceGroupName "" -Name " -ResourceGroupName ## Beelde, Galery Beelde & Herstelpunte 'n **VM beeld** is 'n sjabloon wat die bedryfstelsel, toepassingsinstellings en lêerstelsel bevat wat nodig is om 'n **nuwe virtuele masjien (VM)** te **skep**. Die verskil tussen 'n beeld en 'n skyf-snapshot is dat 'n skyf-snapshot 'n lees-alleen, punt-in-tyd kopie van 'n enkele bestuurde skyf is, wat hoofsaaklik vir rugsteun of probleemoplossing gebruik word, terwyl 'n beeld **meerdere skywe kan bevat en ontwerp is om as 'n sjabloon te dien vir die skep van nuwe VM's**.\ -Beelde kan bestuur word in die **Beelde afdeling** van Azure of binne **Azure rekenaar galerye** wat dit moontlik maak om **weergawe** te genereer en die beeld oor huurders te deel of selfs dit publiek te maak. +Beelde kan bestuur word in die **Beelde afdeling** van Azure of binne **Azure rekenaar galerye** wat dit moontlik maak om **weergawe** te genereer en die beeld oor huurders te **deel** of selfs dit publiek te maak. 'n **herstelpunt** stoor die VM-konfigurasie en **punt-in-tyd** toepassings-konsistente **snapshots van al die bestuurde skywe** wat aan die VM gekoppel is. Dit is verwant aan die VM en die doel daarvan is om daardie VM te kan herstel na hoe dit was in daardie spesifieke punt in tyd. @@ -144,15 +144,15 @@ Get-AzRestorePointCollection -Name -ResourceGroupName VMAccess-uitbreiding -Hierdie uitbreiding stel in staat om die wagwoord te wysig (of te skep as dit nie bestaan nie) van gebruikers binne Windows VM's. +Hierdie uitbreiding stel jou in staat om die wagwoord te wysig (of te skep as dit nie bestaan nie) van gebruikers binne Windows VM's. ```bash # Run VMAccess extension to reset the password $cred=Get-Credential # Username and password to reset (if it doesn't exist it'll be created). "Administrator" username is allowed to change the password @@ -617,7 +617,7 @@ Dit is 'n VM-uitbreiding wat sal toelaat om runbooks in VM's vanaf 'n outomatise ### VM Toepassings -Dit is pakkette met al die **toepassing data en installasie en de-installasie skrifte** wat gebruik kan word om maklik toepassings in VM's by te voeg en te verwyder. +Dit is pakkette met al die **toepassingdata en installasie- en de-installasieskripte** wat gebruik kan word om maklik toepassings in VM's by te voeg en te verwyder. ```bash # List all galleries in resource group az sig list --resource-group --output table diff --git a/src/pentesting-cloud/azure-security/az-services/vms/az-azure-network.md b/src/pentesting-cloud/azure-security/az-services/vms/az-azure-network.md index 96279ecab..fdfd16bb3 100644 --- a/src/pentesting-cloud/azure-security/az-services/vms/az-azure-network.md +++ b/src/pentesting-cloud/azure-security/az-services/vms/az-azure-network.md @@ -18,7 +18,7 @@ Standaard kan alle subnetwerke binne dieselfde Azure Virtuele Netwerk (VNet) **m - `MyVNet` met 'n IP-adresreeks van 10.0.0.0/16. - **Subnet-1:** 10.0.0.0/24 vir webbedieners. -- **Subnet-2:** 10.0.1.0/24 vir databasisbedieners. +- **Subnet-2:** 10.0.1.0/24 vir databedieners. ### Enumerasie @@ -47,9 +47,9 @@ Select-Object Name, AddressPrefix {{#endtab }} {{#endtabs }} -## Netwerk Sekuriteitsgroepe (NSG) +## Netwerk Sekuriteits Groepe (NSG) -'n **Netwerk Sekuriteitsgroep (NSG)** filter netwerkverkeer na en van Azure hulpbronne binne 'n Azure Virtuele Netwerk (VNet). Dit bevat 'n stel **sekuriteitsreëls** wat kan aandui **watter poorte geopen moet word vir inkomende en uitgaande verkeer** volgens bronpoort, bron IP, poortbestemming en dit is moontlik om 'n prioriteit toe te ken (hoe laer die prioriteitsnommer, hoe hoër die prioriteit). +'n **Netwerk Sekuriteits Groep (NSG)** filter netwerkverkeer na en van Azure hulpbronne binne 'n Azure Virtuele Netwerk (VNet). Dit bevat 'n stel **sekuriteitsreëls** wat kan aandui **watter poorte geopen moet word vir inkomende en uitgaande verkeer** volgens bronpoort, bron IP, poortbestemming en dit is moontlik om 'n prioriteit toe te ken (hoe laer die prioriteitsnommer, hoe hoër die prioriteit). NSG's kan geassosieer word met **subnetwerke en NIC's.** @@ -91,19 +91,19 @@ Get-AzNetworkSecurityGroup -Name -ResourceGroupName [!CAUTION] > NSG's is nie van toepassing op private eindpunte nie, wat duidelik beteken dat die assosiasie van 'n NSG met 'n subnet wat die Private Link bevat, geen effek sal hê nie. **Voorbeeld:** -Overweeg 'n scenario waar jy 'n **Azure SQL Database het wat jy veilig van jou VNet wil toegang**. Normaalweg kan dit behels dat jy die openbare internet oorsteek. Met Private Link kan jy 'n **private eindpunt in jou VNet skep** wat direk met die Azure SQL Database diens verbind. Hierdie eindpunt laat die databasis lyk asof dit deel van jou eie VNet is, toeganklik via 'n private IP adres, wat dus veilige en private toegang verseker. +Overweeg 'n scenario waar jy 'n **Azure SQL Database het wat jy veilig van jou VNet wil toegang**. Normaalweg kan dit behels dat jy die openbare internet oorsteek. Met Private Link kan jy 'n **private eindpunt in jou VNet skep** wat direk met die Azure SQL Database-diens verbind. Hierdie eindpunt laat die databasis lyk asof dit deel van jou eie VNet is, toeganklik via 'n private IP-adres, wat dus veilige en private toegang verseker. ### **Enumeration** @@ -263,13 +263,13 @@ In samevatting, terwyl beide Diens Eindpunte en Privaat Skakels veilige konnekti ## Azure Front Door (AFD) & AFD WAF -**Azure Front Door** is 'n skaalbare en veilige toegangspunt vir **vinnige aflewering** van jou globale webtoepassings. Dit **kombineer** verskeie dienste soos globale **laaibalansering, webwerfversnelling, SSL-aflaai, en Webtoepassing Vuurmuur (WAF)** vermoëns in 'n enkele diens. Azure Front Door bied intelligente routering gebaseer op die **nabyste rand ligging aan die gebruiker**, wat optimale prestasie en betroubaarheid verseker. Daarbenewens bied dit URL-gebaseerde routering, meerdere webwerf gasheer, sessie affiniteid, en toepassingslaag sekuriteit. +**Azure Front Door** is 'n skaalbare en veilige toegangspunt vir **vinnige aflewering** van jou globale webtoepassings. Dit **kombineer** verskeie dienste soos globale **laaibalansering, webwerfversnelling, SSL-aflaai, en Webtoepassing Vuurmuur (WAF)** vermoëns in 'n enkele diens. Azure Front Door bied intelligente roetering gebaseer op die **nabyste rand ligging aan die gebruiker**, wat optimale prestasie en betroubaarheid verseker. Daarbenewens bied dit URL-gebaseerde roetering, veelvuldige webwerfgasheer, sessie affiniteid, en toepassingslaagnavorsing. -**Azure Front Door WAF** is ontwerp om **webtoepassings te beskerm teen web-gebaseerde aanvalle** sonder om agtergrondkode te wysig. Dit sluit pasgemaakte reëls en bestuurde reël stelle in om teen bedreigings soos SQL-inspuiting, kruis-webwerf skripting, en ander algemene aanvalle te beskerm. +**Azure Front Door WAF** is ontwerp om **webtoepassings te beskerm teen web-gebaseerde aanvalle** sonder om agtergrondkode te wysig. Dit sluit pasgemaakte reëls en bestuurde reëlstelle in om teen bedreigings soos SQL-inspuiting, kruis-webwerf skripting, en ander algemene aanvalle te beskerm. **Voorbeeld:** -Stel jou voor jy het 'n globaal verspreide toepassing met gebruikers regoor die wêreld. Jy kan Azure Front Door gebruik om **gebruikers versoeke na die naaste streeksdatacentrum** wat jou toepassing gasheer, te router, wat latensie verminder, gebruikerservaring verbeter en **dit te verdedig teen webaanvalle met die WAF vermoëns**. As 'n spesifieke streek stilstand ervaar, kan Azure Front Door verkeer outomaties na die volgende beste ligging herrouter, wat hoë beskikbaarheid verseker. +Stel jou voor jy het 'n globaal verspreide toepassing met gebruikers regoor die wêreld. Jy kan Azure Front Door gebruik om **gebruikers versoeke na die naaste streeksdatacentrum** wat jou toepassing gasheer, te roeteer, wat latensie verminder, gebruikerservaring verbeter en **dit te verdedig teen webaanvalle met die WAF vermoëns**. As 'n spesifieke streek stilstand ervaar, kan Azure Front Door verkeer outomaties na die volgende beste ligging herroeteer, wat hoë beskikbaarheid verseker. ### Enumerasie @@ -296,11 +296,11 @@ Get-AzFrontDoorWafPolicy -Name -ResourceGroupName - ## Azure Hub, Spoke & VNet Peering -**VNet Peering** is 'n netwerkfunksie in Azure wat **verskillende Virtuele Netwerke (VNets) toelaat om direk en naatloos gekoppel te word**. Deur VNet-peering kan hulpbronne in een VNet kommunikeer met hulpbronne in 'n ander VNet met behulp van private IP-adresse, **asof hulle in dieselfde netwerk is**.\ -**VNet Peering kan ook gebruik word met 'n plaaslike netwerk** deur 'n site-to-site VPN of Azure ExpressRoute op te stel. +**VNet Peering** is 'n netwerkfunksie in Azure wat **verskillende Virtuele Netwerke (VNets) toelaat om direk en naatloos gekoppel te word**. Deur VNet-peering kan hulpbronne in een VNet met hulpbronne in 'n ander VNet kommunikeer met behulp van private IP-adresse, **asof hulle in dieselfde netwerk is**.\ +**VNet Peering kan ook met 'n plaaslike netwerk gebruik word** deur 'n site-to-site VPN of Azure ExpressRoute op te stel. **Azure Hub en Spoke** is 'n netwerktopologie wat in Azure gebruik word om netwerkverkeer te bestuur en te organiseer. **Die "hub" is 'n sentrale punt wat verkeer tussen verskillende "spokes" beheer en roete**. Die hub bevat tipies gedeelde dienste soos netwerk virtuele toestelle (NVAs), Azure VPN Gateway, Azure Firewall, of Azure Bastion. Die **"spokes" is VNets wat werklas huisves en met die hub verbind deur VNet-peering**, wat hulle toelaat om die gedeelde dienste binne die hub te benut. Hierdie model bevorder 'n skoon netwerkopstelling, wat kompleksiteit verminder deur algemene dienste te sentraliseer wat verskeie werklas oor verskillende VNets kan gebruik. @@ -331,7 +331,7 @@ az network application-gateway waf-config list --gateway-name - **Voorbeeld:** -Stel jou 'n maatskappy voor met aparte afdelings soos Verkope, HR, en Ontwikkeling, **elke met sy eie VNet (die spokes)**. Hierdie VNets **vereis toegang tot gedeelde hulpbronne** soos 'n sentrale databasis, 'n firewall, en 'n internetgateway, wat almal geleë is in **'n ander VNet (die hub)**. Deur die Hub en Spoke-model te gebruik, kan elke afdeling **veilig met die gedeelde hulpbronne deur die hub VNet verbind sonder om daardie hulpbronne aan die openbare internet bloot te stel** of 'n komplekse netwerkstruktuur met talle verbindings te skep. +Stel jou 'n maatskappy voor met aparte afdelings soos Verkope, HR, en Ontwikkeling, **elke met sy eie VNet (die spokes)**. Hierdie VNets **vereis toegang tot gedeelde hulpbronne** soos 'n sentrale databasis, 'n firewall, en 'n internetgateway, wat almal in **'n ander VNet (die hub)** geleë is. Deur die Hub en Spoke-model te gebruik, kan elke afdeling **veilig met die gedeelde hulpbronne deur die hub VNet verbind sonder om daardie hulpbronne aan die openbare internet bloot te stel** of 'n komplekse netwerkstruktuur met talle verbindings te skep. ### Enumeration @@ -364,7 +364,7 @@ Get-AzFirewall ## Site-to-Site VPN -'n Site-to-Site VPN in Azure laat jou toe om jou **on-premises netwerk aan jou Azure Virtuele Netwerk (VNet)** te verbind, wat hulpbronne soos VMs binne Azure in staat stel om te lyk asof hulle op jou plaaslike netwerk is. Hierdie verbinding word tot stand gebring deur 'n **VPN-gateway wat verkeer enkripteer** tussen die twee netwerke. +'n Site-to-Site VPN in Azure laat jou toe om jou **on-premises netwerk aan jou Azure Virtuele Netwerk (VNet)** te verbind, wat dit moontlik maak dat hulpbronne soos VMs binne Azure lyk asof hulle op jou plaaslike netwerk is. Hierdie verbinding word tot stand gebring deur 'n **VPN-gateway wat verkeer enkripteer** tussen die twee netwerke. **Voorbeeld:** @@ -395,7 +395,7 @@ Get-AzVirtualNetworkGatewayConnection -ResourceGroupName ## Azure ExpressRoute -Azure ExpressRoute is 'n diens wat 'n **privaat, toegewyde, hoëspoedverbinding tussen jou plaaslike infrastruktuur en Azure datacenters** bied. Hierdie verbinding word gemaak deur 'n verbindingsverskaffer, wat die openbare internet omseil en meer betroubaarheid, vinniger spoed, laer latensies en hoër sekuriteit as tipiese internetverbindinge bied. +Azure ExpressRoute is 'n diens wat 'n **privaat, toegewyde, hoëspoedverbinding tussen jou plaaslike infrastruktuur en Azure datacenters** bied. Hierdie verbinding word gemaak deur 'n verbindingsverskaffer, wat die publieke internet omseil en meer betroubaarheid, vinniger spoed, laer latensies en hoër sekuriteit as tipiese internetverbindinge bied. **Voorbeeld:** diff --git a/src/pentesting-cloud/kubernetes-security/kubernetes-hardening/kubernetes-securitycontext-s.md b/src/pentesting-cloud/kubernetes-security/kubernetes-hardening/kubernetes-securitycontext-s.md index 6572039cc..66f34fd13 100644 --- a/src/pentesting-cloud/kubernetes-security/kubernetes-hardening/kubernetes-securitycontext-s.md +++ b/src/pentesting-cloud/kubernetes-security/kubernetes-hardening/kubernetes-securitycontext-s.md @@ -11,15 +11,15 @@ Wanneer jy die sekuriteitskonteks van 'n Pod spesifiseer, kan jy verskeie eiensk - Om **runASNonRoot** as **Waar** te hê - Om **runAsUser** te konfigureer - Indien moontlik, oorweeg om **toestemmings** te **beperk** deur **seLinuxOptions** en **seccompProfile** aan te dui -- Moet **nie** **privilege** **groep** toegang gee via **runAsGroup** en **supplementaryGroups** nie +- Moet **NIE** **privilege** **groep** toegang gee via **runAsGroup** en **supplementaryGroups** | Parameter | Beskrywing | -|

fsGroup
integer

|

‘n Spesiale aanvullende groep wat op alle houers in 'n pod van toepassing is. Sommige volume tipe laat die Kubelet toe om die eienaarskap van daardie volume te verander sodat dit deur die pod besit word:
1. Die eienaars GID sal die FSGroup wees
2. Die setgid-bietjie is ingestel (nuwe lêers wat in die volume geskep word, sal deur FSGroup besit word)
3. Die toestemmingsbietjies word OR'd met rw-rw---- As nie ingestel nie, sal die Kubelet nie die eienaarskap en toestemmings van enige volume verander

| +|

fsGroup
integer

|

‘n Spesiale aanvullende groep wat op alle houers in 'n pod van toepassing is. Sommige volume tipe laat die Kubelet toe om die eienaarskap van daardie volume te verander sodat dit aan die pod behoort:
1. Die eienaam GID sal die FSGroup wees
2. Die setgid-bietjie is ingestel (nuwe lêers wat in die volume geskep word, sal deur FSGroup besit word)
3. Die toestemmingsbietjies word OR'd met rw-rw---- As nie ingestel nie, sal die Kubelet nie die eienaarskap en toestemmings van enige volume verander

| -|

fsGroupChangePolicy
string

| Dit definieer die gedrag van **verandering van eienaarskap en toestemming van die volume** voordat dit binne die Pod blootgestel word. | -|

runAsGroup
integer

| Die **GID om die ingangspunt van die houer proses** te laat loop. Gebruik runtime standaard as nie ingestel nie. Mag ook in SecurityContext ingestel word. | +|

fsGroupChangePolicy
string

| Dit definieer die gedrag van **eienaarskap en toestemming van die volume** verander voordat dit binne die Pod blootgestel word. | +|

runAsGroup
integer

| Die **GID om die ingangspunt van die houer proses** te laat loop. Gebruik runtime standaard as dit nie ingestel is nie. | |

runAsNonRoot
boolean

| Dui aan dat die houer as 'n nie-root gebruiker moet loop. As waar, sal die Kubelet die beeld tydens uitvoering valideer om te verseker dat dit nie as UID 0 (root) loop nie en sal dit misluk om die houer te begin as dit wel doen. | -|

runAsUser
integer

| Die **UID om die ingangspunt van die houer proses** te laat loop. Standaard na die gebruiker gespesifiseer in beeld metadata as nie gespesifiseer nie. | +|

runAsUser
integer

| Die **UID om die ingangspunt van die houer proses** te laat loop. Standaard na die gebruiker gespesifiseer in beeld metadata as dit nie gespesifiseer is nie. | |

seLinuxOptions
SELinuxOptions
Meer inligting oor seLinux

| Die **SELinux konteks wat op alle houers toegepas moet word**. As nie gespesifiseer nie, sal die houer runtime 'n ewekansige SELinux konteks vir elke houer toewys. | |

seccompProfile
SeccompProfile
Meer inligting oor Seccomp

| Die **seccomp opsies wat deur die houers** in hierdie pod gebruik moet word. | |

supplementalGroups
integer array

| 'n Lys van **groepe wat op die eerste proses toegepas word wat in elke houer loop**, benewens die houer se primêre GID. | @@ -32,25 +32,25 @@ Wanneer jy die sekuriteitskonteks van 'n Pod spesifiseer, kan jy verskeie eiensk Hierdie konteks word binne die **houer definisies** ingestel. Vanuit 'n defensiewe sekuriteits oogpunt moet jy oorweeg: -- **allowPrivilegeEscalation** na **Vals** -- Moet nie sensitiewe **capabilities** byvoeg nie (en verwyder die wat jy nie nodig het nie) -- **privileged** na **Vals** +- **allowPrivilegeEscalation** as **Valse** +- Moet nie sensitiewe **vermoëns** byvoeg nie (en verwyder die wat jy nie nodig het nie) +- **privileged** as **Valse** - Indien moontlik, stel **readOnlyFilesystem** as **Waar** -- Stel **runAsNonRoot** na **Waar** en stel 'n **runAsUser** in +- Stel **runAsNonRoot** op **Waar** en stel 'n **runAsUser** in - Indien moontlik, oorweeg om **toestemmings** te **beperk** deur **seLinuxOptions** en **seccompProfile** aan te dui -- Moet **nie** **privilege** **groep** toegang gee via **runAsGroup.** +- Moet **NIE** **privilege** **groep** toegang gee via **runAsGroup.** Let daarop dat die eienskappe wat in **both SecurityContext and PodSecurityContext** ingestel is, die waarde wat in **SecurityContext** gespesifiseer is, **prioriteit** het. -|

allowPrivilegeEscalation
boolean

| **AllowPrivilegeEscalation** beheer of 'n proses **meer privileges kan verkry** as sy ouer proses. Hierdie bool beheer direk of die no_new_privs vlag op die houer proses ingestel sal word. AllowPrivilegeEscalation is altyd waar wanneer die houer as **Privileged** of **CAP_SYS_ADMIN** loop. | +|

allowPrivilegeEscalation
boolean

| **AllowPrivilegeEscalation** beheer of 'n proses **meer bevoegdhede kan verkry** as sy ouer proses. Hierdie bool beheer direk of die no_new_privs-vlag op die houer proses ingestel sal word. AllowPrivilegeEscalation is altyd waar wanneer die houer as **Privileged** gedraai word of **CAP_SYS_ADMIN** het | | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -|

capabilities
Capabilities
Meer inligting oor Capabilities

| Die **capabilities om by te voeg/verwyder wanneer houers loop**. Standaard na die standaard stel van capabilities. | -|

privileged
boolean

| Loop houer in bevoorregte modus. Prosesse in bevoorregte houers is essensieel **gelyk aan root op die gasheer**. Standaard is vals. | +|

capabilities
Capabilities
Meer inligting oor Capabilities

| Die **vermoëns om by te voeg/verwyder wanneer houers loop**. Standaard na die standaard stel van vermoëns. | +|

privileged
boolean

| Loop houer in bevoorregte modus. Prosesse in bevoorregte houers is in wese **gelyk aan root op die gasheer**. Standaard is vals. | |

procMount
string

| procMount dui die **tipe proc mount aan wat vir die houers gebruik moet word**. Die standaard is DefaultProcMount wat die houer runtime standaarde vir leesbare paaie en gemaskeerde paaie gebruik. | |

readOnlyRootFilesystem
boolean

| Of hierdie **houer 'n leesbare wortel lêerstelsel het**. Standaard is vals. | -|

runAsGroup
integer

| Die **GID om die ingangspunt** van die houer proses te laat loop. Gebruik runtime standaard as nie ingestel nie. | +|

runAsGroup
integer

| Die **GID om die ingangspunt** van die houer proses te laat loop. Gebruik runtime standaard as dit nie ingestel is nie. | |

runAsNonRoot
boolean

| Dui aan dat die houer moet **loop as 'n nie-root gebruiker**. As waar, sal die Kubelet die beeld tydens uitvoering valideer om te verseker dat dit nie as UID 0 (root) loop nie en sal dit misluk om die houer te begin as dit wel doen. | -|

runAsUser
integer

| Die **UID om die ingangspunt** van die houer proses te laat loop. Standaard na die gebruiker gespesifiseer in beeld metadata as nie gespesifiseer nie. | +|

runAsUser
integer

| Die **UID om die ingangspunt** van die houer proses te laat loop. Standaard na die gebruiker gespesifiseer in beeld metadata as dit nie gespesifiseer is nie. | |

seLinuxOptions
SELinuxOptions
Meer inligting oor seLinux

| Die **SELinux konteks wat op die houer toegepas moet word**. As nie gespesifiseer nie, sal die houer runtime 'n ewekansige SELinux konteks vir elke houer toewys. | |

seccompProfile
SeccompProfile

| Die **seccomp opsies** wat deur hierdie houer gebruik moet word. | |

windowsOptions
WindowsSecurityContextOptions

| Die **Windows spesifieke instellings** wat op alle houers toegepas word. |