AWS - VPC & Networking Informazioni di base
Tip
Impara & pratica AWS Hacking:
HackTricks Training AWS Red Team Expert (ARTE)
Impara & pratica GCP Hacking:HackTricks Training GCP Red Team Expert (GRTE)
Impara & pratica Az Hacking:HackTricks Training Azure Red Team Expert (AzRTE)
Sostieni HackTricks
- Controlla i subscription plans!
- Unisciti al đŹ Discord group o al telegram group o seguici su Twitter đŚ @hacktricks_live.
- Condividi hacking tricks inviando PRs ai HackTricks e HackTricks Cloud github repos.
AWS Networking in breve
Una VPC contiene un network CIDR come 10.0.0.0/16 (con la sua routing table e network ACL).
Questa rete VPC è divisa in subnetworks, quindi una subnetwork è direttamente collegata alla VPC, alla routing table e alla network ACL.
Poi, le Network Interface collegate a servizi (come EC2 instances) sono connesse alle subnetworks con security group(s).
Quindi, un security group limiterĂ le porte esposte delle network interface che lo usano, indipendentemente dalla subnetwork. E una network ACL limiterĂ le porte esposte per lâintera rete.
Inoltre, per poter accedere a Internet, ci sono alcune configurazioni interessanti da controllare:
- Una subnetwork può assegnare automaticamente indirizzi IPv4 pubblici
- Unâinstance creata in una rete che assegna automaticamente indirizzi IPv4 può ottenerne uno
- Un Internet gateway deve essere associato alla VPC
- Ă possibile utilizzare anche Egress-only internet gateways
- Si può inoltre avere un NAT gateway in una subnet privata cosĂŹ è possibile connettersi a servizi esterni da quella subnet privata, ma non è possibile raggiungerli dallâesterno.
- Il NAT gateway può essere pubblico (accesso a Internet) o privato (accesso ad altre VPC)
.png)
VPC
Amazon Virtual Private Cloud (Amazon VPC) ti permette di lanciare risorse AWS in una rete virtuale che hai definito. Questa rete virtuale avrĂ varie subnet, Internet Gateways per lâaccesso a Internet, ACL, Security group, indirizzi IPâŚ
Subnets
Le Subnets aiutano a garantire un maggiore livello di sicurezza. Il raggruppamento logico di risorse simili aiuta anche a mantenere una gestione piĂš semplice della tua infrastruttura.
- I CIDR validi vanno da una netmask /16 a una netmask /28.
- Una subnet non può trovarsi in diverse Availability Zones contemporaneamente.
- AWS riserva i primi tre indirizzi IP host di ogni subnet per uso interno AWS: il primo indirizzo host è utilizzato per il VPC router. Il secondo indirizzo è riservato per lâAWS DNS e il terzo indirizzo è riservato per uso futuro.
- Si chiamano public subnets quelle che hanno accesso diretto a Internet, mentre le private subnets no.
Route Tables
Le route tables determinano il routing del traffico per una subnet allâinterno di una VPC. Determinano quale traffico di rete viene inoltrato verso Internet o verso una connessione VPN. Di solito troverai riferimenti a:
- Local VPC
- NAT
- Internet Gateways / Egress-only Internet gateways (necessari per dare a una VPC accesso a Internet).
- Per rendere una subnet pubblica è necessario creare e associare un Internet gateway alla tua VPC.
- VPC endpoints (per accedere a S3 da reti private)
ACLs
Network Access Control Lists (ACLs): Le Network ACL sono regole di firewall che controllano il traffico di rete in ingresso e in uscita verso una subnet. Possono essere usate per permettere o negare traffico verso indirizzi IP o intervalli specifici.
- Ă piĂš frequente permettere/negare lâaccesso usando i security group, ma gli ACL sono lâunico modo per interrompere completamente reverse shells giĂ stabilite. Una regola modificata in un security group non interrompe connessioni giĂ stabilite.
- Tuttavia, questo si applica allâintera subnetwork: fai attenzione quando vieti qualcosa perchĂŠ potresti disturbare funzionalitĂ necessarie.
Security Groups
I security group sono un firewall virtuale che controlla il traffico di rete in ingresso e in uscita alle instance in una VPC. Relazione 1 SG a M instance (di solito 1 a 1).
Di solito vengono usati per aprire porte pericolose nelle instance, come la porta 22 per esempio:
Elastic IP Addresses
Un Elastic IP address è un indirizzo IPv4 statico progettato per il cloud computing dinamico. Un Elastic IP address viene allocato al tuo account AWS ed è tuo finchĂŠ non lo rilasci. Usando un Elastic IP address, puoi mascherare il guasto di unâinstance o di un software rimappando rapidamente lâindirizzo a unâaltra instance nel tuo account.
Connection between subnets
Per default, tutte le subnet hanno lâassegnazione automatica di indirizzi IP pubblici disattivata, ma può essere attivata.
Una route locale allâinterno di una route table abilita la comunicazione tra le subnet della VPC.
Se stai collegando una subnet con unâaltra subnet non puoi accedere alle subnet connesse con questâultima; devi creare la connessione direttamente con esse. Questo vale anche per gli internet gateway. Non puoi transitare attraverso una connessione subnet per accedere a Internet; devi assegnare lâInternet gateway alla tua subnet.
VPC Peering
VPC peering permette di connettere due o piĂš VPC tra loro, usando IPv4 o IPv6, come se fossero parte della stessa rete.
Una volta stabilita la connettivitĂ peered, le risorse in una VPC possono accedere alle risorse nellâaltra. La connettivitĂ tra le VPC è implementata attraverso lâinfrastruttura di rete AWS esistente, quindi è altamente disponibile senza colli di bottiglia di banda. PoichĂŠ le connessioni peered operano come se fossero parte della stessa rete, ci sono restrizioni sui range di CIDR che possono essere usati.
Se hai CIDR sovrapposti o duplicati per le tue VPC, non potrai peerare le VPC tra loro.
Ogni AWS VPC comunicherĂ solo con il suo peer. Per esempio, se hai una connessione di peering tra VPC 1 e VPC 2, e unâaltra connessione tra VPC 2 e VPC 3 come mostrato, allora VPC 1 e VPC 2 possono comunicare direttamente tra loro, cosĂŹ come VPC 2 e VPC 3; tuttavia, VPC 1 e VPC 3 non potrebbero. Non puoi instradare attraverso una VPC per raggiungerne unâaltra.
VPC Flow Logs
Allâinterno della tua VPC potresti avere centinaia o persino migliaia di risorse che comunicano tra diverse subnet sia pubbliche che private e anche tra diverse VPC tramite connessioni di VPC peering. I VPC Flow Logs ti permettono di catturare informazioni sul traffico IP che fluisce tra le tue network interface delle risorse allâinterno della tua VPC.
A differenza dei log di accesso S3 e dei log di accesso CloudFront, i dati di log generati dai VPC Flow Logs non sono memorizzati in S3. Invece, i dati di log catturati vengono inviati ai CloudWatch logs.
Limitazioni:
- Se stai eseguendo una connessione VPC peered, potrai vedere i flow logs dei VPC peered solo se sono nello stesso account.
- Se stai ancora eseguendo risorse nellâambiente EC2-Classic, allora sfortunatamente non puoi recuperare informazioni dalle loro interfacce.
- Una volta creato un VPC Flow Log, non può essere modificato. Per alterare la configurazione del VPC Flow Log, è necessario eliminarlo e poi ricrearne uno nuovo.
- Il seguente traffico non è monitorato nĂŠ catturato dai log: traffico DHCP allâinterno della VPC, traffico da instance destinato al server DNS di Amazon.
- Qualsiasi traffico destinato allâindirizzo IP del router predefinito della VPC e il traffico da e verso i seguenti indirizzi: 169.254.169.254 (usato per ottenere i metadata dellâinstance) e 169.254.169.123 (usato dal Amazon Time Sync Service).
- Traffico relativo a una licenza di attivazione Amazon Windows da unâinstance Windows.
- Traffico tra unâinterfaccia di un network load balancer e unâinterfaccia di rete endpoint.
Per ogni network interface che pubblica dati nel CloudWatch log group, verrĂ usato uno stream di log differente. E allâinterno di ciascuno di questi stream ci saranno i dati degli eventi del flow log che mostrano il contenuto delle voci di log. Ciascuno di questi log cattura dati durante una finestra di circa 10-15 minuti.
VPN
Basic AWS VPN Components
- Customer Gateway:
- Un Customer Gateway è una risorsa che crei in AWS per rappresentare il tuo lato di una VPN connection.
- Ă essenzialmente un dispositivo fisico o unâapplicazione software sul tuo lato della Site-to-Site VPN connection.
- Fornisci informazioni di routing e lâindirizzo IP pubblico del tuo dispositivo di rete (come un router o un firewall) ad AWS per creare un Customer Gateway.
- Serve come riferimento per configurare la VPN connection e non comporta costi aggiuntivi.
- Virtual Private Gateway:
- Un Virtual Private Gateway (VPG) è il concentratore VPN dal lato Amazon della Site-to-Site VPN connection.
- Ă associato alla tua VPC e funge da target per la tua VPN connection.
- VPG è lâendpoint dal lato AWS per la VPN connection.
- Gestisce la comunicazione sicura tra la tua VPC e la tua rete on-premises.
- Site-to-Site VPN Connection:
- Una Site-to-Site VPN connection connette la tua rete on-premises a una VPC tramite un tunnel VPN sicuro IPSec.
- Questo tipo di connessione richiede un Customer Gateway e un Virtual Private Gateway.
- Ă usata per comunicazioni sicure, stabili e coerenti tra il tuo data center o la tua rete e il tuo ambiente AWS.
- Tipicamente usata per connessioni regolari e a lungo termine ed è fatturata in base alla quantità di dati trasferiti sulla connessione.
- Client VPN Endpoint:
- Un Client VPN endpoint è una risorsa che crei in AWS per abilitare e gestire le sessioni VPN dei client.
- Ă usato per permettere a singoli dispositivi (come laptop, smartphone, ecc.) di connettersi in modo sicuro alle risorse AWS o alla tua rete on-premises.
- Si differenzia dalla Site-to-Site VPN in quanto è progettato per client individuali piuttosto che per connettere intere reti.
- Con Client VPN, ogni dispositivo client usa un software VPN client per stabilire la connessione sicura.
Site-to-Site VPN
Connect your on premisses network with your VPC.
- VPN connection: Una connessione sicura tra il tuo equipaggiamento on-premises e le tue VPC.
- VPN tunnel: Un link criptato attraverso il quale i dati possono transitare dalla rete del cliente verso AWS e viceversa.
Ogni VPN connection include due VPN tunnel che puoi usare simultaneamente per alta disponibilitĂ .
- Customer gateway: Una risorsa AWS che fornisce informazioni ad AWS sul tuo dispositivo customer gateway.
- Customer gateway device: Un dispositivo fisico o unâapplicazione software sul tuo lato della Site-to-Site VPN connection.
- Virtual private gateway: Il concentratore VPN dal lato Amazon della Site-to-Site VPN connection. Puoi usare un virtual private gateway o un transit gateway come gateway per il lato Amazon della Site-to-Site VPN connection.
- Transit gateway: Un hub di transito che può essere usato per interconnettere le tue VPC e le reti on-premises. Puoi usare un transit gateway o un virtual private gateway come gateway per il lato Amazon della Site-to-Site VPN connection.
Limitations
- Il traffico IPv6 non è supportato per le VPN connections su un virtual private gateway.
- Una AWS VPN connection non supporta Path MTU Discovery.
Inoltre, prendi in considerazione quanto segue quando usi Site-to-Site VPN.
- Quando colleghi le tue VPC a una rete on-premises comune, si raccomanda di usare blocchi CIDR non sovrapposti per le tue reti.
Client VPN
Connettiti dalla tua macchina alla tua VPC
Concepts
- Client VPN endpoint: La risorsa che crei e configuri per abilitare e gestire le sessioni VPN dei client. Ă la risorsa dove tutte le sessioni Client VPN terminano.
- Target network: Una target network è la rete che associ a un Client VPN endpoint. Una subnet di una VPC è una target network. Associare una subnet a un Client VPN endpoint ti permette di stabilire sessioni VPN. Puoi associare piÚ subnet a un Client VPN endpoint per alta disponibilità . Tutte le subnet devono appartenere alla stessa VPC. Ogni subnet deve appartenere a una Availability Zone diversa.
- Route: Ogni Client VPN endpoint ha una route table che descrive le rotte di destinazione disponibili. Ogni route nella route table specifica il percorso per il traffico verso risorse o reti specifiche.
- Authorization rules: Una authorization rule restringe gli utenti che possono accedere a una rete. Per una rete specificata, configuri il gruppo Active Directory o il gruppo dellâidentity provider (IdP) che è autorizzato. Solo gli utenti appartenenti a questo gruppo possono accedere alla rete specificata. Per default non ci sono authorization rules e devi configurare le authorization rules per permettere agli utenti di accedere a risorse e reti.
- Client: Lâutente finale che si connette al Client VPN endpoint per stabilire una sessione VPN. Gli utenti finali devono scaricare un client OpenVPN e usare il file di configurazione del Client VPN endpoint che hai creato per stabilire la sessione VPN.
- Client CIDR range: Un intervallo di indirizzi IP dal quale assegnare gli indirizzi IP ai client. Ogni connessione al Client VPN endpoint riceve un indirizzo IP unico dal client CIDR range. Scegli il client CIDR range, per esempio
10.2.0.0/16. - Client VPN ports: AWS Client VPN supporta le porte 443 e 1194 sia per TCP che per UDP. Il default è la porta 443.
- Client VPN network interfaces: Quando associ una subnet al tuo Client VPN endpoint, vengono create Client VPN network interfaces in quella subnet. Il traffico inviato alla VPC dal Client VPN endpoint è inviato tramite una Client VPN network interface. Viene quindi applicata la Source Network Address Translation (SNAT), dove lâindirizzo IP sorgente dal client CIDR range viene tradotto nellâindirizzo IP della Client VPN network interface.
- Connection logging: Puoi abilitare il connection logging per il tuo Client VPN endpoint per registrare gli eventi di connessione. Puoi usare queste informazioni per fare forensics, analizzare come viene usato il Client VPN endpoint o debuggare problemi di connessione.
- Self-service portal: Puoi abilitare un self-service portal per il tuo Client VPN endpoint. I client possono accedere al portale web usando le loro credenziali e scaricare lâultima versione del file di configurazione del Client VPN endpoint, o lâultima versione del client fornito da AWS.
Limitations
- Client CIDR ranges cannot overlap with the local CIDR della VPC in cui la subnet associata è situata, o con qualsiasi route aggiunta manualmente alla route table del Client VPN endpoint.
- I client CIDR ranges devono avere una dimensione di blocco di almeno /22 e non devono essere maggiori di /12.
- Una porzione degli indirizzi nel client CIDR range è usata per supportare il modello di disponibilità del Client VPN endpoint, e non può essere assegnata ai client. Pertanto, si raccomanda di assegnare un blocco CIDR che contenga il doppio del numero di indirizzi IP richiesti per abilitare il numero massimo di connessioni concorrenti che prevedi di supportare sul Client VPN endpoint.
- Il client CIDR range non può essere cambiato dopo aver creato il Client VPN endpoint.
- Le subnet associate a un Client VPN endpoint devono essere nella stessa VPC.
- Non puoi associare piĂš subnet dalla stessa Availability Zone a un Client VPN endpoint.
- Un Client VPN endpoint non supporta associazioni di subnet in una VPC con tenancy dedicata (dedicated tenancy).
- Client VPN supporta solo traffico IPv4.
- Client VPN non è conforme agli standard Federal Information Processing Standards (FIPS).
- Se la multi-factor authentication (MFA) è disabilitata per il tuo Active Directory, una password utente non può essere nel seguente formato.
SCRV1:<base64_encoded_string>:<base64_encoded_string>
- Il self-service portal non è disponibile per i client che si autenticano usando mutual authentication.
Tip
Impara & pratica AWS Hacking:
HackTricks Training AWS Red Team Expert (ARTE)
Impara & pratica GCP Hacking:HackTricks Training GCP Red Team Expert (GRTE)
Impara & pratica Az Hacking:HackTricks Training Azure Red Team Expert (AzRTE)
Sostieni HackTricks
- Controlla i subscription plans!
- Unisciti al đŹ Discord group o al telegram group o seguici su Twitter đŚ @hacktricks_live.
- Condividi hacking tricks inviando PRs ai HackTricks e HackTricks Cloud github repos.
HackTricks Cloud

