Az - MySQL 数据库
Tip
学习并练习 AWS Hacking:
HackTricks Training AWS Red Team Expert (ARTE)
学习并练习 GCP Hacking:HackTricks Training GCP Red Team Expert (GRTE)
学习并练习 Az Hacking:HackTricks Training Azure Red Team Expert (AzRTE)
支持 HackTricks
- 查看 subscription plans!
- 加入 💬 Discord group 或者 telegram group 或 关注 我们的 Twitter 🐦 @hacktricks_live.
- 通过向 HackTricks 和 HackTricks Cloud github 仓库 提交 PRs 来分享 hacking tricks。
Azure MySQL
Azure Database for MySQL 是一个完全托管的关系数据库服务,基于 MySQL Community Edition,旨在为各种应用需求提供可扩展性、安全性和灵活性。它有两种不同的部署模型:
- 单服务器(正在退役中):
- 针对成本效益和易于管理的 MySQL 部署进行了优化。
- 功能包括自动备份、高可用性和基本监控。
- 适合具有可预测工作负载的应用程序。
- 灵活服务器:
- 提供对数据库管理和配置的更多控制。
- 支持高可用性(同区和区冗余)。
- 具有弹性扩展、补丁管理和工作负载优化功能。
- 提供停止/启动功能以节省成本。
关键特性
- 服务器管理:ad-admin 功能允许管理 Azure Entra ID 管理员的 MySQL 服务器,通过 Entra ID 凭据控制管理访问。Mysql 支持用户管理身份,用于在不需要凭据的情况下进行身份验证,并可被其他服务使用。
- 生命周期管理:选项包括启动或停止服务器、删除灵活服务器实例、重启服务器以快速应用配置更改,以及等待以确保服务器满足特定条件后再继续自动化脚本。
- 安全性和网络:通过防火墙规则限制连接,仅允许特定公共 IP 地址,或使用将服务器集成到虚拟网络中的私有端点来保护服务器。所有连接都使用 TLS 1.2 加密进行保护。数据库、备份和日志默认使用服务管理密钥或自定义密钥进行静态加密。
- 数据保护和备份:包括管理灵活服务器备份以进行数据恢复的选项,执行地理恢复以在不同区域恢复服务器,导出服务器备份以供外部使用(预览中),以及从备份恢复服务器到特定时间点。
枚举
# 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>
权限提升
后期利用
待办事项
- 寻找一种方法以 mysql flexible-server ad-admin 访问,以验证这是一种权限提升方法
Tip
学习并练习 AWS Hacking:
HackTricks Training AWS Red Team Expert (ARTE)
学习并练习 GCP Hacking:HackTricks Training GCP Red Team Expert (GRTE)
学习并练习 Az Hacking:HackTricks Training Azure Red Team Expert (AzRTE)
支持 HackTricks
- 查看 subscription plans!
- 加入 💬 Discord group 或者 telegram group 或 关注 我们的 Twitter 🐦 @hacktricks_live.
- 通过向 HackTricks 和 HackTricks Cloud github 仓库 提交 PRs 来分享 hacking tricks。
HackTricks Cloud

