AWS - VPC & Networking Basic Information
Tip
Aprende y practica AWS Hacking:
HackTricks Training AWS Red Team Expert (ARTE)
Aprende y practica GCP Hacking:HackTricks Training GCP Red Team Expert (GRTE)
Aprende y practica Az Hacking:HackTricks Training Azure Red Team Expert (AzRTE)
Apoya a HackTricks
- Consulta los subscription plans!
- Únete al 💬 Discord group o al telegram group o síguenos en Twitter 🐦 @hacktricks_live.
- Comparte trucos de hacking enviando PRs a los HackTricks y HackTricks Cloud github repos.
AWS Networking in a Nutshell
Una VPC contiene un CIDR de red como 10.0.0.0/16 (con su tabla de enrutamiento y network ACL).
Esta red VPC se divide en subredes, por lo que una subred está directamente relacionada con la VPC, la tabla de enrutamiento y la network ACL.
Luego, las Network Interface adjuntas a servicios (como instancias EC2) están conectadas a las subredes con security group(s).
Por lo tanto, un security group limitará los puertos expuestos de las interfaces de red que lo están usando, independientemente de la subred. Y una network ACL limitará los puertos expuestos para toda la red.
Además, para acceder a Internet, hay algunas configuraciones interesantes que comprobar:
- Una subred puede asignar automáticamente direcciones IPv4 públicas
- Una instancia creada en la red que asigna automáticamente IPv4 puede obtener una
- Un Internet gateway necesita estar adjunto a la VPC
- También puedes usar Egress-only internet gateways
- También puedes tener un NAT gateway en una subred privada para que sea posible conectarse a servicios externos desde esa subred privada, pero no es posible que se acceda a ellas desde el exterior.
- El NAT gateway puede ser público (acceso a Internet) o privado (acceso a otras VPCs)
.png)
VPC
Amazon Virtual Private Cloud (Amazon VPC) te permite lanzar recursos de AWS en una red virtual que tú has definido. Esta red virtual tendrá varias subredes, Internet Gateways para acceder a Internet, ACLs, Security groups, IPs…
Subnets
Las subredes ayudan a imponer un mayor nivel de seguridad. La agrupación lógica de recursos similares también te ayuda a mantener una facilidad de gestión en toda tu infraestructura.
- Los CIDR válidos van desde una máscara /16 hasta una /28.
- Una subred no puede estar en diferentes zonas de disponibilidad al mismo tiempo.
- AWS reserva las primeras tres direcciones IP de host de cada subred para uso interno de AWS: la primera dirección de host se usa para el router de la VPC. La segunda dirección está reservada para AWS DNS y la tercera dirección está reservada para uso futuro.
- Se llaman subredes públicas a aquellas que tienen acceso directo a Internet, mientras que las subredes privadas no lo tienen.
Route Tables
Las tablas de enrutamiento determinan el enrutamiento del tráfico para una subred dentro de una VPC. Determinan qué tráfico de red se reenvía a Internet o a una conexión VPN. Normalmente verás rutas hacia:
- VPC local
- NAT
- Internet Gateways / Egress-only Internet gateways (necesarios para dar acceso a Internet a una VPC).
- Para hacer una subred pública necesitas crear y adjuntar un Internet gateway a tu VPC.
- VPC endpoints (para acceder a S3 desde redes privadas)
ACLs
Network Access Control Lists (ACLs): Las network ACLs son reglas de firewall que controlan el tráfico de red entrante y saliente a una subred. Pueden usarse para permitir o denegar tráfico a direcciones IP o rangos específicos.
- Es más frecuente permitir/denegar acceso usando security groups, pero esta es la única forma de cortar completamente shells inversos ya establecidos. Una regla modificada en un security group no detiene las conexiones ya establecidas.
- Sin embargo, esto se aplica a toda la subred; ten cuidado al prohibir cosas porque podrías afectar funcionalidades necesarias.
Security Groups
Los security groups son un firewall virtual que controla el tráfico de red entrante y saliente a las instancias en una VPC. Relación 1 SG a M instancias (usualmente 1 a 1).
Usualmente se usan para abrir puertos peligrosos en instancias, como por ejemplo el puerto 22:
Elastic IP Addresses
Una Elastic IP address es una dirección IPv4 estática diseñada para computación en la nube dinámica. Una Elastic IP address se asigna a tu cuenta de AWS y es tuya hasta que la liberes. Usando una Elastic IP address, puedes enmascarar la falla de una instancia o software reasignando rápidamente la dirección a otra instancia en tu cuenta.
Connection between subnets
Por defecto, todas las subredes tienen la asignación automática de direcciones IP públicas desactivada, pero se puede activar.
Una ruta local dentro de una tabla de rutas permite la comunicación entre subredes de la VPC.
Si estás conectando una subred con otra subred no puedes acceder a las subredes conectadas con la otra subred; necesitas crear la conexión con ellas directamente. Esto también se aplica a los Internet gateways. No puedes pasar por una conexión de subred para acceder a Internet; necesitas asignar el Internet gateway a tu subred.
VPC Peering
VPC peering te permite conectar dos o más VPCs entre sí, usando IPv4 o IPv6, como si fueran parte de la misma red.
Una vez establecida la conectividad de peering, los recursos en una VPC pueden acceder a los recursos en la otra. La conectividad entre las VPCs se implementa a través de la infraestructura de red existente de AWS, por lo que es altamente disponible sin cuellos de botella de ancho de banda. Como las conexiones peered funcionan como si fueran parte de la misma red, hay restricciones respecto a los rangos CIDR que se pueden usar.
Si tienes CIDR superpuestos o duplicados para tus VPC, entonces no podrás hacer peering entre las VPCs.
Cada VPC de AWS solo se comunicará con su peer. Por ejemplo, si tienes una conexión de peering entre VPC 1 y VPC 2, y otra conexión entre VPC 2 y VPC 3 como se muestra, entonces VPC 1 y 2 podrían comunicarse directamente entre sí, al igual que VPC 2 y VPC 3; sin embargo, VPC 1 y VPC 3 no podrían. No puedes enrutar a través de una VPC para llegar a otra.
VPC Flow Logs
Dentro de tu VPC, potencialmente podrías tener cientos o incluso miles de recursos comunicándose entre diferentes subredes tanto públicas como privadas y también entre diferentes VPCs a través de conexiones de VPC peering. VPC Flow Logs te permiten capturar información del tráfico IP que fluye entre las interfaces de red de tus recursos dentro de tu VPC.
A diferencia de los registros de acceso de S3 y los de CloudFront, los datos de logs generados por VPC Flow Logs no se almacenan en S3. En su lugar, los datos capturados se envían a CloudWatch logs.
Limitaciones:
- Si estás ejecutando una conexión VPC peered, entonces solo podrás ver los flow logs de las VPCs peered que estén dentro de la misma cuenta.
- Si todavía estás ejecutando recursos dentro del entorno EC2-Classic, desafortunadamente no puedes recuperar información de sus interfaces.
- Una vez que se crea un VPC Flow Log, no puede ser cambiado. Para alterar la configuración del VPC Flow Log, necesitas eliminarlo y luego crear uno nuevo.
- El siguiente tráfico no es monitoreado ni capturado por los logs: tráfico DHCP dentro de la VPC, tráfico desde instancias con destino al Amazon DNS Server.
- Cualquier tráfico con destino a la dirección IP del router predeterminado de la VPC y el tráfico hacia y desde las siguientes direcciones, 169.254.169.254 que se usa para recopilar metadata de instancias, y 169.254.169.123 que se usa para el Amazon Time Sync Service.
- Tráfico relacionado con una licencia de activación de Amazon Windows desde una instancia Windows.
- Tráfico entre una interfaz de network load balancer y una interfaz de endpoint network.
Para cada interfaz de red que publique datos en el grupo de logs de CloudWatch, usará un stream de logs diferente. Y dentro de cada uno de estos streams, estarán los eventos de flow log que muestran el contenido de las entradas de log. Cada uno de estos logs captura datos durante una ventana de aproximadamente 10 a 15 minutos.
VPN
Basic AWS VPN Components
- Customer Gateway:
- Un Customer Gateway es un recurso que creas en AWS para representar tu lado de una conexión VPN.
- Es esencialmente un dispositivo físico o una aplicación de software en tu lado de la conexión Site-to-Site VPN.
- Proporcionas la información de enrutamiento y la dirección IP pública de tu dispositivo de red (como un router o un firewall) a AWS para crear un Customer Gateway.
- Sirve como punto de referencia para configurar la conexión VPN y no genera cargos adicionales.
- Virtual Private Gateway:
- Un Virtual Private Gateway (VPG) es el concentrador VPN en el lado de Amazon de la conexión Site-to-Site VPN.
- Está adjunto a tu VPC y sirve como el objetivo para tu conexión VPN.
- VPG es el endpoint del lado de AWS para la conexión VPN.
- Maneja la comunicación segura entre tu VPC y tu red on-premises.
- Site-to-Site VPN Connection:
- Una Site-to-Site VPN connection conecta tu red on-premises a una VPC a través de un túnel VPN seguro IPsec.
- Este tipo de conexión requiere un Customer Gateway y un Virtual Private Gateway.
- Se usa para comunicación segura, estable y consistente entre tu centro de datos o red y tu entorno AWS.
- Normalmente se usa para conexiones regulares y a largo plazo y se factura según la cantidad de datos transferidos por la conexión.
- Client VPN Endpoint:
- Un Client VPN endpoint es un recurso que creas en AWS para habilitar y gestionar sesiones VPN de clientes.
- Se utiliza para permitir que dispositivos individuales (como laptops, smartphones, etc.) se conecten de forma segura a recursos de AWS o a tu red on-premises.
- Se diferencia del Site-to-Site VPN en que está diseñado para clientes individuales en lugar de conectar redes enteras.
- Con Client VPN, cada dispositivo cliente usa un software cliente VPN para establecer una conexión segura.
Site-to-Site VPN
Conecta tu red on premises con tu VPC.
- VPN connection: Una conexión segura entre tu equipo on-premises y tus VPCs.
- VPN tunnel: Un enlace encriptado por donde los datos pueden pasar desde la red del cliente hacia o desde AWS.
Cada VPN connection incluye dos VPN tunnels que puedes usar simultáneamente para alta disponibilidad.
- Customer gateway: Un recurso de AWS que proporciona información a AWS sobre tu dispositivo customer gateway.
- Customer gateway device: Un dispositivo físico o aplicación de software en tu lado de la conexión Site-to-Site VPN.
- Virtual private gateway: El concentrador VPN en el lado de Amazon de la conexión Site-to-Site VPN. Usas un virtual private gateway o un transit gateway como la puerta de enlace para el lado de Amazon de la conexión Site-to-Site VPN.
- Transit gateway: Un hub de tránsito que puede usarse para interconectar tus VPCs y redes on-premises. Usas un transit gateway o virtual private gateway como la puerta de enlace para el lado de Amazon de la conexión Site-to-Site VPN.
Limitations
- El tráfico IPv6 no es compatible para conexiones VPN en un virtual private gateway.
- Una AWS VPN connection no soporta Path MTU Discovery.
Además, ten en cuenta lo siguiente cuando uses Site-to-Site VPN.
- Al conectar tus VPCs a una red on-premises común, recomendamos que uses bloques CIDR no superpuestos para tus redes.
Client VPN
Conéctate desde tu máquina a tu VPC
Concepts
- Client VPN endpoint: El recurso que creas y configuras para habilitar y gestionar sesiones VPN de clientes. Es el recurso donde se terminan todas las sesiones Client VPN.
- Target network: Una target network es la red que asocias con un Client VPN endpoint. Una subred de una VPC es una target network. Asociar una subred con un Client VPN endpoint te permite establecer sesiones VPN. Puedes asociar múltiples subredes con un Client VPN endpoint para alta disponibilidad. Todas las subredes deben pertenecer a la misma VPC. Cada subred debe pertenecer a una Zona de Disponibilidad diferente.
- Route: Cada Client VPN endpoint tiene una tabla de rutas que describe las rutas de red de destino disponibles. Cada ruta en la tabla de rutas especifica el camino para el tráfico hacia recursos o redes específicas.
- Authorization rules: Una authorization rule restringe los usuarios que pueden acceder a una red. Para una red especificada, configuras el grupo de Active Directory o del proveedor de identidad (IdP) que tiene permitido el acceso. Solo los usuarios pertenecientes a ese grupo pueden acceder a la red especificada. Por defecto, no hay authorization rules y debes configurarlas para habilitar que los usuarios accedan a recursos y redes.
- Client: El usuario final que se conecta al Client VPN endpoint para establecer una sesión VPN. Los usuarios finales necesitan descargar un cliente OpenVPN y usar el archivo de configuración del Client VPN endpoint que creaste para establecer una sesión VPN.
- Client CIDR range: Un rango de direcciones IP desde el cual asignar direcciones IP a los clientes. A cada conexión al Client VPN endpoint se le asigna una dirección IP única del client CIDR range. Tú eliges el client CIDR range, por ejemplo,
10.2.0.0/16. - Client VPN ports: AWS Client VPN soporta los puertos 443 y 1194 tanto para TCP como para UDP. El valor por defecto es el puerto 443.
- Client VPN network interfaces: Cuando asocias una subred con tu Client VPN endpoint, creamos Client VPN network interfaces en esa subred. El tráfico que se envía a la VPC desde el Client VPN endpoint se envía a través de una Client VPN network interface. Entonces se aplica NAT de dirección de red fuente (SNAT), donde la dirección IP origen del client CIDR range se traduce a la dirección IP de la Client VPN network interface.
- Connection logging: Puedes habilitar el logging de conexiones para tu Client VPN endpoint para registrar eventos de conexión. Puedes usar esta información para realizar forense, analizar cómo se está usando tu Client VPN endpoint o depurar problemas de conexión.
- Self-service portal: Puedes habilitar un portal de autoservicio para tu Client VPN endpoint. Los clientes pueden iniciar sesión en el portal web usando sus credenciales y descargar la versión más reciente del archivo de configuración del Client VPN endpoint, o la versión más reciente del cliente proporcionado por AWS.
Limitations
- Client CIDR ranges cannot overlap with the local CIDR de la VPC en la que se encuentra la subred asociada, ni con ninguna ruta añadida manualmente a la tabla de rutas del Client VPN endpoint.
- Los client CIDR ranges deben tener un tamaño de bloque de al menos /22 y no deben ser mayores que /12.
- Una porción de las direcciones en el client CIDR range se utilizan para soportar el modelo de disponibilidad del Client VPN endpoint, y no pueden asignarse a clientes. Por lo tanto, recomendamos que asignes un bloque CIDR que contenga el doble de direcciones IP que las necesarias para habilitar el número máximo de conexiones concurrentes que planeas soportar en el Client VPN endpoint.
- El client CIDR range no puede cambiarse después de crear el Client VPN endpoint.
- Las subredes asociadas con un Client VPN endpoint deben estar en la misma VPC.
- No puedes asociar múltiples subredes de la misma Zona de Disponibilidad con un Client VPN endpoint.
- Un Client VPN endpoint no admite asociaciones de subred en una VPC con tenancy dedicado.
- Client VPN admite solo tráfico IPv4.
- Client VPN no cumple con los Federal Information Processing Standards (FIPS).
- Si la autenticación multifactor (MFA) está deshabilitada para tu Active Directory, una contraseña de usuario no puede tener el siguiente formato.
SCRV1:<base64_encoded_string>:<base64_encoded_string>
- El self-service portal no está disponible para clientes que se autentican usando mutual authentication.
Tip
Aprende y practica AWS Hacking:
HackTricks Training AWS Red Team Expert (ARTE)
Aprende y practica GCP Hacking:HackTricks Training GCP Red Team Expert (GRTE)
Aprende y practica Az Hacking:HackTricks Training Azure Red Team Expert (AzRTE)
Apoya a HackTricks
- Consulta los subscription plans!
- Únete al 💬 Discord group o al telegram group o síguenos en Twitter 🐦 @hacktricks_live.
- Comparte trucos de hacking enviando PRs a los HackTricks y HackTricks Cloud github repos.
HackTricks Cloud

