“磁碟机”病毒详尽分析报告

“磁碟机”病毒是一个MFC写的感染型病毒。病毒运行后首先会在C盘根目录下释放病毒驱动NetApi000.sys,该驱动用来恢复SSDT,把杀毒软件挂的钩子全部卸掉。然后在System32路径下的com文件夹中释放病毒文件smss.exe、netcfg.dll、netcfg.000、lsass.exe。 然后该程序退出,运行刚刚释放的lsass.exe。 lsass.exe运行后,会在com文件夹下重新释放刚才所释放的文件,同时会在system32文件夹下释放一个新的动态库文件dnsq.dll,然后生成两个随机名的log文件该文件是lsass.exe和dnsq.dll的副本,然后进行以下操作:
1.从以下网址下载脚本 http://www.****.****/*.htm、.....。
2.生成名为”MCI Program Com Application”的窗口。
3.程序会删除注册表SOFTWARE\Microsoft\Windows\CurrentVersion\Run项下的所有键值。
4.查找带以下关键字的窗口,查找带以下关键字的窗口,如果找到则向其发消息将其退出:RsRavMon、McShield、PAVSRV…
5.启动regsvr32.exe进程,把动态库netcfg.dll注到该进程中。
6.遍历磁盘,在所有磁盘中添加autorun.inf和pagefile.pif,使得用户打开磁盘的同时运行病毒。
7.通过calcs命令启动病毒进程得到完全控制权限,使得其他进程无法访问该进程。
8.感染可执行文件,当找个可执行文件时,把正常文件放在自己最后一个节中,通过病毒自身所带的种子值对正常文件进行加密。
smss.exe用来实现进程保护,程序运行后会进行以下操作:
1.创建一个名为xgahrez的互斥体,防止进程中有多个实例运行。
2.然后创建一个名为MSICTFIME SMSS的窗口,该窗口会对三种消息做出反应:
(1)WM_QUERYENDSESSION:当收到该消息时,程序会删除注册表SOFTWARE\Microsoft\Windows\CurrentVersion\Run项下的所有键值。
(2)WM_TIMER:该程序会设置一个时钟,每隔0.2秒查找“MCI Program Com Application”窗口,如果找不到则运行病毒程序。
(3)WM_CAP_START:当收到该消息时,向其发送退出消息。
3.把lsass.exe拷贝到C盘根目录下命名为037589.log,同时把该文件拷到启动目录下实现自启动。dnsq.dll通过挂接全局消息钩子,把自己注到所有进程中,该动态库主要用来HOOK API和重写注册表。动态库被加载后会进行以下操作: (1)判断自己所在进程是否是lsass.exe、smss.exe、alg.exe,如果是则退出。
(2)HOOK psapi.dll中EnumProcessModules、kernel32.dll中 OpenProcess和CloseHandle这几个API使得杀毒软件无法查杀病毒进程。
(3)遍历进程如果进程名为lsass.exe、smss.exe、alg.exe则直接退出,如果是其他进程则创建一个线程,该线程每隔2秒进行以下操作:
a.修改以下键值使得用户无法看到隐藏的受保护的系统文件 HKEY_CURRENT_USERSoftware\Microsoft\Windows\CurrentVersion\Explorer\Advanced ShowSuperHidden = 0 b.删除以下注册表键值使得用户无法进入安全模式 HKEY_LOCAL_MACHINE SYSTEM\ControlSet001\Control\SafeBoot\Minimal\ {4D36E967-E325-11CE-BFC1-08002BE10318} HKEY_LOCAL_MACHINE SYSTEM\CurrentControlSet\Control\SafeBoot\Minimal\ {4D36E967-E325-11CE-BFC1-08002BE10318} HKEY_LOCAL_MACHINE SYSTEM\ControlSet001\Control\SafeBoot\Network\ {4D36E967-E325-11CE-BFC1-08002BE10318} HKEY_LOCAL_MACHINE SYSTEM\CurrentControlSet\Control\SafeBoot\Network\ {4D36E967-E325-11CE-BFC1-08002BE10318}
c.删除以下注册表项,使得镜像劫持失效 HKEY_LOCAL_MACHINE SOFTWARE\Microsoft\Windows NT\CurrentVersion\ Image File Execution Options
d.读取以下注册表键值,判断当前系统是否允许移动设备自动运行,如果不允许则修改为允许 HKEY_LOCAL_MACHINE Software\Microsoft\Windows\CurrentVersion\Policies\Explorer NoDriveTypeAutoRun
e.修改以下注册表项使得手动修改以下键值无效 HKEY_LOCAL_MACHINE SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\ Advanced\Folder\SuperHiddenType = radio
f.添加以下注册表项使得开机时,系统会把该动态库注到大部分进程中 HKEY_LOCAL_MACHINE SOFTWARE\Microsoft\Windows NT\CurrentVersion\ Windows AppInit_DLLs = %SYSTEM%\dnsq.dll.
g.通过calcs命令启动病毒进程得到完全控制权限,使得其他进程无法访问该进程。
h.查找带以下关键字的窗口,如果找到则向其发消息将其退出:
SREng 介绍、360safe、木、antivir、… netcfg.dll主要用来下载文件,动态库被加载后会从以下网址下载病毒程序 hxxp://js.k0102.com/data.gif,查找窗口”MCI Program Com Application”如果该窗口不存在则运行下载的程序。

你可能感兴趣的:(C++,c,windows,Microsoft,mfc)