一次窃取程序的恶意样本分析
字数 1636 2025-08-20 18:17:07
恶意样本分析教学文档:基于.NET的窃取程序分析
1. 样本基础信息
- 样本类型:32位.NET程序
- 分析工具:dnSpy(.NET反编译工具)
- 主要功能:多维度信息窃取与回传
2. 核心功能分析
2.1 配置信息提取
- 存储位置:程序集的AssemblyDescription属性
- 加密方式:
- 基础配置:Base64编码
- 关键数据(Telegram Token和Chat ID):ROT13加密
- 分析技巧:在dnSpy中查看程序集属性可快速定位配置信息
2.2 持久化机制
- 方法:
persistence.CheckCopy() - 实现细节:
- 将自身复制到系统特定路径(如%AppData%)
- 确保原始程序被删除后仍可运行
- 注册表操作:
- 创建唯一键值实现单实例运行
- 检测已有实例则退出
2.3 反分析检测
- 检测项目:
- 虚拟机环境(VMware/VirtualBox等)
- 沙箱环境
- 调试器附加
- 应对策略:检测到分析环境立即退出
3. 数据窃取功能
3.1 浏览器数据窃取
- 目标数据:
- 保存的密码
- Cookies
- 自动填充信息
- 浏览器支持:常见浏览器(Chrome/Firefox/Edge等)
3.2 加密货币钱包窃取
- 目标钱包:
- Exodus钱包
- Metamask
- 操作流程:
- 定位钱包数据存储路径
- 复制钱包数据文件
- 压缩为ZIP
- 通过Telegram API外传
3.3 Telegram数据窃取
- 目标数据:
- 会话数据
- 本地存储文件
- 处理方式:同上压缩外传
3.4 系统信息收集
- 收集内容:
- CPU/GPU型号
- RAM容量
- 操作系统版本
- 存储位置:
Log\ComputerInfo.txt
3.5 屏幕截图
- 实现函数:
utils.desktopScreenshot() - 技术细节:调用Windows API捕获屏幕
4. 数据外传机制
- 传输方式:Telegram Bot API
- 流程:
- 将所有窃取数据打包为ZIP
- 通过配置的Token和Chat ID上传
- 清理痕迹(删除ZIP和自身)
5. 攻击者溯源
5.1 GitHub账户
- 地址:https://github.com/attatier
- 发现内容:
- 恶意程序传播方式
- 历史项目记录
5.2 传播方式
- 初始载体:恶意LNK快捷方式
- 技术细节:
- 使用PowerShell远程下载恶意负载
- 同时下载正常PDF文件作为诱饵
- 执行后自动打开PDF降低怀疑
5.3 Telegram账户
- ID:7781867830
- 关联信息:
- 用于接收窃取数据
- 哈希值:50a6880b7a2cfb41d50b9fa34438b8fa4bc209d3c71283fd0efefe10ef2bc4387dd26c19
6. 防御建议
6.1 检测方案
- 注册表监控:关注异常自启动项
- 网络流量:监控Telegram API通信
- 文件监控:关注%AppData%下可疑.NET程序
6.2 防护措施
- 限制PowerShell执行远程代码
- 启用浏览器数据加密
- 使用钱包硬件隔离方案
- 定期检查系统异常进程
6.3 应急响应
- 检查注册表Run项
- 删除%AppData%下可疑文件
- 重置所有浏览器保存的凭据
- 转移加密货币到新钱包
7. 分析技巧总结
- .NET分析:优先使用dnSpy查看程序集属性
- 配置提取:注意非标准加密(如ROT13)
- 持久化分析:检查注册表和文件复制操作
- 流量分析:关注小众API通信(如Telegram Bot)
- 溯源方法:GitHub历史提交和字符串提取
附录:关键IoC
- GitHub账户:attatier
- Telegram ID:7781867830
- 样本哈希:50a6880b7a2cfb41d50b9fa34438b8fa4bc209d3c71283fd0efefe10ef2bc4387dd26c19
- C2通信:Telegram Bot API