GCP - VPC & Networking
Tip
Ucz się & ćwicz AWS Hacking:
HackTricks Training AWS Red Team Expert (ARTE)
Ucz się & ćwicz GCP Hacking:HackTricks Training GCP Red Team Expert (GRTE)
Ucz się & ćwicz Az Hacking:HackTricks Training Azure Red Team Expert (AzRTE)
Wspieraj HackTricks
- Sprawdź subscription plans!
- Dołącz do 💬 Discord group lub telegram group lub śledź nas na Twitterze 🐦 @hacktricks_live.
- Podziel się hacking tricks, zgłaszając PRy do HackTricks i HackTricks Cloud github repos.
GCP Compute Networking in a Nutshell
VPCs zawierają reguły zapory umożliwiające ruch przychodzący do VPC. VPCs zawierają również podsieci, w których będą połączone maszyny wirtualne.
W porównaniu do AWS, zapora byłaby najbliższym odpowiednikiem AWS Security Groups i NACLs, ale w tym przypadku są one definiowane w VPC a nie w każdej instancji.
VPC, Podsieci i Zapory w GCP
Instancje obliczeniowe są połączone z podsieciami, które są częścią VPC (Virtual Private Clouds). W GCP nie ma grup zabezpieczeń, są zapory VPC z regułami zdefiniowanymi na poziomie sieci, ale stosowanymi do każdej instancji VM.
Podsieci
VPC może mieć kilka podsieci. Każda podsieć znajduje się w 1 regionie.
Zapory
Domyślnie każda sieć ma dwie domyślne reguły zapory: zezwól na ruch wychodzący i zabroń ruchu przychodzącego.
Gdy projekt GCP jest tworzony, tworzona jest również VPC o nazwie default, z następującymi regułami zapory:
- default-allow-internal: zezwól na cały ruch z innych instancji w sieci
default - default-allow-ssh: zezwól na 22 z wszędzie
- default-allow-rdp: zezwól na 3389 z wszędzie
- default-allow-icmp: zezwól na ping z wszędzie
Warning
Jak widać, reguły zapory mają tendencję do bycia bardziej liberalnymi dla adresów IP wewnętrznych. Domyślna VPC zezwala na cały ruch między instancjami obliczeniowymi.
Można utworzyć więcej reguł zapory dla domyślnej VPC lub dla nowych VPC. Reguły zapory mogą być stosowane do instancji za pomocą następujących metod:
- Tagi sieciowe
- Konta usług
- Wszystkie instancje w VPC
Niestety, nie ma prostego polecenia gcloud, które wyświetliłoby wszystkie instancje obliczeniowe z otwartymi portami w internecie. Musisz połączyć kropki między regułami zapory, tagami sieciowymi, kontami usług i instancjami.
Proces ten został zautomatyzowany za pomocą tego skryptu python, który wyeksportuje następujące:
- Plik CSV pokazujący instancję, publiczny IP, dozwolony TCP, dozwolony UDP
- Skanowanie nmap w celu zaatakowania wszystkich instancji na portach dozwolonych z publicznego internetu (0.0.0.0/0)
- masscan w celu zaatakowania pełnego zakresu TCP tych instancji, które zezwalają na WSZYSTKIE porty TCP z publicznego internetu (0.0.0.0/0)
Hierarchical Firewall Policies
Polityki zapory hierarchicznej pozwalają na tworzenie i egzekwowanie spójnej polityki zapory w całej organizacji. Możesz przypisać polityki zapory hierarchicznej do organizacji jako całości lub do poszczególnych folderów. Polityki te zawierają reguły, które mogą wyraźnie zabraniać lub zezwalać na połączenia.
Tworzysz i stosujesz polityki zapory jako oddzielne kroki. Możesz tworzyć i stosować polityki zapory na węzłach organizacji lub folderów w hierarchii zasobów. Reguła polityki zapory może blokować połączenia, zezwalać na połączenia lub odkładać ocenę reguły zapory do folderów niższego poziomu lub reguł zapory VPC zdefiniowanych w sieciach VPC.
Domyślnie wszystkie reguły polityki zapory hierarchicznej mają zastosowanie do wszystkich VM w wszystkich projektach pod organizacją lub folderem, do którego przypisana jest polityka. Możesz jednak ograniczyć, które VM otrzymują daną regułę, określając docelowe sieci lub docelowe konta usług.
Możesz przeczytać tutaj, jak utworzyć politykę zapory hierarchicznej.
Ocena reguł zapory
 (1) (1).png)
- Org: Polityki zapory przypisane do organizacji
- Folder: Polityki zapory przypisane do folderu
- VPC: Reguły zapory przypisane do VPC
- Global: Inny typ reguł zapory, które mogą być przypisane do VPC
- Regional: Reguły zapory związane z siecią VPC NIC VM i regionem VM.
VPC Network Peering
Pozwala na połączenie dwóch sieci Virtual Private Cloud (VPC), aby zasoby w każdej sieci mogły się komunikować.
Połączone sieci VPC mogą znajdować się w tym samym projekcie, różnych projektach tej samej organizacji lub różnych projektach różnych organizacji.
Oto potrzebne uprawnienia:
compute.networks.addPeeringcompute.networks.updatePeeringcompute.networks.removePeeringcompute.networks.listPeeringRoutes
References
- 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
Ucz się & ćwicz AWS Hacking:
HackTricks Training AWS Red Team Expert (ARTE)
Ucz się & ćwicz GCP Hacking:HackTricks Training GCP Red Team Expert (GRTE)
Ucz się & ćwicz Az Hacking:HackTricks Training Azure Red Team Expert (AzRTE)
Wspieraj HackTricks
- Sprawdź subscription plans!
- Dołącz do 💬 Discord group lub telegram group lub śledź nas na Twitterze 🐦 @hacktricks_live.
- Podziel się hacking tricks, zgłaszając PRy do HackTricks i HackTricks Cloud github repos.
HackTricks Cloud

