跨平台Office宏攻击实战:Empire双系统载荷投递技术

本文详细讲解如何利用PowerShell Empire 2.0构建跨Windows和OSX系统的Office宏恶意文档,通过自动识别操作系统类型动态执行PowerShell或Python载荷,实现混合环境下的有效渗透测试。

如何实现Empire的跨平台Office宏攻击

David Fletcher //
在渗透测试过程中,我们常遇到同时使用Microsoft Windows和Apple OSX操作系统的混合环境。传统钓鱼攻击难以区分用户系统类型,导致错误载荷投递失效。本文介绍通过智能宏代码自动识别操作系统,并动态选择执行PowerShell(Windows)或Python(OSX)载荷的技术方案。

技术实现核心

1. 载荷生成配置

  • 使用PowerShell Empire 2.0生成双平台宏载荷
  • 建议修改默认通信配置:添加抖动参数、使用有效TLS证书、变更请求特征
  • 配置名为"xplatform_macro"的监听器

2. 宏代码构建流程

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
' OSX系统声明语句(Windows自动忽略)
Declare Function system Lib "libc.dylib" (ByVal command As String) As Long

Sub AutoOpen()
    #If Mac Then
        DebugMac
    #Else
        DebugWin
    #End If
End Sub

3. 函数重构要点

  • 将原始宏代码重构为DebugMac和DebugWin函数
  • Windows宏需显式声明变量:Dim strComputer As String
  • 每个函数必须以End Function结尾

执行效果验证

成功测试显示:同一恶意文档在Windows系统执行PowerShell载荷,在OSX系统执行Python载荷,双双回连Empire监听器。

技术限制说明

  • 仅支持新版本宏启用文档(旧版Office for Mac不支持宏)
  • Office 2016 for Mac无法调用Python所需的C库函数

技术实现细节完整呈现,助力安全研究人员应对混合系统环境渗透挑战。


原文载于Black Hills Information Security,涉及实际攻防技术细节,请仅在合法授权测试中使用。

comments powered by Disqus
使用 Hugo 构建
主题 StackJimmy 设计