AWS - VPC & Networking Basic Information
Tip
Aprenda e pratique AWS Hacking:
HackTricks Training AWS Red Team Expert (ARTE)
Aprenda e pratique GCP Hacking:HackTricks Training GCP Red Team Expert (GRTE)
Aprenda e pratique Az Hacking:HackTricks Training Azure Red Team Expert (AzRTE)
Apoie o HackTricks
- Check the subscription plans!
- Participe do 💬 Discord group ou do telegram group ou siga-nos no Twitter 🐦 @hacktricks_live.
- Compartilhe hacking tricks enviando PRs para os HackTricks e HackTricks Cloud github repos.
AWS Networking em Resumo
Uma VPC contém um network CIDR como 10.0.0.0/16 (com sua routing table e network ACL).
Essa rede VPC é dividida em subnetworks, então uma subnetwork está diretamente relacionada com a VPC, routing table e network ACL.
Então, as Network Interfaces anexadas a serviços (como instâncias EC2) são conectadas às subnetworks com security group(s).
Portanto, um security group limitará as portas expostas das network interfaces que o utilizam, independentemente da subnetwork. E um network ACL irá limitar as portas expostas para a rede inteira.
Além disso, para acessar a Internet, há algumas configurações interessantes a verificar:
- Uma subnetwork pode auto-atribuir endereços IPv4 públicos
- Uma instance criada na rede que auto-atribui endereços IPv4 pode receber um
- Um Internet gateway precisa estar attached à VPC
- Você também pode usar Egress-only internet gateways
- Você também pode ter um NAT gateway em uma private subnet para que seja possível conectar a serviços externos a partir dessa private subnet, mas não é possível alcançá-los a partir do exterior.
- O NAT gateway pode ser public (acesso à internet) ou private (acesso a outras VPCs)
.png)
VPC
Amazon Virtual Private Cloud (Amazon VPC) permite que você inicie recursos AWS em uma rede virtual que você definiu. Essa rede virtual terá várias subnets, Internet Gateways para acessar a Internet, ACLs, Security groups, IPs…
Subnets
Subnets ajudam a reforçar um nível maior de segurança. Agrupamento lógico de recursos similares também facilita a gestão da sua infraestrutura.
- CIDRs válidos vão de uma máscara /16 até /28.
- Uma subnet não pode estar em diferentes Availability Zones ao mesmo tempo.
- A AWS reserva os três primeiros endereços IP de host de cada subnet para uso interno da AWS: o primeiro endereço de host é usado para o roteador da VPC. O segundo endereço é reservado para o DNS da AWS e o terceiro endereço é reservado para uso futuro.
- São chamadas public subnets aquelas que têm acesso direto à Internet, enquanto private subnets não têm.
Route Tables
Route tables determinam o roteamento de tráfego para uma subnet dentro de uma VPC. Elas determinam qual tráfego de rede é encaminhado para a internet ou para uma conexão VPN. Você normalmente encontrará acesso a:
- VPC local
- NAT
- Internet Gateways / Egress-only Internet gateways (necessários para dar à VPC acesso à Internet).
- Para tornar uma subnet pública você precisa criar e anexar um Internet gateway à sua VPC.
- VPC endpoints (para acessar S3 a partir de redes privadas)
ACLs
Network Access Control Lists (ACLs): Network ACLs são regras de firewall que controlam o tráfego de rede de entrada e saída para uma subnet. Elas podem ser usadas para permitir ou negar tráfego para endereços IP específicos ou intervalos.
- É mais frequente permitir/negar acesso usando security groups, mas essa é a única forma de cortar completamente reverse shells já estabelecidos. Uma regra modificada em um security group não interrompe conexões já estabelecidas.
- No entanto, isso se aplica à subnetwork inteira — tenha cuidado ao proibir coisas, pois funcionalidades necessárias podem ser afetadas.
Security Groups
Security groups são um firewall virtual que controla o tráfego de rede de entrada e saída para instâncias em uma VPC. Relação 1 SG para M instâncias (geralmente 1 para 1).
Geralmente isso é usado para abrir portas perigosas nas instâncias, como a porta 22 por exemplo:
Elastic IP Addresses
Um Elastic IP address é um endereço IPv4 estático projetado para computação em nuvem dinâmica. Um Elastic IP address é alocado para sua conta AWS, e é seu até que você o libere. Usando um Elastic IP address, você pode mascarar a falha de uma instância ou software remapeando rapidamente o endereço para outra instância na sua conta.
Conexão entre subnets
Por padrão, todas as subnets têm a atribuição automática de endereços IP públicos desativada, mas isso pode ser ativado.
Uma rota local dentro de uma route table permite comunicação entre subnets da VPC.
Se você está conectando uma subnet com outra subnet você não pode acessar as subnets conectadas com a outra subnet; você precisa criar conexão com elas diretamente. Isso também se aplica a internet gateways. Você não pode passar por uma conexão de subnet para acessar a internet; você precisa atribuir o internet gateway à sua subnet.
VPC Peering
VPC peering permite que você conecte duas ou mais VPCs entre si, usando IPV4 ou IPV6, como se fizessem parte da mesma rede.
Uma vez estabelecida a conectividade de peering, recursos em uma VPC podem acessar recursos na outra. A conectividade entre as VPCs é implementada por meio da infraestrutura de rede existente da AWS, portanto é altamente disponível sem gargalos de banda. Como peered connections operam como se fizessem parte da mesma rede, há restrições quanto aos intervalos de CIDR que podem ser usados.
Se você tiver CIDR sobrepostos ou duplicados para suas VPCs, então você não poderá fazer peering entre as VPCs.
Cada AWS VPC se comunicará somente com seu peer. Por exemplo, se você tiver uma peering connection entre VPC 1 e VPC 2, e outra entre VPC 2 e VPC 3 conforme mostrado, então VPC 1 e 2 poderiam se comunicar diretamente, assim como VPC 2 e VPC 3; entretanto, VPC 1 e VPC 3 não poderiam. Você não pode rotear através de uma VPC para chegar a outra.
VPC Flow Logs
Dentro da sua VPC, você potencialmente pode ter centenas ou até milhares de recursos todos se comunicando entre diferentes subnets públicas e privadas e também entre diferentes VPCs através de VPC peering connections. VPC Flow Logs permitem capturar informações de tráfego IP que fluem entre suas network interfaces dos seus recursos dentro da sua VPC.
Ao contrário dos logs de acesso do S3 e dos logs de acesso do CloudFront, os dados de log gerados por VPC Flow Logs não são armazenados em S3. Em vez disso, os dados de log capturados são enviados para CloudWatch logs.
Limitações:
- Se você estiver executando uma conexão VPC peered, então você só poderá ver flow logs de VPCs peered que estejam na mesma conta.
- Se você ainda estiver executando recursos no ambiente EC2-Classic, então infelizmente você não consegue recuperar informações das interfaces deles.
- Uma vez que um VPC Flow Log é criado, ele não pode ser alterado. Para modificar a configuração do VPC Flow Log, você precisa deletá-lo e então recriar um novo.
- O seguinte tráfego não é monitorado e capturado pelos logs: tráfego DHCP dentro da VPC, tráfego de instâncias com destino ao Amazon DNS Server.
- Qualquer tráfego com destino ao endereço IP do roteador padrão da VPC e tráfego de/para os seguintes endereços, 169.254.169.254 que é usado para coletar metadata da instância, e 169.254.169.123 que é usado para o Amazon Time Sync Service.
- Tráfego relacionado à ativação de licença do Amazon Windows a partir de uma instância Windows.
- Tráfego entre uma interface de network load balancer e uma endpoint network interface.
Para cada network interface que publica dados no CloudWatch log group, será usado um log stream diferente. E dentro de cada um desses streams, haverá os eventos de flow log que mostram o conteúdo das entradas do log. Cada um desses logs captura dados durante uma janela de aproximadamente 10 a 15 minutos.
VPN
Componentes básicos do AWS VPN
- Customer Gateway:
- Um Customer Gateway é um recurso que você cria na AWS para representar seu lado de uma conexão VPN.
- É essencialmente um dispositivo físico ou uma aplicação de software do seu lado da conexão Site-to-Site VPN.
- Você fornece informações de roteamento e o endereço IP público do seu dispositivo de rede (como um roteador ou firewall) para a AWS para criar um Customer Gateway.
- Serve como ponto de referência para configurar a conexão VPN e não gera cobranças adicionais.
- Virtual Private Gateway:
- Um Virtual Private Gateway (VPG) é o concentrador VPN no lado Amazon da conexão Site-to-Site VPN.
- Ele é anexado à sua VPC e serve como o destino para sua conexão VPN.
- VPG é o endpoint do lado AWS para a conexão VPN.
- Ele lida com a comunicação segura entre sua VPC e sua rede on-premises.
- Site-to-Site VPN Connection:
- Uma Site-to-Site VPN connection conecta sua rede on-premises a uma VPC através de um túnel VPN seguro IPsec.
- Esse tipo de conexão requer um Customer Gateway e um Virtual Private Gateway.
- É usado para comunicação segura, estável e consistente entre seu data center ou rede e seu ambiente AWS.
- Normalmente usado para conexões regulares e de longo prazo e é cobrado com base na quantidade de dados transferidos pela conexão.
- Client VPN Endpoint:
- Um Client VPN endpoint é um recurso que você cria na AWS para habilitar e gerenciar sessões de VPN de clientes.
- É usado para permitir que dispositivos individuais (como laptops, smartphones, etc.) se conectem com segurança a recursos AWS ou à sua rede on-premises.
- Difere do Site-to-Site VPN pelo fato de ser projetado para clientes individuais em vez de conectar redes inteiras.
- Com Client VPN, cada dispositivo cliente usa um software cliente VPN para estabelecer uma conexão segura.
Site-to-Site VPN
Conecte sua rede on-premises com sua VPC.
- VPN connection: Uma conexão segura entre seu equipamento on-premises e suas VPCs.
- VPN tunnel: Um link criptografado onde dados podem passar da rede do cliente para a AWS ou vice-versa.
Cada VPN connection inclui dois VPN tunnels que você pode usar simultaneamente para alta disponibilidade.
- Customer gateway: Um recurso AWS que fornece informações à AWS sobre seu dispositivo customer gateway.
- Customer gateway device: Um dispositivo físico ou aplicação de software do seu lado da conexão Site-to-Site VPN.
- Virtual private gateway: O concentrador VPN no lado Amazon da conexão Site-to-Site VPN. Você usa um virtual private gateway ou um transit gateway como o gateway para o lado Amazon da conexão Site-to-Site VPN.
- Transit gateway: Um hub de trânsito que pode ser usado para interconectar suas VPCs e redes on-premises. Você usa um transit gateway ou virtual private gateway como o gateway para o lado Amazon da conexão Site-to-Site VPN.
Limitações
- Tráfego IPv6 não é suportado para conexões VPN em um virtual private gateway.
- Uma AWS VPN connection não suporta Path MTU Discovery.
Além disso, considere o seguinte ao usar Site-to-Site VPN.
- Ao conectar suas VPCs a uma rede on-premises comum, recomendamos que você use blocos CIDR não sobrepostos para suas redes.
Client VPN
Conecte-se da sua máquina à sua VPC
Conceitos
- Client VPN endpoint: O recurso que você cria e configura para habilitar e gerenciar sessões de VPN de clientes. É o recurso onde todas as sessões de Client VPN terminam.
- Target network: Uma target network é a rede que você associa a um Client VPN endpoint. Uma subnet de uma VPC é uma target network. Associar uma subnet a um Client VPN endpoint permite que você estabeleça sessões VPN. Você pode associar múltiplas subnets a um Client VPN endpoint para alta disponibilidade. Todas as subnets devem ser da mesma VPC. Cada subnet deve pertencer a uma Availability Zone diferente.
- Route: Cada Client VPN endpoint tem uma route table que descreve as rotas de destino de rede disponíveis. Cada rota na route table especifica o caminho para o tráfego para recursos ou redes específicas.
- Authorization rules: Uma authorization rule restrige os usuários que podem acessar uma rede. Para uma rede especificada, você configura o Active Directory ou o grupo do identity provider (IdP) que tem permissão de acesso. Apenas usuários pertencentes a esse grupo podem acessar a rede especificada. Por padrão, não existem authorization rules e você deve configurar authorization rules para permitir que usuários acessem recursos e redes.
- Client: O usuário final conectando-se ao Client VPN endpoint para estabelecer uma sessão VPN. Os usuários finais precisam baixar um cliente OpenVPN e usar o arquivo de configuração do Client VPN endpoint que você criou para estabelecer a sessão VPN.
- Client CIDR range: Um intervalo de endereços IP a partir do qual atribuir endereços IP aos clientes. Cada conexão ao Client VPN endpoint recebe um endereço IP único do client CIDR range. Você escolhe o client CIDR range, por exemplo,
10.2.0.0/16. - Client VPN ports: AWS Client VPN suporta as portas 443 e 1194 tanto para TCP quanto para UDP. O padrão é a porta 443.
- Client VPN network interfaces: Quando você associa uma subnet ao seu Client VPN endpoint, criamos Client VPN network interfaces nessa subnet. O tráfego enviado à VPC a partir do Client VPN endpoint é enviado através de uma Client VPN network interface. Em seguida é aplicada tradução de endereço de origem (SNAT), onde o endereço IP de origem do client CIDR range é traduzido para o endereço IP da Client VPN network interface.
- Connection logging: Você pode habilitar connection logging para seu Client VPN endpoint para registrar eventos de conexão. Você pode usar essas informações para realizar forense, analisar como seu Client VPN endpoint está sendo usado ou depurar problemas de conexão.
- Self-service portal: Você pode habilitar um self-service portal para seu Client VPN endpoint. Clientes podem fazer login no portal web usando suas credenciais e baixar a versão mais recente do arquivo de configuração do Client VPN endpoint, ou a versão mais recente do cliente fornecido pela AWS.
Limitações
- Client CIDR ranges não podem se sobrepor com o CIDR local da VPC na qual a subnet associada está localizada, ou com quaisquer rotas adicionadas manualmente à route table do Client VPN endpoint.
- Client CIDR ranges devem ter um tamanho de bloco de pelo menos /22 e não devem ser maiores que /12.
- Uma porção dos endereços no client CIDR range é usada para suportar o modelo de disponibilidade do Client VPN endpoint, e não pode ser atribuída a clientes. Portanto, recomendamos que você atribua um bloco CIDR que contenha o dobro do número de endereços IP que são necessários para permitir o número máximo de conexões simultâneas que você planeja suportar no Client VPN endpoint.
- O client CIDR range não pode ser alterado após a criação do Client VPN endpoint.
- As subnets associadas a um Client VPN endpoint devem estar na mesma VPC.
- Você não pode associar múltiplas subnets da mesma Availability Zone a um Client VPN endpoint.
- Um Client VPN endpoint não suporta associações de subnet em uma VPC com tenancy dedicado.
- Client VPN suporta apenas tráfego IPv4.
- Client VPN não é compatível com Federal Information Processing Standards (FIPS).
- Se a autenticação multifator (MFA) estiver desabilitada para seu Active Directory, uma senha de usuário não pode ter o seguinte formato.
SCRV1:<base64_encoded_string>:<base64_encoded_string>
- O self-service portal não está disponível para clientes que autenticam usando mutual authentication.
Tip
Aprenda e pratique AWS Hacking:
HackTricks Training AWS Red Team Expert (ARTE)
Aprenda e pratique GCP Hacking:HackTricks Training GCP Red Team Expert (GRTE)
Aprenda e pratique Az Hacking:HackTricks Training Azure Red Team Expert (AzRTE)
Apoie o HackTricks
- Check the subscription plans!
- Participe do 💬 Discord group ou do telegram group ou siga-nos no Twitter 🐦 @hacktricks_live.
- Compartilhe hacking tricks enviando PRs para os HackTricks e HackTricks Cloud github repos.
HackTricks Cloud

