基于国产数字签名与VMware AirWatch API的Airstalk木马攻击剖析
字数 3199 2025-11-26 12:12:14

Airstalk木马攻击技术剖析教学文档

一、概述

1.1 攻击背景

Airstalk木马是一种新型的供应链攻击恶意软件,具有以下显著特征:

  • 使用国内正规企业数字签名进行伪装
  • 利用VMware Workspace ONE UEM(原AirWatch)官方API进行隐蔽通信
  • 疑似与APT(高级持续性威胁)攻击活动相关

1.2 攻击特点分析

  • 签名伪装:使用河北廊坊"奥腾工业自动化有限公司"的数字签名
  • 通信隐蔽:通过合法的企业级MDM(移动设备管理)平台进行C&C通信
  • 绕过检测:利用商业软件的合法通信渠道绕过传统安全检测

二、样本关键信息分析

2.1 样本基本信息

收集到的样本包含4个不同版本:

MD5 文件名 语言 备注
e8ee5efab4ad04753d3b2e4664de9b9b VMware.ps1 PowerShell 脚本版本
c0f76f5613d4e8bb170470c557746131 AirwatchHelper.exe .NET 可执行程序
53bfd0a8fe29010fb8a26f8b10618ae6 AirwatchHelper.exe .NET 可执行程序
38f2e93f027c88436deb392f3f2abe75 AirwatchHelper.exe .NET 可执行程序

2.2 数字签名分析

  • 签名企业:Aoteng Industrial Automation (Langfang) Co., Ltd.(奥腾工业自动化(廊坊)有限公司)
  • 签名状态:3个.NET样本均具有有效数字签名
  • 时间差异:不同样本的签名时间存在差异,表明攻击者可能多次使用同一证书

2.3 通信配置信息

2.3.1 相同配置参数

所有样本共享以下关键配置:

{
  "Authorization": "Basic dGFza3VzLnBydlxzdmMudzFtYWM6VEA1a3YkVTNtMjAyMw==",
  "aw-tenant-code": "fszobgRoudxclGzDMRyy3QpvZdivI1vkc3ZsrR+Ek7M=",
  "API-1": "/api/mdm/devices/{DeliveryDid}/customattributes",
  "API-2": "/api/mdm/devices/customattribute/search?deviceid=",
  "API-3": "/api/mam/blobs/uploadblob?fileName=log.zip&organizationGroupId=903"
}

2.3.2 差异配置参数

参数 样本1 样本2 样本3
baseUrl https://ds1768.awmdm.com https://as1768.awmdm.com https://as1768.awmdm.com
DeliveryDid 463005 440556 352791
DeliveryUuid 2a7da301-0ca9-46ca-8405-7b7f168cb291 2668a953-15ad-451d-bb00-24f78c46dec0 655111f5-18cb-4e38-b5b3-2e86daa6a585

三、Workspace ONE UEM平台技术分析

3.1 平台演变历史

  • 2003年:AirWatch公司成立
  • 2014年:被VMware收购
  • 2018年:演变为VMware Workspace ONE UEM
  • 2023年:VMware被Broadcom收购
  • 2024年:EUC业务剥离给KKR,成立Omnissa公司

3.2 API功能分析

3.2.1 API-1:设备自定义属性更新

  • 官方功能:根据设备ID更新自定义属性值
  • 木马用途:向C&C服务器发送数据
  • 请求方法:PUT/POST

3.2.2 API-2:自定义属性搜索

  • 官方功能:搜索设备自定义属性值
  • 木马用途:从C&C服务器获取指令
  • 请求方法:GET

3.2.3 API-3:文件上传

  • 官方功能:创建新的blob并附加文件
  • 木马用途:上传窃取的数据文件
  • 请求方法:POST

四、样本技术分析

4.1 PowerShell版本分析

4.1.1 API通信机制

# 请求头配置
$headers = @{
    'Authorization' = 'Basic dGFza3VzLnBydlxzdmMudzFtYWM6VEA1a3YkVTNtMjAyMw=='
    'aw-tenant-code' = 'fszobgRoudxclGzDMRyy3QpvZdivI1vkc3ZsrR+Ek7M='
    'Accept' = 'application/json;version=1'
}

4.1.2 远控功能指令集

指令 功能描述
0 屏幕截图
1 获取Chrome浏览器Cookie
2 列出用户目录文件
4 获取Chrome配置文件
5 获取Chrome书签文件
6 获取Chrome历史记录
7 卸载后门程序

4.2 .NET版本分析

4.2.1 样本1功能指令(c0f76f5613d4e8bb170470c557746131)

TaskType 指令 功能描述
Screenshot 0 屏幕截图
UpdateChrome 1 获取Chrome Cookie
FileMap 2 列出指定目录文件
RunUtility 3 未使用
EnterpriseChromeProfiles 4 获取Chrome配置文件
UploadFile 5 上传指定文件
OpenUrl 6 使用Chrome打开URL
Uninstall 7 终止程序
EnterpriseChromeBookmarks 8 获取Chrome书签
EnterpriseEdgeProfiles 9 获取Edge配置文件
UpdateEdge 10 获取Edge Cookie
ExfilAlreadyOpenChrome 11 获取已打开Chrome的Cookie

4.2.2 样本2、3功能指令

与样本1基本相同,但将Edge浏览器相关功能替换为Island浏览器:

  • EnterpriseIslandProfiles(指令9)
  • UpdateIsland(指令10)

五、模拟攻击环境搭建

5.1 模拟API服务器搭建

5.1.1 环境要求

  • 支持HTTP/HT协议的Web服务器
  • 能够处理RESTful API请求
  • 支持Base64编码/解码
  • 支持JSON数据格式处理

5.1.2 核心功能实现

// 示例:模拟API响应处理
func handleDeviceRequest(w http.ResponseWriter, r *http.Request) {
    // 验证请求头
    auth := r.Header.Get("Authorization")
    tenantCode := r.Header.Get("aw-tenant-code")
    
    // 处理不同的请求方法
    switch r.Method {
    case "GET":
        handleGetRequest(w, r)
    case "POST", "PUT":
        handlePostRequest(w, r)
    }
}

5.2 通信数据包分析

5.2.1 初始化通信流程

  1. 木马→C&C:CONNECT请求(建立连接)
  2. C&C→木马:CONNECTED响应(确认连接)
  3. 数据编码:Base64编码的JSON格式

5.2.2 任务同步流程

  1. 木马→C&C:ACTIONS请求(请求任务)
  2. C&C→木马:ACTIONS响应(下发任务)
  3. 木马执行:根据任务类型执行相应操作

5.2.3 数据上传流程

  1. 木马→C&C:通过API-3上传文件数据
  2. 木马→C&C:RESULT请求(报告执行结果)
  3. C&C→木马:CONNECTED/DONE响应(确认完成)

5.3 数据格式分析

5.3.1 请求数据格式

{
  "method": "CONNECT",
  "id": "device_unique_id",
  "value": "base64_encoded_data"
}

5.3.2 响应数据格式

{
  "method": "ACTIONS",
  "actions": [
    {
      "type": 0,
      "data": "base64_encoded_command"
    }
  ]
}

六、防御检测建议

6.1 行为检测指标

  1. 网络流量检测

    • 异常访问awmdm.com域名
    • 特定的Authorization头模式
    • 非常规的API调用序列
  2. 系统行为检测

    • 数字签名验证异常
    • Chrome/Edge浏览器数据访问
    • 屏幕截图操作监控

6.2 防护措施

  1. 应用程序白名单

    • 限制未知程序的执行
    • 监控数字签名变更
  2. 网络访问控制

    • 监控企业MDM平台异常访问
    • 实施出口流量过滤
  3. 终端防护

    • 浏览器数据访问监控
    • 屏幕截图行为检测

七、总结

Airstalk木马展示了高级攻击技术的发展趋势:

  • 利用合法商业平台进行隐蔽通信
  • 滥用数字签名机制绕过安全检测
  • 采用模块化设计支持功能扩展
  • 针对特定浏览器数据进行窃取

这种攻击方式对传统安全防护体系提出了新的挑战,需要采用深度防御策略,结合行为分析、网络流量监控和多维度威胁检测技术来有效应对。

Airstalk木马攻击技术剖析教学文档 一、概述 1.1 攻击背景 Airstalk木马是一种新型的供应链攻击恶意软件,具有以下显著特征: 使用国内正规企业数字签名进行伪装 利用VMware Workspace ONE UEM(原AirWatch)官方API进行隐蔽通信 疑似与APT(高级持续性威胁)攻击活动相关 1.2 攻击特点分析 签名伪装 :使用河北廊坊"奥腾工业自动化有限公司"的数字签名 通信隐蔽 :通过合法的企业级MDM(移动设备管理)平台进行C&C通信 绕过检测 :利用商业软件的合法通信渠道绕过传统安全检测 二、样本关键信息分析 2.1 样本基本信息 收集到的样本包含4个不同版本: | MD5 | 文件名 | 语言 | 备注 | |-----|--------|------|------| | e8ee5efab4ad04753d3b2e4664de9b9b | VMware.ps1 | PowerShell | 脚本版本 | | c0f76f5613d4e8bb170470c557746131 | AirwatchHelper.exe | .NET | 可执行程序 | | 53bfd0a8fe29010fb8a26f8b10618ae6 | AirwatchHelper.exe | .NET | 可执行程序 | | 38f2e93f027c88436deb392f3f2abe75 | AirwatchHelper.exe | .NET | 可执行程序 | 2.2 数字签名分析 签名企业 :Aoteng Industrial Automation (Langfang) Co., Ltd.(奥腾工业自动化(廊坊)有限公司) 签名状态 :3个.NET样本均具有有效数字签名 时间差异 :不同样本的签名时间存在差异,表明攻击者可能多次使用同一证书 2.3 通信配置信息 2.3.1 相同配置参数 所有样本共享以下关键配置: 2.3.2 差异配置参数 | 参数 | 样本1 | 样本2 | 样本3 | |------|-------|-------|-------| | baseUrl | https://ds1768.awmdm.com | https://as1768.awmdm.com | https://as1768.awmdm.com | | DeliveryDid | 463005 | 440556 | 352791 | | DeliveryUuid | 2a7da301-0ca9-46ca-8405-7b7f168cb291 | 2668a953-15ad-451d-bb00-24f78c46dec0 | 655111f5-18cb-4e38-b5b3-2e86daa6a585 | 三、Workspace ONE UEM平台技术分析 3.1 平台演变历史 2003年:AirWatch公司成立 2014年:被VMware收购 2018年:演变为VMware Workspace ONE UEM 2023年:VMware被Broadcom收购 2024年:EUC业务剥离给KKR,成立Omnissa公司 3.2 API功能分析 3.2.1 API-1:设备自定义属性更新 官方功能 :根据设备ID更新自定义属性值 木马用途 :向C&C服务器发送数据 请求方法 :PUT/POST 3.2.2 API-2:自定义属性搜索 官方功能 :搜索设备自定义属性值 木马用途 :从C&C服务器获取指令 请求方法 :GET 3.2.3 API-3:文件上传 官方功能 :创建新的blob并附加文件 木马用途 :上传窃取的数据文件 请求方法 :POST 四、样本技术分析 4.1 PowerShell版本分析 4.1.1 API通信机制 4.1.2 远控功能指令集 | 指令 | 功能描述 | |------|----------| | 0 | 屏幕截图 | | 1 | 获取Chrome浏览器Cookie | | 2 | 列出用户目录文件 | | 4 | 获取Chrome配置文件 | | 5 | 获取Chrome书签文件 | | 6 | 获取Chrome历史记录 | | 7 | 卸载后门程序 | 4.2 .NET版本分析 4.2.1 样本1功能指令(c0f76f5613d4e8bb170470c557746131) | TaskType | 指令 | 功能描述 | |----------|------|----------| | Screenshot | 0 | 屏幕截图 | | UpdateChrome | 1 | 获取Chrome Cookie | | FileMap | 2 | 列出指定目录文件 | | RunUtility | 3 | 未使用 | | EnterpriseChromeProfiles | 4 | 获取Chrome配置文件 | | UploadFile | 5 | 上传指定文件 | | OpenUrl | 6 | 使用Chrome打开URL | | Uninstall | 7 | 终止程序 | | EnterpriseChromeBookmarks | 8 | 获取Chrome书签 | | EnterpriseEdgeProfiles | 9 | 获取Edge配置文件 | | UpdateEdge | 10 | 获取Edge Cookie | | ExfilAlreadyOpenChrome | 11 | 获取已打开Chrome的Cookie | 4.2.2 样本2、3功能指令 与样本1基本相同,但将Edge浏览器相关功能替换为Island浏览器: EnterpriseIslandProfiles(指令9) UpdateIsland(指令10) 五、模拟攻击环境搭建 5.1 模拟API服务器搭建 5.1.1 环境要求 支持HTTP/HT协议的Web服务器 能够处理RESTful API请求 支持Base64编码/解码 支持JSON数据格式处理 5.1.2 核心功能实现 5.2 通信数据包分析 5.2.1 初始化通信流程 木马→C&C :CONNECT请求(建立连接) C&C→木马 :CONNECTED响应(确认连接) 数据编码:Base64编码的JSON格式 5.2.2 任务同步流程 木马→C&C :ACTIONS请求(请求任务) C&C→木马 :ACTIONS响应(下发任务) 木马执行 :根据任务类型执行相应操作 5.2.3 数据上传流程 木马→C&C :通过API-3上传文件数据 木马→C&C :RESULT请求(报告执行结果) C&C→木马 :CONNECTED/DONE响应(确认完成) 5.3 数据格式分析 5.3.1 请求数据格式 5.3.2 响应数据格式 六、防御检测建议 6.1 行为检测指标 网络流量检测 异常访问awmdm.com域名 特定的Authorization头模式 非常规的API调用序列 系统行为检测 数字签名验证异常 Chrome/Edge浏览器数据访问 屏幕截图操作监控 6.2 防护措施 应用程序白名单 限制未知程序的执行 监控数字签名变更 网络访问控制 监控企业MDM平台异常访问 实施出口流量过滤 终端防护 浏览器数据访问监控 屏幕截图行为检测 七、总结 Airstalk木马展示了高级攻击技术的发展趋势: 利用合法商业平台进行隐蔽通信 滥用数字签名机制绕过安全检测 采用模块化设计支持功能扩展 针对特定浏览器数据进行窃取 这种攻击方式对传统安全防护体系提出了新的挑战,需要采用深度防御策略,结合行为分析、网络流量监控和多维度威胁检测技术来有效应对。