Translated ['src/pentesting-cloud/aws-security/aws-privilege-escalation/

This commit is contained in:
Translator
2025-02-13 09:54:47 +00:00
parent 525ccb54c7
commit 5844714d68
4 changed files with 77 additions and 2 deletions

View File

@@ -0,0 +1,25 @@
# Amazon Macie - Umgehung der Integritätsprüfung `Reveal Sample`
AWS Macie ist ein Sicherheitsdienst, der automatisch sensible Daten innerhalb von AWS-Umgebungen erkennt, wie z.B. Anmeldeinformationen, personenbezogene Daten (PII) und andere vertrauliche Daten. Wenn Macie eine sensible Anmeldeinformation identifiziert, wie z.B. einen in einem S3-Bucket gespeicherten AWS-Geheimschlüssel, wird ein Fund generiert, der es dem Eigentümer ermöglicht, eine "Probe" der erkannten Daten anzuzeigen. Typischerweise wird erwartet, dass der Geheimschlüssel nicht mehr abgerufen werden kann, sobald die sensible Datei aus dem S3-Bucket entfernt wurde.
Allerdings wurde eine **Umgehung** identifiziert, bei der ein Angreifer mit ausreichenden Berechtigungen eine Datei mit demselben Namen **wieder hochladen kann**, die jedoch unterschiedliche, nicht sensible Dummy-Daten enthält. Dies führt dazu, dass Macie die neu hochgeladene Datei mit dem ursprünglichen Fund verknüpft, wodurch der Angreifer die **"Reveal Sample"-Funktion** nutzen kann, um das zuvor erkannte Geheimnis zu extrahieren. Dieses Problem stellt ein erhebliches Sicherheitsrisiko dar, da Geheimnisse, von denen angenommen wurde, dass sie gelöscht wurden, durch diese Methode weiterhin abgerufen werden können.
<img src="https://github.com/user-attachments/assets/c44228ae-12cd-41bd-9a04-57f503a63281" height="800" width="auto"/>
## Schritte zur Reproduktion:
1. Laden Sie eine Datei (z.B. `test-secret.txt`) in einen S3-Bucket mit sensiblen Daten, wie z.B. einem AWS-Geheimschlüssel, hoch. Warten Sie, bis AWS Macie scannt und einen Fund generiert.
2. Navigieren Sie zu den AWS Macie Findings, suchen Sie den generierten Fund und verwenden Sie die **Reveal Sample**-Funktion, um das erkannte Geheimnis anzuzeigen.
3. Löschen Sie `test-secret.txt` aus dem S3-Bucket und vergewissern Sie sich, dass es nicht mehr existiert.
4. Erstellen Sie eine neue Datei mit dem Namen `test-secret.txt` mit Dummy-Daten und laden Sie sie mit dem **Konto des Angreifers** erneut in denselben S3-Bucket hoch.
5. Kehren Sie zu den AWS Macie Findings zurück, greifen Sie auf den ursprünglichen Fund zu und klicken Sie erneut auf **Reveal Sample**.
6. Beobachten Sie, dass Macie das ursprüngliche Geheimnis weiterhin offenbart, obwohl die Datei gelöscht und durch unterschiedliche Inhalte **von verschiedenen Konten, in unserem Fall dem Konto des Angreifers, ersetzt wurde**.
## Zusammenfassung:
Diese Schwachstelle ermöglicht es einem Angreifer mit ausreichenden AWS IAM-Berechtigungen, zuvor erkannte Geheimnisse wiederherzustellen, selbst nachdem die ursprüngliche Datei aus S3 gelöscht wurde. Wenn ein AWS-Geheimschlüssel, ein Zugriffstoken oder eine andere sensible Anmeldeinformation offengelegt wird, könnte ein Angreifer diese Schwachstelle ausnutzen, um sie abzurufen und unbefugten Zugriff auf AWS-Ressourcen zu erlangen. Dies könnte zu einer Privilegieneskalation, unbefugtem Datenzugriff oder einer weiteren Kompromittierung von Cloud-Ressourcen führen, was zu Datenverletzungen und Dienstunterbrechungen führen kann.

View File

@@ -0,0 +1,48 @@
# Amazon Macie
## Einführung
Amazon Macie ist ein Datensicherheitsdienst, der sensible Daten durch maschinelles Lernen und Mustererkennung entdeckt, Einblick in Datensicherheitsrisiken bietet und automatisierten Schutz gegen diese Risiken ermöglicht.
## Auflistung von Ergebnissen mit der AWS-Konsole
Nach dem Scannen eines bestimmten S3-Buckets nach Geheimnissen und sensiblen Daten werden Ergebnisse generiert und in der Konsole angezeigt. Autorisierte Benutzer mit ausreichenden Berechtigungen können diese Ergebnisse für jeden Job einsehen und auflisten.
<img width="1438" alt="Screenshot 2025-02-10 at 19 08 08" src="https://github.com/user-attachments/assets/4420f13e-c071-4ae4-946b-6fe67449a9f6" />
## Offenlegung von Geheimnissen
Amazon Macie bietet eine Funktion, die erkannte Geheimnisse im Klartextformat anzeigt. Diese Funktion hilft bei der Identifizierung der kompromittierten Daten. Die Anzeige von Geheimnissen im Klartext wird jedoch aufgrund von Sicherheitsbedenken im Allgemeinen nicht als beste Praxis angesehen, da sie potenziell sensible Informationen offenlegen könnte.
<img width="596" alt="Screenshot 2025-02-10 at 19 13 53" src="https://github.com/user-attachments/assets/31c40c29-0bba-429b-8b86-4e214d1aef66" />
<img width="1154" alt="Screenshot 2025-02-10 at 19 15 11" src="https://github.com/user-attachments/assets/df616e56-a11a-41da-ac69-0bea37d143a5" />
## Aufzählung
```bash
# List and describe classification jobs
aws macie2 list-classification-jobs --region eu-west-1
aws macie2 describe-classification-job --job-id <Job_ID> --region eu-west-1
# Retrieve account details and statistics
aws macie2 get-macie-session --region eu-west-1
aws macie2 get-usage-statistics --region eu-west-1
# List and manage Macie members (for organizations)
aws macie2 list-members --region eu-west-1
# List findings and get detailed information about specific findings
aws macie2 list-findings --region eu-west-1
aws macie2 get-findings --finding-id <Finding_ID> --region eu-west-1
# Manage custom data identifiers
aws macie2 list-custom-data-identifiers --region eu-west-1
aws macie2 get-custom-data-identifier --id <Identifier_ID> --region eu-west-1
# List and detail findings filters
aws macie2 list-findings-filters --region eu-west-1
aws macie2 get-findings-filter --id <Filter_ID> --region eu-west-1
```