AWS - VPC & Networking Informations de base
Tip
Apprenez & pratiquez AWS Hacking:
HackTricks Training AWS Red Team Expert (ARTE)
Apprenez & pratiquez GCP Hacking:HackTricks Training GCP Red Team Expert (GRTE)
Apprenez & pratiquez Az Hacking:HackTricks Training Azure Red Team Expert (AzRTE)
Soutenez HackTricks
- Consultez les subscription plans!
- Rejoignez le đŹ Discord group ou le telegram group ou suivez-nous sur Twitter đŠ @hacktricks_live.
- Partagez des hacking tricks en soumettant des PRs aux HackTricks et HackTricks Cloud github repos.
Mise en réseau AWS en bref
Un VPC contient un network CIDR comme 10.0.0.0/16 (avec sa table de routage et son ACL réseau).
Ce rĂ©seau VPC est divisĂ© en sous-rĂ©seaux, donc un sous-rĂ©seau est directement liĂ© au VPC, Ă la table de routage et Ă lâACL rĂ©seau.
Ensuite, des Network Interface attachées aux services (comme les instances EC2) sont connectées aux sous-réseaux avec des security group(s).
Par consĂ©quent, un security group limitera les ports exposĂ©s des interfaces rĂ©seau qui lâutilisent, indĂ©pendamment du sous-rĂ©seau. Et un ACL rĂ©seau limitera les ports exposĂ©s pour lâensemble du rĂ©seau.
De plus, pour accéder à Internet, il y a quelques configurations intéressantes à vérifier :
- Un sous-réseau peut auto-attribuer des adresses IPv4 publiques
- Une instance créée dans le réseau qui auto-attribue des adresses IPv4 peut en obtenir une
- Une Internet gateway doit ĂȘtre attachĂ©e au VPC
- Vous pouvez aussi utiliser des Egress-only internet gateways
- Vous pouvez aussi avoir une NAT gateway dans un sous-rĂ©seau privĂ© afin quâil soit possible de se connecter Ă des services externes depuis ce sous-rĂ©seau privĂ©, mais il nâest pas possible dây accĂ©der depuis lâextĂ©rieur.
- La NAT gateway peut ĂȘtre publique (accĂšs Ă Internet) ou privĂ©e (accĂšs Ă dâautres VPCs)
.png)
VPC
Amazon Virtual Private Cloud (Amazon VPC) vous permet de lancer des ressources AWS dans un rĂ©seau virtuel que vous avez dĂ©fini. Ce rĂ©seau virtuel comportera plusieurs sous-rĂ©seaux, des Internet Gateways pour accĂ©der Ă Internet, des ACLs, des security groups, des IPsâŠ
Subnets
Les subnets aident à renforcer le niveau de sécurité. Le regroupement logique de ressources similaires facilite également la gestion de votre infrastructure.
- Les CIDR valides vont dâun netmask /16 Ă un netmask /28.
- Un subnet ne peut pas ĂȘtre dans diffĂ©rentes zones de disponibilitĂ© en mĂȘme temps.
- AWS rĂ©serve les trois premiĂšres adresses IP dâhĂŽte de chaque subnet pour lâusage interne dâAWS : la premiĂšre adresse dâhĂŽte est utilisĂ©e pour le routeur VPC. La seconde adresse est rĂ©servĂ©e pour le DNS AWS et la troisiĂšme adresse est rĂ©servĂ©e pour un usage futur.
- On parle de public subnets pour ceux qui ont un accĂšs direct Ă Internet, tandis que les subnets privĂ©s nâen ont pas.
Route Tables
Les tables de routage dĂ©terminent le routage du trafic pour un subnet au sein dâun VPC. Elles dĂ©terminent quel trafic rĂ©seau est acheminĂ© vers Internet ou vers une connexion VPN. Vous y trouverez gĂ©nĂ©ralement lâaccĂšs vers :
- Le VPC local
- Le NAT
- Les Internet Gateways / Egress-only Internet gateways (nĂ©cessaires pour donner lâaccĂšs Ă Internet Ă un VPC).
- Pour rendre un subnet public, vous devez créer et attacher une Internet gateway à votre VPC.
- Des VPC endpoints (pour accéder à S3 depuis des réseaux privés)
ACLs
Network Access Control Lists (ACLs) : Les ACLs rĂ©seau sont des rĂšgles de pare-feu qui contrĂŽlent le trafic rĂ©seau entrant et sortant vers un subnet. Elles peuvent ĂȘtre utilisĂ©es pour autoriser ou refuser le trafic vers des adresses IP ou des plages spĂ©cifiques.
- Il est plus frĂ©quent dâautoriser/refuser lâaccĂšs en utilisant des security groups, mais câest la seule façon de couper complĂštement des reverse shells Ă©tablis. Une rĂšgle modifiĂ©e dans un security group nâarrĂȘte pas les connexions dĂ©jĂ Ă©tablies.
- Cependant, cela sâapplique Ă lâensemble du sous-rĂ©seau : soyez prudent lorsque vous interdisez des choses, car des fonctionnalitĂ©s nĂ©cessaires peuvent ĂȘtre perturbĂ©es.
Security Groups
Les security groups sont un pare-feu virtuel qui contrÎle le trafic réseau entrant et sortant vers les instances dans un VPC. Relation 1 SG à N instances (généralement 1 à 1).
Généralement, cela sert à ouvrir des ports dangereux sur des instances, comme le port 22 par exemple :
Elastic IP Addresses
Une Elastic IP address est une adresse IPv4 statique conçue pour le cloud computing dynamique. Une Elastic IP address est allouĂ©e Ă votre compte AWS, et vous appartient jusquâĂ ce que vous la libĂ©riez. En utilisant une Elastic IP address, vous pouvez masquer la dĂ©faillance dâune instance ou dâun logiciel en remappant rapidement lâadresse vers une autre instance de votre compte.
Connection between subnets
Par dĂ©faut, tous les subnets ont lâattribution automatique dâadresses IP publiques dĂ©sactivĂ©e, mais cela peut ĂȘtre activĂ©.
Une route locale dans une table de routage permet la communication entre les sous-réseaux du VPC.
Si vous connectez un subnet avec un autre subnet, vous ne pouvez pas accĂ©der aux subnets connectĂ©s avec lâautre subnet, vous devez crĂ©er une connexion directe avec eux. Cela sâapplique aussi aux Internet gateways. Vous ne pouvez pas passer par la connexion dâun subnet pour accĂ©der Ă Internet ; vous devez assigner lâInternet gateway Ă votre subnet.
VPC Peering
Le VPC peering vous permet de connecter deux VPC ou plus ensemble, en utilisant IPv4 ou IPv6, comme sâils faisaient partie du mĂȘme rĂ©seau.
Une fois la connectivitĂ© de peering Ă©tablie, les ressources dâun VPC peuvent accĂ©der aux ressources de lâautre. La connectivitĂ© entre les VPC est mise en Ćuvre via lâinfrastructure rĂ©seau AWS existante, elle est donc hautement disponible sans goulot dâĂ©tranglement de bande passante. Comme les connexions en peering fonctionnent comme si elles faisaient partie du mĂȘme rĂ©seau, il existe des restrictions concernant les plages de blocs CIDR que vous pouvez utiliser.
Si vous avez des plages CIDR qui se chevauchent ou sont dupliquées pour vos VPC, alors vous ne pourrez pas faire de peering entre les VPC.
Chaque VPC AWS ne communiquera quâavec son pair. Par exemple, si vous avez une connexion de peering entre VPC 1 et VPC 2, et une autre connexion entre VPC 2 et VPC 3 comme montrĂ©, alors VPC 1 et 2 pourraient communiquer directement entre eux, tout comme VPC 2 et VPC 3 ; cependant, VPC 1 et VPC 3 ne pourraient pas. Vous ne pouvez pas router Ă travers un VPC pour atteindre un autre.
VPC Flow Logs
Au sein de votre VPC, vous pouvez potentiellement avoir des centaines voire des milliers de ressources qui communiquent entre différents sous-réseaux publics et privés et aussi entre différents VPCs via des connexions de peering. Les VPC Flow Logs vous permettent de capturer les informations de trafic IP qui circulent entre les interfaces réseau de vos ressources au sein de votre VPC.
Contrairement aux logs dâaccĂšs S3 et aux logs dâaccĂšs CloudFront, les donnĂ©es de logs gĂ©nĂ©rĂ©es par les VPC Flow Logs ne sont pas stockĂ©es dans S3. Ă la place, les donnĂ©es de logs capturĂ©es sont envoyĂ©es vers CloudWatch logs.
Limitations :
- Si vous exĂ©cutez une connexion VPC en peering, alors vous ne pourrez voir les flow logs des VPC en peering que sâils sont dans le mĂȘme compte.
- Si vous exĂ©cutez encore des ressources dans lâenvironnement EC2-Classic, alors malheureusement vous ne pouvez pas rĂ©cupĂ©rer dâinformations depuis leurs interfaces.
- Une fois quâun VPC Flow Log a Ă©tĂ© créé, il ne peut pas ĂȘtre modifiĂ©. Pour modifier la configuration du VPC Flow Log, vous devez le supprimer puis en recrĂ©er un nouveau.
- Le trafic suivant nâest pas surveillĂ© ni capturĂ© par les logs : le trafic DHCP au sein du VPC, le trafic des instances Ă destination du serveur DNS Amazon.
- Tout trafic destinĂ© Ă lâadresse IP du routeur par dĂ©faut du VPC et le trafic vers et depuis les adresses suivantes ne sont pas capturĂ©s : 169.254.169.254 (utilisĂ©e pour la collecte des metadata dâinstance) et 169.254.169.123 (utilisĂ©e pour le Amazon Time Sync Service).
- Trafic relatif Ă une licence dâactivation Windows Amazon depuis une instance Windows.
- Trafic entre une interface de network load balancer et une interface dâendpoint rĂ©seau.
Pour chaque interface rĂ©seau qui publie des donnĂ©es dans le groupe de logs CloudWatch, elle utilisera un flux de logs diffĂ©rent. Et Ă lâintĂ©rieur de chacun de ces flux, il y aura les Ă©vĂ©nements de flow log qui montrent le contenu des entrĂ©es de log. Chacun de ces logs capture des donnĂ©es pendant une fenĂȘtre dâenviron 10 Ă 15 minutes.
VPN
Basic AWS VPN Components
- Customer Gateway :
- Un Customer Gateway est une ressource que vous crĂ©ez dans AWS pour reprĂ©senter votre cĂŽtĂ© dâune connexion VPN.
- Câest essentiellement un dispositif physique ou une application logicielle de votre cĂŽtĂ© de la connexion Site-to-Site VPN.
- Vous fournissez les informations de routage et lâadresse IP publique de votre Ă©quipement rĂ©seau (comme un routeur ou un pare-feu) Ă AWS pour crĂ©er un Customer Gateway.
- Il sert de point de rĂ©fĂ©rence pour configurer la connexion VPN et nâentraĂźne pas de coĂ»ts supplĂ©mentaires.
- Virtual Private Gateway :
- Un Virtual Private Gateway (VPG) est le concentrateur VPN du cÎté Amazon de la connexion Site-to-Site VPN.
- Il est attaché à votre VPC et sert de cible pour votre connexion VPN.
- Le VPG est le endpoint cÎté AWS pour la connexion VPN.
- Il gÚre la communication sécurisée entre votre VPC et votre réseau on-premises.
- Site-to-Site VPN Connection :
- Une Site-to-Site VPN connection connecte votre réseau on-premises à un VPC via un tunnel VPN sécurisé IPsec.
- Ce type de connexion nécessite un Customer Gateway et un Virtual Private Gateway.
- Il est utilisé pour une communication sécurisée, stable et cohérente entre votre centre de données ou réseau et votre environnement AWS.
- Typiquement utilisé pour des connexions réguliÚres et long terme et facturé en fonction de la quantité de données transférées sur la connexion.
- Client VPN Endpoint :
- Un Client VPN endpoint est une ressource que vous créez dans AWS pour activer et gérer des sessions VPN clients.
- Il est utilisé pour permettre à des appareils individuels (comme des laptops, smartphones, etc.) de se connecter de maniÚre sécurisée aux ressources AWS ou à votre réseau on-premises.
- Il diffĂšre de la Site-to-Site VPN en ce quâil est conçu pour des clients individuels plutĂŽt que pour connecter des rĂ©seaux entiers.
- Avec Client VPN, chaque appareil client utilise un logiciel client VPN pour établir une connexion sécurisée.
Site-to-Site VPN
Connectez votre réseau on-premises à votre VPC.
- VPN connection : Une connexion sécurisée entre votre équipement on-premises et vos VPCs.
- VPN tunnel : Un lien chiffrĂ© oĂč des donnĂ©es peuvent passer du rĂ©seau client vers ou depuis AWS.
Chaque VPN connection inclut deux VPN tunnels que vous pouvez utiliser simultanément pour la haute disponibilité.
- Customer gateway : Une ressource AWS qui fournit des informations Ă AWS concernant votre appareil customer gateway.
- Customer gateway device : Un appareil physique ou une application logicielle de votre cÎté de la connexion Site-to-Site VPN.
- Virtual private gateway : Le concentrateur VPN du cÎté Amazon de la connexion Site-to-Site VPN. Vous utilisez un virtual private gateway ou un transit gateway comme gateway pour le cÎté Amazon de la connexion Site-to-Site VPN.
- Transit gateway : Un hub de transit qui peut ĂȘtre utilisĂ© pour interconnecter vos VPCs et rĂ©seaux on-premises. Vous utilisez un transit gateway ou virtual private gateway comme gateway pour le cĂŽtĂ© Amazon de la connexion Site-to-Site VPN.
Limitations
- Le trafic IPv6 nâest pas pris en charge pour les connexions VPN sur un virtual private gateway.
- Une connexion AWS VPN ne prend pas en charge Path MTU Discovery.
De plus, prenez les éléments suivants en considération lorsque vous utilisez Site-to-Site VPN.
- Lors de la connexion de vos VPCs Ă un rĂ©seau on-premises commun, nous recommandons dâutiliser des blocs CIDR non chevauchants pour vos rĂ©seaux.
Client VPN
Se connecter depuis votre machine Ă votre VPC
Concepts
- Client VPN endpoint : La ressource que vous crĂ©ez et configurez pour activer et gĂ©rer les sessions VPN clients. Câest la ressource oĂč toutes les sessions Client VPN se terminent.
- Target network : Un target network est le rĂ©seau que vous associez Ă un Client VPN endpoint. Un subnet dâun VPC est un target network. Associer un subnet Ă un Client VPN endpoint vous permet dâĂ©tablir des sessions VPN. Vous pouvez associer plusieurs subnets Ă un Client VPN endpoint pour la haute disponibilitĂ©. Tous les subnets doivent provenir du mĂȘme VPC. Chaque subnet doit appartenir Ă une Availability Zone diffĂ©rente.
- Route : Chaque Client VPN endpoint possÚde une table de routage qui décrit les routes réseau de destination disponibles. Chaque route dans la table de routage spécifie le chemin pour le trafic vers des ressources ou réseaux spécifiques.
- Authorization rules : Une authorization rule restreint les utilisateurs qui peuvent accĂ©der Ă un rĂ©seau. Pour un rĂ©seau spĂ©cifiĂ©, vous configurez le groupe Active Directory ou identity provider (IdP) autorisĂ© Ă lâaccĂšs. Seuls les utilisateurs appartenant Ă ce groupe peuvent accĂ©der au rĂ©seau spĂ©cifiĂ©. Par dĂ©faut, il nây a pas de authorization rules et vous devez configurer des authorization rules pour permettre aux utilisateurs dâaccĂ©der aux ressources et aux rĂ©seaux.
- Client : Lâutilisateur final se connectant au Client VPN endpoint pour Ă©tablir une session VPN. Les utilisateurs finaux doivent tĂ©lĂ©charger un client OpenVPN et utiliser le fichier de configuration Client VPN que vous avez créé pour Ă©tablir une session VPN.
- Client CIDR range : Une plage dâadresses IP Ă partir de laquelle attribuer des adresses IP aux clients. Chaque connexion au Client VPN endpoint se voit attribuer une adresse IP unique Ă partir du client CIDR range. Vous choisissez le client CIDR range, par exemple,
10.2.0.0/16. - Client VPN ports : AWS Client VPN prend en charge les ports 443 et 1194 pour TCP et UDP. Le port par défaut est 443.
- Client VPN network interfaces : Lorsque vous associez un subnet Ă votre Client VPN endpoint, nous crĂ©ons des Client VPN network interfaces dans ce subnet. Le trafic envoyĂ© au VPC depuis le Client VPN endpoint est envoyĂ© via une Client VPN network interface. La traduction dâadresse rĂ©seau source (SNAT) est alors appliquĂ©e, oĂč lâadresse IP source provenant du client CIDR range est traduite vers lâadresse IP de la Client VPN network interface.
- Connection logging : Vous pouvez activer la journalisation des connexions pour votre Client VPN endpoint afin dâenregistrer les Ă©vĂ©nements de connexion. Vous pouvez utiliser ces informations pour effectuer des analyses forensics, analyser comment votre Client VPN endpoint est utilisĂ©, ou dĂ©boguer des problĂšmes de connexion.
- Self-service portal : Vous pouvez activer un self-service portal pour votre Client VPN endpoint. Les clients peuvent se connecter au portail web avec leurs identifiants et télécharger la derniÚre version du fichier de configuration du Client VPN endpoint, ou la derniÚre version du client fourni par AWS.
Limitations
- Les client CIDR ranges ne peuvent pas se chevaucher avec le CIDR local du VPC dans lequel se trouve le subnet associé, ou avec toute route ajoutée manuellement à la table de routage du Client VPN endpoint.
- Les client CIDR ranges doivent avoir une taille de bloc dâau moins /22 et ne doivent pas ĂȘtre supĂ©rieurs Ă /12.
- Une partie des adresses dans le client CIDR range est utilisĂ©e pour soutenir le modĂšle de disponibilitĂ© du Client VPN endpoint, et ne peut pas ĂȘtre attribuĂ©e aux clients. Par consĂ©quent, nous recommandons dâattribuer un bloc CIDR contenant deux fois le nombre dâadresses IP nĂ©cessaires pour permettre le nombre maximal de connexions simultanĂ©es que vous prĂ©voyez de supporter sur le Client VPN endpoint.
- Le client CIDR range ne peut pas ĂȘtre modifiĂ© aprĂšs la crĂ©ation du Client VPN endpoint.
- Les subnets associĂ©s Ă un Client VPN endpoint doivent ĂȘtre dans le mĂȘme VPC.
- Vous ne pouvez pas associer plusieurs subnets de la mĂȘme Availability Zone Ă un Client VPN endpoint.
- Un Client VPN endpoint ne prend pas en charge les associations de subnets dans un VPC à tenancy dédiée.
- Client VPN prend en charge uniquement le trafic IPv4.
- Client VPN nâest pas conforme aux Federal Information Processing Standards (FIPS).
- Si lâauthentification multi-facteurs (MFA) est dĂ©sactivĂ©e pour votre Active Directory, un mot de passe utilisateur ne peut pas ĂȘtre au format suivant.
SCRV1:<base64_encoded_string>:<base64_encoded_string>
- Le self-service portal nâest pas disponible pour les clients qui sâauthentifient en utilisant mutual authentication.
Tip
Apprenez & pratiquez AWS Hacking:
HackTricks Training AWS Red Team Expert (ARTE)
Apprenez & pratiquez GCP Hacking:HackTricks Training GCP Red Team Expert (GRTE)
Apprenez & pratiquez Az Hacking:HackTricks Training Azure Red Team Expert (AzRTE)
Soutenez HackTricks
- Consultez les subscription plans!
- Rejoignez le đŹ Discord group ou le telegram group ou suivez-nous sur Twitter đŠ @hacktricks_live.
- Partagez des hacking tricks en soumettant des PRs aux HackTricks et HackTricks Cloud github repos.
HackTricks Cloud

