Az - Virtual Machines & Network
Last updated
Last updated
学习与实践 AWS 黑客技术:HackTricks 培训 AWS 红队专家 (ARTE) 学习与实践 GCP 黑客技术:HackTricks 培训 GCP 红队专家 (GRTE)
来自文档: Azure 虚拟机是 Azure 提供的几种类型的 按需、可扩展计算资源 之一。通常,当您需要对计算环境有比其他选择更多的控制时,您会选择虚拟机。本文提供了在创建虚拟机之前应考虑的信息、如何创建虚拟机以及如何管理虚拟机的信息。
Azure 网络包含 不同的实体和配置方式。 您可以在以下内容中找到不同 Azure 网络实体的简要 描述、 示例 和 枚举 命令:
Az - Azure NetworkAzure Bastion 提供了一种安全、完全托管的 RDP(远程桌面协议)和 SSH(安全外壳)访问解决方案,通过 Azure 门户通过 SSL 进行访问。它集成在 Azure 虚拟网络中,允许使用私有 IP 进行 RDP 和 SSH 连接到虚拟机,避免了对公共 IP 的需求。这使其成为一种比传统方法更安全、更方便的替代方案,传统方法涉及公共 IP 分配和 NSG 规则配置以访问虚拟机。开发人员和 IT 人员可以通过他们的网页浏览器安全地从 Azure 门户访问虚拟机,从而简化了开发和测试环境的过程。
要列出您订阅中的所有 Azure Bastion 主机,您可以使用以下命令:
可以允许通过AzureAD认证的用户访问。例如,尝试访问一个linux虚拟机:ssh username@azure-corp.com@1.1.1.1
(在尝试登录时,使用与azurecorp相同的电子邮件非常重要),您可能会遇到如下错误:
只需按照这些说明前往 https://microsoft.com/devicelogin 并输入代码,使用电子邮件和密码作为凭据,您将能够通过 SSH 连接(如果该用户具有足够的权限:Virtual Machine Administrator Login
或 Virtual Machine User Login
角色)。
Azure 虚拟机 (VM) 扩展是 小型应用程序,用于在 Azure VMs 上提供部署后配置和自动化 任务。例如,如果虚拟机需要软件安装、杀毒保护或能够在其中运行脚本,您可以使用 VM 扩展。
因此,如果您有权限进行写入,您可以执行任意代码:
DesiredConfigurationState (DSC) 是一个类似于 Ansible 的 PowerShell 工具,用于通过代码设置主机。DSC 与 Azure 集成,允许上传特定的配置文件。这些文件必须遵循严格的语法。值得注意的是,Azure 中的 DSC 扩展可以执行符合某些格式标准的文件中的命令,即使语法不符合 DSC 标准,如提供的图示所示。
这些命令的执行是通过 Publish-AzVMDscConfiguration
函数在 Az PowerShell 中实现的。要求包括一个定义了函数的 .PS1 文件,并且该文件必须被压缩成 .zip 文件。尽管语法可能不准确,代码仍然会执行。然而,扩展会将执行状态标记为“失败”,并且由于状态被失败消息覆盖,命令的输出将不可见。
VM Application Definitions 允许将版本化的应用程序重复部署到 Azure VM。此资源支持在 VM 之间部署和更新应用程序。要设置此功能,需要几个步骤,涉及 Az PowerShell 中的命令,如 New-AzGalleryApplication
和 New-AzGalleryApplicationVersion
。
通过这种方法执行应用程序或命令涉及 "VMAppExtension",该扩展在应用程序应用于 VM 时自动安装。扩展从指定的 URI 检索文件,并将其命名为与应用程序完全相同,不带扩展名。为了正确执行文件,REST API 调用中的 "ManageActions" 字段必须配置为使用适当的扩展名重命名文件。完成此方法的设置后,将类似于提供的图示所示的结构。
然而,这种执行方法相对较慢,执行一个应用程序或命令大约需要 3-4 分钟。与此过程相关的文件存储在特定目录中(应用程序副本的路径为 C:\Packages\Plugins\Microsoft.CPlat.Core.VMApplicationManagerWindows\1.0.4\Downloads\
,执行状态的路径为 C:\Packages\Plugins\Microsoft.CPlat.Core.VMApplicationManagerWindows\1.0.4\Status\
)。
这两种技术提供了在 Azure 环境中执行命令和部署应用程序的独特方式,各自具有一套要求、步骤和注意事项。
Hybrid Worker Groups (HWGs) 是 Azure 中的一项功能,允许在指定 HWG 的 Azure 虚拟机 (VM) 上执行在自动化帐户中配置的 Runbook。此执行通过安装在 VM 上的扩展来实现,该扩展将 Runbook 代码部署到 VM。此过程的一个重要方面是,实际凭据在执行中不是一个因素,因为代码以提升的权限运行,具体为 SYSTEM 或 root,如提供的图示所示。
对于使用 Windows 10 VM 的用户,一个关键细节是必须为 Runbook 指定 PowerShell 版本。应设置为以 PowerShell 版本 5.1 而不是 7.1 运行。这个要求源于 PowerShell 7.1 在这些 VM 上不是默认安装的,如果指定版本 7.1,则会导致脚本执行失败。
Azure 的这一功能提供了一种强大的方法,用于在混合环境中自动化和管理任务,允许在 Azure VM 上集中管理和执行任务。
Learn & practice AWS Hacking:HackTricks Training AWS Red Team Expert (ARTE) Learn & practice GCP Hacking: HackTricks Training GCP Red Team Expert (GRTE)