mirror of
https://github.com/HackTricks-wiki/hacktricks-cloud.git
synced 2025-12-18 10:19:28 -08:00
Translated ['src/pentesting-cloud/aws-security/aws-privilege-escalation/
This commit is contained in:
@@ -0,0 +1,25 @@
|
||||
# Amazon Macie - Bypass `Reveal Sample` Integrity Check
|
||||
|
||||
AWS Macie es un servicio de seguridad que detecta automáticamente datos sensibles dentro de entornos de AWS, como credenciales, información de identificación personal (PII) y otros datos confidenciales. Cuando Macie identifica una credencial sensible, como una clave secreta de AWS almacenada en un bucket S3, genera un hallazgo que permite al propietario ver una "muestra" de los datos detectados. Típicamente, una vez que el archivo sensible se elimina del bucket S3, se espera que la clave secreta ya no pueda ser recuperada.
|
||||
|
||||
Sin embargo, se ha identificado un **bypass** donde un atacante con permisos suficientes puede **volver a subir un archivo con el mismo nombre** pero que contenga datos ficticios diferentes y no sensibles. Esto provoca que Macie asocie el archivo recién subido con el hallazgo original, permitiendo al atacante usar la **función "Reveal Sample"** para extraer la clave secreta detectada anteriormente. Este problema representa un riesgo de seguridad significativo, ya que las claves que se asumían eliminadas siguen siendo recuperables a través de este método.
|
||||
|
||||
<img src="https://github.com/user-attachments/assets/c44228ae-12cd-41bd-9a04-57f503a63281" height="800" width="auto"/>
|
||||
|
||||
## Steps To Reproduce:
|
||||
|
||||
1. Sube un archivo (por ejemplo, `test-secret.txt`) a un bucket S3 con datos sensibles, como una clave secreta de AWS. Espera a que AWS Macie escanee y genere un hallazgo.
|
||||
|
||||
2. Navega a los Hallazgos de AWS Macie, localiza el hallazgo generado y usa la función **Reveal Sample** para ver la clave secreta detectada.
|
||||
|
||||
3. Elimina `test-secret.txt` del bucket S3 y verifica que ya no exista.
|
||||
|
||||
4. Crea un nuevo archivo llamado `test-secret.txt` con datos ficticios y vuelve a subirlo al mismo bucket S3 usando la **cuenta del atacante**.
|
||||
|
||||
5. Regresa a los Hallazgos de AWS Macie, accede al hallazgo original y haz clic en **Reveal Sample** nuevamente.
|
||||
|
||||
6. Observa que Macie aún revela la clave secreta original, a pesar de que el archivo ha sido eliminado y reemplazado con contenido diferente **de diferentes cuentas, en nuestro caso será la cuenta del atacante**.
|
||||
|
||||
## Summary:
|
||||
|
||||
Esta vulnerabilidad permite a un atacante con permisos suficientes de AWS IAM recuperar claves secretas detectadas anteriormente incluso después de que el archivo original ha sido eliminado de S3. Si una clave secreta de AWS, un token de acceso u otra credencial sensible se expone, un atacante podría aprovechar este defecto para recuperarla y obtener acceso no autorizado a los recursos de AWS. Esto podría llevar a una escalada de privilegios, acceso no autorizado a datos o un mayor compromiso de activos en la nube, resultando en violaciones de datos y interrupciones del servicio.
|
||||
@@ -0,0 +1,48 @@
|
||||
# Amazon Macie
|
||||
|
||||
## Introducción
|
||||
|
||||
Amazon Macie es un servicio de seguridad de datos que descubre datos sensibles utilizando aprendizaje automático y coincidencia de patrones, proporciona visibilidad sobre los riesgos de seguridad de los datos y permite la protección automatizada contra esos riesgos.
|
||||
|
||||
## Listando Hallazgos con la Consola de AWS
|
||||
|
||||
Después de escanear un bucket S3 específico en busca de secretos y datos sensibles, se generarán hallazgos que se mostrarán en la consola. Los usuarios autorizados con permisos suficientes pueden ver y listar estos hallazgos para cada trabajo.
|
||||
|
||||
<img width="1438" alt="Screenshot 2025-02-10 at 19 08 08" src="https://github.com/user-attachments/assets/4420f13e-c071-4ae4-946b-6fe67449a9f6" />
|
||||
|
||||
|
||||
## Revelando Secretos
|
||||
|
||||
Amazon Macie proporciona una función que muestra los secretos detectados en formato de texto claro. Esta funcionalidad ayuda en la identificación de los datos comprometidos. Sin embargo, mostrar secretos en texto claro generalmente no se considera una buena práctica debido a preocupaciones de seguridad, ya que podría exponer información sensible.
|
||||
|
||||
<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" />
|
||||
|
||||
## Enumeración
|
||||
```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
|
||||
|
||||
```
|
||||
|
||||
@@ -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);
|
||||
});
|
||||
|
||||
@@ -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 -->
|
||||
|
||||
Reference in New Issue
Block a user