GCP - VPC & Networking
Reading time: 5 minutes
tip
Lernen & üben Sie AWS Hacking:HackTricks Training AWS Red Team Expert (ARTE)
Lernen & üben Sie GCP Hacking: HackTricks Training GCP Red Team Expert (GRTE)
Lernen & üben Sie Azure Hacking:
HackTricks Training Azure Red Team Expert (AzRTE)
Unterstützen Sie HackTricks
- Überprüfen Sie die Abonnementpläne!
- Treten Sie der 💬 Discord-Gruppe oder der Telegram-Gruppe bei oder folgen Sie uns auf Twitter 🐦 @hacktricks_live.
- Teilen Sie Hacking-Tricks, indem Sie PRs an die HackTricks und HackTricks Cloud GitHub-Repos senden.
GCP Compute Networking in a Nutshell
VPCs enthalten Firewall-Regeln, um eingehenden Verkehr zur VPC zuzulassen. VPCs enthalten auch Subnetze, in denen virtuelle Maschinen verbunden werden.
Im Vergleich zu AWS wäre die Firewall das nächste Äquivalent zu AWS Sicherheitsgruppen und NACLs, aber in diesem Fall sind diese in der VPC definiert und nicht in jeder Instanz.
VPC, Subnetze & Firewalls in GCP
Compute-Instanzen sind mit Subnetzen verbunden, die Teil von VPCs sind (Virtual Private Clouds). In GCP gibt es keine Sicherheitsgruppen, es gibt VPC-Firewalls mit Regeln, die auf dieser Netzwerktebene definiert, aber auf jede VM-Instanz angewendet werden.
Subnetze
Eine VPC kann mehrere Subnetze haben. Jedes Subnetz befindet sich in 1 Region.
Firewalls
Standardmäßig hat jedes Netzwerk zwei implizierte Firewall-Regeln: ausgehenden Verkehr zulassen und eingehenden Verkehr verweigern.
Wenn ein GCP-Projekt erstellt wird, wird auch eine VPC namens default
erstellt, mit den folgenden Firewall-Regeln:
- default-allow-internal: erlaubt allen Verkehr von anderen Instanzen im
default
-Netzwerk - default-allow-ssh: erlaubt 22 von überall
- default-allow-rdp: erlaubt 3389 von überall
- default-allow-icmp: erlaubt Ping von überall
warning
Wie Sie sehen können, tendieren Firewall-Regeln dazu, permissiver für interne IP-Adressen zu sein. Die Standard-VPC erlaubt allen Verkehr zwischen Compute-Instanzen.
Weitere Firewall-Regeln können für die Standard-VPC oder für neue VPCs erstellt werden. Firewall-Regeln können über die folgenden Methoden auf Instanzen angewendet werden:
- Netzwerk-Tags
- Dienstkonten
- Alle Instanzen innerhalb einer VPC
Leider gibt es keinen einfachen gcloud
-Befehl, um alle Compute-Instanzen mit offenen Ports im Internet anzuzeigen. Sie müssen die Verbindungen zwischen Firewall-Regeln, Netzwerk-Tags, Dienstkonten und Instanzen herstellen.
Dieser Prozess wurde mit diesem Python-Skript automatisiert, das Folgendes exportiert:
- CSV-Datei, die Instanz, öffentliche IP, erlaubtes TCP, erlaubtes UDP anzeigt
- nmap-Scan, um alle Instanzen auf Ports zu scannen, die vom öffentlichen Internet (0.0.0.0/0) eingehend erlaubt sind
- masscan, um den gesamten TCP-Bereich dieser Instanzen zu scannen, die ALLE TCP-Ports vom öffentlichen Internet (0.0.0.0/0) erlauben
Hierarchische Firewall-Richtlinien
Hierarchische Firewall-Richtlinien ermöglichen es Ihnen, eine konsistente Firewall-Richtlinie in Ihrer Organisation zu erstellen und durchzusetzen. Sie können hierarchische Firewall-Richtlinien der gesamten Organisation oder einzelnen Ordnern zuweisen. Diese Richtlinien enthalten Regeln, die Verbindungen ausdrücklich verweigern oder zulassen können.
Sie erstellen und wenden Firewall-Richtlinien in separaten Schritten an. Sie können Firewall-Richtlinien an den Organisations- oder Ordnerknoten der Ressourcenhierarchie erstellen und anwenden. Eine Regel der Firewall-Richtlinie kann Verbindungen blockieren, Verbindungen zulassen oder die Bewertung der Firewall-Regel an niedrigere Ordner oder VPC-Firewall-Regeln, die in VPC-Netzwerken definiert sind, verschieben.
Standardmäßig gelten alle Regeln der hierarchischen Firewall-Richtlinie für alle VMs in allen Projekten unter der Organisation oder dem Ordner, mit dem die Richtlinie verknüpft ist. Sie können jedoch einschränken, welche VMs eine bestimmte Regel erhalten, indem Sie Zielnetzwerke oder Ziel-Dienstkonten angeben.
Hier können Sie lesen, wie Sie eine hierarchische Firewall-Richtlinie erstellen.
Bewertung der Firewall-Regeln
 (1) (1).png)
- Org: Firewall-Richtlinien, die der Organisation zugewiesen sind
- Ordner: Firewall-Richtlinien, die dem Ordner zugewiesen sind
- VPC: Firewall-Regeln, die der VPC zugewiesen sind
- Global: Eine andere Art von Firewall-Regeln, die VPCs zugewiesen werden können
- Regional: Firewall-Regeln, die mit dem VPC-Netzwerk der VM's NIC und der Region der VM verbunden sind.
VPC-Netzwerk-Peering
Ermöglicht die Verbindung von zwei Virtual Private Cloud (VPC)-Netzwerken, sodass Ressourcen in jedem Netzwerk miteinander kommunizieren können.
Peered VPC-Netzwerke können im selben Projekt, in verschiedenen Projekten derselben Organisation oder in verschiedenen Projekten verschiedener Organisationen sein.
Dies sind die benötigten Berechtigungen:
compute.networks.addPeering
compute.networks.updatePeering
compute.networks.removePeering
compute.networks.listPeeringRoutes
Referenzen
- https://about.gitlab.com/blog/2020/02/12/plundering-gcp-escalating-privileges-in-google-cloud-platform/
- https://cloud.google.com/vpc/docs/firewall-policies-overview#rule-evaluation
tip
Lernen & üben Sie AWS Hacking:HackTricks Training AWS Red Team Expert (ARTE)
Lernen & üben Sie GCP Hacking: HackTricks Training GCP Red Team Expert (GRTE)
Lernen & üben Sie Azure Hacking:
HackTricks Training Azure Red Team Expert (AzRTE)
Unterstützen Sie HackTricks
- Überprüfen Sie die Abonnementpläne!
- Treten Sie der 💬 Discord-Gruppe oder der Telegram-Gruppe bei oder folgen Sie uns auf Twitter 🐦 @hacktricks_live.
- Teilen Sie Hacking-Tricks, indem Sie PRs an die HackTricks und HackTricks Cloud GitHub-Repos senden.