首页
社区
课程
招聘
[原创]磁碟机MFC病毒分析报告
发表于: 2020-5-27 10:37 10165

[原创]磁碟机MFC病毒分析报告

2020-5-27 10:37
10165

简介

该样本是磁碟机病毒,使用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,参数依次对应

  • ptr-- 这是指向要被写入的元素数组的指针。
  • size-- 这是要被写入的每个元素的大小,以字节为单位。
  • nmemb-- 这是元素的个数,每个元素的大小为 size 字节。
  • stream-- 这是指向 FILE 对象的指针,该 FILE 对象指定了一个输出流。

该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直播授课

收藏
免费 0
支持
分享
最新回复 (4)
雪    币: 66
活跃值: (2718)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
2
好多年前中过这个病毒,大概08年的时候,那时候还有机器狗,哈哈哈哈
2020-5-29 08:56
0
雪    币: 163
活跃值: (169)
能力值: ( LV3,RANK:20 )
在线值:
发帖
回帖
粉丝
3
最近在国内沙箱找到这样的一个病毒样本,就拿来简单的分析分析
2020-5-29 14:52
0
雪    币: 28
活跃值: (14)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
4
666
2020-5-30 13:19
0
雪    币: 482
活跃值: (424)
能力值: ( LV3,RANK:20 )
在线值:
发帖
回帖
粉丝
5
邪神蘑菇 最近在国内沙箱找到这样的一个病毒样本,就拿来简单的分析分析[em_86]
请教一下,你用的什么行为检测工具
2021-9-30 12:46
0
游客
登录 | 注册 方可回帖
返回
//