DO - Databases

Impara l'hacking di AWS da zero a eroe con htARTE (HackTricks AWS Red Team Expert)!

Altri modi per supportare HackTricks:

Informazioni di base

Con DigitalOcean Databases, puoi facilmente creare e gestire database nel cloud senza preoccuparti dell'infrastruttura sottostante. Il servizio offre una varietà di opzioni di database, tra cui MySQL, PostgreSQL, MongoDB e Redis, e fornisce strumenti per l'amministrazione e il monitoraggio dei tuoi database. DigitalOcean Databases è progettato per essere altamente scalabile, affidabile e sicuro, rendendolo una scelta ideale per alimentare applicazioni e siti web moderni.

Dettagli di connessione

Durante la creazione di un database, puoi selezionare se configurarlo accessibile da una rete pubblica, o solo dall'interno di una VPC. Inoltre, ti richiede di inserire gli IP che possono accedervi (il tuo IPv4 può essere uno di questi).

L'host, la porta, il nome del database, l'username e la password vengono mostrati nella console. Puoi anche scaricare il certificato AD per connetterti in modo sicuro.

sql -h db-postgresql-ams3-90864-do-user-2700959-0.b.db.ondigitalocean.com -U doadmin -d defaultdb -p 25060

Enumerazione

La fase di enumerazione è fondamentale nel processo di pentesting di un database DigitalOcean. Durante questa fase, l'obiettivo è raccogliere informazioni sulle porte aperte e sui servizi in esecuzione sul server.

  1. Per enumerare i servizi, è possibile utilizzare il comando nmap con lo script postgresql-brute specificando l'indirizzo IP del server DigitalOcean.

  2. Per enumerare i database, è possibile utilizzare il comando psql specificando l'indirizzo IP del server, il nome utente e il nome del database. Utilizzando la query SQL SELECT datname FROM pg_database, verranno restituiti i nomi dei database presenti.

  3. Per enumerare le tabelle, è possibile utilizzare il comando psql specificando l'indirizzo IP del server, il nome utente e il nome del database. Utilizzando la query SQL SELECT table_name FROM information_schema.tables WHERE table_schema='public', verranno restituiti i nomi delle tabelle presenti nel database.

  4. Per enumerare le colonne di una specifica tabella, è possibile utilizzare il comando psql specificando l'indirizzo IP del server, il nome utente e il nome del database. Utilizzando la query SQL SELECT column_name FROM information_schema.columns WHERE table_name='<table_name>', verranno restituiti i nomi delle colonne presenti nella tabella specificata.

# Databse clusters
doctl databases list

# Auth
doctl databases get <db-id> # This shows the URL with CREDENTIALS to access
doctl databases connection <db-id> # Another way to egt credentials
doctl databases user list <db-id> # Get all usernames and passwords

# Dbs inside a database cluster
doctl databases db list <cluster-id>

# Firewall (allowed IPs), you can also add
doctl databases firewalls list <cluster-id>

# Backups
doctl databases backups <db-id> # List backups of DB

# Pools
doctl databases pool list <db-id> # List pools of DB
Impara l'hacking di AWS da zero a eroe con htARTE (HackTricks AWS Red Team Expert)!

Altri modi per supportare HackTricks:

Last updated