GCP - Artifact Registry Persistence

Wesprzyj HackTricks

Rejestr artefaktów

Aby uzyskać więcej informacji na temat Rejestru Artefaktów, sprawdź:

GCP - Artifact Registry Enum

Konfuzja zależności

  • Co się stanie, jeśli zdalne i standardowe repozytoria są wymieszane wirtualnie i pakiet istnieje w obu?

  • Używane jest to, które ma najwyższy priorytet ustawiony w repozytorium wirtualnym

  • Jeśli priorytet jest taki sam:

  • Jeśli wersja jest taka sama, używana jest nazwa polityki alfabetycznie pierwsza w repozytorium wirtualnym

  • Jeśli nie, używana jest najwyższa wersja

Dlatego możliwe jest wykorzystanie najwyższej wersji (konfuzja zależności) w publicznym rejestrze pakietów, jeśli zdalne repozytorium ma wyższy lub taki sam priorytet

Ta technika może być przydatna do trwałości i dostępu bez uwierzytelnienia, ponieważ aby ją wykorzystać, wystarczy znać nazwę biblioteki przechowywanej w Rejestrze Artefaktów i utworzyć tę samą bibliotekę w publicznym repozytorium (np. PyPi dla pythona na przykład) z wyższą wersją.

Aby uzyskać trwałość, należy postępować zgodnie z poniższymi krokami:

  • Wymagania: Musi istnieć repozytorium wirtualne i być używane, musi być używany wewnętrzny pakiet o nazwie, która nie istnieje w repozytorium publicznym.

  • Utwórz repozytorium zdalne, jeśli nie istnieje

  • Dodaj repozytorium zdalne do repozytorium wirtualnego

  • Edytuj polityki rejestru wirtualnego, aby nadać wyższy priorytet (lub taki sam) repozytorium zdalnemu. Uruchom coś w stylu:

  • Pobierz legalny pakiet, dodaj złośliwy kod i zarejestruj go w repozytorium publicznym z tą samą wersją. Za każdym razem, gdy deweloper go zainstaluje, zainstaluje twój!

Aby uzyskać więcej informacji na temat konfuzji zależności, sprawdź:

Wesprzyj HackTricks

Last updated