mirror of
https://github.com/HackTricks-wiki/hacktricks-cloud.git
synced 2026-01-16 06:42:39 -08:00
Translated ['src/pentesting-cloud/aws-security/aws-basic-information/REA
This commit is contained in:
@@ -24,7 +24,7 @@ Los registros de CloudTrail pueden ser **agregados a través de cuentas y region
|
||||
CloudTrail permite usar **la integridad del archivo de registro para poder verificar que tus archivos de registro no han cambiado** desde que CloudTrail te los entregó. Crea un hash SHA-256 de los registros dentro de un archivo de resumen. Un hash sha-256 de los nuevos registros se crea cada hora.\
|
||||
Al crear un Trail, los selectores de eventos te permitirán indicar el tipo de registro: eventos de gestión, de datos o de información.
|
||||
|
||||
Los registros se guardan en un bucket de S3. Por defecto, se utiliza el cifrado del lado del servidor (SSE-S3), por lo que AWS descifrará el contenido para las personas que tengan acceso a él, pero para mayor seguridad puedes usar SSE con KMS y tus propias claves.
|
||||
Los registros se guardan en un bucket de S3. Por defecto, se utiliza el cifrado del lado del servidor (SSE-S3), por lo que AWS descifrará el contenido para las personas que tienen acceso a él, pero para mayor seguridad puedes usar SSE con KMS y tus propias claves.
|
||||
|
||||
Los registros se almacenan en un **bucket de S3 con este formato de nombre**:
|
||||
|
||||
@@ -88,15 +88,15 @@ El Historial de Eventos de CloudTrail te permite inspeccionar en una tabla los r
|
||||
Los insights se almacenan en el mismo bucket que los registros de CloudTrail en: `BucketName/AWSLogs/AccountID/CloudTrail-Insight`
|
||||
|
||||
### Security
|
||||
|
||||
| Integridad del Archivo de Registro de CloudTrail | <ul><li>Validar si los registros han sido manipulados (modificados o eliminados)</li><li><p>Utiliza archivos de resumen (crea un hash para cada archivo)</p><ul><li>Hashing SHA-256</li><li>SHA-256 con RSA para firma digital</li><li>clave privada propiedad de Amazon</li></ul></li><li>Toma 1 hora crear un archivo de resumen (hecho en la hora cada hora)</li></ul> |
|
||||
| Control Name | Implementation Details |
|
||||
| ------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |
|
||||
| Detener el acceso no autorizado | <ul><li><p>Usar políticas de IAM y políticas de bucket de S3</p><ul><li>equipo de seguridad —> acceso de administrador</li><li>auditores —> acceso solo de lectura</li></ul></li><li>Usar SSE-S3/SSE-KMS para cifrar los registros</li></ul> |
|
||||
| Prevenir que los archivos de registro sean eliminados | <ul><li>Restringir el acceso de eliminación con políticas de IAM y bucket</li><li>Configurar la eliminación MFA de S3</li><li>Validar con la Validación de Archivos de Registro</li></ul> |
|
||||
| CloudTrail Log File Integrity | <ul><li>Validar si los registros han sido manipulados (modificados o eliminados)</li><li><p>Usa archivos de resumen (crea un hash para cada archivo)</p><ul><li>SHA-256 hashing</li><li>SHA-256 con RSA para firma digital</li><li>clave privada propiedad de Amazon</li></ul></li><li>Toma 1 hora crear un archivo de resumen (hecho en la hora cada hora)</li></ul> |
|
||||
| Stop unauthorized access | <ul><li><p>Usar políticas de IAM y políticas de bucket S3</p><ul><li>equipo de seguridad —> acceso de administrador</li><li>auditores —> acceso solo de lectura</li></ul></li><li>Usar SSE-S3/SSE-KMS para cifrar los registros</li></ul> |
|
||||
| Prevent log files from being deleted | <ul><li>Restringir el acceso de eliminación con políticas de IAM y de bucket</li><li>Configurar S3 MFA delete</li><li>Validar con Validación de Archivos de Registro</li></ul> |
|
||||
|
||||
## Access Advisor
|
||||
|
||||
AWS Access Advisor se basa en los últimos 400 días de registros de **CloudTrail de AWS para recopilar sus insights**. CloudTrail captura un historial de llamadas a la API de AWS y eventos relacionados realizados en una cuenta de AWS. Access Advisor utiliza estos datos para **mostrar cuándo se accedió por última vez a los servicios**. Al analizar los registros de CloudTrail, Access Advisor puede determinar qué servicios de AWS ha accedido un usuario o rol de IAM y cuándo ocurrió ese acceso. Esto ayuda a los administradores de AWS a tomar decisiones informadas sobre **refinar permisos**, ya que pueden identificar servicios que no se han accedido durante períodos prolongados y potencialmente reducir permisos excesivamente amplios basados en patrones de uso reales.
|
||||
AWS Access Advisor se basa en los últimos 400 días de registros de AWS **CloudTrail para recopilar sus insights**. CloudTrail captura un historial de llamadas a la API de AWS y eventos relacionados realizados en una cuenta de AWS. Access Advisor utiliza estos datos para **mostrar cuándo se accedió por última vez a los servicios**. Al analizar los registros de CloudTrail, Access Advisor puede determinar qué servicios de AWS ha accedido un usuario o rol de IAM y cuándo ocurrió ese acceso. Esto ayuda a los administradores de AWS a tomar decisiones informadas sobre **refinar permisos**, ya que pueden identificar servicios que no se han accedido durante períodos prolongados y potencialmente reducir permisos excesivamente amplios basados en patrones de uso reales.
|
||||
|
||||
> [!TIP]
|
||||
> Por lo tanto, Access Advisor informa sobre **los permisos innecesarios que se están otorgando a los usuarios** para que el administrador pueda eliminarlos
|
||||
@@ -198,7 +198,7 @@ De esta manera, un **atacante puede obtener el ARN de la clave sin activar ning
|
||||
.png>)
|
||||
|
||||
> [!CAUTION]
|
||||
> Ten en cuenta que todas las API públicas descubiertas que no estaban creando logs de CloudTrail ahora están corregidas, así que tal vez necesites encontrar las tuyas...
|
||||
> Ten en cuenta que todas las API públicas descubiertas que no estaban creando logs de CloudTrail ahora están arregladas, así que tal vez necesites encontrar las tuyas...
|
||||
>
|
||||
> Para más información, consulta la [**investigación original**](https://rhinosecuritylabs.com/aws/aws-iam-enumeration-2-0-bypassing-cloudtrail-logging/).
|
||||
|
||||
|
||||
@@ -11,7 +11,7 @@ Puede establecer **alarmas de alta resolución**, visualizar **logs** y **métri
|
||||
Puede monitorear, por ejemplo, logs de CloudTrail. Los eventos que se monitorean:
|
||||
|
||||
- Cambios en Grupos de Seguridad y NACLs
|
||||
- Iniciar, Detener, reiniciar y terminar instancias EC2
|
||||
- Inicio, Detención, reinicio y terminación de instancias EC2
|
||||
- Cambios en Políticas de Seguridad dentro de IAM y S3
|
||||
- Intentos de inicio de sesión fallidos en la Consola de Administración de AWS
|
||||
- Llamadas a la API que resultaron en autorización fallida
|
||||
@@ -68,7 +68,7 @@ Las unidades son el tipo de medida asociado con una métrica. Las unidades ayuda
|
||||
|
||||
**Metric Streams** en AWS CloudWatch le permiten transmitir continuamente métricas de CloudWatch a un destino de su elección en casi tiempo real. Esto es particularmente útil para monitoreo avanzado, análisis y dashboards personalizados utilizando herramientas fuera de AWS.
|
||||
|
||||
**Metric Data** dentro de Metric Streams se refiere a las mediciones o puntos de datos reales que se están transmitiendo. Estos puntos de datos representan varias métricas como utilización de CPU, uso de memoria, etc., para recursos de AWS.
|
||||
**Metric Data** dentro de Metric Streams se refiere a las mediciones reales o puntos de datos que se están transmitiendo. Estos puntos de datos representan varias métricas como utilización de CPU, uso de memoria, etc., para recursos de AWS.
|
||||
|
||||
**Ejemplo de Caso de Uso**:
|
||||
|
||||
@@ -84,11 +84,11 @@ Las unidades son el tipo de medida asociado con una métrica. Las unidades ayuda
|
||||
- **Umbral**: El valor en el que se activa la alarma.
|
||||
- **Períodos de Evaluación**: El número de períodos sobre los cuales se evalúan los datos.
|
||||
- **Puntos de Datos para la Alarma**: El número de períodos con un umbral alcanzado necesario para activar la alarma.
|
||||
- **Acciones**: Lo que sucede cuando se activa el estado de la alarma (por ejemplo, notificar a través de SNS).
|
||||
- **Acciones**: Lo que sucede cuando se activa el estado de una alarma (por ejemplo, notificar a través de SNS).
|
||||
|
||||
**Ejemplo de Caso de Uso**:
|
||||
|
||||
- Monitorear la utilización de CPU de la instancia EC2 y enviar una notificación a través de SNS si supera el 80% durante 5 minutos consecutivos.
|
||||
- Monitorear la utilización de CPU de una instancia EC2 y enviar una notificación a través de SNS si supera el 80% durante 5 minutos consecutivos.
|
||||
|
||||
### Anomaly Detectors
|
||||
|
||||
@@ -118,16 +118,16 @@ Las unidades son el tipo de medida asociado con una métrica. Las unidades ayuda
|
||||
Permite **agregar y monitorear logs de aplicaciones** y sistemas de **servicios de AWS** (incluyendo CloudTrail) y **de aplicaciones/sistemas** (**CloudWatch Agent** se puede instalar en un host). Los logs pueden ser **almacenados indefinidamente** (dependiendo de la configuración del Grupo de Logs) y pueden ser exportados.
|
||||
|
||||
**Elementos**:
|
||||
|
||||
| **Grupo de Logs** | Una **colección de flujos de logs** que comparten la misma retención, monitoreo y configuraciones de control de acceso |
|
||||
| ----------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------- |
|
||||
| **Flujo de Logs** | Una secuencia de **eventos de logs** que comparten el **mismo origen** |
|
||||
| Término | Definición |
|
||||
| ------------------------ | ---------------------------------------------------------------------------------------------------------------------------------------------------------- |
|
||||
| **Grupo de Logs** | Una **colección de flujos de logs** que comparten la misma retención, monitoreo y configuraciones de control de acceso |
|
||||
| **Flujo de Logs** | Una secuencia de **eventos de logs** que comparten la **misma fuente** |
|
||||
| **Filtros de Suscripción** | Definen un **patrón de filtro que coincide con eventos** en un grupo de logs particular, enviándolos a un flujo de Kinesis Data Firehose, flujo de Kinesis o una función Lambda |
|
||||
|
||||
### Monitoreo y Eventos de CloudWatch
|
||||
|
||||
CloudWatch **básico** agrega datos **cada 5 minutos** (el **detallado** lo hace **cada 1 minuto**). Después de la agregación, **verifica los umbrales de las alarmas** en caso de que necesite activar una.\
|
||||
En ese caso, CloudWatch puede estar preparado para enviar un evento y realizar algunas acciones automáticas (funciones de AWS Lambda, temas de SNS, colas de SQS, flujos de Kinesis).
|
||||
En ese caso, CloudWatch puede estar preparado para enviar un evento y realizar algunas acciones automáticas (funciones de AWS lambda, temas de SNS, colas de SQS, flujos de Kinesis)
|
||||
|
||||
### Instalación del Agente
|
||||
|
||||
@@ -216,7 +216,7 @@ aws events list-event-buses
|
||||
|
||||
### **`cloudwatch:DeleteAlarms`,`cloudwatch:PutMetricAlarm` , `cloudwatch:PutCompositeAlarm`**
|
||||
|
||||
Un atacante con estos permisos podría socavar significativamente la infraestructura de monitoreo y alertas de una organización. Al eliminar alarmas existentes, un atacante podría desactivar alertas cruciales que notifican a los administradores sobre problemas críticos de rendimiento, violaciones de seguridad o fallos operativos. Además, al crear o modificar alarmas métricas, el atacante también podría engañar a los administradores con alertas falsas o silenciar alarmas legítimas, enmascarando efectivamente actividades maliciosas y evitando respuestas oportunas a incidentes reales.
|
||||
Un atacante con estos permisos podría socavar significativamente la infraestructura de monitoreo y alerta de una organización. Al eliminar alarmas existentes, un atacante podría desactivar alertas cruciales que notifican a los administradores sobre problemas críticos de rendimiento, violaciones de seguridad o fallos operativos. Además, al crear o modificar alarmas métricas, el atacante también podría engañar a los administradores con alertas falsas o silenciar alarmas legítimas, enmascarando efectivamente actividades maliciosas y evitando respuestas oportunas a incidentes reales.
|
||||
|
||||
Además, con el permiso **`cloudwatch:PutCompositeAlarm`**, un atacante podría crear un bucle o ciclo de alarmas compuestas, donde la alarma compuesta A depende de la alarma compuesta B, y la alarma compuesta B también depende de la alarma compuesta A. En este escenario, no es posible eliminar ninguna alarma compuesta que sea parte del ciclo porque siempre hay una alarma compuesta que depende de esa alarma que deseas eliminar.
|
||||
```bash
|
||||
@@ -287,13 +287,13 @@ Al eliminar acciones de alarma, el atacante podría prevenir alertas críticas y
|
||||
|
||||
Además, un atacante con el permiso podría manipular los estados de alarma, siendo capaz de crear falsas alarmas para distraer y confundir a los administradores, o silenciar alarmas genuinas para ocultar actividades maliciosas en curso o fallos críticos del sistema.
|
||||
|
||||
- Si usas **`SetAlarmState`** en una alarma compuesta, la alarma compuesta no garantiza volver a su estado real. Solo regresa a su estado real una vez que cualquiera de sus alarmas hijas cambie de estado. También se reevaluará si actualizas su configuración.
|
||||
- Si usas **`SetAlarmState`** en una alarma compuesta, la alarma compuesta no garantiza volver a su estado real. Regresa a su estado real solo una vez que cualquiera de sus alarmas hijas cambie de estado. También se reevaluará si actualizas su configuración.
|
||||
```bash
|
||||
aws cloudwatch disable-alarm-actions --alarm-names <value>
|
||||
aws cloudwatch enable-alarm-actions --alarm-names <value>
|
||||
aws cloudwatch set-alarm-state --alarm-name <value> --state-value <OK | ALARM | INSUFFICIENT_DATA> --state-reason <value> [--state-reason-data <value>]
|
||||
```
|
||||
**Impacto Potencial**: Falta de notificaciones para eventos críticos, problemas potenciales no detectados, alertas falsas, suprimir alertas genuinas y potencialmente detecciones perdidas de incidentes reales.
|
||||
**Impacto Potencial**: Falta de notificaciones para eventos críticos, problemas potencialmente no detectados, alertas falsas, suprimir alertas genuinas y potencialmente detecciones perdidas de incidentes reales.
|
||||
|
||||
### **`cloudwatch:DeleteAnomalyDetector`, `cloudwatch:PutAnomalyDetector`**
|
||||
|
||||
@@ -370,7 +370,7 @@ aws cloudwatch delete-insight-rules --rule-names <value>
|
||||
aws cloudwatch put-insight-rule --rule-name <value> --rule-definition <value> [--rule-state <value>]
|
||||
aws cloudwatch put-managed-insight-rules --managed-rules <value>
|
||||
```
|
||||
**Impacto Potencial**: Dificultad para detectar y responder a problemas de rendimiento y anomalías, toma de decisiones mal informadas y potencialmente ocultar actividades maliciosas o fallos del sistema.
|
||||
**Impacto Potencial**: Dificultad para detectar y responder a problemas de rendimiento y anomalías, toma de decisiones erróneas y potencialmente ocultar actividades maliciosas o fallos del sistema.
|
||||
|
||||
### **`cloudwatch:DisableInsightRules`, `cloudwatch:EnableInsightRules`**
|
||||
|
||||
@@ -417,7 +417,7 @@ Un atacante podría agregar, modificar o eliminar etiquetas de los recursos de C
|
||||
aws cloudwatch tag-resource --resource-arn <value> --tags <value>
|
||||
aws cloudwatch untag-resource --resource-arn <value> --tag-keys <value>
|
||||
```
|
||||
**Impacto Potencial**: Disrupción de las políticas de control de acceso basadas en etiquetas.
|
||||
**Impacto Potencial**: Disrupción de políticas de control de acceso basadas en etiquetas.
|
||||
|
||||
## Referencias
|
||||
|
||||
|
||||
Reference in New Issue
Block a user