GCP - Compute Enum
GCP VPC i Sieciowanie
Dowiedz się, jak to działa w:
pageGCP - VPC & NetworkingWyszukiwanie
Łatwo znajdziesz instancje obliczeniowe z otwartymi regułami zapory sieciowej za pomocą https://gitlab.com/gitlab-com/gl-security/security-operations/gl-redteam/gcp_firewall_enum
Instancje obliczeniowe
To jest sposób, w jaki uruchamiasz maszyny wirtualne w GCP. Sprawdź tę stronę, aby uzyskać więcej informacji:
pageGCP - Compute InstancesEnumeracja
Eskalacja uprawnień
Na następnej stronie możesz sprawdzić, jak nadużyć uprawnień obliczeniowych w celu eskalacji uprawnień:
pageGCP - Compute PrivescNieuwierzytelniona Enumeracja
pageGCP - Compute Unauthenticated EnumPo Wykorzystaniu
pageGCP - Compute Post ExploitationTrwałość
pageGCP - Compute PersistenceDzienniki konsoli szeregowej
Dzienniki konsoli szeregowej Compute Engine to funkcja, która pozwala wyświetlać i diagnozować dzienniki uruchamiania i systemu operacyjnego twoich instancji maszyn wirtualnych.
Dzienniki konsoli szeregowej zapewniają niskopoziomowy widok procesu uruchamiania instancji, w tym komunikaty jądra, skrypty init oraz inne zdarzenia systemowe, które występują podczas uruchamiania. Może to być przydatne do debugowania problemów z uruchamianiem, identyfikowania błędów konfiguracji lub oprogramowania, a także rozwiązywania problemów z łącznością sieciową.
Te dzienniki mogą ujawnić poufne informacje z dzienników systemowych, których zwykle nie widzi nisko uprzywilejowany użytkownik, ale przy odpowiednich uprawnieniach IAM możesz je odczytać.
Możesz użyć następującej komendy gcloud do zapytania o dzienniki portu szeregowego (wymagane uprawnienie to compute.instances.getSerialPortOutput
):
Menedżer konfiguracji systemu operacyjnego
Możesz użyć usługi zarządzania konfiguracją systemu operacyjnego do wdrażania, zapytywania i utrzymywania spójnych konfiguracji (stanu docelowego i oprogramowania) dla twojej instancji maszyny wirtualnej (VM). W Compute Engine musisz użyć polityk gościnnych do utrzymywania spójnych konfiguracji oprogramowania na VM.
Funkcja zarządzania konfiguracją systemu operacyjnego pozwala zdefiniować polityki konfiguracji, które określają, które pakiety oprogramowania powinny być zainstalowane, które usługi powinny być włączone, oraz które pliki lub konfiguracje powinny być obecne na twoich VM. Możesz użyć deklaratywnego podejścia do zarządzania konfiguracją oprogramowania twoich VM, co pozwala na łatwiejsze automatyzowanie i skalowanie procesu zarządzania konfiguracją.
To również pozwala na logowanie się do instancji za pomocą uprawnień IAM, co jest bardzo przydatne do eskalacji uprawnień i przekierowywania.
Aby włączyć os-config w całym projekcie lub na instancji, wystarczy ustawić klucz enable-oslogin
metadanych na poziomie docelowym na true
.
Co więcej, można ustawić metadane enable-oslogin-2fa
na true
aby włączyć uwierzytelnianie dwuetapowe.
Gdy włączysz to podczas tworzenia instancji, klucze metadanych zostaną automatycznie ustawione.
Więcej informacji na temat 2fa w OS-config, dotyczy to tylko użytkownika, jeśli jest to SA (jak SA obliczeniowy), nie będzie wymagać niczego dodatkowego.
Wyliczanie
Obrazy
Niestandardowe obrazy
Niestandardowe obrazy obliczeniowe mogą zawierać poufne szczegóły lub inne podatne konfiguracje, które można wykorzystać.
Podczas tworzenia obrazu możesz wybrać 3 rodzaje szyfrowania: Użycie klucza zarządzanego przez Google (domyślnie), klucza z KMS lub klucza surowego podanego przez klienta.
Wyliczenie
Możesz zapytać listę obrazów niestandardowych w projekcie za pomocą następującej komendy:
```bash gcloud compute machine-images list gcloud compute machine-images describe gcloud compute machine-images get-iam-policy ``` Możesz następnie [**eksportować**](https://cloud.google.com/sdk/gcloud/reference/compute/images/export) **dyski wirtualne** z dowolnego obrazu w wielu formatach. Poniższe polecenie eksportuje obraz `test-image` w formacie qcow2, umożliwiając pobranie pliku i zbudowanie maszyny wirtualnej lokalnie w celu dalszego zbadania: ```bash gcloud compute images export --image test-image \ --export-format qcow2 --destination-uri [BUCKET]
Execute container inside a docker
docker run --rm -ti gcr.io//secret:v1 sh
Może być interesujące dowiedzieć się, który dysk jest używany do nowych obrazów, ale te szablony zazwyczaj nie będą zawierać poufnych informacji.
Snapshoty
Snapshoty to kopie zapasowe dysków. Należy zauważyć, że nie jest to tożsame z klonowaniem dysku (inną dostępną funkcją). Snapshot będzie używał tej samej szyfrowania co dysk, z którego został utworzony.
Wyliczanie
Eskalacja uprawnień
Sprawdź sekcję eskalacji uprawnień instancji obliczeniowych.
Referencje
Last updated