GCP - VPC & Networking
Вчіться та практикуйте AWS Hacking:HackTricks Training AWS Red Team Expert (ARTE)
Вчіться та практикуйте GCP Hacking:
HackTricks Training GCP Red Team Expert (GRTE)
GCP Compute Networking в двох словах
VPCs містять Firewall правила для дозволу вхідного трафіку до VPC. VPCs також містять підмережі, де віртуальні машини будуть підключені. Порівнюючи з AWS, Firewall буде найближчим до AWS Security Groups та NACLs, але в цьому випадку вони визначені у VPC, а не в кожному екземплярі.
VPC, Підмережі та Firewalls у GCP
Compute Instances підключені до підмереж, які є частиною VPCs (Virtual Private Clouds). У GCP немає security groups, є VPC firewalls з правилами, визначеними на рівні мережі, але застосованими до кожного VM Instance.
Підмережі
VPC може мати кілька підмереж. Кожна підмережа знаходиться в 1 регіоні.
Firewalls
За замовчуванням, кожна мережа має два імпліцитні правила firewall: дозволити вихідний та заборонити вхідний.
Коли створюється проект GCP, також створюється VPC під назвою default
, з наступними правилами firewall:
default-allow-internal: дозволити весь трафік від інших екземплярів у мережі
default
default-allow-ssh: дозволити 22 з будь-якого місця
default-allow-rdp: дозволити 3389 з будь-якого місця
default-allow-icmp: дозволити ping з будь-якого місця
Як ви бачите, правила firewall схильні бути більш дозволяючими для внутрішніх IP-адрес. За замовчуванням VPC дозволяє весь трафік між Compute Instances.
Більше правил Firewall можна створити для VPC за замовчуванням або для нових VPC. Правила Firewall можуть бути застосовані до екземплярів за допомогою наступних методів:
Всі екземпляри в межах VPC
На жаль, немає простого gcloud
команди, щоб вивести всі Compute Instances з відкритими портами в інтернеті. Вам потрібно з'єднати точки між правилами firewall, network tags, service accounts та екземплярами.
Цей процес був автоматизований за допомогою цього python скрипта, який експортує наступне:
CSV файл, що показує екземпляр, публічний IP, дозволені TCP, дозволені UDP
nmap сканування для всіх екземплярів на портах, дозволених для вхідного трафіку з публічного інтернету (0.0.0.0/0)
masscan для повного діапазону TCP тих екземплярів, які дозволяють ВСІ TCP порти з публічного інтернету (0.0.0.0/0)
Ієрархічні політики Firewall
Ієрархічні політики firewall дозволяють створювати та забезпечувати послідовну політику firewall у вашій організації. Ви можете призначати ієрархічні політики firewall для всієї організації або для окремих папок. Ці політики містять правила, які можуть явно забороняти або дозволяти з'єднання.
Ви створюєте та застосовуєте політики firewall як окремі кроки. Ви можете створювати та застосовувати політики firewall на рівні організації або папок у ієрархії ресурсів. Правило політики firewall може блокувати з'єднання, дозволяти з'єднання або передавати оцінку правил firewall на нижчі рівні папок або правила firewall, визначені у VPC мережах.
За замовчуванням, всі правила ієрархічної політики firewall застосовуються до всіх VM у всіх проектах під організацією або папкою, де асоційована політика. Однак, ви можете обмежити, які VM отримують певне правило, вказавши цільові мережі або цільові service accounts.
Ви можете прочитати тут, як створити ієрархічну політику Firewall.
Оцінка правил Firewall
![](https://cloud.hacktricks.xyz/~gitbook/image?url=https%3A%2F%2F211316495-files.gitbook.io%2F%7E%2Ffiles%2Fv0%2Fb%2Fgitbook-x-prod.appspot.com%2Fo%2Fspaces%252FNsmUZOichoDrDd5qb6Bb%252Fuploads%252Fgit-blob-4d17f2da42a554d00466f633ec99f64dce628555%252Fimage%2520%282%29%2520%281%29.png%3Falt%3Dmedia&width=768&dpr=4&quality=100&sign=cb84a99e&sv=1)
Org: Політики firewall, призначені для організації
Folder: Політики firewall, призначені для папки
VPC: Правила firewall, призначені для VPC
Global: Інший тип правил firewall, які можуть бути призначені для VPC
Regional: Правила firewall, асоційовані з VPC мережею NIC VM та регіоном VM.
VPC Network Peering
Дозволяє з'єднувати дві Virtual Private Cloud (VPC) мережі, щоб ресурси в кожній мережі могли спілкуватися один з одним. З'єднані VPC мережі можуть бути в одному проекті, різних проектах однієї організації або різних проектах різних організацій.
Це необхідні дозволи:
compute.networks.addPeering
compute.networks.updatePeering
compute.networks.removePeering
compute.networks.listPeeringRoutes
Посилання
Вчіться та практикуйте AWS Hacking:HackTricks Training AWS Red Team Expert (ARTE)
Вчіться та практикуйте GCP Hacking:
HackTricks Training GCP Red Team Expert (GRTE)
Last updated