GCP - Compute Enum
Last updated
Last updated
Ucz się i ćwicz Hacking AWS:HackTricks Training AWS Red Team Expert (ARTE) Ucz się i ćwicz Hacking GCP: HackTricks Training GCP Red Team Expert (GRTE)
Dowiedz się, jak to działa w:
GCP - VPC & NetworkingŁatwo znajdziesz instancje obliczeniowe z otwartymi regułami zapory za pomocą https://gitlab.com/gitlab-com/gl-security/security-operations/gl-redteam/gcp_firewall_enum
To jest sposób, w jaki możesz uruchomić maszyny wirtualne w GCP. Sprawdź tę stronę, aby uzyskać więcej informacji:
GCP - Compute InstancesAby uzyskać więcej informacji na temat tego, jak SSH lub zmodyfikować metadane instancji w celu eskalacji uprawnień, sprawdź tę stronę:
GCP - local privilege escalation ssh pivotingNa następnej stronie możesz sprawdzić, jak nadużywać uprawnień obliczeniowych, aby eskalować uprawnienia:
GCP - Compute PrivescLogi konsoli szeregowej Compute Engine to funkcja, która pozwala na wyświetlanie i diagnozowanie logów rozruchu i systemu operacyjnego twoich instancji maszyny wirtualnej.
Logi konsoli szeregowej zapewniają niski poziom widoku procesu rozruchu instancji, w tym komunikaty jądra, skrypty inicjalizacyjne i inne zdarzenia systemowe, które występują podczas uruchamiania. Może to być przydatne do debugowania problemów z rozruchem, identyfikowania błędnych konfiguracji lub błędów oprogramowania, lub rozwiązywania problemów z łącznością sieciową.
Te logi mogą ujawniać wrażliwe informacje z logów systemowych, które użytkownik o niskich uprawnieniach zazwyczaj nie widzi, ale z odpowiednimi uprawnieniami IAM możesz być w stanie je odczytać.
Możesz użyć następującego polecenia gcloud, aby zapytać o logi portu szeregowego (wymagane uprawnienie to compute.instances.getSerialPortOutput
):
Możliwe jest zobaczenie wyjścia skryptów startowych z VM wykonując:
Możesz użyć usługi zarządzania konfiguracją systemu operacyjnego, aby wdrażać, zapytywać i utrzymywać spójne konfiguracje (pożądany stan i oprogramowanie) dla swojej instancji VM (maszyny wirtualnej). W Compute Engine musisz używać polityk gości, aby utrzymać spójne konfiguracje oprogramowania na VM.
Funkcja zarządzania konfiguracją systemu operacyjnego pozwala na definiowanie polityk konfiguracji, które określają, które pakiety oprogramowania powinny być zainstalowane, które usługi powinny być włączone i które pliki lub konfiguracje powinny być obecne na Twoich VM. Możesz użyć deklaratywnego podejścia do zarządzania konfiguracją oprogramowania swoich VM, co umożliwia łatwiejszą automatyzację i skalowanie procesu zarządzania konfiguracją.
To również pozwala na logowanie się do instancji za pomocą uprawnień IAM, więc jest to bardzo przydatne do privesc i pivoting.
Aby włączyć os-config w całym projekcie lub w instancji, wystarczy ustawić klucz metadata enable-oslogin
na true
na żądanym poziomie.
Ponadto możesz ustawić metadane enable-oslogin-2fa
na true
, aby włączyć 2fa.
Gdy włączysz to podczas tworzenia instancji, klucze metadanych zostaną automatycznie ustawione.
Więcej o 2fa w OS-config, dotyczy to tylko użytkowników, jeśli to jest SA (jak SA obliczeniowe), nie będzie wymagać niczego dodatkowego.
Niestandardowe obrazy obliczeniowe mogą zawierać wrażliwe szczegóły lub inne podatne konfiguracje, które możesz wykorzystać.
Gdy obraz jest tworzony, możesz wybrać 3 typy szyfrowania: Używając klucza zarządzanego przez Google (domyślnie), klucza z KMS lub surowego klucza podanego przez klienta.
Możesz zapytać o listę niestandardowych obrazów w projekcie za pomocą następującego polecenia:
Możesz następnie wyeksportować wirtualne dyski z dowolnego obrazu w wielu formatach. Następujące polecenie wyeksportuje obraz test-image
w formacie qcow2, umożliwiając pobranie pliku i zbudowanie VM lokalnie w celu dalszego badania:
Sprawdź sekcję eskalacji uprawnień dla Instancji Obliczeniowych.
Niestandardowy szablon instancji definiuje właściwości instancji w celu pomocy w wdrażaniu spójnych konfiguracji. Mogą one zawierać te same rodzaje wrażliwych danych co niestandardowe metadane działającej instancji. Możesz użyć następujących poleceń do zbadania:
Może być interesujące wiedzieć, z którego dysku korzystają nowe obrazy, ale te szablony zazwyczaj nie będą miały wrażliwych informacji.
Snapshots to kopie zapasowe dysków. Zauważ, że to nie to samo co klonowanie dysku (inna dostępna funkcja). Snapshot będzie używał tego samego szyfrowania co dysk, z którego został wykonany.
Sprawdź sekcję podwyższania uprawnień dla Instancji Obliczeniowych.
Ucz się i ćwicz Hacking AWS:HackTricks Training AWS Red Team Expert (ARTE) Ucz się i ćwicz Hacking GCP: HackTricks Training GCP Red Team Expert (GRTE)