mirror of
https://github.com/HackTricks-wiki/hacktricks-cloud.git
synced 2026-01-27 15:24:32 -08:00
Translated ['src/pentesting-cloud/aws-security/aws-basic-information/REA
This commit is contained in:
@@ -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:
|
||||
|
||||
Reference in New Issue
Block a user