AWS - EC2, EBS, ELB, SSM, VPC & VPN Enum
VPC & Networking
Erfahren Sie, was ein VPC ist und über seine Komponenten in:
pageAWS - VPC & Networking Basic InformationEC2
Amazon EC2 wird für die Initiierung von virtuellen Servern genutzt. Es ermöglicht die Konfiguration von Sicherheit und Netzwerken sowie das Management von Speicher. Die Flexibilität von Amazon EC2 zeigt sich in seiner Fähigkeit, Ressourcen sowohl nach oben als auch nach unten zu skalieren, um sich effektiv an sich ändernde Anforderungen oder Popularitätsschübe anzupassen. Diese Funktion verringert die Notwendigkeit genauer Verkehrsprognosen.
Interessante Dinge zur Aufzählung in EC2:
Virtuelle Maschinen
SSH-Schlüssel
Benutzerdaten
Vorhandene EC2s/AMIs/Snapshots
Netzwerke
Subnetze
Öffentliche IPs
Offene Ports
Integrierte Verbindungen mit anderen Netzwerken außerhalb von AWS
Instanzprofile
Die Verwendung von Rollen, um Berechtigungen für Anwendungen zu erteilen, die auf EC2-Instanzen ausgeführt werden, erfordert eine zusätzliche Konfiguration. Eine Anwendung, die auf einer EC2-Instanz läuft, ist durch das virtualisierte Betriebssystem von AWS abstrahiert. Aufgrund dieser zusätzlichen Trennung ist ein zusätzlicher Schritt erforderlich, um einer EC2-Instanz eine AWS-Rolle und die zugehörigen Berechtigungen zuzuweisen und sie für ihre Anwendungen verfügbar zu machen.
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 an eine Anwendung bereitstellen, die auf der Instanz läuft. 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 einer EC2-Instanz zugewiesen werden kann und alle Anwendungen auf der Instanz dieselbe Rolle und Berechtigungen teilen.
Metadaten-Endpunkt
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 mit der Instanz verknüpfte IAM-Rolle und den Hostnamen der Instanz.
Aufzählung
Nicht authentifizierter Zugriff
pageAWS - EC2 Unauthenticated EnumPrivilege Escalation
Auf der folgenden Seite können Sie nachsehen, wie Sie EC2-Berechtigungen missbrauchen, um Privilegien zu eskalieren:
pageAWS - EC2 PrivescNach der Ausnutzung
pageAWS - EC2, EBS, SSM & VPC Post ExploitationEBS
Amazon EBS (Elastic Block Store) Snapshots sind im Grunde statische Backups von AWS EBS-Volumes. Mit anderen Worten sind sie Kopien der Festplatten, die an eine EC2-Instanz zu einem bestimmten Zeitpunkt angehängt 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.
Unterschied zwischen 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 zur Ausführung einer Anwendung erforderlich sind.
Privilege Escalation
Auf der folgenden Seite können Sie nachsehen, wie Sie EBS-Berechtigungen missbrauchen, um Privilegien zu eskalieren:
pageAWS - EBS PrivescSSM
Amazon Simple Systems Manager (SSM) ermöglicht es, Flotten von EC2-Instanzen remote zu verwalten, um ihre Administration wesentlich zu vereinfachen. Jede dieser Instanzen muss den SSM-Agentendienst ausführen, da dieser die Aktionen empfängt und gemäß den Anforderungen von der AWS-API ausführt.
Der SSM-Agent ermöglicht es Systems Manager, diese Ressourcen zu aktualisieren, zu verwalten und zu konfigurieren. Der Agent verarbeitet Anfragen des Systems Manager-Dienstes in der AWS-Cloud und führt sie dann gemäß der Anforderung aus.
Der SSM-Agent ist vorinstalliert in einigen AMIs oder Sie müssen sie manuell installieren auf den Instanzen. Außerdem muss die im Inneren der Instanz verwendete IAM-Rolle die Richtlinie AmazonEC2RoleforSSM angehängt haben, um kommunizieren zu können.
Enumeration
Sie können überprüfen, ob Systems Manager in einer EC2-Instanz ausgeführt wird, indem Sie einfach ausführen:
Privilege Escalation
Auf der folgenden Seite können Sie überprüfen, wie Sie SSM-Berechtigungen missbrauchen, um Privilegien zu eskalieren:
pageAWS - SSM PrivescELB
Elastic Load Balancing (ELB) ist ein Lastenausgleichsdienst für Amazon Web Services (AWS)-Bereitstellungen. ELB verteilt automatisch eingehenden Anwendungsverkehr und skaliert Ressourcen, um den Verkehrsbedarf zu decken.
Enumeration
Startvorlagen & Autoscaling-Gruppen
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 die Sicherheit, Leistung und Zuverlässigkeit zu verbessern, nutzt Nitro benutzerdefinierte Hardwarekomponenten und einen schlanken Hypervisor. Es abstrahiert einen Großteil der traditionellen Virtualisierungsfunktionen auf dedizierte Hardware und Software, minimiert die Angriffsfläche und verbessert die Ressourceneffizienz. Durch die Auslagerung von Virtualisierungsfunktionen ermöglicht Nitro EC2-Instanzen eine nahezu bare-metal Leistung, was insbesondere für ressourcenintensive Anwendungen von Vorteil ist. Darüber hinaus gewährleistet der Nitro Security Chip speziell die Sicherheit der Hardware und Firmware, was die robuste Architektur weiter festigt.
Erhalten Sie weitere Informationen und wie Sie diese auszählen können von:
pageAWS - Nitro EnumVPN
Ein VPN ermöglicht die Verbindung Ihres lokalen Netzwerks (Standort-zu-Standort VPN) oder der Mitarbeiterlaptops (Client VPN) mit einem AWS VPC, sodass Dienste zugegriffen werden können, ohne sie dem Internet aussetzen zu müssen.
Grundlegende AWS VPN-Komponenten
Kundengateway:
Ein Kundengateway ist eine Ressource, die Sie in AWS erstellen, um Ihre Seite einer VPN-Verbindung darzustellen.
Es handelt sich im Wesentlichen um ein physisches Gerät oder eine Softwareanwendung auf Ihrer Seite der Standort-zu-Standort-VPN-Verbindung.
Sie geben Routing-Informationen und die öffentliche IP-Adresse Ihres Netzwerkgeräts (wie z. B. ein Router oder eine Firewall) an AWS weiter, um ein Kundengateway zu erstellen.
Es dient als Referenzpunkt für die Einrichtung der VPN-Verbindung und verursacht keine zusätzlichen Kosten.
Virtuelles privates Gateway:
Ein Virtuelles privates Gateway (VPG) ist der VPN-Konzentrator auf der Amazon-Seite der Standort-zu-Standort-VPN-Verbindung.
Es ist mit Ihrem VPC verbunden und dient als Ziel für Ihre VPN-Verbindung.
VPG ist der AWS-seitige Endpunkt für die VPN-Verbindung.
Es handhabt die sichere Kommunikation zwischen Ihrem VPC und Ihrem lokalen Netzwerk.
Standort-zu-Standort-VPN-Verbindung:
Eine Standort-zu-Standort-VPN-Verbindung verbindet Ihr lokales Netzwerk mit einem VPC über einen sicheren, IPsec-VPN-Tunnel.
Diese Art der Verbindung erfordert ein Kundengateway und ein Virtuelles privates Gateway.
Es wird für eine sichere, stabile und konsistente Kommunikation zwischen Ihrem Rechenzentrum oder Netzwerk und Ihrer AWS-Umgebung verwendet.
Typischerweise für regelmäßige, langfristige Verbindungen verwendet und wird basierend auf der über die Verbindung übertragenen Datenmenge 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.) die sichere Verbindung mit AWS-Ressourcen oder Ihrem lokalen Netzwerk zu ermöglichen.
Es unterscheidet sich vom Standort-zu-Standort-VPN darin, dass es für einzelne Clients konzipiert ist, anstatt ganze Netzwerke zu verbinden.
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 Enumeration
Lokale temporäre Anmeldeinformationen
Wenn der AWS VPN-Client verwendet wird, um eine VPN-Verbindung herzustellen, wird der Benutzer normalerweise bei AWS angemeldet, um Zugriff auf das VPN zu erhalten. Anschließend werden einige AWS-Anmeldeinformationen erstellt und lokal gespeichert, um die VPN-Verbindung herzustellen. Diese Anmeldeinformationen werden unter $HOME/.config/AWSVPNClient/TemporaryCredentials/<region>/temporary-credentials.txt
gespeichert und enthalten einen AccessKey, einen SecretKey und ein Token.
Die Anmeldeinformationen gehören dem Benutzer arn:aws:sts::<acc-id>:assumed-role/aws-vpn-client-metrics-analytics-access-role/CognitoIdentityCredentials
(TODO: weitere Recherche zu den Berechtigungen dieser Anmeldeinformationen).
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 in $HOME/.config/AWSVPNClient/OpenVpnConfigs
Nach der Ausnutzung
pageAWS - VPN Post ExploitationReferenzen
Last updated