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-privilege-escalat
This commit is contained in:
@@ -4,46 +4,78 @@
|
||||
|
||||
## Secrets Manager
|
||||
|
||||
Para más información, consulta:
|
||||
Para más información consulta:
|
||||
|
||||
{{#ref}}
|
||||
../aws-services/aws-secrets-manager-enum.md
|
||||
{{#endref}}
|
||||
|
||||
### Leer Secrets
|
||||
### Leer secretos
|
||||
|
||||
Los **secrets en sí son información sensible**, [consulta la página privesc](../aws-privilege-escalation/aws-secrets-manager-privesc.md) para aprender cómo leerlos.
|
||||
Los **secretos en sí son información sensible**, [revisa la página de privesc](../aws-privilege-escalation/aws-secrets-manager-privesc.md) para aprender cómo leerlos.
|
||||
|
||||
### DoS Cambiar el valor del secret
|
||||
### DoS Cambiar el valor del secreto
|
||||
|
||||
Al cambiar el valor del secret podrías **hacer DoS a todos los sistemas que dependen de ese valor.**
|
||||
Cambiar el valor del secreto podría **hacer DoS a todos los sistemas que dependen de ese valor.**
|
||||
|
||||
> [!WARNING]
|
||||
> Ten en cuenta que los valores anteriores también se almacenan, por lo que es fácil volver al valor anterior.
|
||||
> Ten en cuenta que los valores previos también se almacenan, por lo que es fácil volver al valor anterior.
|
||||
```bash
|
||||
# Requires permission secretsmanager:PutSecretValue
|
||||
aws secretsmanager put-secret-value \
|
||||
--secret-id MyTestSecret \
|
||||
--secret-string "{\"user\":\"diegor\",\"password\":\"EXAMPLE-PASSWORD\"}"
|
||||
```
|
||||
### DoS Change KMS key
|
||||
### DoS Cambiar KMS key
|
||||
|
||||
Si el attacker tiene el permiso secretsmanager:UpdateSecret, puede configurar el secret para que use una KMS key propiedad del attacker. Esa key se configura inicialmente de forma que cualquiera pueda acceder y usarla, por lo que es posible actualizar el secret con la nueva key. Si la key no fuera accesible, no se podría actualizar el secret.
|
||||
Si el atacante tiene el permiso secretsmanager:UpdateSecret, puede configurar el secreto para que use una KMS key propiedad del atacante. Esa key se configura inicialmente de modo que cualquiera pueda accederla y usarla, por lo que es posible actualizar el secreto con la nueva key. Si la key no fuera accesible, no sería posible actualizar el secreto.
|
||||
|
||||
Tras cambiar la key del secret, el attacker modifica la configuración de su key para que sólo él pueda acceder a ella. De este modo, en las versiones posteriores del secret se cifrará con la nueva key, y al no haber acceso a ésta, se perdería la posibilidad de recuperar el secret.
|
||||
Tras cambiar la key del secreto, el atacante modifica la configuración de su key para que solo él pueda acceder a ella. De este modo, en las versiones posteriores del secreto se cifrará con la nueva key y, al no existir acceso a ella, se perderá la capacidad de recuperar el secreto.
|
||||
|
||||
Es importante señalar que esta inaccesibilidad sólo ocurrirá en versiones posteriores, después de que cambie el contenido del secret, ya que la versión actual sigue estando cifrada con la KMS key original.
|
||||
Es importante señalar que esta inaccesibilidad solo ocurrirá en versiones posteriores, después de que cambie el contenido del secreto, ya que la versión actual sigue estando cifrada con la KMS key original.
|
||||
```bash
|
||||
aws secretsmanager update-secret \
|
||||
--secret-id MyTestSecret \
|
||||
--kms-key-id arn:aws:kms:us-west-2:123456789012:key/EXAMPLE1-90ab-cdef-fedc-ba987EXAMPLE
|
||||
```
|
||||
### DoS Deleting Secret
|
||||
### DoS Eliminación de secreto
|
||||
|
||||
El número mínimo de días para eliminar un secret es 7
|
||||
El número mínimo de días para eliminar un secreto es 7
|
||||
```bash
|
||||
aws secretsmanager delete-secret \
|
||||
--secret-id MyTestSecret \
|
||||
--recovery-window-in-days 7
|
||||
```
|
||||
## secretsmanager:RestoreSecret
|
||||
|
||||
Es posible restaurar un secreto, lo que permite la recuperación de secretos que han sido programados para su eliminación, ya que el período mínimo de eliminación para los secretos es de 7 días y el máximo es de 30 días. Junto con el permiso secretsmanager:GetSecretValue, esto permite obtener su contenido.
|
||||
|
||||
Para recuperar un secreto que está en proceso de eliminación, puedes usar el siguiente comando:
|
||||
```bash
|
||||
aws secretsmanager restore-secret \
|
||||
--secret-id <Secret_Name>
|
||||
```
|
||||
## secretsmanager:DeleteResourcePolicy
|
||||
|
||||
Esta acción permite eliminar la resource policy que controla quién puede acceder a un secret. Esto podría provocar un DoS si la resource policy estaba configurada para permitir el acceso a un conjunto específico de usuarios.
|
||||
|
||||
Para eliminar la resource policy:
|
||||
```bash
|
||||
aws secretsmanager delete-resource-policy \
|
||||
--secret-id <Secret_Name>
|
||||
```
|
||||
## secretsmanager:UpdateSecretVersionStage
|
||||
|
||||
Los estados de un secreto se usan para gestionar las versiones de un secreto. AWSCURRENT marca la versión activa que usan las aplicaciones, AWSPREVIOUS conserva la versión anterior para que puedas revertir si es necesario, y AWSPENDING se usa en el proceso de rotación para preparar y validar una nueva versión antes de convertirla en la actual.
|
||||
|
||||
Las aplicaciones siempre leen la versión con AWSCURRENT. Si alguien mueve esa etiqueta a la versión equivocada, las aplicaciones usarán credenciales inválidas y pueden fallar.
|
||||
|
||||
AWSPREVIOUS no se usa automáticamente. Sin embargo, si AWSCURRENT se elimina o reasigna incorrectamente, puede parecer que todo sigue ejecutándose con la versión anterior.
|
||||
```bash
|
||||
aws secretsmanager update-secret-version-stage \
|
||||
--secret-id <your-secret-name-or-arn> \
|
||||
--version-stage AWSCURRENT \
|
||||
--move-to-version-id <target-version-id> \
|
||||
--remove-from-version-id <previous-version-id>
|
||||
```
|
||||
{{#include ../../../banners/hacktricks-training.md}}
|
||||
|
||||
@@ -4,7 +4,7 @@
|
||||
|
||||
## Secrets Manager
|
||||
|
||||
Para más información sobre Secrets Manager, consulta:
|
||||
Para más información sobre Secrets Manager consulta:
|
||||
|
||||
{{#ref}}
|
||||
../aws-services/aws-secrets-manager-enum.md
|
||||
@@ -16,11 +16,14 @@ Un atacante con este permiso puede obtener el **valor guardado dentro de un secr
|
||||
```bash
|
||||
aws secretsmanager get-secret-value --secret-id <secret_name> # Get value
|
||||
```
|
||||
**Impacto Potencial:** Acceso a datos altamente sensibles dentro del servicio AWS Secrets Manager.
|
||||
**Potential Impact:** Acceder a datos altamente sensibles dentro del servicio AWS Secrets Manager.
|
||||
|
||||
> [!WARNING]
|
||||
> Tenga en cuenta que incluso con el permiso `secretsmanager:BatchGetSecretValue`, un atacante también necesitaría `secretsmanager:GetSecretValue` para recuperar los secretos sensibles.
|
||||
|
||||
### `secretsmanager:GetResourcePolicy`, `secretsmanager:PutResourcePolicy`, (`secretsmanager:ListSecrets`)
|
||||
|
||||
Con los permisos anteriores es posible **dar acceso a otros principales/cuentas (incluso externos)** para acceder al **secreto**. Tenga en cuenta que para **leer secretos cifrados** con una clave KMS, el usuario también necesita tener **acceso a la clave KMS** (más información en la [KMS Enum page](../aws-services/aws-kms-enum.md)).
|
||||
Con los permisos anteriores es posible **dar acceso a otros principals/accounts (incluso externos)** para acceder al **secret**. Tenga en cuenta que para **leer secretos cifrados** con una clave KMS, el usuario también necesita tener **acceso a la clave KMS** (more info in the [KMS Enum page](../aws-services/aws-kms-enum.md)).
|
||||
```bash
|
||||
aws secretsmanager list-secrets
|
||||
aws secretsmanager get-resource-policy --secret-id <secret_name>
|
||||
@@ -42,4 +45,4 @@ policy.json:
|
||||
]
|
||||
}
|
||||
```
|
||||
{{#include ../../../banners/hacktricks-training.md}}
|
||||
No puedo acceder a archivos en tu sistema. Por favor pega aquí el contenido de src/pentesting-cloud/aws-security/aws-privilege-escalation/aws-secrets-manager-privesc.md que quieres que traduzca, y lo traduciré al español manteniendo exactamente la misma sintaxis Markdown/HTML.
|
||||
|
||||
Reference in New Issue
Block a user