GCP - Compute Enum
GCP VPC & Networking
Aprende sobre cómo funciona esto en:
GCP - VPC & NetworkingEnumeración
Encuentras fácilmente instancias de cómputo con reglas de firewall abiertas con https://gitlab.com/gitlab-com/gl-security/security-operations/gl-redteam/gcp_firewall_enum
Compute instances
Esta es la forma en que puedes ejecutar máquinas virtuales dentro de GCP. Consulta esta página para más información:
GCP - Compute InstancesEnumeration
Para obtener más información sobre cómo SSH o modificar los metadatos de una instancia para escalar privilegios, consulta esta página:
GCP - local privilege escalation ssh pivotingEscalación de Privilegios
En la siguiente página, puedes ver cómo abusar de los permisos de compute para escalar privilegios:
GCP - Compute PrivescEnumeración No Autenticada
GCP - Compute Unauthenticated EnumPost Explotación
GCP - Compute Post ExploitationPersistencia
GCP - Compute PersistenceRegistros de la Consola Serial
Los Registros de la Consola Serial de Compute Engine son una característica que te permite ver y diagnosticar los registros de arranque y del sistema operativo de tus instancias de máquinas virtuales.
Los Registros de la Consola Serial proporcionan una vista de bajo nivel del proceso de arranque de la instancia, incluyendo mensajes del kernel, scripts de inicio y otros eventos del sistema que ocurren durante el arranque. Esto puede ser útil para depurar problemas de arranque, identificar configuraciones incorrectas o errores de software, o solucionar problemas de conectividad de red.
Estos registros pueden exponer información sensible de los registros del sistema que un usuario con bajos privilegios normalmente no vería, pero con los permisos adecuados de IAM podrías leerlos.
Puedes usar el siguiente comando gcloud para consultar los registros del puerto serial (el permiso requerido es compute.instances.getSerialPortOutput
):
Startup Scripts output
Es posible ver la salida de los scripts de inicio desde la VM ejecutando:
OS Configuration Manager
Puedes usar el servicio de gestión de configuración del sistema operativo para desplegar, consultar y mantener configuraciones consistentes (estado deseado y software) para tu instancia de VM (VM). En Compute Engine, debes usar guest policies para mantener configuraciones de software consistentes en una VM.
La característica de gestión de configuración del sistema operativo te permite definir políticas de configuración que especifican qué paquetes de software deben instalarse, qué servicios deben habilitarse y qué archivos o configuraciones deben estar presentes en tus VMs. Puedes usar un enfoque declarativo para gestionar la configuración del software de tus VMs, lo que te permite automatizar y escalar tu proceso de gestión de configuración más fácilmente.
Esto también permite iniciar sesión en instancias a través de permisos de IAM, por lo que es muy útil para privesc y pivoting.
Para habilitar os-config en todo un proyecto o en una instancia solo necesitas establecer la clave de metadata enable-oslogin
a true
en el nivel deseado.
Además, puedes establecer la metadata enable-oslogin-2fa
a true
para habilitar el 2fa.
Cuando lo habilitas al crear una instancia, las claves de metadata se establecerán automáticamente.
Más sobre 2fa en OS-config, solo se aplica si el usuario es un usuario, si es un SA (como el compute SA) no requerirá nada extra.
Enumeration
Imágenes
Imágenes Personalizadas
Las imágenes personalizadas de cómputo pueden contener detalles sensibles u otras configuraciones vulnerables que puedes explotar.
Cuando se crea una imagen, puedes elegir 3 tipos de encriptación: Usando clave gestionada por Google (predeterminado), una clave de KMS, o una clave en bruto proporcionada por el cliente.
Enumeración
Puedes consultar la lista de imágenes no estándar en un proyecto con el siguiente comando:
Luego puedes exportar los discos virtuales de cualquier imagen en múltiples formatos. El siguiente comando exportaría la imagen test-image
en formato qcow2, permitiéndote descargar el archivo y construir una VM localmente para una investigación adicional:
Escalada de Privilegios
Consulta la sección de escalada de privilegios de Compute Instances.
Plantillas de Instancia Personalizadas
Una plantilla de instancia define propiedades de instancia para ayudar a desplegar configuraciones consistentes. Estas pueden contener los mismos tipos de datos sensibles que los metadatos personalizados de una instancia en ejecución. Puedes usar los siguientes comandos para investigar:
Podría ser interesante saber qué disco están usando las nuevas imágenes, pero estas plantillas usualmente no tendrán información sensible.
Snapshots
Los snapshots son copias de seguridad de discos. Ten en cuenta que esto no es lo mismo que clonar un disco (otra característica disponible). El snapshot usará el mismo cifrado que el disco del cual se tomó.
Enumeración
Escalada de Privilegios
Consulta la sección de escalada de privilegios de Compute Instances.
Referencias
Last updated