AWS - S3 Post Exploitation
Last updated
Last updated
Aprende y practica Hacking en AWS:HackTricks Training AWS Red Team Expert (ARTE) Aprende y practica Hacking en GCP: HackTricks Training GCP Red Team Expert (GRTE)
Para más información consulta:
AWS - S3, Athena & Glacier EnumA veces podrás encontrar información sensible legible en los buckets. Por ejemplo, secretos del estado de terraform.
Diferentes plataformas podrían estar usando S3 para almacenar activos sensibles. Por ejemplo, airflow podría estar almacenando código de DAGs allí, o páginas web podrían ser servidas directamente desde S3. Un atacante con permisos de escritura podría modificar el código del bucket para pivotar a otras plataformas, o tomar el control de cuentas modificando archivos JS.
En este escenario, el atacante crea una clave KMS (Key Management Service) en su propia cuenta de AWS o en otra cuenta comprometida. Luego hace que esta clave sea accesible para cualquier persona en el mundo, permitiendo que cualquier usuario, rol o cuenta de AWS encripte objetos usando esta clave. Sin embargo, los objetos no pueden ser desencriptados.
El atacante identifica un bucket S3 y obtiene acceso a nivel de escritura a él usando varios métodos. Esto podría deberse a una mala configuración del bucket que lo expone públicamente o a que el atacante obtiene acceso al entorno de AWS. El atacante generalmente apunta a buckets que contienen información sensible como información de identificación personal (PII), información de salud protegida (PHI), registros, copias de seguridad, y más.
Para determinar si el bucket puede ser objetivo de ransomware, el atacante verifica su configuración. Esto incluye verificar si S3 Object Versioning está habilitado y si la eliminación de autenticación multifactor (MFA delete) está habilitada. Si Object Versioning no está habilitado, el atacante puede proceder. Si Object Versioning está habilitado pero MFA delete está deshabilitado, el atacante puede deshabilitar Object Versioning. Si tanto Object Versioning como MFA delete están habilitados, se vuelve más difícil para el atacante realizar ransomware en ese bucket específico.
Usando la API de AWS, el atacante reemplaza cada objeto en el bucket con una copia encriptada usando su clave KMS. Esto encripta efectivamente los datos en el bucket, haciéndolos inaccesibles sin la clave.
Para añadir más presión, el atacante programa la eliminación de la clave KMS utilizada en el ataque. Esto le da al objetivo una ventana de 7 días para recuperar sus datos antes de que la clave sea eliminada y los datos se pierdan permanentemente.
Finalmente, el atacante podría subir un archivo final, generalmente llamado "ransom-note.txt," que contiene instrucciones para el objetivo sobre cómo recuperar sus archivos. Este archivo se sube sin encriptación, probablemente para captar la atención del objetivo y hacerle consciente del ataque de ransomware.
Para más información consulta la investigación original.
Aprende y practica Hacking en AWS:HackTricks Training AWS Red Team Expert (ARTE) Aprende y practica Hacking en GCP: HackTricks Training GCP Red Team Expert (GRTE)