简介
该样本是磁碟机病毒,使用MFC编写Windows32位平台下的可执行程序,早在2007年2月的时候,它仅仅作为蠕虫病毒进行感染传播,病毒更新后吸取其他病毒的特点,攻击系统恢复、杀毒软件、检测软件等功能。破坏文件显示设置隐藏在系统的文件夹里,伪装成系统程序lsass.exe、smss.exe。因为没有太多MFC分析经验,分析样本有遗漏的功能没有找到(网络通信),以下对样本进行大致功能分析。
基本信息
文件名 |
文件大小 |
文件类型 |
md5 |
037589.exe |
94264字节 |
virus |
9078869e8349547b781b59353f07aeb6 |
流程图
动态分析
样本进程启动了多个进程,lsass.exe是其主要活动进程。
与185.53.179.29、23.213.115.60、31.13.65.1等主机建立起http连接
与52.197.205.2建立https连接
创建了隐藏文件lsass.exe、netcfg.000、netcfg.dll、smss.exe,创建了一个驱动文件随后删除掉了。
对某些exe进行了修改。
应用层消息钩子,该函数防止一些检测系统的软件执行。
详细分析
upx脱壳后得到MFC程序,mfc程序从入口是比较难找到分析点的,最好通过行为定位恶意函数。
第一部分——样本启动
运行环境检测
从sub_404010函数开始进行详细分析,样本运行后做一些初始化操作,检查样本进程是否正在运行,通过窗体类名XOR和#32770进行查找,如果找到就将其结束掉。
设置窗口标题名称为MCI Program Com Application
创建互斥名,如果互斥名称存在程序退出。
对窗口标题进行检测,符合条件的情况下程序退出,如病毒程序(lsass.exe、smss.exe、磁碟机、...)正在运行,360安全正在运行等。
删除注册表启动项
读取注册表中启动目录、ie启动命令行、winrar启动命令行
运行一个CMD命令回显一个OK
注册表修改
关闭文件夹高级隐藏选项设置,禁用系统的恢复模式
删除镜像劫持项,启用设备自动运行功能。
更改隐藏文件(夹)选项设置,删除组策略设置。
对系统目录下C:\Windows\System32\com添加完全控制权限给Administrator(管理员)和Everyone(每个用户)。
释放并加载驱动文件,然后删除一些安全软件的服务。
删除Windows安全策略,删除Windows组策略设置
文件释放
释放smss.exe到com目录
从自身资源数据写入netcfg.000并复制为dll后缀。
将DLL文件注册到系统
对释放的两个文件进行系统属性隐藏
复制到com目录下为lsass.exe然后执行该程序,将其修改系统隐藏后运行到此结束,该部分主要功能为向系统目录下com文件夹部署病毒程序伪装成lsass,并设置文件不可见,然后启动病毒。
第二部分——lsass伪装
病毒执行时会重复执行以上功能,当病毒文件隐藏属性执行时,会对磁盘文件进行修改。
感染exe,在js的else分支里会修改js文件。
)
感染压缩文档
为每个磁盘驱动器添加自动运行配置信息(autorun.inf),以自动加载病毒程序,这个pif文件(pagefile.inf)其实就是病毒本身,打开文件看到MZ与PE的标识,复制函数堆栈显示从病毒本身复制出来的副本。
第三部分——smss伪装
这是一个win32的C++程序,在lsass运行后被启动执行,用于守护病毒程序执行。
根据命令行指令进行操作,如果命令行前有“|”则进行文件复制操作,否则创建互斥名“xgahrez”保证只有一个实例正在运行,注册窗口,创建窗口对一些消息事件进行操作。
当命令有“|”符号时的文件复制操作
当命令没有“|”符号时的操作
收到WM_QUERYENDSESSION消息时,在自启动文件夹下复制文件,删除HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Run下的所有项
收到WM_TIMER消息时,如果找不到窗口,就病毒本身,就执行病毒,这个程序就是守护病毒的运行。
收到WM_CAP_START消息时,该程序退出。
第四部分——dnsq.dll
查壳脱壳,得到C++程序win32动态链接库,对其进行分析。
对加载DLL的三个个函数(EnumProcessModules、OpenProcess,CloseHandle)进挂钩(HOOK)
对EnumProcessModules使用sleep阻止对进程模块枚举,造成程序假死未响应。
对OpenProcess判断进程名称lsass、smss、alg,对于这些进程返回0,阻止打开这些进程
对CloseHandle挂钩,创建线程,用无限循环实现对注册表进行修改,对病毒文件进行保护。
sub_10003FBE的函数主要是fwrite,参数依次对应
该dll导出两个钩子相关的函数,使用的是Windows钩子。
IOC
文件 |
MD5 |
037589.exe |
9078869e8349547b781b59353f07aeb6 |
dnsq.dll |
f515bd3278588b6d58a316d059e2778f |
smss.exe |
ae1cd1d740c265b7f18f827f9e37afab |
netcfg.dll |
d1f6b9273cbb2e23aeed11346d0072c5 |
NetApi000.sys |
cef91687bf84b5546bd3a4f3162385c4 |
URL |
IP |
js.k0102.com:http |
185.53.177.53:80 |
相关资料:
相遇【磁碟机】
病毒分析:“磁碟机”病毒分析报告
[培训]内核驱动高级班,冲击BAT一流互联网大厂工作,每周日13:00-18:00直播授课