AWS - EC2, EBS, ELB, SSM, VPC & VPN Enum
VPC & Réseau
Apprenez ce qu'est un VPC et ses composants dans :
pageAWS - VPC & Networking Basic InformationEC2
Amazon EC2 est utilisé pour lancer des serveurs virtuels. Il permet la configuration de la sécurité et du réseau et la gestion du stockage. La flexibilité d'Amazon EC2 est évidente dans sa capacité à mettre à l'échelle les ressources à la fois vers le haut et vers le bas, s'adaptant efficacement aux changements de besoins variables ou aux pics de popularité. Cette fonctionnalité réduit la nécessité de prévisions de trafic précises.
Choses intéressantes à énumérer dans EC2 :
Machines virtuelles
Clés SSH
Données utilisateur
EC2/AMIs/Snapshots existants
Réseau
Réseaux
Sous-réseaux
Adresses IP publiques
Ports ouverts
Connexions intégrées avec d'autres réseaux en dehors d'AWS
Profils d'instance
L'utilisation de rôles pour accorder des autorisations aux applications s'exécutant sur des instances EC2 nécessite une configuration supplémentaire. Une application s'exécutant sur une instance EC2 est abstraite d'AWS par le système d'exploitation virtualisé. En raison de cette séparation supplémentaire, vous avez besoin d'une étape supplémentaire pour attribuer un rôle AWS et ses autorisations associées à une instance EC2 et les rendre disponibles pour ses applications.
Cette étape supplémentaire est la création d'un profil d'instance attaché à l'instance. Le profil d'instance contient le rôle et peut fournir les informations d'identification temporaires du rôle à une application s'exécutant sur l'instance. Ces informations d'identification temporaires peuvent ensuite être utilisées dans les appels API de l'application pour accéder aux ressources et limiter l'accès uniquement aux ressources spécifiées par le rôle. Notez que un seul rôle peut être attribué à une instance EC2 à la fois, et toutes les applications sur l'instance partagent le même rôle et les mêmes autorisations.
Point de terminaison de métadonnées
Les métadonnées AWS EC2 sont des informations sur une instance Amazon Elastic Compute Cloud (EC2) disponibles pour l'instance en cours d'exécution. Ces métadonnées sont utilisées pour fournir des informations sur l'instance, telles que son ID d'instance, la zone de disponibilité dans laquelle elle s'exécute, le rôle IAM associé à l'instance et le nom d'hôte de l'instance.
Énumération
Accès non authentifié
pageAWS - EC2 Unauthenticated EnumÉlévation de privilèges
Sur la page suivante, vous pouvez vérifier comment abuser des autorisations EC2 pour escalader les privilèges :
pageAWS - EC2 PrivescPost-Exploitation
pageAWS - EC2, EBS, SSM & VPC Post ExploitationEBS
Les instantanés EBS (Elastic Block Store) d'Amazon sont essentiellement des sauvegardes statiques des volumes AWS EBS. En d'autres termes, ce sont des copies des disques attachés à une instance EC2 à un moment précis. Les instantanés EBS peuvent être copiés entre régions et comptes, voire téléchargés et exécutés localement.
Les instantanés peuvent contenir des informations sensibles telles que du code source ou des clés API, il est donc recommandé de les vérifier si vous en avez l'occasion.
Différence entre AMI et EBS
Une AMI est utilisée pour lancer une instance EC2, tandis qu'un instantané EC2 est utilisé pour sauvegarder et récupérer des données stockées sur un volume EBS. Bien qu'un instantané EC2 puisse être utilisé pour créer une nouvelle AMI, ce n'est pas la même chose qu'une AMI et il ne contient pas d'informations sur le système d'exploitation, le serveur d'applications ou d'autres logiciels nécessaires pour exécuter une application.
Élévation de privilèges
Sur la page suivante, vous pouvez vérifier comment abuser des autorisations EBS pour escalader les privilèges :
pageAWS - EBS PrivescSSM
Amazon Simple Systems Manager (SSM) permet de gérer à distance des flottes d'instances EC2 pour faciliter leur administration. Chacune de ces instances doit exécuter le service SSM Agent car c'est lui qui recevra les actions et les exécutera à partir de l'API AWS.
L'agent SSM permet à Systems Manager de mettre à jour, gérer et configurer ces ressources. L'agent traite les demandes du service Systems Manager dans le Cloud AWS, puis les exécute comme spécifié dans la demande.
L'agent SSM est préinstallé dans certaines AMI ou vous devez l'installer manuellement sur les instances. De plus, le rôle IAM utilisé à l'intérieur de l'instance doit avoir la politique AmazonEC2RoleforSSM attachée pour pouvoir communiquer.
Énumération
Vous pouvez vérifier dans une instance EC2 si Systems Manager est en cours d'exécution en exécutant :
Privesc
Sur la page suivante, vous pouvez vérifier comment abuser des autorisations SSM pour escalader les privilèges:
pageAWS - SSM PrivescELB
Elastic Load Balancing (ELB) est un service d'équilibrage de charge pour les déploiements Amazon Web Services (AWS). ELB distribue automatiquement le trafic d'application entrant et ajuste les ressources pour répondre aux demandes de trafic.
Enumeration
Modèles de lancement & Groupes de mise à l'échelle automatique
Énumération
Nitro
AWS Nitro est une suite de technologies innovantes qui forment la plateforme sous-jacente des instances AWS EC2. Introduit par Amazon pour améliorer la sécurité, les performances et la fiabilité, Nitro exploite des composants matériels personnalisés et un hyperviseur léger. Il abstrait une grande partie de la fonctionnalité de virtualisation traditionnelle vers du matériel et des logiciels dédiés, minimisant la surface d'attaque et améliorant l'efficacité des ressources. En déchargeant les fonctions de virtualisation, Nitro permet aux instances EC2 de fournir des performances proches du bare-metal, ce qui est particulièrement bénéfique pour les applications gourmandes en ressources. De plus, la puce de sécurité Nitro garantit spécifiquement la sécurité du matériel et du micrologiciel, renforçant davantage son architecture robuste.
Obtenez plus d'informations et comment l'énumérer à partir de :
pageAWS - Nitro EnumVPN
Un VPN permet de connecter votre réseau sur site (VPN site à site) ou les ordinateurs portables des travailleurs (VPN client) avec un VPC AWS afin que les services puissent être accessibles sans avoir besoin de les exposer à Internet.
Composants de base d'un VPN AWS
Passerelle client :
Une passerelle client est une ressource que vous créez dans AWS pour représenter votre côté d'une connexion VPN.
Il s'agit essentiellement d'un périphérique physique ou d'une application logicielle de votre côté de la connexion VPN site à site.
Vous fournissez des informations de routage et l'adresse IP publique de votre périphérique réseau (tel qu'un routeur ou un pare-feu) à AWS pour créer une passerelle client.
Elle sert de point de référence pour la configuration de la connexion VPN et n'entraîne pas de frais supplémentaires.
Passerelle privée virtuelle :
Une passerelle privée virtuelle (VPG) est le concentrateur VPN du côté Amazon de la connexion VPN site à site.
Elle est attachée à votre VPC et sert de cible pour votre connexion VPN.
La VPG est le point de terminaison côté AWS pour la connexion VPN.
Elle gère la communication sécurisée entre votre VPC et votre réseau sur site.
Connexion VPN site à site :
Une connexion VPN site à site connecte votre réseau sur site à un VPC via un tunnel VPN IPsec sécurisé.
Ce type de connexion nécessite une passerelle client et une passerelle privée virtuelle.
Elle est utilisée pour une communication sécurisée, stable et cohérente entre votre centre de données ou réseau et votre environnement AWS.
Généralement utilisée pour des connexions régulières et à long terme, elle est facturée en fonction de la quantité de données transférées sur la connexion.
Point de terminaison VPN client :
Un point de terminaison VPN client est une ressource que vous créez dans AWS pour permettre et gérer des sessions VPN client.
Il est utilisé pour permettre à des appareils individuels (comme des ordinateurs portables, des smartphones, etc.) de se connecter de manière sécurisée aux ressources AWS ou à votre réseau sur site.
Il diffère du VPN site à site en ce qu'il est conçu pour des clients individuels plutôt que pour connecter des réseaux entiers.
Avec le VPN client, chaque appareil client utilise un logiciel client VPN pour établir une connexion sécurisée.
Vous pouvez trouver plus d'informations sur les avantages et les composants des VPN AWS ici.
Énumération
Énumération Locale
Credentials Temporaires Locales
Lorsque le client VPN AWS est utilisé pour se connecter à un VPN, l'utilisateur se connectera généralement à AWS pour accéder au VPN. Ensuite, des informations d'identification AWS sont créées et stockées localement pour établir la connexion VPN. Ces informations d'identification sont stockées dans $HOME/.config/AWSVPNClient/TemporaryCredentials/<region>/temporary-credentials.txt
et contiennent une Clé d'Accès (AccessKey), une Clé Secrète (SecretKey) et un Jeton (Token).
Les informations d'identification appartiennent à l'utilisateur arn:aws:sts::<acc-id>:assumed-role/aws-vpn-client-metrics-analytics-access-role/CognitoIdentityCredentials
(TODO: rechercher davantage sur les autorisations de ces informations d'identification).
Fichiers de configuration opvn
Si une connexion VPN a été établie, vous devriez rechercher des fichiers de configuration .opvn
dans le système. De plus, un endroit où vous pourriez trouver les configurations est dans $HOME/.config/AWSVPNClient/OpenVpnConfigs
Post Exploitation
pageAWS - VPN Post ExploitationRéférences
Dernière mise à jour