GCP - Artifact Registry Persistence
Last updated
Last updated
Impara e pratica l'Hacking AWS:HackTricks Training AWS Red Team Expert (ARTE) Impara e pratica l'Hacking GCP: HackTricks Training GCP Red Team Expert (GRTE)
Per ulteriori informazioni su Artifact Registry controlla:
GCP - Artifact Registry EnumCosa succede se un repository remoto e uno standard vengono mescolati in uno virtuale e un pacchetto esiste in entrambi?
Viene utilizzato quello con la priorità più alta impostata nel repository virtuale
Se la priorità è la stessa:
Se la versione è la stessa, viene utilizzato il nome della policy alfabeticamente primo nel repository virtuale
Se no, viene utilizzata la versione più alta
Pertanto, è possibile abusare di una versione più alta (confusione delle dipendenze) in un registro di pacchetti pubblico se il repository remoto ha una priorità più alta o uguale
Questa tecnica può essere utile per persistenza e accesso non autenticato poiché per abusarne è sufficiente conoscere il nome di una libreria memorizzata in Artifact Registry e creare quella stessa libreria nel repository pubblico (PyPi per python ad esempio) con una versione più alta.
Per la persistenza, questi sono i passaggi da seguire:
Requisiti: Deve esistere e essere utilizzato un repository virtuale, deve essere utilizzato un pacchetto interno con un nome che non esiste nel repository pubblico.
Crea un repository remoto se non esiste
Aggiungi il repository remoto al repository virtuale
Modifica le politiche del registro virtuale per dare una priorità più alta (o uguale) al repository remoto. Esegui qualcosa come:
Scarica il pacchetto legittimo, aggiungi il tuo codice malevolo e registralo nel repository pubblico con la stessa versione. Ogni volta che un sviluppatore lo installa, installerà il tuo!
Per ulteriori informazioni sulla confusione delle dipendenze controlla:
Impara e pratica l'Hacking AWS:HackTricks Training AWS Red Team Expert (ARTE) Impara e pratica l'Hacking GCP: HackTricks Training GCP Red Team Expert (GRTE)