Az - MySQL Databases
Reading time: 6 minutes
tip
Вивчайте та практикуйте AWS Hacking:HackTricks Training AWS Red Team Expert (ARTE)
Вивчайте та практикуйте GCP Hacking: HackTricks Training GCP Red Team Expert (GRTE)
Вивчайте та практикуйте Azure Hacking:
HackTricks Training Azure Red Team Expert (AzRTE)
Підтримка HackTricks
- Перевірте плани підписки!
- Приєднуйтесь до 💬 групи Discord або групи Telegram або слідкуйте за нами в Twitter 🐦 @hacktricks_live.
- Діліться хакерськими трюками, надсилаючи PR до HackTricks та HackTricks Cloud репозиторіїв на GitHub.
Azure MySQL
Azure Database for MySQL є повністю керованою реляційною базою даних, заснованою на MySQL Community Edition, розробленою для забезпечення масштабованості, безпеки та гнучкості для різних потреб застосунків. Вона має дві різні моделі розгортання:
- Single Server (перебуває на шляху до закриття):
- Оптимізовано для економічних та легких у керуванні розгортань MySQL.
- До складу входять автоматизовані резервні копії, висока доступність та базове моніторинг.
- Ідеально підходить для застосунків з передбачуваними навантаженнями.
- Flexible Server:
- Надає більше контролю над управлінням базами даних та конфігурацією.
- Підтримує високу доступність (в одній зоні та зони-резервні).
- Має еластичне масштабування, управління патчами та оптимізацію навантаження.
- Пропонує функціональність зупинки/запуску для економії витрат.
Key Features
- Server Management: Функція ad-admin дозволяє керувати адміністраторами Azure Entra ID для MySQL серверів, забезпечуючи контроль над адміністративним доступом через облікові дані Entra ID. Mysql підтримує User Managed Identities, які використовуються для автентифікації без необхідності в облікових даних, і можуть використовуватися іншими службами.
- Lifecycle Management: опції для запуску або зупинки сервера, видалення екземпляра гнучкого сервера, перезавантаження сервера для швидкого застосування змін конфігурації та очікування, щоб переконатися, що сервер відповідає певним умовам перед продовженням автоматизаційних скриптів.
- Security and Networking: Захистіть свій сервер, обмеживши з'єднання через правила брандмауера, які дозволяють лише певні публічні IP-адреси, або використовуючи приватні кінцеві точки, які інтегрують ваш сервер у віртуальну мережу. Усі з'єднання захищені шифруванням TLS 1.2. Бази даних, резервні копії та журнали за замовчуванням шифруються в спокої за допомогою ключів, керованих службою, або користувацьких ключів.
- Data Protection and Backup: включає опції для управління резервними копіями гнучкого сервера для відновлення даних, виконання гео-відновлення для відновлення сервера в іншому регіоні, експорту резервних копій сервера для зовнішнього використання (в попередньому перегляді) та відновлення сервера з резервної копії до певного моменту часу.
Enumeration
# 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>
З'єднання
З розширенням rdbms-connect ви можете отримати доступ до бази даних за допомогою:
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>;"
Або з плагіном рідного розширення MySQL
mysql -h <server-name>.mysql.database.azure.com -P 3306 -u <username> -p
Також ви можете виконувати запити з github, але також потрібні пароль і користувач. Вам потрібно налаштувати sql файл з запитом для виконання, а потім:
# 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>
Підвищення Привілеїв
Після Експлуатації
ToDo
- Знайти спосіб доступу з mysql flexible-server ad-admin, щоб перевірити, чи це метод підвищення привілеїв
tip
Вивчайте та практикуйте AWS Hacking:HackTricks Training AWS Red Team Expert (ARTE)
Вивчайте та практикуйте GCP Hacking: HackTricks Training GCP Red Team Expert (GRTE)
Вивчайте та практикуйте Azure Hacking:
HackTricks Training Azure Red Team Expert (AzRTE)
Підтримка HackTricks
- Перевірте плани підписки!
- Приєднуйтесь до 💬 групи Discord або групи Telegram або слідкуйте за нами в Twitter 🐦 @hacktricks_live.
- Діліться хакерськими трюками, надсилаючи PR до HackTricks та HackTricks Cloud репозиторіїв на GitHub.