Ethical Hacking en AWS - [CPNA]
YoutubeTwitterLinkedIn
  • La Biblia del Hacking en AWS
    • ADVERTENCIA
    • AWS Community Builder
    • Conoce a tu academia
    • Conoce a tu instructor
    • Aprende con nuestro curso
    • Aprende con Spartan-CPNA
  • Introduccion al cloud computing
    • ¿Que es Cloud Computing?
    • Amazon Web Services
    • La historia detras de la transicion de On-Premises a la nube
      • Caracteristicas de On-Premises y Transición a la Nube
    • Importancia del cloud computing
    • ¿Vale la pena aprender cloud?
    • Modelos de informática en la nube
    • Infraestructura y Modelos de Despliegue en la Nube
    • Quiero aprender mas sobre la nube de AWS
    • Proveedores Principales de Cloud Computing
      • Amazon Web Services (AWS)
      • Microsoft Azure (Az)
      • Google Cloud Platform (GCP)
      • Comparación entre Proveedores
  • Componentes Clave y Tecnologías en la Nube
    • Introduccion a los componentes principales de la nube
    • Clasificación de los componentes de AWS
    • Virtualización: Conceptos Básicos y su Papel en la Nube
    • Introduccion a la Computación sin Servidor (Serverless)
      • Diferencias entre Monolítica y Serverless
  • Seguridad y Cumplimiento en la Nube
    • Seguridad en la nube
    • Modelo de responsabilidad compartida
    • Mejores Prácticas de Seguridad en la Nube
    • Cumplimiento y Normativas
    • CIS Benchmarks
  • Fundamentos Ofensivos
    • Introduccion al Curso Profesional de Pentesting para Juniors - [CPPJ]
    • ¿Por qué los atacantes van tras la nube?
    • ¿Qué es un Red Team?
      • Assume breach
    • ¿Qué es un Pentesting?
      • Diferencias entre un pentest tradicional y un pentest cloud
    • Instalacion de Kali Linux en local
    • Crea tu cuenta de AWS
    • MITRE
    • Tecnicas de OSINT en AWS
      • Herramientas y Estrategias de OSINT
  • Introduccion a AWS
    • Accediendo a los servicios de AWS
    • ¿Que es AWS CLI?
      • Estructura de comandos en el CLI de AWS
    • El whoami de AWS
    • Almacenamiento de credenciales en archivo plano
      • Prefijo de ID con IAM
    • Incidentes de seguridad relacionados a AWS
    • Limitaciones en un pentest dentro de AWS
  • Introduccion a IAM
    • Tu primer Red Team contra AWS
    • ¿Que es Identity and Access Management o IAM?
    • Politica de IAM
      • La importancia de las politicas de IAM en la seguridad de AWS
      • Politicas predefinidas
    • Usuario de IAM
    • Grupo de IAM
    • Rol de IAM
      • Casos de uso
    • ARN
  • Tecnicas de Enumeracion en IAM
    • ¿Que permisos debo solicitar para realizar las pruebas?
    • Enumeracion Manual con AWSCLI
      • Enumerando usuarios
      • Enumerando grupos
      • Enumerando roles
      • Enumerando politicas
    • Enumeracion automatizada por medio de fuerza bruta
      • Enumerate-IAM.py
      • CLIAM
      • IAMFinder
    • Analisis de vulnerabilidades con herramientas automatizadas
      • Utilizando Prowler
      • Utilizando Cloudsplaining
  • Escalacion de privilegios en IAM
    • ¿Que es la escalacion de privilegios basada en IAM?
    • Metodos para la escalacion de privilegios
    • Permisos de IAM en otros usuarios
      • CreateAccessKey
      • CreateLoginProfile
      • UpdateLoginProfile
      • AddUserToGroup
    • Permisos sobre politicas
      • CreatePolicyVersion
      • SetDefaultPolicyVersion
      • AttachUserPolicy
      • AttachGroupPolicy
      • AttachRolePolicy
      • PutUserPolicy
      • PutGroupPolicy
      • PutRolePolicy
    • La actualización de una AssumeRolePolicy
      • UpdateAssumeRolePolicy
    • Permiso IAM:PassRole*
  • Introduccion a S3
    • ¿Que es Simple Storage Service o S3?
    • Politica de buckets
    • El riesgo de un bucket configurado como publico
    • Enumeracion manual con AWSCLI
    • Identificando vulnerabilidades en S3
    • Backdorizando un Bucket S3 utilizando la politica del Bucket
    • Exfiltracion de datos utilizando la replicacion en S3
  • Introduccion a EC2
    • ¿Que es Elastic Compute Cloud o EC2?
    • Networking en EC2
    • Fundamentos ofensivos para el servicio de IMDSv1
      • ¿Porque utilizar IMDSv2?
    • Ejecuccion de comandos en EC2 utilizando User Data
    • Recuperacion de la contraseña de un EC2
    • AWS Security Token
  • Introduccion a VPC
    • ¿Que es Virtual Private Cloud o VPC?
    • Grupos de seguridad VS lista de control de acceso
    • Pivoting en AWS VPC
    • Realizando Pivoting sobre un EC2
  • Tecnicas ofensivas contra EC2
    • Enumeracion manual con AWSCLI
    • Vectores de escalacion de privilegios
      • CreateEC2WithExistingIP
      • PassExistingRoleToNewGlueDevEndpoint
      • Resolviendo iam_privesc_by_rollback de CloudGoat
    • Abusando del servicio de metadatos IMDSv1 por medio de un SSRF
    • Caso de estudio - Capital One
    • Despliegue de Kali Linux en AWS para operaciones ofensivas
      • Bypass Rate Limit con IP Rotator de BurpSuite
    • Exfiltracion de datos utilizando un Snapshots de EBS
    • Exfiltracion de datos utilizando un Snapshots de una AMI
  • Introduccion a Lambda
    • ¿Que es un Lambda?
    • Desarrollo Serverless con Lambda
    • Arquitectura Monolítica vs Arquitectura Serverless
    • Damn Vulnerable Serverless Application
  • Tecnicas ofensivas contra Lambda
    • Enumeracion manual con AWSCLI
    • Remote Code Execution en Lambda
    • Vectores de escalacion de privilegios
      • PassExistingRoleToNewLambdaThenInvoke
      • PassRoleToNewLambdaThenTriggerWithNewDynamo
      • EditExistingLambdaFunctionWithRole
    • Resolviendo lambda_privesc de CloudGoat
    • Secuestro de Credenciales IAM y Datos de Eventos en AWS Lambda
  • Introduccion a API Gateway
    • ¿Que es API Gateway?
    • Vulnerabilidades Potenciales en API Gateway
    • Enumeracion manual con AWSCLI
    • Divulgacion de informacion sensible por medio de un mal manejo de errores
  • Introduccion a Cognito
    • ¿Que es Cognito?
    • Enumeracion manual con AWSCLI
    • Fundamentos de Lambda Autorizadora
    • Falta de Verificación de la Firma del JWT
    • Vulnerable Cognito
    • Tecnicas y tacticas ofensivas en Cognito
      • cognito-identity:SetIdentityPoolRoles + iam:PassRole
      • cognito-identity:update-identity-pool
      • cognito-idp:AdminAddUserToGroup
      • [cognito-idp:CreateGroup + cognito-idp:UpdateGroup], iam:PassRole
      • cognito-idp:AdminConfirmSignUp
      • cognito-idp:AdminCreateUser
      • cognito-idp:AdminEnableUser
      • cognito-idp:AdminSetUserPassword
      • AdminSetUserSettings | SetUserMFAPreference | SetUserPoolMfaConfig | UpdateUserPool
      • cognito-idp:AdminUpdateUserAttributes
      • cognito-idp:CreateUserPoolClient | cognito-idp:UpdateUserPoolClient
      • cognito-idp:CreateUserImportJob | cognito-idp:StartUserImportJob
      • cognito-idp:CreateIdentityProvider | cognito-idp:UpdateIdentityProvider
  • Introduccion a Lightsail
    • ¿Que es Lightsail?
    • Vulnerabilidades Potenciales en Lightsail
    • Wordpress Vulnerable
  • Introduccion a DynamoDB
    • ¿Que es DynamoDB?
    • Enumeracion manual con AWSCLI
    • Vulnerabilidades Potenciales en DynamoDB
  • Introduccion a RDS
    • ¿Que es RDS?
    • Vulnerabilidades Potenciales en RDS
    • Cambiando contraseña para un RDS
    • Remote Code Execution sobre un EC2 para comprometer una BD alojada en RDS
    • Exfiltracion de un RDS por medio de un snapshot
  • Introduccion a ECS - EKS - ECR
    • Introducción a los Contenedores y la Orquestación
    • ¿Que es ECS, EKS, ECR?
    • Vulnerabilidades Potenciales en ECS
    • Cluster Hijacking
    • Cloud Container Attack Tool - (CCAT)
    • Enumeracion manual con AWSCLI
  • Tecnicas ofensivas contra arquitectos de AWS
    • AWS SSO Phishing
    • Phishing sobre Login de AWS con Bypass de MFA
    • Gaining AWS Console Access via API Keys - aws_consoler
    • Leaked Credentials
    • Using Modern Malware
  • Introduccion a Secrets Manager
    • ¿Que es AWS Secrets Manager?
    • Enumeración manual de aws secrets manager
  • Movimiento lateral Cloud to Cloud
    • Fundamentos del movimiento lateral en Cloud
    • Técnica 1: Creación de Snapshot de EBS
    • Técnica 2: EC2 Instance Connect
    • Técnica 3: Serial Console Access
    • Technique 4: AWS: Systems Manager
  • Pivoting en AWS Organizations
    • Las cuentas de AWS como límite de seguridad
    • AWS Organizations
    • Abusando de las relaciones de confianza al crear un cuenta (OrganizationAccountAccessRole)
    • Trusted Access and Delegated Administration
    • Realizando un pivoting habilitando IAM Access Analyzer por medio de Trusted Access
  • Material Extra
    • Laboratorios desplegables para practicar hacking en AWS
    • Explotacion de CVEs en la nube - (Log4Shell)
    • PassExistingRoleToCloudFormation
    • PassExistingRoleToNewDataPipeline
    • Utilizando Cartography
    • Utilizando PACU
  • Fundamentos del Blue Team en AWS
    • Introducción a Blue Team en AWS
    • Amazon Cloudtrail
      • Apagando esta defensa
    • Amazon CloudWatch
    • Amazon GuardDuty
      • Apagando esta defensa
    • Amazon Detective
    • Amazon Security Hub
      • ¿Como se habilita?
    • Amazon Inspector
    • Amazon WAF
  • Muchas gracias
    • 🛡️ ¡Muchísimas Gracias por Participar! 🛡️
    • Importante
Con tecnología de GitBook
En esta página
  • Riesgo de Filtración de Datos por Permisos de Lectura Pública
  • Riesgo de Manipulación y Malware por Permisos de Escritura Pública

¿Te fue útil?

  1. Introduccion a S3

Identificando vulnerabilidades en S3

AnteriorEnumeracion manual con AWSCLISiguienteBackdorizando un Bucket S3 utilizando la politica del Bucket

Última actualización hace 1 año

¿Te fue útil?

¿Crees tener lo que se necesita para ser un experto en Pentesting contra AWS? Si nuestro libro te abrió los ojos a las posibilidades de la ciberseguridad ofensiva o si ya cuentas con habilidades en este campo, es momento de subir de nivel. Te retamos a certificarte en el . No será fácil: te enfrentarás a un examen riguroso de 12 horas donde deberás hackear una infraestructura completa alojada en AWS. ¿Listo para el desafío? Acepta el reto y demuestra tu verdadero potencial.

Las configuraciones incorrectas en los depósitos de Amazon Web Services (AWS) S3 representan uno de los vectores de riesgo más significativos en la nube, especialmente debido a los permisos de acceso de lectura y escritura mal configurados. Estos riesgos no solo comprometen la seguridad de los datos almacenados, sino que también pueden tener implicaciones legales y financieras graves para las organizaciones.

Riesgo de Filtración de Datos por Permisos de Lectura Pública

Un bucket de S3 configurado incorrectamente para permitir acceso público de lectura puede exponer información sensible del cliente, secretos comerciales, o datos confidenciales a internet. Esta exposición no autorizada puede resultar en:

  • Violaciones de Privacidad: Datos personales, registros financieros o información de salud expuestos pueden llevar a violaciones de normativas de protección de datos como GDPR, HIPAA, entre otras.

  • Daño a la Reputación: La filtración de datos sensibles puede erosionar la confianza del cliente y dañar la reputación de una organización.

  • Pérdidas Financieras: La exposición de datos críticos puede resultar en pérdidas financieras directas, ya sea por la explotación de la información expuesta o por sanciones impuestas por reguladores.

Riesgo de Manipulación y Malware por Permisos de Escritura Pública

Por otro lado, un bucket de S3 que permite acceso de escritura pública puede ser abusado de varias maneras:

  • Distribución de Malware: Los atacantes pueden cargar malware o contenido malicioso, utilizando el bucket como plataforma para lanzar ataques o distribuir software dañino.

  • Defacement de Sitios Web: Si el bucket se utiliza para alojar un sitio web, los atacantes pueden modificar o reemplazar los archivos existentes, alterando el contenido del sitio web (defacement).

  • Cargas no Autorizadas: Los atacantes pueden utilizar el bucket para almacenar grandes cantidades de datos ilegales o no deseados, incurriendo en costos significativos para la víctima.

  • Ransomware: Existe el riesgo de que los atacantes cifren archivos almacenados en el bucket y exijan un rescate para su descifrado, similar a un ataque de ransomware tradicional.

Para los Buckets siempre es recomendable revisar la política del Bucket ya que en esta podemos encontrar fallas de seguridad:

El enlace para la política utilizada en este Bucket es:

La politica contiene lo siguiente:

politica-bucket.json
{
  "Version": "2012-10-17",
  "Statement": [
    {
      "Effect": "Allow",
      "Action": "s3:*",
      "Resource": [
        "arn:aws:s3:::spartan-cpna",
        "arn:aws:s3:::spartan-cpna/*"
      ]
    }
  ]
}

Dependiendo de los requerimientos, podríamos decir que en este Bucket hay una vulnerabilidad que podría ser categorizada como baja.

Por buenas prácticas, Se recomienda restringir siempre los tipos de archivos subidos por medio de una política sobre los Buckets utilizando listas blancas.

Por ejemplo:

"Resource": [
  "arn:aws:s3:::<yourbucket>/*.jpg",
  "arn:aws:s3:::<yourbucket>/*.png",
  "arn:aws:s3:::<yourbucket>/*.gif",
]

La politica completa quedaria asi:

{
  "Version": "2012-10-17",
  "Statement": [
    {
      "Effect": "Allow",
      "Action": "s3:*",
      "Resource": [
        "arn:aws:s3:::spartan-cpna/*.jpg",
        "arn:aws:s3:::spartan-cpna/*.png",
        "arn:aws:s3:::spartan-cpna/*.gif",
      ]
    }
  ]
}

En resumen, esta política de bucket permite al titular de la política realizar cualquier acción (s3:*) sobre los archivos con extensiones .jpg, .png, y .gif que estén dentro del bucket llamado spartan-cpna.

En resumen, la política actual del Bucket podría permitir a un atacante subir archivos con extensiones categorizadas como maliciosas como por ejemplo EXE.

Por otro lado, si durante la auditoria encontramos un Bucket con acceso público y este contiene información sensible; podríamos afirmar que existe una vulnerabilidad alta.

Ya que un bucket s3 mal configurado que permite el acceso público de lectura puede provocar una filtración de datos del cliente. En segundo lugar, un bucket s3 mal configurado que permite el acceso de escritura pública se puede usar para servir o controlar malware, dañar un sitio web alojado en un servicio de almacenamiento en la nube, almacenar cualquier cantidad de datos a su cargo e incluso cifrar sus archivos con el fin de exigir un rescate.

C:\Users\gerh-> aws s3 ls s3://cpna-spartan-public --no-sign-request
                           PRE Importante/
2023-10-10 22:17:04        185 assumerolepolicy.json
2023-04-28 09:21:46      72561 backup.csv
2024-03-06 19:10:40         19 ejemplo.txt
2023-04-28 09:20:42      38616 nc.exe
2024-03-05 17:05:33         11 nc2.exe
2023-10-10 22:17:05        283 politica-bucket.json

En la evidencia previa, estamos listando el contenido del Bucket sin credenciales.

Si tenemos el permiso de s3:PutObject, podríamos reportar que este Bucket podría ser usado por ciberdelincuentes para la distribución de malware.

C:\Users\gerh-> aws s3 cp ./mimikatz.exe s3://cpna-spartan-public --no-sign-request
upload: .\mimikatz.exe to s3://cpna-spartan-public/mimikatz.exe

C:\Users\gerh-> aws s3 ls s3://cpna-spartan-public --no-sign-request
                           PRE Importante/
2023-10-10 22:17:04        185 assumerolepolicy.json
2023-04-28 09:21:46      72561 backup.csv
2024-03-06 19:10:40         19 ejemplo.txt
2023-04-28 09:20:42      38616 nc.exe
2024-03-05 17:05:33         11 nc2.exe
2024-03-05 17:05:33    1111111 mimikatz.exe
2023-10-10 22:17:05        283 politica-bucket.json

Finalmente, también se debe revisar los siguientes mecanismos de seguridad adicionales:

Estas configuraciones ofrecen una capa adicional de protección para garantizar que los objetos S3 (archivos) no puedan ser eliminados accidental o intencionalmente por los usuarios de AWS que tienen acceso a los Buckets.

Y el control de versiones de Buckets, le permiten recuperar objetos ante su eliminación o sobreescritura accidental.

En ciertas ocasiones, los Buckets son utilizados para almacenar sitios web estáticos y si se tiene acceso de escritura, se podría hacer una inclusión de código malicioso por medio de Javascript.

CPNA - Curso Profesional de Pentesting Contra AWS