观赏某大佬分析病毒后的一次复现分析
字数 1903 2025-08-24 10:10:13
恶意软件分析复现教程:伪装成ESET升级程序的恶意样本
一、样本基本信息
- 样本哈希: ae986dd436082fb9a7fec397c8b6e717
- 伪装对象: ESET升级程序
- 分析平台: app.any.run (任务链接)
- 所属家族: KimSuky家族(基于代码中使用的动物名称如tiger、wolf等特征)
二、行为分析
1. 主要恶意行为
-
文件操作:
- 在
C:\Users\用户\AppData\Roaming\目录下进行自拷贝 - 将自身复制到启动目录实现持久化
- 在
-
注册表操作:
- 修改注册表
SOFTWARE\Microsoft\Windows\CurrentVersion\Run添加eset_update值实现自启动 - 修改
SOFTWARE\Microsoft\Windows\CurrentVersion\Screensavers\ScreenRibbonsDomain改变屏保属性
- 修改注册表
-
网络通信:
- 与恶意域名
general-second.org-help.com交互 - 特定请求URL:
dl_ex1.png?m=701CE78EC02D&NOTE=Ni4xIDogOS45fDV8djEuMAo=
- 与恶意域名
-
信息收集:
- 获取网卡配置和IP信息
- 获取磁盘序列号
- 获取系统版本和位数信息
2. 行为分析工具推荐
- 火绒剑
- Systracer
- Procmon
- Sysmon
三、静态分析
1. PE结构分析
- 加壳情况: 未加壳
- 加密算法:
- Base64
- CRC32
2. IDA逆向分析
主要函数分析
-
WinMain函数流程:
CreateMutexA → GetLastError → CloseHandle → sub_4011E0 → sub_403600 → sub_401580 → sub_401770 → sub_402790 → CreateThread -
关键函数解析:
-
sub_4011E0: DLL加载和字符串解密
- 使用解密函数sub_401040(简单减5解密)
- 加载的DLL:
- WININET.dll
- urlmon.dll
- kernel32.dll
- 获取的API函数:
InternetOpenA, InternetCloseHandle, InternetConnectA, HttpOpenRequestA HttpSendRequestA, URLDownloadToFileA, DeleteUrlCacheEntryA, WinExec CreateToolhelp32Snapshot, InternetReadFile, InternetQueryDataAvailable
-
sub_403600: 文件自拷贝和自启动设置
- 使用SHGetFolderPathA获取启动目录
- 使用GetModuleFileNameA获取当前路径
- 使用CopyFile进行自拷贝
- 修改注册表实现自启动
-
sub_401580: 系统信息收集
- GetAdaptersInfo: 获取网卡信息
- GetVolumeInformationA: 获取磁盘序列号
- GetTickCount: 生成随机数
-
sub_401770: 系统版本检测
- GetVersion: 获取系统版本
- GetNativeSystemInfo: 获取系统位数信息
-
sub_402790: 注册表修改
- 解密并拼接注册表键名
- 将恶意URL写入注册表
-
CreateThread: 创建网络请求线程
- 设置请求头:
Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/60.0.3112.101 Safari/537.36,gzip(gfe),gzip(gfe)
- 设置请求头:
-
-
StartAddress函数分析:
- 加载rundll32.exe
- 操作临时目录文件(
C:\Users\用户\AppData\Local\Temp\) - 添加动物后缀到文件名
- 根据后缀执行不同命令(如tiger后缀执行特定命令)
四、动态分析技巧
-
关键断点设置:
- API调用点: CreateMutexA, CopyFile, RegSetValueExA等
- 字符串解密函数sub_401040
-
内存监控重点:
- 解密后的字符串
- 临时文件创建
- 网络请求内容
-
调试工具推荐:
- x64dbg
- OllyDbg
五、样本行为总结
-
持久化机制:
- 自拷贝到启动目录
- 注册表自启动项添加
-
信息收集:
- 系统信息
- 网络配置
- 磁盘信息
-
网络通信:
- 与C2服务器通信
- 下载额外恶意组件
-
代码特征:
- 使用动物名称作为标识符
- 简单的减5解密算法
- 多阶段加载机制
六、分析心得
-
动静态结合:
- 静态分析确定关键函数
- 动态验证实际行为
-
调试技巧:
- 注意API调用序列
- 监控内存和注册表变化
-
难点:
- 字符串解密需要动态调试确认
- 多线程行为跟踪
七、IoC指标
- 文件哈希: ae986dd436082fb9a7fec397c8b6e717
- 恶意域名: general-second.org-help.com
- 注册表键:
- SOFTWARE\Microsoft\Windows\CurrentVersion\Run\eset_update
- SOFTWARE\Microsoft\Windows\CurrentVersion\Screensavers\ScreenRibbonsDomain
- URL模式:
dl_ex1.png?m=参数&NOTE=参数