一款HW期间使用的免杀钓鱼样本
字数 2648 2025-08-24 07:48:22

高级免杀钓鱼样本分析与防御教学文档

一、样本概述

1.1 样本基本信息

  • 文件名称: 中国银联考勤信息核对表.rar
  • 文件大小: 6,739,934 字节
  • 哈希值:
    • MD5: A269B0C88AE1410C75034219C7DE34A6
    • SHA1: 048B60B9B2858D990F5F5466CD6865FCFBCDF298
    • CRC32: D7A56038

1.2 杀毒引擎检测情况

  • 腾讯电脑管家: 未发现风险
  • 火绒剑: 未发现风险
  • 360安全卫士: 发现可疑lnk文件

二、样本结构分析

2.1 压缩包内容

解压后包含:

  1. 快捷方式文件: 中国银联考勤信息核对表.docx.lnk
  2. 隐藏目录: __init__\

2.2 快捷方式分析

快捷方式执行的命令:

C:\Windows\System32\ftp.exe - "" s:__init__\libEGL.dll libEGL.dll
  • 调用系统ftp.exe执行隐藏目录下的libEGL.dll文件
  • 这是一种绕过检测的常见手法,利用系统可信程序加载恶意文件

2.3 libEGL.dll分析

  • 实际为文本文件,非真正的DLL
  • 功能:
    1. 运行__init__\main.pyw (恶意文件)
    2. 运行__init__\11.docx (迷惑文档)

三、恶意代码执行流程

3.1 执行链

  1. 用户双击快捷方式 → 执行libEGL.dll → 执行main.pyw
  2. main.pyw → 调用action.py
  3. action.py → 下载并解密载荷 → 执行shellcode → Cobalt Strike Beacon

3.2 action.py详细分析

3.2.1 外链下载

  • 第一段载荷下载URL: https://message-pdf.oss-cn-hangzhou.aliyuncs.com/vmQJM81Ry
  • 第二段载荷下载URL: https://ryhv9ym3hldwf.oss-cn-shenzhen.aliyuncs.com/UNdk8Ps

3.2.2 解密算法

  1. 第一段载荷解密:

    • 算法: 每4个字符提取1个字符,生成新的base64字符串
    • 然后进行base64解码
  2. 第二段载荷解密:

    • 先进行base64解码
    • 然后使用异或算法解密,密钥: InlvnrOXjmrdNjNgR

3.2.3 shellcode加载

使用以下API加载执行shellcode:

  1. VirtualAlloc: 分配可执行内存
  2. RtlMoveMemory: 将shellcode复制到分配的内存
  3. CreateThread: 创建线程执行shellcode

四、shellcode分析

4.1 shellcode结构

  • 大小: 235KB
  • 推测功能: 内存中解密释放PE文件

4.2 解密过程

  1. 解密20字节后续载荷:

    • 从shellcode偏移0xB处解密
    • 包含循环异或解密算法代码
  2. 解密0x3A818字节载荷:

    • 从shellcode偏移0x28处解密
    • 解密算法: 按字节异或0x3

4.3 PE文件头修改

  • PE头被修改为"NO"而非标准的"MZ"
  • 这是一种常见的免杀技术,用于绕过基于签名的检测

4.4 API动态解析

  • 使用LoadLibraryGetProcAddress动态获取API
  • 避免在导入表中留下明显痕迹

4.5 最终载荷执行

  • 调用VirtualAllocVirtualProtect分配可执行内存
  • 跳转到新分配的代码空间执行
  • 行为类似DLL的DllEntryPoint函数

五、C2通信分析

5.1 C2服务器列表

223.111.24.107,/api/v2/getconfig (中国 江苏省 南京市)
121.29.38.230,/api/v2/getconfig (中国 河北省 石家庄市)
58.218.215.183,/api/v2/getconfig (中国 江苏省 徐州市)
221.178.6.239,/api/v2/getconfig (中国 重庆市)
180.163.146.91,/api/v2/getconfig (中国 上海市)
119.84.72.233,/api/v2/getconfig (中国 重庆市)
182.242.49.114,/api/v2/getconfig (中国 云南省 昆明市)

5.2 HTTP请求特征

  • User-Agent: Mozilla/5.0 (compatible; MSIE 8.0; Windows NT 6.1; Trident/5.0)
  • Accept: */*
  • Cookie: SESSIONID=Cxarhe46onaiZzyjZxgIyQ5ErWqozkwuuO8KlT2EhNXBjOGw284NftrwxnaB0zcyEKMKTudfcS8BweMLBrhcshSi+F1sx+BqltAP1vfPgsW97pyW6YV2XFvBb0b5tGeDXnHY7cVajC3wyWQ8kViIA6kAc21cRegtRmkQuDgWCX4=
  • Host: elaber.net

六、样本家族溯源

6.1 Cobalt Strike特征

  • 使用yara规则匹配到Cobalt Strike特征字符串
  • 使用CobaltStrikeParser工具成功提取配置信息

6.2 免杀技术总结

  1. 字符串处理: 修改特征字符串
  2. PE头修改:
    • 将"This program cannot be run in DOS mode"修改
    • PE头标志改为"NO"
  3. 节表处理: 修改节表名称
  4. 多阶段加载: 分多个阶段下载和执行载荷
  5. 动态API解析: 减少导入表痕迹
  6. 使用合法程序加载: 通过ftp.exe加载恶意代码

七、防御建议

7.1 检测层面

  1. 监控异常快捷方式行为:

    • 监控lnk文件调用系统程序加载非常规文件
    • 特别关注调用ftp.exe、rundll32.exe等加载非标准文件
  2. 网络流量检测:

    • 监控对阿里云OSS等云存储的可疑访问
    • 检测特征User-Agent和Cookie模式
    • 监控对上述C2 IP的访问
  3. 进程行为监控:

    • 检测多阶段内存分配和执行行为
    • 监控VirtualAlloc + CreateThread模式

7.2 防护层面

  1. 禁用不必要的快捷方式功能:

    • 通过组策略限制lnk文件的执行能力
  2. 应用白名单:

    • 限制只有可信程序可以从特定位置执行
  3. Python脚本执行控制:

    • 监控非常规位置的pyw/py文件执行
  4. 内存保护:

    • 启用防漏洞利用保护(如Windows Defender Exploit Guard)

7.3 应急响应

  1. IOC清单:

    • 文件哈希
    • C2服务器IP和URL
    • 网络通信特征
  2. 取证分析:

    • 检查系统快捷方式文件
    • 查找隐藏目录中的非常规文件
    • 分析内存中的可疑进程

八、技术总结

该样本展示了高级攻击者常用的多种技术:

  1. 社会工程: 伪装成银联相关文件
  2. 多阶段加载: 分多个阶段下载和执行恶意代码
  3. 免杀技术: 修改PE特征、动态API解析、使用系统程序加载
  4. 隐蔽通信: 使用云存储作为中转,多C2服务器轮询
  5. 内存驻留: 完全在内存中执行,不落地

防御此类攻击需要多层防护策略,结合行为检测、网络监控和严格的执行控制。

高级免杀钓鱼样本分析与防御教学文档 一、样本概述 1.1 样本基本信息 文件名称 : 中国银联考勤信息核对表.rar 文件大小 : 6,739,934 字节 哈希值 : MD5: A269B0C88AE1410C75034219C7DE34A6 SHA1: 048B60B9B2858D990F5F5466CD6865FCFBCDF298 CRC32: D7A56038 1.2 杀毒引擎检测情况 腾讯电脑管家: 未发现风险 火绒剑: 未发现风险 360安全卫士: 发现可疑lnk文件 二、样本结构分析 2.1 压缩包内容 解压后包含: 快捷方式文件 : 中国银联考勤信息核对表.docx.lnk 隐藏目录 : __init__\ 2.2 快捷方式分析 快捷方式执行的命令: 调用系统ftp.exe执行隐藏目录下的libEGL.dll文件 这是一种绕过检测的常见手法,利用系统可信程序加载恶意文件 2.3 libEGL.dll分析 实际为文本文件,非真正的DLL 功能: 运行 __init__\main.pyw (恶意文件) 运行 __init__\11.docx (迷惑文档) 三、恶意代码执行流程 3.1 执行链 用户双击快捷方式 → 执行libEGL.dll → 执行main.pyw main.pyw → 调用action.py action.py → 下载并解密载荷 → 执行shellcode → Cobalt Strike Beacon 3.2 action.py详细分析 3.2.1 外链下载 第一段载荷下载URL: https://message-pdf.oss-cn-hangzhou.aliyuncs.com/vmQJM81Ry 第二段载荷下载URL: https://ryhv9ym3hldwf.oss-cn-shenzhen.aliyuncs.com/UNdk8Ps 3.2.2 解密算法 第一段载荷解密 : 算法: 每4个字符提取1个字符,生成新的base64字符串 然后进行base64解码 第二段载荷解密 : 先进行base64解码 然后使用异或算法解密,密钥: InlvnrOXjmrdNjNgR 3.2.3 shellcode加载 使用以下API加载执行shellcode: VirtualAlloc : 分配可执行内存 RtlMoveMemory : 将shellcode复制到分配的内存 CreateThread : 创建线程执行shellcode 四、shellcode分析 4.1 shellcode结构 大小: 235KB 推测功能: 内存中解密释放PE文件 4.2 解密过程 解密20字节后续载荷 : 从shellcode偏移0xB处解密 包含循环异或解密算法代码 解密0x3A818字节载荷 : 从shellcode偏移0x28处解密 解密算法: 按字节异或0x3 4.3 PE文件头修改 PE头被修改为"NO"而非标准的"MZ" 这是一种常见的免杀技术,用于绕过基于签名的检测 4.4 API动态解析 使用 LoadLibrary 和 GetProcAddress 动态获取API 避免在导入表中留下明显痕迹 4.5 最终载荷执行 调用 VirtualAlloc 和 VirtualProtect 分配可执行内存 跳转到新分配的代码空间执行 行为类似DLL的 DllEntryPoint 函数 五、C2通信分析 5.1 C2服务器列表 5.2 HTTP请求特征 User-Agent: Mozilla/5.0 (compatible; MSIE 8.0; Windows NT 6.1; Trident/5.0) Accept: */* Cookie: SESSIONID=Cxarhe46onaiZzyjZxgIyQ5ErWqozkwuuO8KlT2EhNXBjOGw284NftrwxnaB0zcyEKMKTudfcS8BweMLBrhcshSi+F1sx+BqltAP1vfPgsW97pyW6YV2XFvBb0b5tGeDXnHY7cVajC3wyWQ8kViIA6kAc21cRegtRmkQuDgWCX4= Host: elaber.net 六、样本家族溯源 6.1 Cobalt Strike特征 使用yara规则匹配到Cobalt Strike特征字符串 使用CobaltStrikeParser工具成功提取配置信息 6.2 免杀技术总结 字符串处理 : 修改特征字符串 PE头修改 : 将"This program cannot be run in DOS mode"修改 PE头标志改为"NO" 节表处理 : 修改节表名称 多阶段加载 : 分多个阶段下载和执行载荷 动态API解析 : 减少导入表痕迹 使用合法程序加载 : 通过ftp.exe加载恶意代码 七、防御建议 7.1 检测层面 监控异常快捷方式行为 : 监控lnk文件调用系统程序加载非常规文件 特别关注调用ftp.exe、rundll32.exe等加载非标准文件 网络流量检测 : 监控对阿里云OSS等云存储的可疑访问 检测特征User-Agent和Cookie模式 监控对上述C2 IP的访问 进程行为监控 : 检测多阶段内存分配和执行行为 监控VirtualAlloc + CreateThread模式 7.2 防护层面 禁用不必要的快捷方式功能 : 通过组策略限制lnk文件的执行能力 应用白名单 : 限制只有可信程序可以从特定位置执行 Python脚本执行控制 : 监控非常规位置的pyw/py文件执行 内存保护 : 启用防漏洞利用保护(如Windows Defender Exploit Guard) 7.3 应急响应 IOC清单 : 文件哈希 C2服务器IP和URL 网络通信特征 取证分析 : 检查系统快捷方式文件 查找隐藏目录中的非常规文件 分析内存中的可疑进程 八、技术总结 该样本展示了高级攻击者常用的多种技术: 社会工程 : 伪装成银联相关文件 多阶段加载 : 分多个阶段下载和执行恶意代码 免杀技术 : 修改PE特征、动态API解析、使用系统程序加载 隐蔽通信 : 使用云存储作为中转,多C2服务器轮询 内存驻留 : 完全在内存中执行,不落地 防御此类攻击需要多层防护策略,结合行为检测、网络监控和严格的执行控制。