[原创]某病毒样本分析
文件说明:
133046_xeex.exe.vir:样本文件
upmhfzxspk.sys: 由133046_xeex.exe.vir释放出来的文件
p2phook.sys: 由upmhfzxspk.sys释放出来的文件
p2pc.ini: 由upmhfzxspk.sys释放出来的文件
safemon.dll: 由upmhfzxspk.sys释放出来的文件
beep.sys:由upmhfzxspk.sys释放出来的文件
首先查下壳,发现是vmp的壳

拖进ida,几乎没法看

在虚拟机里运行用火绒剑看下行为,创建了一个IE浏览器的进程就退出了,说明可能有虚拟机检测

接下来用od分析
样本判断是否加载是否的驱动,如果已经加载了,则结束进程,如果检测到在虚拟机中运行就会运行ie浏览器,打开网页http://xytets.com:2345/t.asp?1002vm,并结束自身进程。

进call 00401610 发现检测虚拟机的代码(VMwar系统存在后门,用于虚拟系统和真实系统的交互)来判断是否程序运行在虚拟机中

我们可以把0040171D这句nop掉,继续运行,用火绒剑就能看到很多行为了。


接下来去od中验证这些行为。
在C:\temp目录创建一个随机10个字母为名称的sys文件

调用api WriteFile向刚创建的文件中写入数据

这里说明下,进call 00444783会发现有些混淆的代码,实际上这是vmp对IAT表的保护,我们可以一直按F7单步就可以到真正的api地址

安装服务加载驱动

删除释放并加载过的驱动文件(趁他还没删,去到C:\Temp目录下找到驱动文件复制出来,待会分析)

运行safemon.dll 中的p2pr函数

提升进程权限

将safemon.dll远线程注入explorer进程

运行ie浏览器打开网页http://xytets.com:2345/t.asp?id=1002 ,然后结束进程

看来主要功能都在释放并加载的驱动文件里了,接下来分析下加载的驱动文件吧



接下来分析safemon.dll,先分析进程名是explorer的情况
解密出来了两个

重复尝试连接网站l.nodsafe.com和 n.nodsafe.com

接下来分析进程名是IEXPLORE.EXE的情况
首先看下p2pc.inc文件

读取配置项p2pc.ini

解密出配置项中url_0那一项的内容是http://www.h0120.com/?1

Hook实现修改浏览器主页为http://www.h0120.com/?1


接下来分析beep.sys文件
貌似就设置了一些注册表项加载p2phook.sys驱动

最后做个总结吧
1:样本先检测是否在虚拟机中运行,如果是则打开网页http://xytets.com:2345/t.asp?1002vm并退出自身进程,如果不在虚拟机中则在c:\temp路径下生成随机10位字母名称的驱动文件,加载驱动。并设置为开机自启动 。
2:随机名称的驱动文件生成p2phook.sys(和原文件一样的驱动文件) ,safemon.dll,p2pc.ini,beep.sys,并讲beep.sys替换掉系统原本的beep.sys文件
3:将safemon.dll注入到explorer进程,并访问网址l.nodsafe.com和 n.nodsafe.com
4:检测到浏览器进程就会注入safemon.dll,修改主页为http://www.h0120.com/?1
