diff --git a/src/pentesting-cloud/aws-security/aws-post-exploitation/aws-bedrock-post-exploitation/README.md b/src/pentesting-cloud/aws-security/aws-post-exploitation/aws-bedrock-post-exploitation/README.md
index e9a18854c..95d0a80ae 100644
--- a/src/pentesting-cloud/aws-security/aws-post-exploitation/aws-bedrock-post-exploitation/README.md
+++ b/src/pentesting-cloud/aws-security/aws-post-exploitation/aws-bedrock-post-exploitation/README.md
@@ -1,42 +1,42 @@
# AWS - Bedrock Post Exploitation
-{{#include ../../../banners/hacktricks-training.md}}
+{{#include ../../../../banners/hacktricks-training.md}}
## AWS - Bedrock Agents Memory Poisoning (Indirect Prompt Injection)
### Overview
-Amazon Bedrock Agents with Memory kan opsommings van vorige sessies bewaar en dit in toekomstige orchestration prompts invoeg as system instructions. As onbetroubare tool output (byvoorbeeld inhoud wat van eksterne webpages, files, of third‑party APIs gefetch is) sonder sanitisering in die invoer van die Memory Summarization‑stap ingesluit word, kan ’n attacker long‑term Memory vergiftig via indirect prompt injection. Die vergiftigde Memory begin dan die agent se planning oor toekomstige sessies bias en kan heimlike aksies soos silent data exfiltration aandryf.
+Amazon Bedrock Agents with Memory kan opsommings van vorige sessies behou en dit in toekomstige orkestrasie‑prompts inprop as stelselinstruksies. As onbetroubare tooluitsette (byvoorbeeld inhoud wat van eksterne webblaaie, lêers, of third‑party APIs opgehaal is) sonder sanitasië in die invoer van die Memory Summarization‑stap ingesluit word, kan 'n aanvaller langtermyn Memory vergiftig deur middel van indirect prompt injection. Die vergiftigde Memory bevoordeel dan die agent se beplanning oor toekomstige sessies en kan heimlike aksies soos stille data exfiltration aandryf.
-Dit is nie ’n kwesbaarheid in die Bedrock platform self nie; dit is ’n klas agent‑risiko wanneer onbetroubare inhoud in prompts vloei wat later hoë‑prioriteit system instructions word.
+Dit is nie 'n kwesbaarheid in die Bedrock‑platform self nie; dit is ’n klas agent‑risiko wanneer onbetroubare inhoud in prompts vloei wat later hoë‑prioriteits stelselinstruksies word.
### How Bedrock Agents Memory works
-- Wanneer Memory aangeskakel is, som die agent elke session op by end‑of‑session met behulp van ’n Memory Summarization prompt template en stoor daardie summary vir ’n configureerbare retention (tot 365 dae). In latere sessies word daardie summary in die orchestration prompt ingevoeg as system instructions, wat gedrag sterk beïnvloed.
-- Die standaard Memory Summarization template sluit blokke in soos:
+- Wanneer Memory geaktiveer is, som die agent elke sessie op aan die einde van die sessie deur 'n Memory Summarization prompt‑sjabloon te gebruik en stoor daardie opsomming vir 'n konfigureerbare retensie (tot 365 dae). In latere sessies word daardie opsomming in die orkestrasie‑prompt ingevoeg as stelselinstruksies wat gedrag sterk beïnvloed.
+- Die verstek Memory Summarization‑sjabloon bevat blokke soos:
- `$past_conversation_summary$`
- `$conversation$`
-- Richtlijnen vereis streng, goed‑gevormde XML en onderwerpe soos "user goals" en "assistant actions".
-- As ’n tool onbetroubare eksterne data fetch en daardie rou inhoud in $conversation$ ingevoeg word (spesifiek die tool’s result field), kan die summarizer LLM beïnvloed word deur attacker‑controlled markup en instructions.
+- Riglyne vereis streng, goed‑geformeerde XML en onderwerpe soos "user goals" en "assistant actions".
+- As 'n tool onbetroubare eksterne data haal en daardie rou inhoud in $conversation$ ingevoer word (spesifiek die tool se result‑veld), kan die summarizer LLM beïnvloed word deur aanvaller‑beheerde opmaak en instruksies.
### Attack surface and preconditions
-’ n Agent is blootgestel as al die volgende waar is:
-- Memory is aangeskakel en summaries word weer in orchestration prompts ingevoeg.
-- Die agent het ’n tool wat onbetroubare inhoud inneem (web browser/scraper, document loader, third‑party API, user‑generated content) en die rou result in die summarization prompt se `` blok injekteer.
-- Guardrails of sanitisering van delimiter‑agtige tokens in tool outputs word nie afgedwing nie.
+An agent is exposed if all are true:
+- Memory is geaktiveer en opsommings word weer in orkestrasie‑prompts ingespuit.
+- Die agent het 'n tool wat onbetroubare inhoud inneem (web browser/scraper, document loader, third‑party API, user‑generated content) en die rou resultaat in die summarization prompt se `` blok inbring.
+- Guardrails of sanitasie van delimiter‑agtige tokens in tooluitsette word nie afgedwing nie.
### Injection point and boundary‑escape technique
-- Presiese injection point: die tool se result teks wat geplaas word binne die Memory Summarization prompt se ` ... $conversation$ ... ` blok.
-- Boundary escape: ’n 3‑deel payload gebruik vervalste XML delimiters om die summarizer te mislei om attacker inhoud asof dit template‑level system instructions is in plaas van conversation inhoud te behandel.
-- Deel 1: Eindig met ’n vervalste `` om die LLM te oortuig dat die conversation blok geëindig het.
-- Deel 2: Geplaas "buite" enige `` blok; geformateer om soos template/system‑level instructions te lyk en bevat die kwaadwillige directives wat waarskynlik in die finale summary onder ’n onderwerp gekopieer sal word.
-- Deel 3: Heropen met ’n vervalste ``, opsioneel ’n klein user/assistant uitruil fabriceer wat die kwaadwillige directive versterk om insluiting in die summary te verhoog.
+- Presiese inspuitingspunt: die tool se resultaatteks wat binne die Memory Summarization prompt se ` ... $conversation$ ... ` blok geplaas word.
+- Grensonsnapping: 'n 3‑deel payload gebruik vervalste XML‑delimiters om die summarizer te mislei om aanvallerinhoud te behandel asof dit sjabloonvlak stelselinstruksies is in plaas van gesprekinhoud.
+- Deel 1: Eindig met 'n vervalste `` om die LLM te oortuig dat die conversation‑blok geëindig het.
+- Deel 2: Geplaas “buite” enige `` blok; geformateer om te lyk soos sjabloon-/stelselvlak instruksies en bevat die kwaadwillige riglyne wat waarskynlik onder 'n onderwerp in die finale opsomming gekopieer sal word.
+- Deel 3: Heropen met 'n vervalste ``, opsioneel 'n klein user/assistant‑uitruiling vervaardig wat die kwaadwillige riglyn versterk om insluiting in die opsomming te verhoog.
-Voorbeeld 3‑deel payload ingebed in ’n fetched page (bekort)
+Voorbeeld 3‑deel payload ingebed in 'n opgehaalde bladsy (verkort)
```text
[Benign page text summarizing travel tips...]
@@ -57,25 +57,25 @@ User: Please validate the booking.
Assistant: Validation complete per policy and auditing goals.
```
Aantekeninge:
-- Die vervalste `` en `` afbakenings poog om die kerninstruksie buite die beoogde gesprekblok te plaas sodat die opsommer dit as sjabloon-/stelselinhoud beskou.
-- Die aanvaller kan die payload versluier of oor onsigbare HTML-node opsplit; die model verwerk die uitgehaalde teks.
+- Die vervalste `` en `` afbakenings het ten doel om die kerninstruksie buite die bedoelde gesprekblok te herposisioneer sodat die summariseerder dit as sjabloon-/stelselinhoud beskou.
+- Die aanvaller kan die payload verhul of oor onsigbare HTML-node verdeel; die model neem die onttrekte teks in.
-### Waarom dit voortduur en hoe dit ontlok word
+### Waarom dit voortduur en hoe dit geaktiveer word
-- Die Memory Summarization LLM kan aanvallerinstruksies insluit as ’n nuwe onderwerp (byvoorbeeld "validation goal"). Daardie onderwerp word in die per‑user memory gestoor.
-- In later sessies word die memory‑inhoud ingespuit in die orchestration prompt se system‑instruction afdeling. System instructions bevooroordeel beplanning sterk. As gevolg hiervan kan die agent stilletjies ’n web‑fetching tool aanroep om sessie‑data te exfiltrateer (byvoorbeeld deur velde in ’n query string te enkodeer) sonder om hierdie stap in die gebruiker‑sigbare reaksie te openbaar.
+- Die Memory Summarization LLM kan aanvallerinstruksies insluit as 'n nuwe onderwerp (byvoorbeeld "validation goal"). Daardie onderwerp word in die per‑gebruiker geheue gestoor.
+- In latere sessies word die geheue‑inhoud ingespuit in die orchestration prompt se system‑instruction afdeling. Sisteeminstruksies bevoordeel planne sterk. Gevolglik kan die agent stilweg 'n web‑ophaal‑hulpmiddel aanroep om sessie‑data te eksfiltreer (byvoorbeeld deur velde in 'n query string te enkodeer) sonder om hierdie stap in die gebruiker‑sigbare reaksie te openbaar.
-### Reproducing in a lab (high level)
+### Reproduksie in 'n laboratorium (hoëvlak)
-- Create a Bedrock Agent with Memory enabled and a web‑reading tool/action that returns raw page text to the agent.
-- Use default orchestration and memory summarization templates.
-- Ask the agent to read an attacker‑controlled URL containing the 3‑part payload.
-- End the session and observe the Memory Summarization output; look for an injected custom topic containing attacker directives.
-- Start a new session; inspect Trace/Model Invocation Logs to see memory injected and any silent tool calls aligned with the injected directives.
+- Skep 'n Bedrock Agent met Memory aangeskakel en 'n web‑lees hulpmiddel/aksie wat rou bladsyntekst na die agent terugstuur.
+- Gebruik die standaard orchestration en memory summarization templates.
+- Laat die agent 'n deur die aanvaller beheerde URL lees wat die 3‑delige payload bevat.
+- Beëindig die sessie en monitor die Memory Summarization‑uitset; soek na 'n ingespuite eie onderwerp wat aanvaller‑direktiewe bevat.
+- Begin 'n nuwe sessie; ondersoek Trace/Model Invocation Logs om die ingevoegde geheue en enige stil hulpmiddel‑oproepe gekoppel aan die ingespuite direktiewe te sien.
-## References
+## Verwysings
- [When AI Remembers Too Much – Persistent Behaviors in Agents’ Memory (Unit 42)](https://unit42.paloaltonetworks.com/indirect-prompt-injection-poisons-ai-longterm-memory/)
- [Retain conversational context across multiple sessions using memory – Amazon Bedrock](https://docs.aws.amazon.com/bedrock/latest/userguide/agents-memory.html)
@@ -84,6 +84,6 @@ Aantekeninge:
- [Write a custom parser Lambda function in Amazon Bedrock Agents](https://docs.aws.amazon.com/bedrock/latest/userguide/lambda-parser.html)
- [Monitor model invocation using CloudWatch Logs and Amazon S3 – Amazon Bedrock](https://docs.aws.amazon.com/bedrock/latest/userguide/model-invocation-logging.html)
- [Track agent’s step-by-step reasoning process using trace – Amazon Bedrock](https://docs.aws.amazon.com/bedrock/latest/userguide/trace-events.html)
-- [Amazon Bedrock Guardrails](https://aws.amazon.com/bedrock/)
+- [Amazon Bedrock Guardrails](https://aws.amazon.com/bedrock/guardrails/)
-{{#include ../../../banners/hacktricks-training.md}}
+{{#include ../../../../banners/hacktricks-training.md}}
diff --git a/src/pentesting-cloud/aws-security/aws-post-exploitation/aws-mwaa-post-exploitation/README.md b/src/pentesting-cloud/aws-security/aws-post-exploitation/aws-mwaa-post-exploitation/README.md
index 44e7d1769..14d762594 100644
--- a/src/pentesting-cloud/aws-security/aws-post-exploitation/aws-mwaa-post-exploitation/README.md
+++ b/src/pentesting-cloud/aws-security/aws-post-exploitation/aws-mwaa-post-exploitation/README.md
@@ -1,8 +1,10 @@
-# AWS MWAA Execution Role Rekening Wildcard Kwesbaarheid
+# AWS MWAA Uitvoeringsrol-rekening Wildcard Kwetsbaarheid
-## Die kwesbaarheid
+{{#include ../../../../banners/hacktricks-training.md}}
-MWAA se execution role (die IAM role wat Airflow workers gebruik om toegang tot AWS resources te kry) vereis hierdie verpligte beleid om te funksioneer:
+## Die Kwetsbaarheid
+
+MWAA se uitvoeringsrol (die IAM-rol wat Airflow-werkers gebruik om toegang tot AWS-bronne te kry) vereis hierdie verpligte beleid om te funksioneer:
```json
{
"Effect": "Allow",
@@ -17,28 +19,29 @@ MWAA se execution role (die IAM role wat Airflow workers gebruik om toegang tot
"Resource": "arn:aws:sqs:us-east-1:*:airflow-celery-*"
}
```
-Die wildcard (`*`) in die account ID posisie laat die rol toe om met **any SQS queue in any AWS account** te kommunikeer wat begin met `airflow-celery-`. Dit is nodig omdat AWS MWAA se interne queues in 'n aparte AWS-beheerde account voorsien. Daar is geen beperking op die skep van queues met die `airflow-celery-` voorvoegsel nie.
+Die wildcard (`*`) in die account ID-posisie laat die rol toe om met **any SQS queue in any AWS account** te kommunikeer wat begin met `airflow-celery-`. Dit is nodig omdat AWS MWAA se interne queues in 'n aparte AWS-managed account voorsien. Daar is geen beperking op die skep van queues met die `airflow-celery-` voorvoegsel nie.
-**Kan nie reggemaak word nie:** Verwydering van die wildcard voor deployment breek MWAA heeltemal - die scheduler kan nie take in die queue sit vir workers nie.
+**Cannot be fixed:** Verwydering van die wildcard voor deployment breek MWAA heeltemal - die scheduler kan nie take in die ry plaas vir workers nie.
-Dokumentasie wat die kwesbaarheid bevestig en die vektor erken: [AWS Documentation](https://docs.aws.amazon.com/mwaa/latest/userguide/mwaa-create-role.html)
+Dokumentasie wat die kwesbaarheid verifieer en die vektor erken: [AWS Documentation](https://docs.aws.amazon.com/mwaa/latest/userguide/mwaa-create-role.html)
## Uitbuiting
-Alle Airflow DAGs hardloop met die execution role se permissions. DAGs is Python-skripte wat arbitrêre kode kan uitvoer — hulle kan `yum` of `curl` gebruik om tools te installeer, kwaadwillige skripte af te laai, of enige Python-biblioteek te importeer. DAGs word uit 'n aangewese S3-vouer gehaal en op 'n skedule outomaties uitgevoer; 'n aanvaller hoef slegs die vermoë te hê om te PUT na daardie bucket-pad.
+Alle Airflow DAGs word met die uitvoeringsrol se toestemmings uitgevoer. DAGs is Python-skripte wat arbitrêre kode kan uitvoer - hulle kan `yum` of `curl` gebruik om tools te installeer, kwaadwillige skripte af te laai, of enige Python-biblioteek te importeer. DAGs word uit 'n aangewese S3-lêergids getrek en outomaties volgens skedule uitgevoer; al wat 'n aanvaller nodig het, is die vermoë om te PUT na daardie bucket-pad.
-Enigiemand wat DAGs kan skryf (tipies die meeste gebruikers in MWAA-omgewings) kan hierdie permission misbruik:
+Enigiemand wat DAGs kan skryf (typies die meeste gebruikers in MWAA-omgewings) kan hierdie toestemming misbruik:
-1. **Data Exfiltration**: Skep 'n queue genaamd `airflow-celery-exfil` in 'n eksterne account, skryf 'n DAG wat sensitiewe data daarheen stuur via `boto3`
+1. **Data Exfiltration**: Skep 'n queue met die naam `airflow-celery-exfil` in 'n eksterne account, skryf 'n DAG wat sensitiewe data daarheen stuur via `boto3`
-2. **Command & Control**: Poll commands from an external queue, execute them, return results - creating a persistent backdoor through SQS APIs
+2. **Command & Control**: Poll opdragte vanaf 'n eksterne queue, voer dit uit, stuur resultate terug - en skep 'n permanente backdoor deur SQS APIs
-3. **Cross-Account Attacks**: Inject malicious messages into other organizations' queues if they follow the naming pattern
+3. **Cross-Account Attacks**: Injiseer kwaadwillige boodskappe in ander organisasies se queues as hulle die naamgewingpatroon volg
-Alle aanvalle omseil netwerkbeheer omdat hulle AWS APIs gebruik, nie direkte internetverbindinge nie.
+Al die aanvalle omseil netwerkbeheer omdat hulle AWS APIs gebruik, nie direkte internetverbindinge nie.
## Impak
-Dit is 'n argitektoniese fout in MWAA sonder IAM-gebaseerde mitigasie. Elke MWAA deployment wat AWS dokumentasie volg het hierdie kwesbaarheid.
+Dit is 'n argitektoniese fout in MWAA sonder IAM-gebaseerde mitigasie. Elke MWAA-deployment wat AWS-dokumentasie volg het hierdie kwesbaarheid.
-**Netwerkbeheer-omseiling:** Hierdie aanvalle werk selfs in private VPCs sonder internettoegang. Die SQS API-oproepe gebruik AWS se interne netwerk en VPC endpoints, en omseil daarmee tradisionele netwerksekuriteitsbeheers, firewalls en egress-monitoring. Organisasies kan nie hierdie data exfiltration-pad op netwerkvlak opspoor of blokkeer nie.
+**Netwerkbeheer-omseiling:** Hierdie aanvalle werk selfs in private VPCs sonder internettoegang. Die SQS API-aanroepe gebruik AWS se interne netwerk en VPC-endpoints, en omseil volledig tradisionele netwerksekuriteitskontroles, firewalls en egress-monitering. Organisasies kan nie hierdie data exfiltration-pad op netwerkvlak opspoor of blokkeer nie.
+{{#include ../../../../banners/hacktricks-training.md}}
diff --git a/src/pentesting-cloud/aws-security/aws-post-exploitation/aws-sagemaker-post-exploitation/feature-store-poisoning.md b/src/pentesting-cloud/aws-security/aws-post-exploitation/aws-sagemaker-post-exploitation/feature-store-poisoning.md
index bdc5fc11b..12f0c38fc 100644
--- a/src/pentesting-cloud/aws-security/aws-post-exploitation/aws-sagemaker-post-exploitation/feature-store-poisoning.md
+++ b/src/pentesting-cloud/aws-security/aws-post-exploitation/aws-sagemaker-post-exploitation/feature-store-poisoning.md
@@ -2,16 +2,16 @@
{{#include ../../../../banners/hacktricks-training.md}}
-Abuse `sagemaker:PutRecord` on a Feature Group with OnlineStore enabled to overwrite live feature values consumed by online inference. Combined with `sagemaker:GetRecord`, an attacker can read sensitive features. This does not require access to models or endpoints.
+Misbruik `sagemaker:PutRecord` op 'n Feature Group met OnlineStore geaktiveer om lewendige feature-waardes wat deur online inference verbruik word, te oorskryf. In kombinasie met `sagemaker:GetRecord` kan 'n aanvaller sensitiewe features lees. Dit vereis nie toegang tot models of endpoints nie.
## Requirements
-- Permissies: `sagemaker:ListFeatureGroups`, `sagemaker:DescribeFeatureGroup`, `sagemaker:PutRecord`, `sagemaker:GetRecord`
-- Doelwit: Feature Group met OnlineStore geaktiveer (tipies ondersteunend real-time inference)
-- Kompleksiteit: **LAAG** - Eenvoudige AWS CLI-opdragte, geen modelmanipulasie benodig nie
+- Permissions: `sagemaker:ListFeatureGroups`, `sagemaker:DescribeFeatureGroup`, `sagemaker:PutRecord`, `sagemaker:GetRecord`
+- Target: Feature Group with OnlineStore enabled (gewoonlik vir real-time inference)
+- Complexity: **LOW** - Eenvoudige AWS CLI-opdragte, geen modelmanipulasie benodig nie
## Steps
-### Rekognosering
+### Reconnaissance
1) Lys Feature Groups met OnlineStore geaktiveer
```bash
@@ -21,16 +21,16 @@ aws sagemaker list-feature-groups \
--query "FeatureGroupSummaries[?OnlineStoreConfig!=null].[FeatureGroupName,CreationTime]" \
--output table
```
-2) Beskryf 'n teiken Feature Group om sy skema te verstaan
+2) Beskryf die teiken Feature Group om sy skema te verstaan
```bash
FG=
aws sagemaker describe-feature-group \
--region $REGION \
--feature-group-name "$FG"
```
-Let op die `RecordIdentifierFeatureName`, `EventTimeFeatureName`, en al die feature-definisies. Hierdie is nodig om geldige rekords te skep.
+Let op die `RecordIdentifierFeatureName`, `EventTimeFeatureName`, en alle feature-definisies. Dit is nodig om geldige rekords te skep.
-### Aanvalsscenario 1: Data Poisoning (Oorskryf bestaande rekords)
+### Attack Scenario 1: Data Poisoning (Overwrite Existing Records)
1) Lees die huidige legitieme rekord
```bash
@@ -39,7 +39,7 @@ aws sagemaker-featurestore-runtime get-record \
--feature-group-name "$FG" \
--record-identifier-value-as-string user-001
```
-2) Poison die rekord met kwaadwillige waardes deur die inline `--record` parameter te gebruik
+2) Poison the record met kwaadwillige waardes deur die inline `--record` parameter te gebruik
```bash
NOW=$(date -u +%Y-%m-%dT%H:%M:%SZ)
@@ -63,11 +63,11 @@ aws sagemaker-featurestore-runtime get-record \
--feature-group-name "$FG" \
--record-identifier-value-as-string user-001
```
-**Impak**: ML-modelle wat hierdie feature gebruik, sal nou `risk_score=0.99` vir 'n legitieme gebruiker sien, wat moontlik hul transaksies of dienste kan blokkeer.
+**Impak**: ML-modelle wat hierdie kenmerk gebruik, sal nou `risk_score=0.99` vir 'n legitieme gebruiker sien, wat moontlik hul transaksies of dienste sal blokkeer.
-### Attack Scenario 2: Malicious Data Injection (Create Fraudulent Records)
+### Aanvalsscenario 2: Kwaadaardige datainspuiting (Skep bedrieglike rekords)
-Voeg heeltemal nuwe rekords met gemanipuleerde features in om sekuriteitskontroles te omseil:
+Inspuit heeltemal nuwe rekords met gemanipuleerde kenmerke om sekuriteitskontroles te omseil:
```bash
NOW=$(date -u +%Y-%m-%dT%H:%M:%SZ)
@@ -91,11 +91,11 @@ aws sagemaker-featurestore-runtime get-record \
--feature-group-name "$FG" \
--record-identifier-value-as-string user-999
```
-**Impact**: Attacker skep 'n vals identiteit met 'n lae risikoscore (0.01) wat hoë-waarde bedrieglike transaksies kan uitvoer sonder om fraud detection te aktiveer.
+**Impak**: Aanvaller skep 'n vals identiteit met 'n lae risikotelling (0.01) wat hoë-waarde bedrieglike transaksies kan uitvoer sonder om fraude-opsporing te aktiveer.
-### Attack Scenario 3: Sensitive Data Exfiltration
+### Aanvalsscenario 3: Eksfiltrasie van sensitiewe data
-Lees verskeie rekords om vertroulike kenmerke uit te trek en modelgedrag te profileer:
+Lees verskeie rekords om vertroulike kenmerke te onttrek en die model se gedrag te profiel:
```bash
# Exfiltrate data for known users
for USER_ID in user-001 user-002 user-003 user-999; do
@@ -106,11 +106,11 @@ aws sagemaker-featurestore-runtime get-record \
--record-identifier-value-as-string ${USER_ID}
done
```
-**Impak**: Konfidensiële kenmerke (risiko-tellings, transaksiepatrone, persoonlike data) blootgestel aan 'n aanvaller.
+**Impak**: Vertroulike kenmerke (risikoscores, transaksiepatrone, persoonlike data) blootgestel aan 'n aanvaller.
-### Toets/Demo Feature Group Skep (Opsioneel)
+### Toets/Demo Feature Group Aanmaak (Opsioneel)
-Indien jy 'n toets Feature Group moet skep:
+As jy 'n toets Feature Group moet aanmaak:
```bash
REGION=${REGION:-us-east-1}
FG=$(aws sagemaker list-feature-groups --region $REGION --query "FeatureGroupSummaries[?OnlineStoreConfig!=null]|[0].FeatureGroupName" --output text)
@@ -144,5 +144,6 @@ fi
echo "Feature Group ready: $FG"
```
## Verwysings
-- [AWS SageMaker Feature Store Dokumentasie](https://docs.aws.amazon.com/sagemaker/latest/dg/feature-store.html)
-- [Feature Store Sekuriteit — Beste praktyke](https://docs.aws.amazon.com/sagemaker/latest/dg/feature-store-security.html)
+- [AWS SageMaker Feature Store Documentation](https://docs.aws.amazon.com/sagemaker/latest/dg/feature-store.html)
+- [Feature Store Security Best Practices](https://docs.aws.amazon.com/sagemaker/latest/dg/feature-store-security.html)
+{{#include ../../../../banners/hacktricks-training.md}}
diff --git a/src/pentesting-cloud/azure-security/az-enumeration-tools.md b/src/pentesting-cloud/azure-security/az-enumeration-tools.md
index 6e1580293..33cd37fb2 100644
--- a/src/pentesting-cloud/azure-security/az-enumeration-tools.md
+++ b/src/pentesting-cloud/azure-security/az-enumeration-tools.md
@@ -1,11 +1,11 @@
-# Az - Enumerasie Gereedskap
+# Az - Enumeration Tools
{{#include ../../banners/hacktricks-training.md}}
-## Installeer PowerShell in Linux
+## Installeer PowerShell op Linux
> [!TIP]
-> In linux sal jy PowerShell Core moet installeer:
+> Op Linux moet jy PowerShell Core installeer:
```bash
sudo apt-get update
sudo apt-get install -y wget apt-transport-https software-properties-common
@@ -26,13 +26,13 @@ curl -sL https://aka.ms/InstallAzureCLIDeb | sudo bash
```
## Installeer PowerShell in MacOS
-Instruksies van die [**dokumentasie**](https://learn.microsoft.com/en-us/powershell/scripting/install/installing-powershell-on-macos?view=powershell-7.4):
+Instruksies vanaf die [**documentation**](https://learn.microsoft.com/en-us/powershell/scripting/install/installing-powershell-on-macos?view=powershell-7.4):
1. Installeer `brew` as dit nog nie geïnstalleer is nie:
```bash
/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"
```
-2. Installeer die nuutste stabiele weergawe van PowerShell:
+2. Installeer die jongste stabiele vrystelling van PowerShell:
```sh
brew install powershell/tap/powershell
```
@@ -45,23 +45,23 @@ pwsh
brew update
brew upgrade powershell
```
-## Hoof Enumerasie Gereedskap
+## Hoof Enumeration Tools
### az cli
-[**Azure Command-Line Interface (CLI)**](https://learn.microsoft.com/en-us/cli/azure/install-azure-cli) is 'n kruis-platform hulpmiddel geskryf in Python vir die bestuur en administrasie van (meeste) Azure en Entra ID hulpbronne. Dit verbind met Azure en voer administratiewe opdragte uit via die opdraglyn of skripte.
+[**Azure Command-Line Interface (CLI)**](https://learn.microsoft.com/en-us/cli/azure/install-azure-cli) is 'n platformonafhanklike hulpmiddel geskryf in Python vir die bestuur en administrasie van (meeste) Azure en Entra ID hulpbronne. Dit verbind met Azure en voer administratiewe opdragte uit via die opdragreël of skripte.
-Volg hierdie skakel vir die [**installasie instruksies¡**](https://learn.microsoft.com/en-us/cli/azure/install-azure-cli#install).
+Volg hierdie skakel vir die [**installation instructions¡**](https://learn.microsoft.com/en-us/cli/azure/install-azure-cli#install).
-Opdragte in Azure CLI is gestruktureer volgens 'n patroon van: `az `
+Opdragte in Azure CLI is gestruktureer volgens die patroon: `az `
#### Debug | MitM az cli
-Met die parameter **`--debug`** is dit moontlik om al die versoeke wat die hulpmiddel **`az`** stuur te sien:
+Deur die parameter **`--debug`** te gebruik is dit moontlik om al die versoeke wat die tool **`az`** stuur te sien:
```bash
az account management-group list --output table --debug
```
-Om 'n **MitM** na die hulpmiddel te doen en **al die versoeke** wat dit handmatig stuur te kontroleer, kan jy doen:
+Om 'n **MitM** op die tool te doen en **alle versoeke** wat dit handmatig stuur te kontroleer, kan jy die volgende doen:
{{#tabs }}
{{#tab name="Bash" }}
@@ -106,48 +106,49 @@ $env:HTTP_PROXY="http://127.0.0.1:8080"
### Az PowerShell
-Azure PowerShell is 'n module met cmdlets om Azure hulpbronne direk vanaf die PowerShell-opdraglyn te bestuur.
+Azure PowerShell is 'n module met cmdlets vir die bestuur van Azure hulpbronne direk vanaf die PowerShell-opdragreël.
-Volg hierdie skakel vir die [**installasie-instruksies**](https://learn.microsoft.com/en-us/powershell/azure/install-azure-powershell).
+Volg hierdie skakel vir die [**installation instructions**](https://learn.microsoft.com/en-us/powershell/azure/install-azure-powershell).
-Opdragte in Azure PowerShell AZ Module is gestruktureer soos: `-Az`
+Opdragte in die Azure PowerShell AZ Module is gestruktureer soos: `-Az`
#### Debug | MitM Az PowerShell
-Deur die parameter **`-Debug`** is dit moontlik om al die versoeke wat die hulpmiddel stuur te sien:
+Deur die parameter **`-Debug`** te gebruik, is dit moontlik om al die versoeke te sien wat die tool stuur:
```bash
Get-AzResourceGroup -Debug
```
-Om 'n **MitM** na die hulpmiddel te doen en **al die versoeke** wat dit handmatig stuur te kontroleer, kan jy die omgewing veranderlikes `HTTPS_PROXY` en `HTTP_PROXY` instel volgens die [**dokumentasie**](https://learn.microsoft.com/en-us/powershell/azure/az-powershell-proxy).
+Om 'n **MitM** op die tool uit te voer en handmatig **al die versoeke** wat dit stuur te kontroleer, kan jy die omgewingsveranderlikes `HTTPS_PROXY` en `HTTP_PROXY` instel volgens die [**docs**](https://learn.microsoft.com/en-us/powershell/azure/az-powershell-proxy).
### Microsoft Graph PowerShell
-Microsoft Graph PowerShell is 'n kruis-platform SDK wat toegang tot al die Microsoft Graph API's moontlik maak, insluitend dienste soos SharePoint, Exchange, en Outlook, met 'n enkele eindpunt. Dit ondersteun PowerShell 7+, moderne verifikasie via MSAL, eksterne identiteite, en gevorderde navrae. Met 'n fokus op die minste privaatheidstoegang, verseker dit veilige bedrywighede en ontvang gereelde opdaterings om in lyn te wees met die nuutste Microsoft Graph API-funksies.
+Microsoft Graph PowerShell is 'n kruisplatform SDK wat toegang tot alle Microsoft Graph APIs moontlik maak, insluitend dienste soos SharePoint, Exchange, en Outlook, deur 'n enkele endpoint te gebruik. Dit ondersteun PowerShell 7+, moderne autentisering via MSAL, eksterne identiteite, en gevorderde queries. Met 'n fokus op die beginsel van minste voorreg, verseker dit veilige bedrywighede en ontvang dit gereelde opdaterings om in lyn te bly met die nuutste Microsoft Graph API-funksies.
-Volg hierdie skakel vir die [**installasie-instruksies**](https://learn.microsoft.com/en-us/powershell/microsoftgraph/installation).
+Volg hierdie skakel vir die [**installation instructions**](https://learn.microsoft.com/en-us/powershell/microsoftgraph/installation).
Opdragte in Microsoft Graph PowerShell is gestruktureer soos: `-Mg`
-#### Foutopsporing van Microsoft Graph PowerShell
+#### Debug Microsoft Graph PowerShell
-Met die parameter **`-Debug`** is dit moontlik om al die versoeke wat die hulpmiddel stuur te sien:
+Deur die parameter **`-Debug`** te gebruik, is dit moontlik om al die versoeke wat die tool stuur te sien:
```bash
Get-MgUser -Debug
```
### ~~**AzureAD Powershell**~~
-Die Azure Active Directory (AD) module, nou **verouderd**, is deel van Azure PowerShell vir die bestuur van Azure AD hulpbronne. Dit bied cmdlets vir take soos die bestuur van gebruikers, groepe, en aansoekregistrasies in Entra ID.
+Die Azure Active Directory (AD) module, nou **verouderd**, is deel van Azure PowerShell vir die bestuur van Azure AD-hulpbronne. Dit bied cmdlets vir take soos die bestuur van gebruikers, groepe en toepassingsregistrasies in Entra ID.
> [!TIP]
> Dit is vervang deur Microsoft Graph PowerShell
-Volg hierdie skakel vir die [**installasie-instruksies**](https://www.powershellgallery.com/packages/AzureAD).
+Follow this link for the [**installation instructions**](https://www.powershellgallery.com/packages/AzureAD).
-## Geoutomatiseerde Recon & Nakoming Gereedskap
+
+## Outomatiese Recon & Nakomingsgereedskap
### [turbot azure plugins](https://github.com/orgs/turbot/repositories?q=mod-azure)
-Turbot met steampipe en powerpipe maak dit moontlik om inligting van Azure en Entra ID te versamel en nakomingskontroles uit te voer en miskonfigurasies te vind. Die tans mees aanbevole Azure modules om te gebruik is:
+Turbot saam met steampipe en powerpipe maak dit moontlik om inligting van Azure en Entra ID te versamel, nakomingskontroles uit te voer en miskonfigurasies te vind. Die tans mees aanbevole Azure-modules om te gebruik is:
- [https://github.com/turbot/steampipe-mod-azure-compliance](https://github.com/turbot/steampipe-mod-azure-compliance)
- [https://github.com/turbot/steampipe-mod-azure-insights](https://github.com/turbot/steampipe-mod-azure-insights)
@@ -178,9 +179,9 @@ powerpipe server
```
### [Prowler](https://github.com/prowler-cloud/prowler)
-Prowler is 'n Open Source sekuriteitstoepassing om AWS, Azure, Google Cloud en Kubernetes sekuriteitsbeste praktyke assesserings, ouditte, insidentrespons, deurlopende monitering, verharding en forensiese gereedheid uit te voer.
+Prowler is 'n Open Source sekuriteitsinstrument om AWS, Azure, Google Cloud en Kubernetes se beste sekuriteitspraktyke te beoordeel, insluitend assessments, ouditte, insidentrespons, voortdurende monitering, verharding en forensiese gereedheid.
-Dit sal basies toelaat dat ons honderde kontroles teen 'n Azure-omgewing kan uitvoer om sekuriteitsmisconfigurasies te vind en die resultate in json (en ander teksformate) te versamel of dit op die web te kontroleer.
+Dit stel ons in staat om honderde kontroles teen 'n Azure-omgewing uit te voer om sekuriteitsmiskonfigurasies te vind en die resultate in json (en ander teksformate) te versamel of dit op die web te bekyk.
```bash
# Create a application with Reader role and set the tenant ID, client ID and secret in prowler so it access the app
@@ -202,9 +203,9 @@ docker run --rm -e "AZURE_CLIENT_ID=" -e "AZURE_TENANT_ID=
```
### [Monkey365](https://github.com/silverhack/monkey365)
-Dit stel jou in staat om Azure intekeninge en Microsoft Entra ID sekuriteitskonfigurasie hersienings outomaties uit te voer.
+Dit laat toe om Azure-subskripsies en Microsoft Entra ID se sekuriteitskonfigurasie-oorsigte outomaties uit te voer.
-Die HTML-verslae word binne die `./monkey-reports` gids in die github-berging gestoor.
+Die HTML-verslae word in die `./monkey-reports`-gids binne die github repository-gids gestoor.
```bash
git clone https://github.com/silverhack/monkey365
Get-ChildItem -Recurse monkey365 | Unblock-File
@@ -225,7 +226,7 @@ Invoke-Monkey365 -TenantId -ClientId -ClientSecret $Secu
```
### [ScoutSuite](https://github.com/nccgroup/ScoutSuite)
-Scout Suite versamel konfigurasiedata vir handmatige inspeksie en beklemtoon risikogebiede. Dit is 'n multi-cloud sekuriteitsouditeringsinstrument, wat sekuriteitsposisie-evaluering van wolkomgewings moontlik maak.
+Scout Suite versamel konfigurasiedata vir handmatige inspeksie en beklemtoon risikogebiede. Dit is 'n multi-cloud sekuriteits-audit hulpmiddel wat sekuriteitshouding-assessering van cloud-omgewings moontlik maak.
```bash
virtualenv -p python3 venv
source venv/bin/activate
@@ -241,9 +242,9 @@ python scout.py azure --cli
```
### [Azure-MG-Sub-Governance-Reporting](https://github.com/JulianHayward/Azure-MG-Sub-Governance-Reporting)
-Dit is 'n powershell-skrip wat jou help om **alle hulpbronne en toestemmings binne 'n Bestuursgroep en die Entra ID** huurder te visualiseer en sekuriteitsmisconfigurasies te vind.
+Dit is 'n PowerShell-skrip wat jou help om **al die hulpbronne en toestemmings binne 'n Management Group en die Entra ID tenant te visualiseer** en sekuriteitskonfigurasiefoute op te spoor.
-Dit werk met die Az PowerShell-module, so enige outentisering wat deur hierdie hulpmiddel ondersteun word, word deur die hulpmiddel ondersteun.
+Dit werk met die Az PowerShell module, dus word enige autentisering wat deur hierdie tool ondersteun word ook ondersteun.
```bash
import-module Az
.\AzGovVizParallel.ps1 -ManagementGroupId [-SubscriptionIdWhitelist ]
@@ -252,7 +253,7 @@ import-module Az
### [**ROADRecon**](https://github.com/dirkjanm/ROADtools)
-Die opsporing van ROADRecon bied inligting oor die konfigurasie van Entra ID, soos gebruikers, groepe, rolle, voorwaardelike toegangbeleide...
+Die enumerasie van ROADRecon bied inligting oor die konfigurasie van Entra ID, soos gebruikers, groepe, rolle, voorwaardelike toegangsbeleide...
```bash
cd ROADTools
pipenv shell
@@ -264,20 +265,89 @@ roadrecon gather
roadrecon gui
```
### [**AzureHound**](https://github.com/BloodHoundAD/AzureHound)
-```bash
-# Launch AzureHound
-## Login with app secret
-azurehound -a "" -s "" --tenant "" list -o ./output.json
-## Login with user creds
-azurehound -u "" -p "" --tenant "" list -o ./output.json
-```
-Laai die **BloodHound** web met **`curl -L https://ghst.ly/getbhce | docker compose -f - up`** en voer die `output.json` lêer in.
-Dan, in die **EXPLORE** tab, in die **CYPHER** afdeling kan jy 'n **folder** ikoon sien wat voorafgeboude vrae bevat.
+AzureHound is die BloodHound collector vir Microsoft Entra ID en Azure. Dit is 'n enkele statiese Go-binary vir Windows/Linux/macOS wat direk kommunikeer met:
+- Microsoft Graph (Entra ID directory, M365) en
+- Azure Resource Manager (ARM) control plane (subscriptions, resource groups, compute, storage, key vault, app services, AKS, etc.)
+
+Belangrike kenmerke
+- Hardloop vanaf enige plek op die openbare internet teen tenant-API's (geen interne netwerktoegang benodig nie)
+- Gee JSON-uitset vir BloodHound CE-invoer om aanvalspaaie oor identiteite en cloudhulpbronne te visualiseer
+- Standaard User-Agent waargeneem: azurehound/v2.x.x
+
+Verifikasie-opsies
+- Username + password: -u -p
+- Refresh token: --refresh-token