关于磁碟机lsass的处理办法
关于磁碟机的分析和处理,在网站上一共贴出三篇文章了(一片分析,一片简单处理,和一片step by step教程,但总是有用户反映太复杂了,看不懂-_-。
可能大多数用户还是习惯于最好能有一个软件,或者专杀,我下载下来运行一个就搞定了。但是事实已经一再证明:这种要求是不现实的——现在的病毒在利益驱动下,变种太快了。限于现有的病毒扫描和匹配方法,任何一种专杀都会在不超过一周时间内失效。
因此,我们不愿意随随便便做一个专杀,然后很快过期。但是,我们有一个折中得办法,这就是使用脚本。它可以确保清理病毒,可以根据病毒的变化很快作出调整。但是它不能确保找到所有的感染的文件——这个任务还是交给你的杀毒软件吧,不过你可能需要等待你的病毒厂商升级它的病毒库,能全面检查出这种病毒。
好了,下面是需要的脚本:因为需要经历两次重新启动,为了简单,干脆分成三个脚本:
step1.vbs:
dim objFileSystem,fDNSQ,fcmd,objShell
dim objNetwork,objUser,objGroup
on error resume next
set objNetwork = WScript.CreateObject("WScript.Network")
strUser = objNetwork.UserName '当前用户名
strDomain=objNetwork.UserDomain '当前域名 - 机器名
Set objUser=GetObject("WinNT://"&strDomain&"/"&strUser) '得到当前用户
Set objGroup=GetObject("WinNT://"&strDomain&"/users") '得到users组
objGroup.add objUser.adspath '将当前用户加入users组
set objFileSystem=WScript.CreateObject("Scripting.FileSystemObject")
set objShell=WSCRIPT.CreateObject("WScript.Shell")
if objFileSystem.FileExists("c:\windows\system32\cmd.exe") then
'set fcmd=objFileSystem.GetFile("c:\windows\system32\cmd.exe")
objFileSystem.Copyfile "c:\windows\system32\cmd.exe","c:\windows\system32\cmd1.exe",true
intrunerror=objShell.Run("cacls c:\windows\system32\cmd.exe /t /e /c /d users",2,true)
if intrunerror<>0 then
msgbox "error: "&intrunerror
end if
end if
if objFileSystem.FileExists("c:\windows\system32\dnsq.dll") then
set fDNSQ=objFileSystem.GetFile("c:\windows\system32\dnsq.dll")
msgbox "发现dnsq.dll! 注意,下面将设置dnsq.dll的权限,可能导致计算机重新启动,这是正常的,不影响脚本的执行效果。"
intrunerror=objShell.Run("cacls c:\windows\system32\dnsq.dll /t /e /c /d users",2,true)
if intrunerror<>0 then
msgbox "error: "&intrunerror
end if
end if
msgbox "权限设置完毕,请立即重新启动计算机"
step2.vbs:
dim objfs,objfile
dim objshell
set objshell=WSCRIPT.CreateObject("WScript.Shell")
set objfs=WScript.CreateObject("Scripting.FileSystemObject")
if objfs.fileExists("c:\windows\system32\dnsq.dll") then
msgbox "可能造成计算机重新启动。确定后继续。"
objshell.run "cacls c:\windows\system32\cmd.exe /t /e /c /d everyone",2,true
end if
msgbox "第二步完成,请重新启动计算机"
step3.vbs
dim objShell,objFS,objUser,objGroup,objNetwork
set objShell=WSCript.CreateObject("WScript.Shell")
set objNetwork=WSCript.CreateObject("WScript.Network")
set objFS=WSCript.CreateObject("Scripting.FileSystemObject")
strcurun=objNetwork.UserName
Ucurn=ucase(strcurun)
strcomputer="."
set objwmiservice=GetObject("winmgmts:\\" & strcomputer & "\root\cimv2")
set processlist=objwmiservice.execquery("select * from win32_process")
for each objprocess in processlist
objprocess.getowner strusername, struserdomain
Uunop=ucase(strusername)
if Ucurn=uunop AND (ucase(objprocess.name)="LSASS.EXE" or ucase(objprocess.name)="SMSS.EXE" or ucase(objprocess.name)="ALG.EXE") then
objShell.Run("ntsd -c q -p " & objprocess.handle)
end if
next
objfs.deletefile "c:\windows\system32\com\lsass.exe",true
objfs.deletefile "c:\windows\system32\com\smss.exe",true
objfs.deletefile "c:\windows\system32\com\lsass.exe",true
objfs.deletefile "c:\windows\system32\drivers\alg.exe",true
objfs.deletefile "c:\windows\system32\com\lsass.exe",true
objfs.deletefile "c:\windows\system32\com\netcfg.dll",true
msgbox "清除完毕。请使用杀毒软件做全面扫描。如有问题请反映至邮件digitcare@126.com。谢谢"
分别将以上彩色文字复制,粘贴到文本文件中,另存为step1.vbs,step2.vbs,step3.vbs,然后首先双击运行step1.vbs,重新启动后运行step2.vbs,再重启之后运行step3.vbs。应该就可以了。
我会关注病毒的发展,随时更新这几个脚本,在进一步完善——比如大小写再统一一下,提示再友好一些,错误处理再完整一些等等——之后,贴到网站上去。