Aprende hacking etico hacia AWS

Hello Hackers!
En el presente articulo, estaremos exponiendo diferentes conceptos necesarios para llevar a cabo una auditoria de seguridad sobre el entorno de AWS.

¿Qué es un pentesting orientado a AWS?

Los procesos tradicionales de un pentest son completamente diferentes de los enfoques de un pentest orientado a la nube de AWS. Recientemente se han producido muchas filtraciones de datos, que exponen varias vulnerabilidades, como buckets s3, infraestructuras de AWS comprometidas y otras.
Para comprender los ataques de AWS, es necesario estar familiarizado con los diversos servicios que ofrece AWS.
La configuración incorrecta del servicio de AWS es responsable de una gran cantidad de violaciones de datos.

Metodologías de pentesting para AWS

Las pruebas de seguridad de una plataforma AWS se pueden dividir en dos categorías:

  • Seguridad de la nube: la seguridad de la nube es responsabilidad de Amazon (AWS) para garantizar que su plataforma en la nube sea segura contra posibles vulnerabilidades y amenazas cibernéticas para las empresas que utilizan los servicios de AWS.

  • Seguridad en la nube: Es el usuario o empresa responsable de garantizar que sus aplicaciones y activos implementados en la infraestructura de AWS estén seguros contra cualquier tipo de ciberataque. Al seguir los procedimientos de seguridad requeridos, un usuario o empresa puede mejorar la seguridad de sus aplicaciones en la nube de AWS.

Algunos de los servicios de AWS son:

S3 Bucket

Logo de S3.

S3 son las siglas de Simple Storage Service.

  • Servicios de almacenamiento que son altamente escalables y tienen una capacidad casi infinita.
  • Los objetos son el contenido del bucket, como archivos, copias de seguridad, documentos, fotos, archivos confidenciales, código fuente, sitios web estáticos, etc.
  • Puede almacenar y recuperar cualquier cantidad de datos en Internet utilizando Amazon S3
  • Para los bucket S3, se utiliza una técnica de control de acceso diferente.
  • ACL (listas de control de acceso)
  • Políticas basadas en depósitos
  • Políticas relacionadas con IAM (Gestión de identidades y accesos)
  • Se puede acceder a los buckets de S3 mediante la AWS CLI y la interfaz HTTP

Diseño de URL:
http://s3.amazonaws.com/nombre_del_bucket
http://nombre_del_bucket.s3.amazonaws.com

EC2

  • Elastic Cloud Compute es lo que significa EC2.
  • El servicio más utilizado en la nube que proporciona una capacidad informática segura y redimensionable.
  • Con el sistema de pago por uso, se puede utilizar para iniciar tantos servidores virtuales como necesite.

Recomiendo revisar el siguiente enlace para comprender EC2 https://aws.amazon.com/ec2/

Gestión de identidades y accesos (IAM)

Gestión de identidades y accesos.
  • Para poder administrar privilegios
  • Para poder asignar roles, grupos y políticas
  • Es posible utilizar un servicio web junto con todos los servicios de Amazon.
  • Se puede utilizar para conectar aplicaciones federadas / usuarios de diferentes organizaciones
  • Administre el acceso entre cuentas, de una cuenta de AWS a otra.

Recomiendo revisar el siguiente enlace para comprender IAM https://hackingprofessional.github.io/Security/AWS-IAM-PENTEST/

AWS Lambda

Logo de lambda.
  • FaaS (función como servicio)
  • es un servicio informático sin servidor que le permite ejecutar código sin aprovisionar ni administrar servidores.
  • En reacción a los eventos, se ejecuta el código.

Recomiendo revisar el siguiente enlace para comprender AWS Lambda. https://aws.amazon.com/lambda/

¿Cómo realizar una evaluacion de seguridad en Amazon Web Services?
Te recomiendo visitar el siguiente enlace:
https://hackingprofessional.github.io/Security/AWS-PROWLER/

Herramientas de prueba de seguridad de AWS

Hay muchas herramientas que puede utilizar para analizar sus servicios integrados de AWS. Hay disponible un conjunto diferente de herramientas para realizar diferentes tipos de pruebas.
Recomiendo las siguientes:

Pmapper

PMapper (Principal Mapper) es un script y una biblioteca para encontrar peligros en la configuración de AWS Identity and Access Management (IAM) de una cuenta de AWS.

Link del repositorio: https://github.com/nccgroup/PMapper

AWS-inventory

Un script de Python que busca todos los recursos de AWS creados en una cuenta determinada.

Link del repositorio: https://github.com/nccgroup/aws-inventory

Prowler

Es una herramienta de línea de comandos para implementar las mejores prácticas de seguridad de AWS, realizar auditorías y reforzar según el CIS AMAZON Web Services Foundations Benchmark.

Link del repositorio: https://github.com/toniblyx/prowler

CloudSploit

Es un proyecto de código abierto diseñado para permitir la detección de riesgos de seguridad en cuentas de infraestructura en la nube, incluidos Amazon Web Services (AWS), Microsoft Azure, Google Cloud Platform (GCP), Oracle Cloud Infrastructure (OCI) y GitHub. Estos scripts están diseñados para devolver una serie de posibles errores de configuración y riesgos de seguridad.

Link del repositorio: https://github.com/aquasecurity/cloudsploit

Cloudsplaining

Es una herramienta de evaluación de seguridad de AWS IAM que identifica violaciones de privilegios mínimos y genera un informe HTML con prioridad de riesgo.

Link del repositorio: https://github.com/salesforce/cloudsplaining

Pacu

Es un marco de explotación de AWS de código abierto, diseñado para pruebas de seguridad ofensivas en entornos de nube. Creado y mantenido por Rhino Security Labs , Pacu permite a los probadores de penetración explotar fallas de configuración dentro de una cuenta de AWS, utilizando módulos para expandir fácilmente su funcionalidad. Los módulos actuales permiten una variedad de ataques, incluida la escalada de privilegios de usuario, la puerta trasera de los usuarios de IAM, el ataque a funciones vulnerables de Lambda y mucho más.

Link del repositorio: https://github.com/RhinoSecurityLabs/pacu

About the author:

Profile Image

Gerardo Eliasib

Ethical Hacker - FullStack Developer

Cybersecurity Consultant and also creator of the content published in this blog.