mirror of
https://github.com/HackTricks-wiki/hacktricks-cloud.git
synced 2026-01-12 13:05:19 -08:00
Translated ['src/pentesting-cloud/aws-security/aws-persistence/aws-ssm-p
This commit is contained in:
@@ -1,4 +1,4 @@
|
||||
# AWS - SSM Perssitence
|
||||
# AWS - SSM Persistencia
|
||||
|
||||
{{#include ../../../banners/hacktricks-training.md}}
|
||||
|
||||
@@ -12,7 +12,7 @@ Para más información, consulta:
|
||||
|
||||
### Usando ssm:CreateAssociation para persistencia
|
||||
|
||||
Un atacante con el permiso ssm:CreateAssociation puede crear una Asociación de State Manager para ejecutar automáticamente comandos en instancias de EC2 gestionadas por SSM. Estas asociaciones se pueden configurar para ejecutarse a intervalos fijos, lo que las hace adecuadas para una persistencia similar a una puerta trasera sin sesiones interactivas.
|
||||
Un atacante con el permiso **`ssm:CreateAssociation`** puede crear una Asociación del Administrador de Estado para ejecutar automáticamente comandos en instancias de EC2 gestionadas por SSM. Estas asociaciones se pueden configurar para ejecutarse a intervalos fijos, lo que las hace adecuadas para una persistencia similar a una puerta trasera sin sesiones interactivas.
|
||||
```bash
|
||||
aws ssm create-association \
|
||||
--name SSM-Document-Name \
|
||||
@@ -4,7 +4,7 @@
|
||||
|
||||
## SSM
|
||||
|
||||
Para más información sobre SSM consulta:
|
||||
Para más información sobre SSM, consulta:
|
||||
|
||||
{{#ref}}
|
||||
../aws-services/aws-ec2-ebs-elb-ssm-vpc-and-vpn-enum/
|
||||
@@ -59,7 +59,7 @@ aws ssm start-session --target "ecs:CLUSTERNAME_TASKID_RUNTIMEID"
|
||||
```
|
||||
.png>)
|
||||
|
||||
**Impacto Potencial:** Privesc directo a los roles de `ECS`IAM adjuntos a tareas en ejecución con `ExecuteCommand` habilitado.
|
||||
**Impacto Potencial:** Privesc directo a los roles `ECS`IAM adjuntos a tareas en ejecución con `ExecuteCommand` habilitado.
|
||||
|
||||
### `ssm:ResumeSession`
|
||||
|
||||
@@ -105,6 +105,20 @@ aws ssm get-command-invocation --command-id <cmd_id> --instance-id <i_id>
|
||||
```
|
||||
**Impacto Potencial:** Encontrar información sensible dentro de la salida de las líneas de comando.
|
||||
|
||||
### Usando ssm:CreateAssociation
|
||||
|
||||
Un atacante con el permiso **`ssm:CreateAssociation`** puede crear una Asociación de State Manager para ejecutar automáticamente comandos en instancias de EC2 gestionadas por SSM. Estas asociaciones se pueden configurar para ejecutarse a intervalos fijos, lo que las hace adecuadas para una persistencia similar a una puerta trasera sin sesiones interactivas.
|
||||
```bash
|
||||
aws ssm create-association \
|
||||
--name SSM-Document-Name \
|
||||
--targets Key=InstanceIds,Values=target-instance-id \
|
||||
--parameters commands=["malicious-command"] \
|
||||
--schedule-expression "rate(30 minutes)" \
|
||||
--association-name association-name
|
||||
```
|
||||
> [!NOTE]
|
||||
> Este método de persistencia funciona siempre que la instancia EC2 sea gestionada por Systems Manager, el agente SSM esté en ejecución y el atacante tenga permiso para crear asociaciones. No requiere sesiones interactivas ni permisos explícitos de ssm:SendCommand. **Importante:** El parámetro `--schedule-expression` (por ejemplo, `rate(30 minutes)`) debe respetar el intervalo mínimo de 30 minutos de AWS. Para ejecución inmediata o única, omita `--schedule-expression` por completo: la asociación se ejecutará una vez después de la creación.
|
||||
|
||||
### Codebuild
|
||||
|
||||
También puedes usar SSM para acceder a un proyecto de codebuild que se está construyendo:
|
||||
|
||||
@@ -1,8 +1,8 @@
|
||||
# AWS - EC2, EBS, ELB, SSM, VPC y VPN Enum
|
||||
# AWS - EC2, EBS, ELB, SSM, VPC & VPN Enum
|
||||
|
||||
{{#include ../../../../banners/hacktricks-training.md}}
|
||||
|
||||
## VPC y Redes
|
||||
## VPC & Networking
|
||||
|
||||
Aprende qué es una VPC y sobre sus componentes en:
|
||||
|
||||
@@ -12,7 +12,7 @@ aws-vpc-and-networking-basic-information.md
|
||||
|
||||
## EC2
|
||||
|
||||
Amazon EC2 se utiliza para iniciar **servidores virtuales**. Permite la configuración de **seguridad** y **redes** y la gestión de **almacenamiento**. La flexibilidad de Amazon EC2 es evidente en su capacidad para escalar recursos tanto hacia arriba como hacia abajo, adaptándose efectivamente a los cambios en los requisitos o picos de popularidad. Esta característica disminuye la necesidad de predicciones de tráfico precisas.
|
||||
Amazon EC2 se utiliza para iniciar **servidores virtuales**. Permite la configuración de **seguridad** y **redes** y la gestión de **almacenamiento**. La flexibilidad de Amazon EC2 es evidente en su capacidad para escalar recursos tanto hacia arriba como hacia abajo, adaptándose efectivamente a los cambios en los requisitos o aumentos en la popularidad. Esta característica disminuye la necesidad de predicciones precisas de tráfico.
|
||||
|
||||
Cosas interesantes para enumerar en EC2:
|
||||
|
||||
@@ -21,26 +21,27 @@ Cosas interesantes para enumerar en EC2:
|
||||
- Datos de Usuario
|
||||
- EC2s/AMIs/Snapshots existentes
|
||||
- Redes
|
||||
- Redes
|
||||
- Subredes
|
||||
- IPs Públicas
|
||||
- Puertos abiertos
|
||||
- Conexiones integradas con otras redes fuera de AWS
|
||||
|
||||
### Perfiles de Instancia
|
||||
### Instance Profiles
|
||||
|
||||
Usar **roles** para otorgar permisos a aplicaciones que se ejecutan en **instancias de EC2** requiere un poco de configuración adicional. Una aplicación que se ejecuta en una instancia de EC2 está abstraída de AWS por el sistema operativo virtualizado. Debido a esta separación adicional, necesitas un paso adicional para asignar un rol de AWS y sus permisos asociados a una instancia de EC2 y hacerlos disponibles para sus aplicaciones.
|
||||
Usar **roles** para otorgar permisos a aplicaciones que se ejecutan en **instancias EC2** requiere un poco de configuración adicional. Una aplicación que se ejecuta en una instancia EC2 está abstraída de AWS por el sistema operativo virtualizado. Debido a esta separación adicional, necesitas un paso adicional para asignar un rol de AWS y sus permisos asociados a una instancia EC2 y hacerlos disponibles para sus aplicaciones.
|
||||
|
||||
Este paso adicional es la **creación de un** [_**perfil de instancia**_](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_use_switch-role-ec2_instance-profiles.html) adjunto a la instancia. El **perfil de instancia contiene el rol y** puede proporcionar las credenciales temporales del rol a una aplicación que se ejecuta en la instancia. Esas credenciales temporales pueden ser utilizadas en las llamadas API de la aplicación para acceder a recursos y limitar el acceso solo a aquellos recursos que el rol especifica. Ten en cuenta que **solo se puede asignar un rol a una instancia de EC2** a la vez, y todas las aplicaciones en la instancia comparten el mismo rol y permisos.
|
||||
Este paso adicional es la **creación de un** [_**perfil de instancia**_](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_use_switch-role-ec2_instance-profiles.html) adjunto a la instancia. El **perfil de instancia contiene el rol y** puede proporcionar las credenciales temporales del rol a una aplicación que se ejecuta en la instancia. Esas credenciales temporales pueden ser utilizadas en las llamadas API de la aplicación para acceder a recursos y limitar el acceso solo a aquellos recursos que el rol especifica. Ten en cuenta que **solo se puede asignar un rol a una instancia EC2** a la vez, y todas las aplicaciones en la instancia comparten el mismo rol y permisos.
|
||||
|
||||
### Punto de Metadata
|
||||
### Metadata Endpoint
|
||||
|
||||
La metadata de AWS EC2 es información sobre una instancia de Amazon Elastic Compute Cloud (EC2) que está disponible para la instancia en tiempo de ejecución. Esta metadata se utiliza para proporcionar información sobre la instancia, como su ID de instancia, la zona de disponibilidad en la que se está ejecutando, el rol de IAM asociado con la instancia y el nombre de host de la instancia.
|
||||
Los metadatos de AWS EC2 son información sobre una instancia de Amazon Elastic Compute Cloud (EC2) que está disponible para la instancia en tiempo de ejecución. Estos metadatos se utilizan para proporcionar información sobre la instancia, como su ID de instancia, la zona de disponibilidad en la que se está ejecutando, el rol IAM asociado con la instancia y el nombre de host de la instancia.
|
||||
|
||||
{{#ref}}
|
||||
https://book.hacktricks.wiki/en/pentesting-web/ssrf-server-side-request-forgery/cloud-ssrf.html
|
||||
{{#endref}}
|
||||
|
||||
### Enumeración
|
||||
### Enumeration
|
||||
```bash
|
||||
# Get EC2 instances
|
||||
aws ec2 describe-instances
|
||||
@@ -150,7 +151,7 @@ En la siguiente página puedes verificar cómo **abusar de los permisos de EC2 p
|
||||
|
||||
Amazon **EBS** (Elastic Block Store) **snapshots** son básicamente **copias de seguridad** estáticas de volúmenes de AWS EBS. En otras palabras, son **copias** de los **discos** adjuntos a una **instancia EC2** en un momento específico. Los snapshots de EBS pueden ser copiados entre regiones y cuentas, o incluso descargados y ejecutados localmente.
|
||||
|
||||
Los snapshots pueden contener **información sensible** como **código fuente o claves de API**, por lo tanto, si tienes la oportunidad, se recomienda revisarlos.
|
||||
Los snapshots pueden contener **información sensible** como **código fuente o claves de API**, por lo tanto, si tienes la oportunidad, se recomienda revisarlo.
|
||||
|
||||
### Diferencia AMI & EBS
|
||||
|
||||
@@ -193,11 +194,19 @@ En la siguiente página puedes verificar cómo **abusar de los permisos de SSM p
|
||||
../../aws-privilege-escalation/aws-ssm-privesc.md
|
||||
{{#endref}}
|
||||
|
||||
### Persistencia
|
||||
|
||||
En la siguiente página puedes verificar cómo **abusar de los permisos de SSM para lograr persistencia**:
|
||||
|
||||
{{#ref}}
|
||||
../../aws-persistence/aws-ssm-persistence.md
|
||||
{{#endref}}
|
||||
|
||||
## ELB
|
||||
|
||||
**Elastic Load Balancing** (ELB) es un **servicio de balanceo de carga para implementaciones de Amazon Web Services** (AWS). ELB automáticamente **distribuye el tráfico de aplicación entrante** y escala recursos para satisfacer las demandas de tráfico.
|
||||
**Elastic Load Balancing** (ELB) es un **servicio de balanceo de carga para implementaciones de Amazon Web Services** (AWS). ELB **distribuye automáticamente el tráfico de aplicación entrante** y escala los recursos para satisfacer las demandas de tráfico.
|
||||
|
||||
### Enumeration
|
||||
### Enumeración
|
||||
```bash
|
||||
# List internet-facing ELBs
|
||||
aws elb describe-load-balancers
|
||||
@@ -227,7 +236,7 @@ aws autoscaling describe-load-balancers
|
||||
```
|
||||
## Nitro
|
||||
|
||||
AWS Nitro es un conjunto de **tecnologías innovadoras** que forman la plataforma subyacente para las instancias de AWS EC2. Introducido por Amazon para **mejorar la seguridad, el rendimiento y la fiabilidad**, Nitro aprovecha **componentes de hardware personalizados y un hipervisor ligero**. Abstrae gran parte de la funcionalidad de virtualización tradicional a hardware y software dedicados, **minimizando la superficie de ataque** y mejorando la eficiencia de los recursos. Al descargar funciones de virtualización, Nitro permite que las instancias de EC2 ofrezcan **un rendimiento casi bare-metal**, lo que lo hace particularmente beneficioso para aplicaciones que requieren muchos recursos. Además, el Nitro Security Chip asegura específicamente la **seguridad del hardware y el firmware**, solidificando aún más su robusta arquitectura.
|
||||
AWS Nitro es un conjunto de **tecnologías innovadoras** que forman la plataforma subyacente para las instancias de AWS EC2. Introducido por Amazon para **mejorar la seguridad, el rendimiento y la fiabilidad**, Nitro aprovecha componentes de **hardware personalizados y un hipervisor ligero**. Abstrae gran parte de la funcionalidad de virtualización tradicional a hardware y software dedicados, **minimizando la superficie de ataque** y mejorando la eficiencia de los recursos. Al descargar funciones de virtualización, Nitro permite que las instancias de EC2 ofrezcan **un rendimiento casi bare-metal**, lo que resulta particularmente beneficioso para aplicaciones que requieren muchos recursos. Además, el Nitro Security Chip asegura específicamente la **seguridad del hardware y el firmware**, solidificando aún más su robusta arquitectura.
|
||||
|
||||
Obtén más información y cómo enumerarlo desde:
|
||||
|
||||
|
||||
Reference in New Issue
Block a user