Az - Database PostgreSQL
Reading time: 6 minutes
tip
Impara e pratica il hacking AWS:HackTricks Training AWS Red Team Expert (ARTE)
Impara e pratica il hacking GCP: HackTricks Training GCP Red Team Expert (GRTE)
Impara e pratica il hacking Azure:
HackTricks Training Azure Red Team Expert (AzRTE)
Supporta HackTricks
- Controlla i piani di abbonamento!
- Unisciti al 💬 gruppo Discord o al gruppo telegram o seguici su Twitter 🐦 @hacktricks_live.
- Condividi trucchi di hacking inviando PR ai HackTricks e HackTricks Cloud repos su github.
Azure PostgreSQL
Azure Database for PostgreSQL è un servizio di database relazionale completamente gestito basato su PostgreSQL Community Edition. È progettato per fornire scalabilità, sicurezza e flessibilità per diverse esigenze applicative. Simile ad Azure MySQL, PostgreSQL offre due modelli di distribuzione:
- Single Server (in fase di dismissione):
- Ottimizzato per distribuzioni PostgreSQL semplici e convenienti.
- Include backup automatici, monitoraggio di base e alta disponibilità.
- Ideale per applicazioni con carichi di lavoro prevedibili.
- Flexible Server:
- Fornisce un maggiore controllo sulla gestione e configurazione del database.
- Supporta alta disponibilità, sia nella stessa zona che tra zone diverse.
- Include scalabilità elastica, manutenzione automatizzata e funzionalità di risparmio sui costi.
- Consente di avviare e fermare il server per ottimizzare i costi.
Caratteristiche principali
- Finestra di Manutenzione Personalizzata: Pianifica aggiornamenti per ridurre al minimo le interruzioni.
- Monitoraggio Attivo: Accedi a metriche e log dettagliati per monitorare e migliorare le prestazioni del database.
- Arresto/Avvio Server: Gli utenti possono fermare e avviare il server.
- Backup Automatici: Backup giornalieri integrati con periodi di conservazione configurabili fino a 35 giorni.
- Accesso Basato sui Ruoli: Controlla i permessi degli utenti e l'accesso amministrativo tramite Azure Active Directory.
- Sicurezza e Rete: può gestire le regole del firewall del server per un accesso sicuro al database e scollegare le configurazioni della rete virtuale secondo necessità.
- Identità Gestite: consentono al tuo server di autenticarsi in modo sicuro con altri servizi Azure senza memorizzare credenziali. Consentono di accedere ad altri servizi che sarebbero identità gestite assegnate al sistema e di essere accessibili da altri servizi con altre identità che sono identità gestite assegnate all'utente.
Enumerazione
# List servers in a resource group
az postgres flexible-server list --resource-group <resource-group-name>
# List databases in a flexible-server
az postgres flexible-server db list --resource-group <resource-group-name> --server-name <server_name>
# Show specific details of a Postgre database
az postgres flexible-server db show --resource-group <resource-group-name> --server-name <server_name> --database-name <database_name>
# List firewall rules of the a server
az postgres flexible-server firewall-rule list --resource-group <resource-group-name> --name <server_name>
# List parameter values for a felxible server
az postgres flexible-server parameter list --resource-group <resource-group-name> --server-name <server_name>
# List private link
az postgres flexible-server private-link-resource list --resource-group <resource-group-name> --server-name <server_name>
# List all ad-admin in a server
az postgres flexible-server ad-admin list --resource-group <resource-group-name> --server-name <server_name>
# List all user assigned managed identities from the server
az postgres flexible-server identity list --resource-group <resource-group-name> --server-name <server_name>
# List the server backups
az postgres flexible-server backup list --resource-group <resource-group-name> --name <server_name>
# List all read replicas for a given server
az postgres flexible-server replica list --resource-group <resource-group-name> --name <server_name>
# List migrations
az postgres flexible-server migration list --resource-group <resource-group-name> --name <server_name>
# Get the server's advanced threat protection setting
az postgres flexible-server advanced-threat-protection-setting show --resource-group <resource-group-name> --name <server_name>
# List all of the maintenances of a flexible server
az postgres flexible-server maintenance list --resource-group <resource-group-name> --server-name <server_name>
# List log files for a server.
az postgres flexible-server server-logs list --resource-group <resource-group-name> --server-name <server_name>
Connessione
Con l'estensione rdbms-connect puoi accedere al database con:
az postgres flexible-server connect -n <server-name> -u <username> -p <password> --interactive
#or execute commands
az postgres flexible-server execute \
-n <server-name> \
-u <username> \
-p "<password>" \
-d <database-name> \
--querytext "SELECT * FROM <table-name>;"
Or
psql -h testpostgresserver1994.postgres.database.azure.com -p 5432 -U adminuser <database-name>
Riferimenti
- https://learn.microsoft.com/en-us/azure/postgresql/
- https://learn.microsoft.com/en-us/azure/postgresql/flexible-server/service-overview
- https://learn.microsoft.com/en-us/azure/postgresql/flexible-server/overview
Escalation dei privilegi
Post Exploitation
Az - PostgreSQL Post Exploitation
ToDo
- Cerca un modo per accedere con ad-admin per verificare se è un metodo di privesc
tip
Impara e pratica il hacking AWS:HackTricks Training AWS Red Team Expert (ARTE)
Impara e pratica il hacking GCP: HackTricks Training GCP Red Team Expert (GRTE)
Impara e pratica il hacking Azure:
HackTricks Training Azure Red Team Expert (AzRTE)
Supporta HackTricks
- Controlla i piani di abbonamento!
- Unisciti al 💬 gruppo Discord o al gruppo telegram o seguici su Twitter 🐦 @hacktricks_live.
- Condividi trucchi di hacking inviando PR ai HackTricks e HackTricks Cloud repos su github.