Translated ['src/pentesting-cloud/aws-security/aws-basic-information/REA

This commit is contained in:
Translator
2025-04-11 00:28:03 +00:00
parent a550dd29c7
commit 546b8b3042
5 changed files with 26 additions and 26 deletions

View File

@@ -4,7 +4,7 @@
## cloudformation
Para más información sobre cloudformation consulta:
Para más información sobre cloudformation, consulta:
{{#ref}}
../../aws-services/aws-cloudformation-and-codestar-enum.md
@@ -28,7 +28,7 @@ iam-passrole-cloudformation-createstack-and-cloudformation-describestacks.md
### `iam:PassRole`, (`cloudformation:UpdateStack` | `cloudformation:SetStackPolicy`)
En este caso puedes **abusar de un stack de cloudformation existente** para actualizarlo y escalar privilegios como en el escenario anterior:
En este caso puedes **abusar de una pila de cloudformation existente** para actualizarla y escalar privilegios como en el escenario anterior:
```bash
aws cloudformation update-stack \
--stack-name privesc \
@@ -51,7 +51,7 @@ El permiso `cloudformation:SetStackPolicy` se puede utilizar para **darte a ti m
### `iam:PassRole`,((`cloudformation:CreateChangeSet`, `cloudformation:ExecuteChangeSet`) | `cloudformation:SetStackPolicy`)
Un atacante con permisos para **pasar un rol y crear & ejecutar un ChangeSet** puede **crear/actualizar una nueva pila de cloudformation y abusar de los roles de servicio de cloudformation** al igual que con CreateStack o UpdateStack.
Un atacante con permisos para **pasar un rol y crear y ejecutar un ChangeSet** puede **crear/actualizar una nueva pila de cloudformation y abusar de los roles de servicio de cloudformation** al igual que con CreateStack o UpdateStack.
La siguiente explotación es una **variación de la**[ **CreateStack one**](#iam-passrole-cloudformation-createstack) utilizando los **permisos de ChangeSet** para crear una pila.
```bash
@@ -79,13 +79,13 @@ aws cloudformation describe-stacks \
--stack-name privesc \
--region eu-west-1
```
El permiso `cloudformation:SetStackPolicy` se puede utilizar para **otorgarte permisos de `ChangeSet`** sobre una pila y realizar el ataque.
El permiso `cloudformation:SetStackPolicy` se puede usar para **otorgarte permisos de `ChangeSet`** sobre una pila y realizar el ataque.
**Impacto Potencial:** Privesc a roles de servicio de cloudformation.
### (`cloudformation:CreateChangeSet`, `cloudformation:ExecuteChangeSet`) | `cloudformation:SetStackPolicy`)
Esto es como el método anterior sin pasar **roles de IAM**, así que solo puedes **abusar de los que ya están adjuntos**, solo modifica el parámetro:
Esto es como el método anterior sin pasar **roles de IAM**, así que solo puedes **abusar de los ya adjuntos**, solo modifica el parámetro:
```
--change-set-type UPDATE
```
@@ -117,7 +117,7 @@ Si tienes `cloudformation:DescribeStacks`, los roles están definidos en una pil
Si estás en una máquina que ha sido utilizada para construir y desplegar proyectos de CDK, puedes obtenerlos de `cdk.out/manafest.json` en el directorio raíz del proyecto.
También puedes hacer una buena suposición sobre cuáles son. `qualifier` es una cadena añadida a los roles que permite que múltiples instancias de la inicialización del CDK se desplieguen a la vez, sin embargo, el valor predeterminado está codificado como `hnb659fds`.
También puedes hacer una buena suposición sobre cuáles son. `qualifier` es una cadena añadida a los roles que permite que múltiples instancias de la inicialización de CDK se desplieguen a la vez, sin embargo, el valor predeterminado está codificado como `hnb659fds`.
```
# Defaults
cdk-hnb659fds-cfn-exec-role-<account-id>-<region>
@@ -128,7 +128,7 @@ cdk-hnb659fds-lookup-role-<account-id>-<region>
```
### Agregar código malicioso al código fuente del proyecto
Si puedes escribir en el código fuente del proyecto, pero no puedes desplegarlo tú mismo (por ejemplo, el desarrollador despliega el código a través de CI/CD, no desde la máquina local), aún puedes comprometer el entorno agregando recursos maliciosos a la pila. Lo siguiente agrega un rol de IAM que puede ser asumido por una cuenta atacante a un proyecto de python CDK.
Si puedes escribir en el código fuente del proyecto, pero no puedes desplegarlo tú mismo (por ejemplo, el desarrollador despliega el código a través de CI/CD, no desde la máquina local), aún puedes comprometer el entorno agregando recursos maliciosos a la pila. Lo siguiente agrega un rol IAM que puede ser asumido por una cuenta atacante a un proyecto de python CDK.
```python
class CdkTestStack(Stack):
def __init__(self, scope: Construct, construct_id: str, **kwargs) -> None: