“磁碟机”病毒分析报告
磁碟机是一个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秒进行以下操作:
1.修改以下键值使得用户无法看到隐藏的受保护的系统文件
HKEY_CURRENT_USERSoftware/Microsoft/Windows/CurrentVersion/Explorer/Advanced
ShowSuperHidden = 0
2.删除以下注册表键值使得用户无法进入安全模式
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}
3.删除以下注册表项,使得镜像劫持失效
HKEY_LOCAL_MACHINE SOFTWARE/Microsoft/Windows NT/CurrentVersion/
Image File Execution Options
4.读取以下注册表键值,判断当前系统是否允许移动设备自动运行,如果不允许则修改为允许
HKEY_LOCAL_MACHINE Software/Microsoft/Windows/CurrentVersion/Policies/Explorer
NoDriveTypeAutoRun
5.修改以下注册表项使得手动修改以下键值无效
HKEY_LOCAL_MACHINE SOFTWARE/Microsoft/Windows/CurrentVersion/Explorer/
Advanced/Folder/SuperHidden
Type = radio
6.添加以下注册表项使得开机时,系统会把该动态库注到大部分进程中
HKEY_LOCAL_MACHINE SOFTWARE/Microsoft/Windows NT/CurrentVersion/
Windows
AppInit_DLLs = %SYSTEM%/dnsq.dll.
7.通过calcs命令启动病毒进程得到完全控制权限,使得其他进程无法访问该进程。
8.查找带以下关键字的窗口,如果找到则向其发消息将其退出:
SREng 介绍、360safe、木、antivir、…
netcfg.dll主要用来下载文件,动态库被加载后会从以下网址下载病毒程序
http://js.k0102.com/data.gif,查找窗口”MCI Program Com Application”如果该窗口不存在则运行下载的程序。