AWS - EC2, EBS, ELB, SSM, VPC & VPN Enum
Last updated
Last updated
Lernen & üben Sie AWS Hacking:HackTricks Training AWS Red Team Expert (ARTE) Lernen & üben Sie GCP Hacking: HackTricks Training GCP Red Team Expert (GRTE)
Erfahren Sie, was eine VPC ist und über ihre Komponenten in:
Amazon EC2 wird verwendet, um virtuelle Server zu starten. Es ermöglicht die Konfiguration von Sicherheit und Netzwerk sowie die Verwaltung von Speicher. Die Flexibilität von Amazon EC2 zeigt sich in seiner Fähigkeit, Ressourcen sowohl nach oben als auch nach unten zu skalieren, wodurch es sich effektiv an wechselnde Anforderungen oder Anstiege in der Beliebtheit anpassen kann. Diese Funktion verringert die Notwendigkeit für präzise Verkehrsvorhersagen.
Interessante Dinge, die in EC2 aufgezählt werden können:
Virtuelle Maschinen
SSH-Schlüssel
Benutzerdaten
Vorhandene EC2s/AMIs/Snapshots
Netzwerk
Netzwerke
Subnetzwerke
Öffentliche IPs
Offene Ports
Integrierte Verbindungen zu anderen Netzwerken außerhalb von AWS
Die Verwendung von Rollen, um Anwendungen, die auf EC2-Instanzen ausgeführt werden, Berechtigungen zu gewähren, erfordert eine zusätzliche Konfiguration. Eine Anwendung, die auf einer EC2-Instanz ausgeführt wird, ist durch das virtualisierte Betriebssystem von AWS abstrahiert. Aufgrund dieser zusätzlichen Trennung benötigen Sie einen zusätzlichen Schritt, um eine AWS-Rolle und die zugehörigen Berechtigungen einer EC2-Instanz zuzuweisen und sie ihren Anwendungen zur Verfügung zu stellen.
Dieser zusätzliche Schritt ist die Erstellung eines Instanzprofils, das an die Instanz angehängt ist. Das Instanzprofil enthält die Rolle und kann die temporären Anmeldeinformationen der Rolle einer Anwendung, die auf der Instanz ausgeführt wird, zur Verfügung stellen. Diese temporären Anmeldeinformationen können dann in den API-Aufrufen der Anwendung verwendet werden, um auf Ressourcen zuzugreifen und den Zugriff nur auf die Ressourcen zu beschränken, die die Rolle angibt. Beachten Sie, dass nur eine Rolle gleichzeitig einer EC2-Instanz zugewiesen werden kann, und alle Anwendungen auf der Instanz teilen sich dieselbe Rolle und Berechtigungen.
AWS EC2-Metadaten sind Informationen über eine Amazon Elastic Compute Cloud (EC2)-Instanz, die der Instanz zur Laufzeit zur Verfügung stehen. Diese Metadaten werden verwendet, um Informationen über die Instanz bereitzustellen, wie z. B. ihre Instanz-ID, die Verfügbarkeitszone, in der sie ausgeführt wird, die IAM-Rolle, die mit der Instanz verbunden ist, und den Hostnamen der Instanz.
Auf der folgenden Seite können Sie überprüfen, wie Sie EC2-Berechtigungen missbrauchen können, um Privilegien zu eskalieren:
Amazon EBS (Elastic Block Store) Snapshots sind im Grunde statische Backups von AWS EBS-Volumes. Mit anderen Worten, sie sind Kopien der Festplatten, die zu einer EC2-Instanz zu einem bestimmten Zeitpunkt verbunden sind. EBS-Snapshots können über Regionen und Konten hinweg kopiert oder sogar heruntergeladen und lokal ausgeführt werden.
Snapshots können sensible Informationen wie Quellcode oder API-Schlüssel enthalten, daher wird empfohlen, sie zu überprüfen, wenn Sie die Möglichkeit dazu haben.
Eine AMI wird verwendet, um eine EC2-Instanz zu starten, während ein EC2 Snapshot verwendet wird, um Daten, die auf einem EBS-Volume gespeichert sind, zu sichern und wiederherzustellen. Während ein EC2-Snapshot verwendet werden kann, um eine neue AMI zu erstellen, ist es nicht dasselbe wie eine AMI, und es enthält keine Informationen über das Betriebssystem, den Anwendungsserver oder andere Software, die zum Ausführen einer Anwendung erforderlich sind.
Auf der folgenden Seite können Sie überprüfen, wie Sie EBS-Berechtigungen missbrauchen können, um Privilegien zu eskalieren:
Amazon Simple Systems Manager (SSM) ermöglicht die remote Verwaltung von EC2-Instanzen, um deren Verwaltung erheblich zu erleichtern. Jede dieser Instanzen muss den SSM-Agent-Dienst ausführen, da dieser die Aktionen erhält und sie über die AWS-API ausführt.
Der SSM-Agent ermöglicht es dem Systems Manager, diese Ressourcen zu aktualisieren, zu verwalten und zu konfigurieren. Der Agent verarbeitet Anfragen vom Systems Manager-Dienst in der AWS-Cloud und führt sie dann gemäß der Anfrage aus.
Der SSM-Agent kommt vorinstalliert in einigen AMIs oder Sie müssen ihn manuell installieren auf den Instanzen. Außerdem muss die IAM-Rolle, die innerhalb der Instanz verwendet wird, die Richtlinie AmazonEC2RoleforSSM angehängt haben, um kommunizieren zu können.
Sie können in einer EC2-Instanz überprüfen, ob Systems Manager ausgeführt wird, indem Sie einfach Folgendes ausführen:
In der folgenden Seite können Sie überprüfen, wie man SSM-Berechtigungen missbraucht, um Privilegien zu eskalieren:
Elastic Load Balancing (ELB) ist ein Lastenausgleichsdienst für Amazon Web Services (AWS) Bereitstellungen. ELB verteilt automatisch eingehenden Anwendungsverkehr und skaliert Ressourcen, um den Verkehrsanforderungen gerecht zu werden.
AWS Nitro ist eine Suite von innovativen Technologien, die die zugrunde liegende Plattform für AWS EC2-Instanzen bilden. Von Amazon eingeführt, um Sicherheit, Leistung und Zuverlässigkeit zu verbessern, nutzt Nitro maßgeschneiderte Hardwarekomponenten und einen leichten Hypervisor. Es abstrahiert einen Großteil der traditionellen Virtualisierungsfunktionen auf dedizierte Hardware und Software, minimiert die Angriffsfläche und verbessert die Ressourceneffizienz. Durch das Auslagern von Virtualisierungsfunktionen ermöglicht Nitro EC2-Instanzen, nahezu Bare-Metal-Leistung zu liefern, was es besonders vorteilhaft für ressourcenintensive Anwendungen macht. Darüber hinaus gewährleistet der Nitro Security Chip speziell die Sicherheit der Hardware und Firmware und festigt somit seine robuste Architektur.
Erhalten Sie weitere Informationen und wie Sie es enumerieren können von:
Ein VPN ermöglicht die Verbindung Ihres On-Premise-Netzwerks (Site-to-Site VPN) oder der Mitarbeiter-Laptops (Client VPN) mit einer AWS VPC, sodass Dienste ohne Exposition gegenüber dem Internet genutzt werden können.
Customer Gateway:
Ein Customer Gateway ist eine Ressource, die Sie in AWS erstellen, um Ihre Seite einer VPN-Verbindung darzustellen.
Es ist im Wesentlichen ein physisches Gerät oder eine Softwareanwendung auf Ihrer Seite der Site-to-Site VPN-Verbindung.
Sie geben Routing-Informationen und die öffentliche IP-Adresse Ihres Netzwerkgeräts (wie einen Router oder eine Firewall) an AWS weiter, um ein Customer Gateway zu erstellen.
Es dient als Referenzpunkt für die Einrichtung der VPN-Verbindung und verursacht keine zusätzlichen Kosten.
Virtual Private Gateway:
Ein Virtual Private Gateway (VPG) ist der VPN-Konzentrator auf der Amazon-Seite der Site-to-Site VPN-Verbindung.
Es ist an Ihre VPC angehängt und dient als Ziel für Ihre VPN-Verbindung.
VPG ist der AWS-Seitenendpunkt für die VPN-Verbindung.
Es verwaltet die sichere Kommunikation zwischen Ihrer VPC und Ihrem On-Premises-Netzwerk.
Site-to-Site VPN-Verbindung:
Eine Site-to-Site VPN-Verbindung verbindet Ihr On-Premises-Netzwerk über einen sicheren IPsec VPN-Tunnel mit einer VPC.
Diese Art von Verbindung erfordert ein Customer Gateway und ein Virtual Private Gateway.
Es wird für sichere, stabile und konsistente Kommunikation zwischen Ihrem Rechenzentrum oder Netzwerk und Ihrer AWS-Umgebung verwendet.
Typischerweise für regelmäßige, langfristige Verbindungen verwendet und basierend auf der Menge der über die Verbindung übertragenen Daten abgerechnet.
Client VPN-Endpunkt:
Ein Client VPN-Endpunkt ist eine Ressource, die Sie in AWS erstellen, um Client-VPN-Sitzungen zu aktivieren und zu verwalten.
Es wird verwendet, um einzelnen Geräten (wie Laptops, Smartphones usw.) eine sichere Verbindung zu AWS-Ressourcen oder Ihrem On-Premises-Netzwerk zu ermöglichen.
Es unterscheidet sich vom Site-to-Site VPN, da es für einzelne Clients und nicht für die Verbindung ganzer Netzwerke konzipiert ist.
Mit Client VPN verwendet jedes Client-Gerät eine VPN-Client-Software, um eine sichere Verbindung herzustellen.
Sie können hier weitere Informationen zu den Vorteilen und Komponenten von AWS VPNs finden.
Lokale temporäre Anmeldeinformationen
Wenn der AWS VPN-Client verwendet wird, um eine VPN-Verbindung herzustellen, meldet sich der Benutzer normalerweise bei AWS an, um Zugriff auf das VPN zu erhalten. Dann werden einige AWS-Anmeldeinformationen erstellt und lokal gespeichert, um die VPN-Verbindung herzustellen. Diese Anmeldeinformationen werden gespeichert in $HOME/.config/AWSVPNClient/TemporaryCredentials/<region>/temporary-credentials.txt
und enthalten einen AccessKey, einen SecretKey und ein Token.
Die Anmeldeinformationen gehören zum Benutzer arn:aws:sts::<acc-id>:assumed-role/aws-vpn-client-metrics-analytics-access-role/CognitoIdentityCredentials
(TODO: mehr über die Berechtigungen dieser Anmeldeinformationen recherchieren).
opvn-Konfigurationsdateien
Wenn eine VPN-Verbindung hergestellt wurde, sollten Sie nach .opvn
-Konfigurationsdateien im System suchen. Darüber hinaus ist ein Ort, an dem Sie die Konfigurationen finden könnten, in $HOME/.config/AWSVPNClient/OpenVpnConfigs
Lernen & Üben von AWS Hacking:HackTricks Training AWS Red Team Expert (ARTE) Lernen & Üben von GCP Hacking: HackTricks Training GCP Red Team Expert (GRTE)