GCP - Source Repositories Enum

Nauka hakowania AWS od zera do bohatera z htARTE (HackTricks AWS Red Team Expert)!

Inne sposoby wsparcia HackTricks:

Podstawowe informacje

Google Cloud Source Repositories to w pełni funkcjonalna, skalowalna usługa prywatnego repozytorium Git. Została zaprojektowana do hostowania kodu źródłowego w w pełni zarządzanym środowisku, doskonale integrując się z innymi narzędziami i usługami GCP. Oferuje współpracę i bezpieczne miejsce dla zespołów do przechowywania, zarządzania i śledzenia ich kodu.

Główne funkcje Cloud Source Repositories to:

  1. Zarządzane hostowanie Git: Oferuje znajome funkcje Git, co oznacza, że można korzystać z regularnych poleceń i procesów Git.

  2. Integracja z usługami GCP: Integruje się z innymi usługami GCP, takimi jak Cloud Build, Pub/Sub i App Engine, zapewniając śledzenie od kodu do wdrożenia.

  3. Repozytoria prywatne: Zapewnia bezpieczne i prywatne przechowywanie kodu. Możesz kontrolować dostęp za pomocą ról Cloud Identity and Access Management (IAM).

  4. Analiza kodu źródłowego: Współpracuje z innymi narzędziami GCP, aby zapewnić zautomatyzowaną analizę kodu źródłowego, identyfikując potencjalne problemy, takie jak błędy, podatności lub złe praktyki kodowania.

  5. Narzędzia współpracy: Obsługuje wspólne kodowanie za pomocą narzędzi takich jak prośby o scalenie, komentarze i recenzje.

  6. Wsparcie lustrzane: Pozwala na połączenie Cloud Source Repositories z repozytoriami hostowanymi na GitHubie lub Bitbucketu, umożliwiając automatyczną synchronizację i zapewniając jednolite widoki wszystkich repozytoriów.

Informacje OffSec

  • Konfiguracja repozytoriów kodu w ramach projektu będzie miała Konto usługi używane do publikowania wiadomości Cloud Pub/Sub. Domyślnie używane jest Konto usługi obliczeniowej. Jednak nie sądzę, że jest możliwe kradzież jego tokena z Repozytoriów kodu, ponieważ jest on wykonywany w tle.

  • Aby zobaczyć kod w konsoli internetowej GCP Cloud Source Repositories (https://source.cloud.google.com/), kod musi być domyślnie w gałęzi master.

  • Możesz również utworzyć lustrzane repozytorium Cloud wskazujące na repozytorium z Githuba lub Bitbucket (umożliwiając dostęp do tych platform).

  • Możliwe jest kodowanie i debugowanie wewnątrz GCP.

  • Domyślnie Repozytoria kodu zapobiegają dodawaniu prywatnych kluczy do commitów, ale można to wyłączyć.

Otwórz w Cloud Shell

Możliwe jest otwarcie repozytorium w Cloud Shell, pojawi się taki monit:

To pozwoli Ci na kodowanie i debugowanie w Cloud Shell (co może prowadzić do skompromitowania cloudshell).

Wyliczanie

# Repos enumeration
gcloud source repos list #Get names and URLs
gcloud source repos describe <repo_name>
gcloud source repos get-iam-policy <repo_name>

# gcloud repo clone
gcloud source repos clone <REPO NAME>
gcloud source repos get-iam-policy <REPO NAME>
... git add & git commit -m ...
git push --set-upstream origin master
git push -u origin master

# Access via git
## To add a SSH key go to https://source.cloud.google.com/user/ssh_keys (no gcloud command)
git clone ssh://username@domain.com@source.developers.google.com:2022/p/<proj-name>/r/<repo-name>
git add, commit, push...

Eskalacja uprawnień i eksploatacja po włamaniu

pageGCP - Sourcerepos Privesc

Nieuwierzytelniona enumeracja

pageGCP - Source Repositories Unauthenticated Enum
Zacznij od zera i zostań ekspertem od hakowania AWS dzięki htARTE (HackTricks AWS Red Team Expert)!

Inne sposoby wsparcia HackTricks:

Last updated