AWS - EC2, EBS, ELB, SSM, VPC & VPN Enum
VPC & Networking
Lerne, was ein VPC ist und über seine Komponenten in:
AWS - VPC & Networking Basic InformationEC2
Amazon EC2 wird zum Starten von virtuellen Servern verwendet. Es ermöglicht die Konfiguration von Sicherheit und Netzwerk sowie die Verwaltung von Speicher. Die Flexibilität von Amazon EC2 zeigt sich in der Fähigkeit, Ressourcen sowohl nach oben als auch nach unten zu skalieren, um sich effektiv an wechselnde Anforderungen oder Popularitätsspitzen anzupassen. Diese Funktion verringert die Notwendigkeit für präzise Verkehrsvorhersagen.
Interessante Dinge zur Aufzählung in EC2:
Virtuelle Maschinen
SSH-Schlüssel
Benutzerdaten
Bestehende EC2s/AMIs/Snapshots
Netzwerk
Netzwerke
Subnetzwerke
Öffentliche IPs
Offene Ports
Integrierte Verbindungen mit anderen Netzwerken außerhalb von AWS
Instance Profiles
Die Verwendung von Rollen zur Gewährung von Berechtigungen für Anwendungen, die auf EC2-Instanzen ausgeführt werden, erfordert eine zusätzliche Konfiguration. Eine auf einer EC2-Instanz ausgeführte Anwendung ist durch das virtualisierte Betriebssystem von AWS abstrahiert. Aufgrund dieser zusätzlichen Trennung ist ein weiterer Schritt erforderlich, um einer EC2-Instanz eine AWS-Rolle und die damit verbundenen Berechtigungen zuzuweisen und diese der Anwendung auf der Instanz verfügbar zu machen.
Dieser zusätzliche Schritt ist die Erstellung eines Instance Profiles, das der Instanz zugeordnet wird. Das Instance Profile enthält die Rolle und kann der auf der Instanz ausgeführten Anwendung die temporären Anmeldeinformationen der Rolle bereitstellen. 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. Beachte, dass nur eine Rolle einer EC2-Instanz gleichzeitig zugewiesen werden kann und alle Anwendungen auf der Instanz dieselbe Rolle und Berechtigungen teilen.
Metadata Endpoint
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 der Instanz zugeordnete IAM-Rolle und den Hostnamen der Instanz.
Enumeration
Unauthenticated Access
AWS - EC2 Unauthenticated EnumPrivesc
Auf der folgenden Seite können Sie nachlesen, wie man EC2-Berechtigungen missbraucht, um Privilegien zu eskalieren:
AWS - EC2 PrivescPost-Exploitation
AWS - EC2, EBS, SSM & VPC Post ExploitationEBS
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 einem bestimmten Zeitpunkt an eine EC2-Instanz angeschlossen sind. EBS-Snapshots können regions- und kontenübergreifend 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.
Unterschied AMI & EBS
Ein 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 ein neues AMI zu erstellen, ist es nicht dasselbe wie ein AMI und enthält keine Informationen über das Betriebssystem, den Anwendungsserver oder andere Software, die zum Ausführen einer Anwendung erforderlich sind.
Privesc
Auf der folgenden Seite können Sie nachlesen, wie man EBS-Berechtigungen missbraucht, um Privilegien zu eskalieren:
AWS - EBS PrivescSSM
Amazon Simple Systems Manager (SSM) ermöglicht die Fernverwaltung von EC2-Instanzen, um deren Verwaltung erheblich zu erleichtern. Jede dieser Instanzen muss den SSM-Agent-Dienst ausführen, da dieser die Aktionen von der AWS-API empfängt und 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 wie in der Anfrage angegeben aus.
Der SSM-Agent ist in einigen AMIs vorinstalliert oder Sie müssen ihn manuell auf den Instanzen installieren. Außerdem muss die in der Instanz verwendete IAM-Rolle die Richtlinie AmazonEC2RoleforSSM angehängt haben, um kommunizieren zu können.
Enumeration
Du kannst in einer EC2-Instanz überprüfen, ob Systems Manager läuft, indem du einfach folgendes ausführst:
Privesc
Auf der folgenden Seite können Sie nachsehen, wie man SSM-Berechtigungen missbraucht, um Privilegien zu eskalieren:
AWS - SSM PrivescELB
Elastic Load Balancing (ELB) ist ein Load-Balancing-Dienst für Amazon Web Services (AWS)-Bereitstellungen. ELB verteilt automatisch eingehenden Anwendungstraffic und skaliert Ressourcen, um den Traffic-Anforderungen gerecht zu werden.
Enumeration
Launch Templates & Autoscaling Groups
Aufzählung
Nitro
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 benutzerdefinierte Hardwarekomponenten und einen leichtgewichtigen 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 eine nahezu native Bare-Metal-Leistung, was besonders für ressourcenintensive Anwendungen von Vorteil ist. Zusätzlich stellt der Nitro Security Chip speziell die Sicherheit der Hardware und Firmware sicher und festigt so seine robuste Architektur.
Weitere Informationen und wie man es enumeriert, finden Sie hier:
AWS - Nitro EnumVPN
Ein VPN ermöglicht es, Ihr On-Premise-Netzwerk (Site-to-Site VPN) oder die Laptops der Mitarbeiter (Client VPN) mit einem AWS VPC zu verbinden, sodass Dienste zugänglich sind, ohne sie dem Internet aussetzen zu müssen.
Grundlegende AWS VPN-Komponenten
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 stellen AWS Routing-Informationen und die öffentliche IP-Adresse Ihres Netzwerkgeräts (wie ein Router oder eine Firewall) zur Verfügung, 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 Ihr VPC angehängt und dient als Ziel für Ihre VPN-Verbindung.
VPG ist der AWS-seitige Endpunkt für die VPN-Verbindung.
Es übernimmt die sichere Kommunikation zwischen Ihrem VPC und Ihrem On-Premises-Netzwerk.
Site-to-Site VPN Connection:
Eine Site-to-Site-VPN-Verbindung verbindet Ihr On-Premises-Netzwerk über einen sicheren IPsec-VPN-Tunnel mit einem VPC.
Diese Art der Verbindung erfordert ein Customer Gateway und ein Virtual Private Gateway.
Sie 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 genutzt und wird basierend auf der Menge der über die Verbindung übertragenen Daten abgerechnet.
Client VPN Endpoint:
Ein Client VPN Endpoint ist eine Ressource, die Sie in AWS erstellen, um Client-VPN-Sitzungen zu ermöglichen 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 von Site-to-Site-VPN dadurch, dass 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 über die Vorteile und Komponenten von AWS VPNs finden.
Enumeration
Lokale Aufzählung
Lokale Temporäre Anmeldeinformationen
Wenn der AWS VPN Client verwendet wird, um eine Verbindung zu einem VPN herzustellen, wird der Benutzer normalerweise in AWS einloggen, 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. Ein Ort, an dem Sie die Konfigurationen finden könnten, ist $HOME/.config/AWSVPNClient/OpenVpnConfigs
.
Post Exploitation
AWS - VPN Post ExploitationReferenzen
Last updated