GCP - VPC & Networking
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)
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 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: 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
Wie Sie sehen können, neigen 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 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 den von der öffentlichen Internet (0.0.0.0/0) erlaubten Ports anzusprechen
masscan, um den gesamten TCP-Bereich dieser Instanzen anzusprechen, die ALLE TCP-Ports vom öffentlichen Internet (0.0.0.0/0) zulassen
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 Firewall-Richtlinienregel kann Verbindungen blockieren, Verbindungen zulassen 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. 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.
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 verknüpft 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
Lernen & üben Sie AWS Hacking:HackTricks Training AWS Red Team Expert (ARTE) Lernen & üben Sie GCP Hacking: HackTricks Training GCP Red Team Expert (GRTE)