GCP - VPC & Networking
Last updated
Last updated
Lerne & übe AWS Hacking:HackTricks Training AWS Red Team Expert (ARTE) Lerne & übe GCP Hacking: HackTricks Training GCP Red Team Expert (GRTE)
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, was den AWS Sicherheitsgruppen und NACLs entspricht, aber in diesem Fall sind diese in der VPC definiert und nicht in jeder Instanz.
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 Netzebene definiert, aber auf jede VM-Instanz angewendet werden.
Eine VPC kann mehrere Subnetze haben. Jedes Subnetz befindet sich in 1 Region.
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
mit den folgenden Firewall-Regeln erstellt:
default-allow-internal: Erlaube allen Verkehr von anderen Instanzen im default
-Netzwerk
default-allow-ssh: Erlaube 22 von überall
default-allow-rdp: Erlaube 3389 von überall
default-allow-icmp: Erlaube Ping von überall
Wie du sehen kannst, 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:
Alle Instanzen innerhalb einer VPC
Leider gibt es keinen einfachen gcloud
-Befehl, um alle Compute-Instanzen mit offenen Ports im Internet auszugeben. Du musst 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 zeigt
nmap-Scan, um alle Instanzen auf Ports zu zielen, die vom öffentlichen Internet (0.0.0.0/0) erlaubt sind
masscan, um den gesamten TCP-Bereich dieser Instanzen zu zielen, die ALLE TCP-Ports vom öffentlichen Internet (0.0.0.0/0) erlauben
Hierarchische Firewall-Richtlinien ermöglichen es dir, eine konsistente Firewall-Richtlinie in deiner Organisation zu erstellen und durchzusetzen. Du kannst hierarchische Firewall-Richtlinien der gesamten Organisation oder einzelnen Ordnern zuweisen. Diese Richtlinien enthalten Regeln, die Verbindungen ausdrücklich verweigern oder erlauben können.
Du erstellst und wendest Firewall-Richtlinien in separaten Schritten an. Du kannst Firewall-Richtlinien an den Organisations- oder Ordnerknoten der Ressourcenhierarchie erstellen und anwenden. Eine Firewall-Richtlinienregel kann Verbindungen blockieren, Verbindungen erlauben oder die Bewertung der Firewall-Regel auf 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. Du kannst jedoch einschränken, welche VMs eine bestimmte Regel erhalten, indem du Zielnetzwerke oder Ziel-Dienstkonten angibst.
Hier kannst du lesen, wie man eine hierarchische Firewall-Richtlinie erstellt.
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.
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
Lerne & übe AWS Hacking:HackTricks Training AWS Red Team Expert (ARTE) Lerne & übe GCP Hacking: HackTricks Training GCP Red Team Expert (GRTE)