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
- Proverite planove pretplate!
- Pridružite se 💬 Discord grupi ili telegram grupi ili pratite nas na Twitteru 🐦 @hacktricks_live.
- Podelite hakerske trikove slanjem PR-ova na HackTricks i HackTricks Cloud github repozitorijume.
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
# 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:
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
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:
# 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
Post eksploatacija
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
- Proverite planove pretplate!
- Pridružite se 💬 Discord grupi ili telegram grupi ili pratite nas na Twitteru 🐦 @hacktricks_live.
- Podelite hakerske trikove slanjem PR-ova na HackTricks i HackTricks Cloud github repozitorijume.