感染型病毒是计算机病毒中最经典、也最顽固的一类。与普通的木马程序(独立存在)不同,感染型病毒像生物病毒一样,必须寄生在正常的“宿主”文件(如 .exe, .dll, .doc, .jpg 等)中才能生存和传播。
基本信息#
样本名称:resvr.exe
样本MD5:5E63F3294520B7C07EB4DA38A2BEA301
样本SHA1: B45BCE0FCE6A0C3BA88A1778FA66A576B7D50895
样本行为#
拷贝病毒文件resvr.exe释放到C:\Program Files (x86)\Common Files\microsoft shared\目录下设置其属性为系统属性隐藏并启动自释放文件C:\Program Files (x86)\Common Files\microsoft shared\resvr.exe。

释放隐藏文件18:11:42:044, resvr.exe, 2520:3452, 2520, BA_extract_hidden, C:\Program Files (x86)\Common Files\microsoft shared\resvr.exe, , 0x00000000 [操作成功完成。 ],
启动自释放文件18:11:42:544, resvr.exe, 2520:0, 2520, BA_exec_extratedfile, C:\Program Files (x86)\Common Files\microsoft shared\resvr.exe, , 0x00000000 [操作成功完成。 ],在系统“「开始」菜单”添加程序开机启动项的快捷方式”程序\启动\水印标签系统.lnk“即将C:\Program Files\Common Files\Microsoft Shared\resvr.exe设置为开机启动项。

绑定监听端口0.0.0.0<40118>40118>
18:11:46:693, resvr.exe, 1760:3832, 2520, NET_listen, 0.0.0.0:40118, protocol:(TCP)0 , 0x00000000 [操作成功完成。 ],在resvr.exe所在的文件路径下创建X.bat文件,然后运行X.bat文件删除resvr.exe。
18:11:42:544, resvr.exe, 2520:0, 2520, BA_extract_hidden, C:\Users\JIoHEIgOpStmMbHN\Desktop\X.bat, , 0x00000000 [操作成功完成。 ],18:11:42:746, cmd.exe, 1628:3480, 2520, BA_self_delete, C:\Users\JIoHEIgOpStmMbHN\Desktop\resvr.exe, , 0x00000000 [操作成功完成。 ],入侵与潜伏(潜伏机制)#
隐秘部署:病毒母体(resvr.exe)释放后会转移至 \Microsoft Shared\resvr.exe ,并设置系统隐藏属性。

金蝉脱壳:Self_Delete_Via_Bat,释放并运行x.bat脚本,删除病毒原始文件,实现自毁伪装。

影子自启动项:
- 核心函数:
SetupPersistenceViaStartupLnk(原sub_404855)。 - 持久化的底层实现:利用
SHGetSpecialFolderPathA定位启动目录,通过 COM 组件创建“水印标签系统.lnk”,实现开机自启。


指令中枢与环境自检(防御绕过)#
- 唯一性检查:利用互斥量
40S118T2013防止多个病毒实例冲突。

- 本地指令中心:Index.dat 监控:
- 核心函数:
Handle_Status_File(原sub_4048FB)。 - 行为逻辑:通过内存映射监控
Index.dat的状态位,实现“关机”或“诱骗弹窗”的本地化触发。
- 核心函数:
通过检查 Index.dat 前两个字节(即代码中的 (_WORD)v4)来判断当前需要执行的任务:
情况 A:触发关机指令 (0x450 / 1104)
执行 sub_404011(0)。根据分析,这是一个提权并强制关机的操作。
情况 B:触发弹窗指令 (0x451 / 1105)
调用 CreateThread 启动 StartAddress 线程。在受害者桌面上弹出伪造的对话框进行诱骗或干扰。

后门开启与远程操纵(木马行为)#
- 搭建通信后门:初始化 Socket,绑定 40118 端口,将受害主机变为服务端等待连接。

-
C2 指令分发核心:

| 指令代码 (Hex) | 对应功能描述 | 代码实现细节与关联函数 |
|---|---|---|
| 0x3EB | 心跳/状态反馈 | 向控制端发送 4 字节的反馈数据(buf),确认木马在线。 |
| 0x450 | 提权关机 | 调用 CreateIndexDat 实现本地权限提升并强制关闭受害者计算机。 |
| 0x451 | 诱骗弹窗 | 创建 StartAddress 线程,弹出伪造的对话框进行社会工程学欺骗。 |
| 0x455 | 全盘感染模式开启 | 设置标识 0xAABBCCDD,启动 InfectAllLogicalDrives 和 MonitorDriveChangesAndInfect 对 26 个逻辑盘进行全盘感染。 |
| 0x453 | 提权与后门开启 | 执行 CreateGuestAccountBackdoor,通过 X.bat 开启 Guest 账户并将其提升为管理员,同时开启 C 盘隐藏共享。 |
| 0x458 | 加载二阶段载荷 | 执行 ExtractMalResource,从自身资源节区提取 Message.exe 并运行。这属于“多级投放”策略,意味着木马具备动态更新插件或下载后续补丁的能力 。 |
| 0x7 | 特定格式文件感染 | 调用 TryOpenFileAndProcessByExt,专门针对 .doc、.xls、.jpg 等文档进行感染传播。 |
| 0x452 | 关闭弹窗 | 向之前的弹窗窗口发送 WM_CLOSE 消息,强制关闭中毒现象的可见特征。 |
| 0x454 | 清除攻击痕迹 | 执行 CreateCleanupBat,通过 X.bat 禁用 Guest 账户并执行自删除逻辑。 |
- 资源释放攻击:从资源中释放并执行二次攻击载荷
Message.exe。

全盘收割(感染与加密行为)#
这是感染型病毒最顽固的部分。

- 遍历策略:枚举系统所有逻辑驱动器,实现从桌面到全盘(A-Z)的扫描 。

- 双重破坏模式:
- 加密模式(破坏):对文件头4096字节进行异或加密,导致数据无法直接读取
- 感染模式(传播):针对
.doc,.xls,.jpg,.rar进行针对性寄生,触发条件是感染标记不为0xAABBCCDD的文档,实现病毒扩散。

感染性#
文件感染与寄生扩散机制(病毒本性)#
本文深入剖析此样本作为“感染型病毒”的核心逻辑。它通过精密的底层文件操作,实现了**“寄生”与“传染”**。
1. 宿主筛选与感染决策逻辑#
病毒通过 sub_403807 建立了一套严密的“宿主筛选机制”,根据受控状态动态切换其感染策略:
- 精准寄生(传染性体现):当处于默认状态时,病毒并不破坏系统,而是利用
switch语句精准锁定.doc,.xls,.jpg,.rar等高价值文件。这些文件是用户最常分享、备份的对象,病毒通过寄生其中,实现了跨物理隔离(如U盘、邮件)的传染。 - 毁灭性打击(破坏性体现):一旦触发
0xAABBCCDD标识,病毒将转化为“疯狗模式”,无视格式对全盘文件进行头部的异或加密,瞬间瘫痪整个文件系统。
2. 底层寄生技术:内存映射与静默篡改#
病毒展示了高级感染型病毒常用的底层技术,以确保感染过程的快速与静默:
- 内存映射(Memory Mapping)技术: 病毒调用
CreateFileMappingA和MapViewOfFile,将目标宿主文件直接映射到病毒进程的内存地址空间。这意味着病毒可以像修改自己的内存一样直接修改宿主文件的二进制代码,这种方式能在极短时间内完成全盘感染。 - 4096字节的“外科手术”加密: 在加密模式下,病毒仅针对文件头部的前 4096 字节进行异或(XOR)处理。
- 原理:文件头存储了该文件的关键结构信息(如程序的入口点、文档的格式定义)。
- 目的:只需破坏这 1KB 的数据,就能让数 GB 大小的文件彻底失效。这种“攻其一点”的做法极大地降低了病毒的计算开销,使其在后台大规模感染时不易被发现。
3. 感染标识#
在代码中,0xAABBCCDD 不仅是加密开关,更是病毒的感染戳。
- 避免二次伤害:病毒在处理文件前会检查该标识。如果文件已带此标记,病毒将跳过,防止因重复感染导致文件结构彻底崩溃。一旦宿主文件的结构崩溃,操作系统将无法加载它。如果宿主文件无法运行,病毒寄生在其中的代码也就永远失去了被触发和运行的机会,这相当于病毒的**“自杀”** 。
- 持久生存:这种标记确保了病毒在系统内建立起稳定的“寄生群落”,每个宿主文件都成为了病毒的潜伏备份。
4. 为什么它是“最顽固”的威胁?#
- 宿主共生:病毒代码已经成为了正常文件的一部分。
- 清理困难:杀毒软件如果简单地删除被感染文件,会同时删掉用户的数据。必须准确地执行“剥离”操作(反异或并修复文件头),才能找回原始数据。
- 无限复活:只要有一个被感染的文档被遗漏,在用户打开该文档的瞬间,病毒代码就会在内存中再次被执行,引发新一轮的全盘大爆发现象。
应急处置清单#
- 文件清理:删除
%CommonFiles%\Microsoft Shared\resvr.exe以及同目录下的Index.dat。 - 自启动修复:进入
开始菜单\程序\启动,删除“水印标签系统.lnk” 。 - 账户安全自查:检查并禁用名为
Guest的管理员账户,关闭 C 盘的默认共享。 - 残留处理:寻找并删除病毒运行过程中产生的
X.bat临时自删除脚本 。