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

This commit is contained in:
Translator
2025-02-13 09:54:41 +00:00
parent c3bbf40138
commit 10892706e8
4 changed files with 77 additions and 2 deletions

View File

@@ -0,0 +1,25 @@
# Amazon Macie - Contournement de la vérification d'intégrité `Reveal Sample`
AWS Macie est un service de sécurité qui détecte automatiquement les données sensibles dans les environnements AWS, telles que les identifiants, les informations personnellement identifiables (PII) et d'autres données confidentielles. Lorsque Macie identifie un identifiant sensible, tel qu'une clé secrète AWS stockée dans un bucket S3, il génère une découverte qui permet au propriétaire de voir un "échantillon" des données détectées. En général, une fois que le fichier sensible est supprimé du bucket S3, on s'attend à ce que le secret ne puisse plus être récupéré.
Cependant, un **contournement** a été identifié où un attaquant disposant de permissions suffisantes peut **re-télécharger un fichier avec le même nom** mais contenant des données fictives non sensibles. Cela amène Macie à associer le fichier nouvellement téléchargé à la découverte originale, permettant à l'attaquant d'utiliser la **fonctionnalité "Reveal Sample"** pour extraire le secret précédemment détecté. Ce problème pose un risque de sécurité significatif, car les secrets qui étaient supposés être supprimés restent récupérables par ce moyen.
<img src="https://github.com/user-attachments/assets/c44228ae-12cd-41bd-9a04-57f503a63281" height="800" width="auto"/>
## Étapes à reproduire :
1. Téléchargez un fichier (par exemple, `test-secret.txt`) dans un bucket S3 avec des données sensibles, telles qu'une clé secrète AWS. Attendez qu'AWS Macie scanne et génère une découverte.
2. Accédez aux découvertes AWS Macie, localisez la découverte générée et utilisez la fonctionnalité **Reveal Sample** pour voir le secret détecté.
3. Supprimez `test-secret.txt` du bucket S3 et vérifiez qu'il n'existe plus.
4. Créez un nouveau fichier nommé `test-secret.txt` avec des données fictives et re-téléchargez-le dans le même bucket S3 en utilisant le **compte de l'attaquant**.
5. Retournez aux découvertes AWS Macie, accédez à la découverte originale et cliquez à nouveau sur **Reveal Sample**.
6. Observez que Macie révèle toujours le secret original, malgré le fait que le fichier ait été supprimé et remplacé par un contenu différent **provenant de comptes différents, dans notre cas ce sera le compte de l'attaquant**.
## Résumé :
Cette vulnérabilité permet à un attaquant disposant de permissions AWS IAM suffisantes de récupérer des secrets précédemment détectés même après que le fichier original a été supprimé de S3. Si une clé secrète AWS, un jeton d'accès ou un autre identifiant sensible est exposé, un attaquant pourrait exploiter ce défaut pour le récupérer et obtenir un accès non autorisé aux ressources AWS. Cela pourrait entraîner une élévation de privilèges, un accès non autorisé aux données ou un compromis supplémentaire des actifs cloud, entraînant des violations de données et des interruptions de service.

View File

@@ -0,0 +1,48 @@
# Amazon Macie
## Introduction
Amazon Macie est un service de sécurité des données qui découvre des données sensibles en utilisant l'apprentissage automatique et la correspondance de motifs, fournit une visibilité sur les risques de sécurité des données et permet une protection automatisée contre ces risques.
## Listing Findings with AWS Console
Après avoir scanné un bucket S3 spécifique à la recherche de secrets et de données sensibles, des résultats seront générés et affichés dans la console. Les utilisateurs autorisés avec des permissions suffisantes peuvent voir et lister ces résultats pour chaque job.
<img width="1438" alt="Screenshot 2025-02-10 at 19 08 08" src="https://github.com/user-attachments/assets/4420f13e-c071-4ae4-946b-6fe67449a9f6" />
## Revealing Secret
Amazon Macie fournit une fonctionnalité qui affiche les secrets détectés en format texte clair. Cette fonctionnalité aide à l'identification des données compromises. Cependant, afficher des secrets en texte clair n'est généralement pas considéré comme une bonne pratique en raison des préoccupations de sécurité, car cela pourrait potentiellement exposer des informations sensibles.
<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" />
## Enumeration
```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
```

View File

@@ -471,12 +471,13 @@ window.search = window.search || {};
showResults(true);
}
fetch('https://raw.githubusercontent.com/HackTricks-wiki/hacktricks-cloud/refs/heads/master/searchindex.json')
var branch = lang === "en" ? "master" : lang
fetch(`https://raw.githubusercontent.com/HackTricks-wiki/hacktricks-cloud/refs/heads/${branch}/searchindex.json`)
.then(response => response.json())
.then(json => init(json))
.catch(error => { // Try to load searchindex.js if fetch failed
var script = document.createElement('script');
script.src = 'https://raw.githubusercontent.com/HackTricks-wiki/hacktricks-cloud/refs/heads/master/searchindex.js';
script.src = `https://raw.githubusercontent.com/HackTricks-wiki/hacktricks-cloud/refs/heads/${branch}/searchindex.js`;
script.onload = () => init(window.search);
document.head.appendChild(script);
});

View File

@@ -55,6 +55,7 @@
<!-- Provide site root to javascript -->
<script>
var path_to_root = "{{ path_to_root }}";
var lang = "{{ language }}";
var default_theme = window.matchMedia("(prefers-color-scheme: dark)").matches ? "{{ preferred_dark_theme }}" : "{{ default_theme }}";
</script>
<!-- Start loading toc.js asap -->