GCP - VPC y Redes

Tip

Aprende y practica Hacking en AWS:HackTricks Training AWS Red Team Expert (ARTE)
Aprende y practica Hacking en GCP: HackTricks Training GCP Red Team Expert (GRTE) Aprende y practica Hacking en Azure: HackTricks Training Azure Red Team Expert (AzRTE)

Apoya a HackTricks

Redes de Cómputo GCP en Resumen

VPCs contiene reglas de Firewall para permitir el tráfico entrante a la VPC. Las VPCs también contienen subredes donde las máquinas virtuales van a estar conectadas.
Comparando con AWS, el Firewall sería lo más cercano a los Grupos de Seguridad y NACLs de AWS, pero en este caso estos están definidos en la VPC y no en cada instancia.

VPC, Subredes y Firewalls en GCP

Las Instancias de Cómputo están conectadas a subredes que son parte de VPCs (Nubes Privadas Virtuales). En GCP no hay grupos de seguridad, hay firewalls de VPC con reglas definidas a este nivel de red pero aplicadas a cada Instancia de VM.

Subredes

Una VPC puede tener varias subredes. Cada subred está en 1 región.

Firewalls

Por defecto, cada red tiene dos reglas de firewall implícitas: permitir salidas y denegar entradas.

Cuando se crea un proyecto GCP, también se crea una VPC llamada default, con las siguientes reglas de firewall:

  • default-allow-internal: permite todo el tráfico de otras instancias en la red default
  • default-allow-ssh: permite 22 desde cualquier lugar
  • default-allow-rdp: permite 3389 desde cualquier lugar
  • default-allow-icmp: permite ping desde cualquier lugar

Warning

Como puedes ver, las reglas de firewall tienden a ser más permisivas para las direcciones IP internas. La VPC por defecto permite todo el tráfico entre Instancias de Cómputo.

Se pueden crear más reglas de Firewall para la VPC por defecto o para nuevas VPCs. Las reglas de Firewall se pueden aplicar a instancias a través de los siguientes métodos:

Desafortunadamente, no hay un comando simple de gcloud para listar todas las Instancias de Cómputo con puertos abiertos en internet. Tienes que conectar los puntos entre las reglas de firewall, etiquetas de red, cuentas de servicio e instancias.

Este proceso fue automatizado usando este script de python que exportará lo siguiente:

  • Archivo CSV mostrando instancia, IP pública, TCP permitido, UDP permitido
  • Escaneo nmap para apuntar a todas las instancias en puertos de entrada permitidos desde internet público (0.0.0.0/0)
  • masscan para apuntar al rango completo de TCP de aquellas instancias que permiten TODOS los puertos TCP desde internet público (0.0.0.0/0)

Políticas de Firewall Jerárquicas

Las políticas de firewall jerárquicas te permiten crear y hacer cumplir una política de firewall consistente en tu organización. Puedes asignar políticas de firewall jerárquicas a la organización en su conjunto o a carpetas individuales. Estas políticas contienen reglas que pueden denegar o permitir conexiones explícitamente.

Creas y aplicas políticas de firewall como pasos separados. Puedes crear y aplicar políticas de firewall en los nodos de organización o carpeta de la jerarquía de recursos. Una regla de política de firewall puede bloquear conexiones, permitir conexiones o diferir la evaluación de reglas de firewall a carpetas de menor nivel o reglas de firewall de VPC definidas en redes de VPC.

Por defecto, todas las reglas de políticas de firewall jerárquicas se aplican a todas las VMs en todos los proyectos bajo la organización o carpeta donde se asocia la política. Sin embargo, puedes restringir qué VMs reciben una regla dada especificando redes objetivo o cuentas de servicio objetivo.

Puedes leer aquí cómo crear una Política de Firewall Jerárquica.

Evaluación de Reglas de Firewall

  1. Org: Políticas de firewall asignadas a la Organización
  2. Carpeta: Políticas de firewall asignadas a la Carpeta
  3. VPC: Reglas de firewall asignadas a la VPC
  4. Global: Otro tipo de reglas de firewall que pueden ser asignadas a VPCs
  5. Regional: Reglas de firewall asociadas con la red VPC de la NIC de la VM y región de la VM.

Emparejamiento de Redes VPC

Permite conectar dos redes de Nube Privada Virtual (VPC) para que los recursos en cada red puedan comunicarse entre sí.
Las redes VPC emparejadas pueden estar en el mismo proyecto, en diferentes proyectos de la misma organización, o en diferentes proyectos de diferentes organizaciones.

Estos son los permisos necesarios:

  • compute.networks.addPeering
  • compute.networks.updatePeering
  • compute.networks.removePeering
  • compute.networks.listPeeringRoutes

Más en la documentación.

Referencias

Tip

Aprende y practica Hacking en AWS:HackTricks Training AWS Red Team Expert (ARTE)
Aprende y practica Hacking en GCP: HackTricks Training GCP Red Team Expert (GRTE) Aprende y practica Hacking en Azure: HackTricks Training Azure Red Team Expert (AzRTE)

Apoya a HackTricks