RISING 瑞星
首页 » 专杀工具 » “马吉斯(Worm.Magistr)”病毒专杀工具
 资讯  病毒

“马吉斯(Worm.Magistr)”病毒专杀工具

软件说明

病毒名称: Worm.Magistr.g

病毒是由C语言编写的感染型病毒,感染后缀名为EXE的32位PE可执行程序,病毒源的大小为40KB。

病毒源文件为boot.exe,由用户从U盘上提取。

病毒源文件流程:

boot.exe运行后检查自己是否在驱动器根目录下,如不是退出。

检查是否存在"C:\WINNT\linkinfo.dll",如果不存在则建立该文件。
检查驱动文件是否存在,如不存在则生成驱动文件%SystemRoot%\system32\drivers\IsDrv118.sys(加载后删除),并调用ZwSetSystemInformation加载驱动。

装载该dll,然后查找病毒调用序号为101的导出函数。

DLL流程:

DLL被装载时:

1、获得系统sfc.dll中的SfcIsFileProtected函数地址,以便在感染时调用以防止感染受系统保护的文件。
2、获取系统的linkinfo.dll(%system32%目录下)的下列导出函数,使自己导出的同名函数指向正常的linkinfo.dll中正确的函数,以便转接这些函数。

ResolveLinkInfoW
ResolveLinkInfoA
IsValidLinkInfo
GetLinkInfoData
GetCanonicalPathInfoW
GetCanonicalPathInfoA
DisconnectLinkInfo
DestroyLinkInfo
CreateLinkInfoW
CreateLinkInfoA
CompareLinkInfoVolumes
CompareLinkInfoReferents

3、检查自己是否在explorer.exe进程中,如不是则启动病毒主线程。

4、启动病毒主线程

病毒首先通过VMWare后门指令检查是否是在VMWare下运行,如果是直接重启机器,以此来防止自己在虚拟机中被运行。

生成名称为"PNP#DMUTEX#1#DL5"的互斥量,以保证只有一个实例在运行。

然后开始启动各工作线程

5、工作线程1(生成窗口和消息循环)

生成隐藏的窗口和消息循环,并通过调用RegisterDeviceNotificationA注册设备通知消息,当发现插入可移动磁盘时,向可移动磁盘写入病毒源boot.exe。

6、工作线程2(遍历并感染所有磁盘)

从"C:\"开始感染所有磁盘中后缀名为"exe"的文件。

病毒在感染时,不感染"QQ"、"winnt"和"windows"目录下的程序文件,并通过调用SfcIsFileProtected来检查是否为系统文件,如是则不感染。
同时,病毒不感染以下程序:

wooolcfg.exe
woool.exe
ztconfig.exe
patchupdate.exe
trojankiller.exe
xy2player.exe
flyff.exe
xy2.exe
大话西游.exe
au_unins_web.exe
cabal.exe
cabalmain9x.exe
cabalmain.exe
meteor.exe
patcher.exe
mjonline.exe
config.exe
zuonline.exe
userpic.exe
main.exe
dk2.exe
autoupdate.exe
dbfsupdate.exe
asktao.exe
sealspeed.exe
xlqy2.exe
game.exe
wb-service.exe
nbt-dragonraja2006.exe
dragonraja.exe
mhclient-connect.exe
hs.exe
mts.exe
gc.exe
zfs.exe
neuz.exe
maplestory.exe
nsstarter.exe
nmcosrv.exe
ca.exe
nmservice.exe
kartrider.exe
audition.exe
zhengtu.exe

7、工作线程3(禁止其它病毒、破坏卡卡助手和感染网络)

枚举进程,如果进程的程序文件名(包括目录)是如下程序(常见的病毒程序),将终止该进程

realschd.exe
cmdbcs.exe
wsvbs.exe
msdccrt.exe
run1132.exe
sysload3.exe
tempicon.exe
sysbmw.exe
rpcs.exe
msvce32.exe
rundl132.exe
svhost32.exe
smss.exe
lsass.exe
internat.exe
explorer.exe
ctmontv.exe
iexplore.exe
ncscv32.exe
spo0lsv.exe
wdfmgr32.exe
upxdnd.exe
ssopure.exe
iexpl0re.exe
c0nime.exe
svch0st.exe
nvscv32.exe
spoclsv.exe
fuckjacks.exe
logo_1.exe
logo1_.exe
lying.exe
sxs.exe

病毒通过修改卡卡助手的驱动"%system32%\drivers\RsBoot.sys"入口,使该驱动在加载时失败。

枚举网络资源,并尝试对网络资源中的文件进行感染。

枚举并尝试向局域网中计算机的隐藏共享文件夹"%s\\IPC$"、"C$"等写入名称为"setup.exe"的病毒源文件,尝试连接时使用"Administrator"作为用户名,并使用下列密码尝试。

password1
monkey
password
abc123
qwerty
letmein
root
mypass123
owner
test123
love
admin123
qwer
!@#$%^&*()
!@#$%^&*(
!@#$%^&*
!@#$%^&
!@#$%^
!@#$%
asdfgh
asdf
!@#$
654321
123456789
12345
admin

8、工作线程4(修改host文件并下载)
备份host文件为host.txt,并下载文件代替。
查找系统html文件的关联程序,启动并注入dll以便穿过防火墙的拦截。
尝试连接以下地址并下载文件
http://top.cn372*****rg/c.asp
http://top.cn37****rg/top.dat


9、工作线程5(监视并禁止其它病毒)

通过调用驱动获得新生成的进程,如果进程的文件是指定程序(见工作线程3),终止该进程


驱动:

该驱动加载后首先通过替换 SDT 的中的函数地址挂钩
 ZwSaveKey
 ZwQueryDirectoryFile
 ZwClose
 ZwEnumerateKey
 ZwLoadDriver
 ...
等 API 来保护病毒的注册表键值不被发现和修改,并隐藏病毒文件(boot.exe, linkinfo.dll, nvmini.sys等),
以及禁止一些安全软件的驱动加载。

然后,驱动创建一个名为 DL5CProc 的设备。用户进程可以通过 ioctl = 25270860 来获得最后一个创建进程的进程 ID。
这个进程 ID 是通过调用 PsSetCreateProcessNotifyRoutine 得到的通知获得。

该驱动还会通过 PsSetLoadImageNotifyRoutine 设置映像加载通知,如果加载的映像文件在以下子目录中:
 COMMON FILES, WINDOWS\SYSTEM32, WINNT\SYSTEM32
并且名为:
 DLLWM.DLL
 WININFO.RXK
 RICHDLL.DLL
 WINDHCP.DLL
 DLLHOSTS.DLL
 NOTEPAD.DLL
 RPCS.DLL
 RDIHOST.DLL
 RDFHOST.DLL
 RDSHOST.DLL
 LGSYM.DLL
 RUND11.DLL
 MDDDSCCRT.DLL
 WSVBS.DLL
 CMDBCS.DLL
 UPXDHND.DLL
该驱动会通过修改物理内存修改模块入口是这些模块返回失败,无法成功加载。这些动态库多是一些盗密码的
病毒以及Worm.Viking的动态库,所以被 Magister 感染的系统不会再感染这些病毒。

被感染的文件:

病毒感染文件时,会将原文件最后一个节增大,将病毒代码写入被感染文件的代码节,修改入口点指向病毒代码并保存原来的入口点地址,然后将被覆盖的原来文件的代码、病毒的dll、sys文件压缩保存在文件最后一个节中增大的地方。被感染的文件运行时,病毒代码先被运行,释放C:\WINNT\linkinfo.dll和%SystemRoot%\system32\drivers\IsDrv118.sys并加载,然后调用linkinfo.dll的序号为101的函数。病毒代码最后会恢复原文件被覆盖的代码并跳回原文件的入口开始运行原来的文件。