Az - MySQL Baze Podataka

Reading time: 6 minutes

tip

Učite i vežbajte AWS Hacking:HackTricks Training AWS Red Team Expert (ARTE)
Učite i vežbajte GCP Hacking: HackTricks Training GCP Red Team Expert (GRTE) Učite i vežbajte Azure Hacking: HackTricks Training Azure Red Team Expert (AzRTE)

Podržite HackTricks

Azure MySQL

Azure Database for MySQL je potpuno upravljana relacijska baza podataka zasnovana na MySQL Community Edition, dizajnirana da pruži skalabilnost, sigurnost i fleksibilnost za različite potrebe aplikacija. Ima dva različita modela implementacije:

  • Single Server (je na putu povlačenja):
  • Optimizovan za isplative i lako upravljive MySQL implementacije.
  • Karakteristike uključuju automatske rezervne kopije, visoku dostupnost i osnovno praćenje.
  • Idealno za aplikacije sa predvidivim opterećenjima.
  • Flexible Server:
  • Pruža veću kontrolu nad upravljanjem i konfiguracijom baze podataka.
  • Podržava visoku dostupnost (isti region i redundantni region).
  • Karakteristike uključuju elastično skaliranje, upravljanje zakrpama i optimizaciju opterećenja.
  • Nudi funkcionalnost za zaustavljanje/pokretanje radi uštede troškova.

Ključne Karakteristike

  • Upravljanje Serverom: ad-admin funkcija omogućava upravljanje Azure Entra ID administratorima za MySQL servere, pružajući kontrolu nad administrativnim pristupom putem Entra ID akreditiva. Mysql podržava User Managed Identities, koje se koriste za autentifikaciju bez potrebe za akreditivima, i mogu se koristiti od strane drugih usluga.
  • Upravljanje Životnim Ciklusom: opcije za pokretanje ili zaustavljanje servera, brisanje instance fleksibilnog servera, ponovo pokretanje servera kako bi se brzo primenile promene u konfiguraciji, i čekanje da se osigura da server ispunjava određene uslove pre nego što se nastavi sa automatizovanim skriptama.
  • Sigurnost i Mrežno Povezivanje: Osigurajte svoj server ograničavanjem veza putem pravila vatrozida koja dozvoljavaju samo određene javne IP adrese, ili korišćenjem privatnih krajnjih tačaka koje integrišu vaš server u virtuelnu mrežu. Sve veze su zaštićene TLS 1.2 enkripcijom. Baze podataka, rezervne kopije i logovi su podrazumevano enkriptovani u mirovanju koristeći ključeve koje upravlja usluga ili prilagođene ključeve.
  • Zaštita Podataka i Rezervne Kopije: uključuje opcije za upravljanje rezervnim kopijama fleksibilnog servera za oporavak podataka, izvođenje geo-obnavljanja za oporavak servera u drugoj regiji, izvoz rezervnih kopija servera za spoljašnju upotrebu (u Previu), i obnavljanje servera iz rezervne kopije na određenu tačku u vremenu.

Enumeracija

bash
# List all flexible-servers
az mysql flexible-server db list --resource-group <resource-group-name>
# List databases in a flexible-server
az mysql flexible-server db list --resource-group <resource-group-name> --server-name <server_name>
# Show specific details of a MySQL database
az mysql 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 mysql flexible-server firewall-rule list --resource-group <resource-group-name> --name <server_name>

# List all ad-admin in a server
az mysql flexible-server ad-admin list --resource-group <resource-group-name> --server-name <server_name>
# List all user assigned managed identities from the server
az mysql flexible-server identity list --resource-group <resource-group-name> --server-name <server_name>

# List the server backups
az mysql flexible-server backup list --resource-group <resource-group-name> --name <server_name>
# List all read replicas for a given server
az mysql flexible-server replica list --resource-group <resource-group-name> --name <server_name>

# Get the server's advanced threat protection setting
az mysql 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 mysql flexible-server maintenance list --resource-group <resource-group-name> --server-name <server_name>
# List log files for a server.
az mysql flexible-server server-logs list --resource-group <resource-group-name> --server-name <server_name>

Povezivanje

Sa ekstenzijom rdbms-connect možete pristupiti bazi podataka sa:

bash
az mysql flexible-server connect -n <server-name> -u <username> -p <password> --interactive

#or execute commands
az mysql flexible-server execute \
-n <server-name> \
-u <username> \
-p "<password>" \
-d <database-name> \
--querytext "SELECT * FROM <table-name>;"

Ili sa MySQL nativnim ekstenzijskim pluginom

bash
mysql -h <server-name>.mysql.database.azure.com -P 3306 -u <username> -p

Takođe možete izvršavati upite sa github-om, ali su potrebni i korisničko ime i lozinka. Morate postaviti sql datoteku sa upitom koji treba izvršiti, a zatim:

bash
# Setup
az mysql flexible-server deploy setup \
-s <server-name> \
-g <resource-group> \
-u <admin-user> \
-p "<admin-password>" \
--sql-file <path-to-sql-file> \
--repo <github-username/repository-name> \
--branch <branch-name> \
--action-name <action-name> \
--allow-push

# Run it
az mysql flexible-server deploy run \
--action-name <action-name> \
--branch <branch-name>

Eskalacija privilegija

Az - MySQL Privesc

Post eksploatacija

Az - MySQL Post Exploitation

ToDo

  • Potražite način da pristupite mysql flexible-server ad-admin da biste proverili da li je to metoda eskalacije privilegija

tip

Učite i vežbajte AWS Hacking:HackTricks Training AWS Red Team Expert (ARTE)
Učite i vežbajte GCP Hacking: HackTricks Training GCP Red Team Expert (GRTE) Učite i vežbajte Azure Hacking: HackTricks Training Azure Red Team Expert (AzRTE)

Podržite HackTricks