木马H2003031201_邓林琳_基于VC的一种简单木马的设计

网站木马检测  时间:2021-01-11  阅读:()

分类号 TP309.5 U D C D10621-408-(2007)6026-0密 级公开 编号 2003031201

成都信息工程学院

学位论文

基于VC的一种简单木马的设计

论文作者姓名 邓林琳

申请学位专业 计算机科学与技术

申请学位类别 工学学士

指导教师姓名职称 杨上金副研究员

论文提交日期 2007年06月 10 日

基于VC的一种简单木马的设计

摘 要

目前 Internet已经得到非常广泛的使用但是同时各种黑客工具和网络攻击手段也层出不穷。黑客入侵给人们造成的各种损失也越来越大其中木马就是被广泛使用的黑客工具之一它对网络安全造成了极大的威胁。

本毕业设计使用VC++ 6.0为开发平台设计的一个简单的木马程序主要实现了获取远程被控计算机的基本信息、锁定其鼠标和键盘、注销重启和关闭被控计算机、隐藏并开启其任务栏、 向被控计算机发送消息等功能。

本论文从选题背景入手介绍了与本系统相关的一些理论知识以及开发工具随后详细介绍了该木马程序的开发过程包括服务端/客户端的socket编程木马服务端和客户端通信的实现以及实现远程控制的各种具体功能的实现。最后对系统进行测试并对所做工作进行总结。

关键词木马远程控制 VC Windows Socket

The Design of the Trojan Horse Based on Visual C

Abstract

With the popularization of the Internet and the development of its application,various kinds of Internet-attacking methods are appeared. These Internet-attacking have seriously damaged the machines and the Internet users.The Trojan horse is one of the popular tools used by hacker and influenced the network security more and mo re.

In this design a simple Trojan horse is developed with Visual C++6.0. The primary function includes: getting system information of the long-distance computer,locking its mouse and keyboard, rebooting logout and turn off the computer,hiding taskbar, sending message,catching and killing the process and so on.

In this paper, the background and the development technology is introduced at first, and then it introduces the design process of the Trojan Horse, includes socket programming of the server and client, communication between the server and client and implementation the function in detail.

Key words:Trojan Horse;Long-distance contro l;VC;Windows Socket

目 录

论文总页数 26页1 引言. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .1

2 相关技术介绍. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .1

2. 1 开发环境VC++6.0. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .1

2.2 套接字S O C KE T编程原理. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .1

2.3 木马基本原理. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .3

2.3. 1 木马定义. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .3

2.3.2 木马发展. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .3

2.3.3 木马基本组成. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .4

2.3.4 C/S客户服务器模式. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .4

2.3.5 木马入侵过程. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .5

3 系统设计. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .7

3. 1 系统总体设计. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .7

3. 1. 1 设计目标. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .7

3. 1.2 功能介绍. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .8

3.2 具体功能实现. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .9

3.2. 1 获取信息功能. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .9

3.2.2 清除信息. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .10

3.2.3 锁定鼠标和键盘. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .10

3.2.4 注销、重启和关机. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .11

3.2.5 隐藏并开启任务栏. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .13

3.2.6 发送消息. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .16

3.2.7 查看进程. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .17

3.2.8 木马的伪装. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .20

4 系统测试. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .23

结 论. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .24

参考文献. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .24

致 谢. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .25

声 明. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .26

1 引言

以Internet为代表的全球性信息化浪潮日益高涨信息网络技术的应用正日益普及伴随网络的普及安全问题日益成为影响网络效能的重要问题。不管是菜鸟级别的还是高手级别的黑客都越来越频繁的使用木马进行网络攻击。黑客使用木马对网络造成的危害越来越大。最早的特洛伊木马就是一种基于远程控制的黑客工具具有隐蔽性和非授权性的特点。而远程监控木马虽然从技术划分它属于第一代木马但是由于其良好的操作界面和容易伪装的特性现在仍然被广泛使用。

由于大多数人对网络安全的态度都是和消极和被动的往往等到灾害产生了才想办法解决完全忽视了预防重于治理的重要性。本文详细分析了远程监控模式的木马的工作原理和设计方法对木马技术有详细的认识能够为预防和治理黑客入侵有极大的帮助。

2 相关技术介绍

2. 1开发环境VC++6.0

VC自诞生以来一直是Windows环境下最主要的应用开发系统之一Visual c++不仅是C++语言的集成开发环境而且与Win32紧密相连利用Visual c++开发系统可以完成各种各样的应用程序开发从底层软件到上层直接面向用户的软件强大的调试功能为大型复杂软件的开发提供了有效的排错手段。

进入20世纪90年代以来随着多媒体技术和图形图像技术的不断发展可视化技术(Visual)得到广泛重视越来越多的计算机专业人员和非专业人员都开始研究并应用可视化技术。所谓可视化一般是指软件开发阶段的可视化和计算机图形技术和方法的应用。可视化编程就是软件开发阶段的可视化。 Visual c++是一款很好的可视化开发工具。界面友好缩短了开发时间便于程序员操作。

开发环境是程序员同VC++的交互界面通过Visual c++程序员可以直接访问C++源代码编辑器、资源编辑器、使用内部调试器还可以创建项目文件。

本程序中用VC++6.0中的MFC开发环境 server使用MFC中的单文档模式来实现 client使用MFC中的基本对话框模式。

2.2套接字Socket编程原理

最初由美国伯克利大学在Unix上推出的 当应用程序访问通信协议的操作系统时调用套接字(Socket) 。 Socket的出现使程序员可以方便的访问TCP/IP从而开发各种网络应用的程序。套接字存在于通信区域中即地址族它是一个抽象的概念主要用于将通过套接字通信的进程的共有特性组合在一起。它通常只与同一区域的套接字交换数据 Windows socket只支持一个通信区域 网际域(AF_IENT) ,这个域被使用网际协议族通信的进程使用。

套接口有三种类型流式套接口、数据报套接口、原始套接口。流式套接口定义了可靠的面向连接的服务实现了无差错无重复的顺序数据传输。数据报套接口定义了一种无连接的服务数据通过相互独立的报文传输是无序的并且不保证可靠和无差错。原始套接口允许对底层协议IP或ICMP直接访问主要用于新的网络协议的实现。面向连接套接口应用时序图如图2-1

图2-1面向连接套接口应用时序图

图示说明

服务器端进行的操作为

1) 打开一个通信通道并告知本地主机它愿意在某一地址和端口上面接收客户请求

2) 等待客户请求到达该端口

3) 接受到重复服务请求处理该请求并发送应答信号接收到并发服务请求要激活一个新的进程或线程来处理这个客户请求。新进程或线程处理此客户请求并不需要对其他请求做出应答。服务完成后关闭此新进程与客户的

通信链路并终止。

4) 返回第二步等待另一客户请求

5) 关闭服务器

客户方进行的操作为

1) 打开一个通信通道并连接到服务器所在主机的特定端口

2) 向服务器发送请求报文等待并接收应答继续提出请求

3) 请求结束后关闭通信通道并终止

2.3木马基本原理

2.3. 1木马定义

特洛伊木马以下简称木马英文叫做“Trojan horse”其名取自希腊神话中的木马记。它是一种基于远程控制的黑客工具具有隐蔽性和非授权性的特点。

所谓隐蔽性是指木马的设计者为了防止木马被发现会采用多种手段隐藏木马这样服务端即使发现感染了木马由于不能确定其具体位置往往只能望“马”兴叹。所谓非授权性是指一旦控制端与服务端连接后控制端将享有服务端大部分的操作权限包括修改文件修改注册表控制鼠标控制键盘等操作而这些权利并不是服务端授予的而是通过木马程序窃取的。

通常木马分为两种一种是黑客可以通过远程控制的方式来获取信息木马就是植入被黑者电脑中的服务端程序而黑客则使用客户端程序。另一种是木马植入后 自动收集数据然后发送给黑客使用电子邮件 MSN或者ICQ消息等。

2.3.2木马发展

第一代木马伪装型病毒

这种病毒通过伪装成一个合法性程序诱骗用户上当不具备传染性。世界上第一个计算机木马是出现在1986年的PC-WRITE木马。它伪装成共享软件PC-WRITE的2.72版本一旦用户信以为真运行该木马程序那么他的下场就是硬盘被格式化。

第二代木马 AIDS型木马

1989年出现了AIDS木马它利用电子邮件进行散播给他人寄去一封含木马程序的邮件。该程序运行后虽然不破坏数据但它将硬盘加密锁死然后提示受感染用户花钱消灾。这一代木马已经具备传播特征。

第三代木马 网络传播性木马

这一代木马具备了后门一种可以为计算机系统秘密开启访问入口程序使攻击者绕过安全程序进入系统、记录键盘功能、远程控制等功能利用网络协议进行攻击。

木马技术演变流程分类如图2-2

图2-2木马技术发展分类

2.3.3木马基本组成

一个完整的木马由硬件、软件部分和具体连接部分组成。

 硬件部分建立木马连接所必须的实体。

控制端对服务器进行远程控制的一方。

服务端被控制端远程控制的一方。

INTERNET控制端对被控制端进行远程控制数据传输的网络载体。

 软件部分实现远程控制所必须的软件程序。

控制端程序控制端用于远程控制服务端程序。

木马程序潜入服务器内部获取其操作权限的程序。

木马配置程序设置木马程序端口触发条件木马名称等使其在服务端藏得更加隐蔽的程序。

 具体连接部分通过INTERNET在服务端和控制端之间建立一条木马通道必须的元素包括端口和IP。

控制端IP和服务端IP及服务端和控制端的网络地址也是木马进行数据传输的目的地。

控制端端口木马端口及控制端服务端的数据入口数据可直达控制端程序或木马程序。

2.3.4 C/S客户服务器模式

建立分布式应用程序最常用的范例就是客户机/服务器模式客户应用程序向服务器应用程序请求服务。这种方式隐含了在建立客户机/服务器间通讯时的非对称性。这种模式工作下要求客户机/服务器两端有对称和非对称的协议支持在对称协议中每一方都扮演主从角色在非对称协议中一方不可改变的成为主机而另一方则是从机。但是无论对称协议还是非对称协议服务被提供时必然存在“客户进程”和“服务进程”。

一个服务程序通常在众所周知的地址监听对服务的请求也就是说服务进程一直处于休眠状态直到一个客户对这个服务的地址提出了连接请求。这时服务程序被“唤醒”并且为客户提供服务对客户的请求做出适当的反应。 C/S 模式工作流程如图2-3

图2-3客户/服务模式

2.3.5木马入侵过程

要对黑客使用木马入侵进行有效彻底的防护需要先对入侵流程进行完整详细的了解。基本上黑客使用木马进行黑客工作的流程很固定并没有很复杂的地方具体流程如图2-4

图2-4木马入侵过程

 选择木马

一般来说若黑客已经有特定目标例如想获取被黑者的某个帐户与密码则会选择特定型木马若没确定想从黑客电脑种获取什么样的文件或数据则会选择综合型木马即功能比较强大的木马。确定要使用哪种木马之后可以从网

趣米云月付460元,香港CN2云服务器VPS月付低至18元

趣米云早期为做技术起家,为3家IDC提供技术服务2年多,目前商家在售的服务有香港vps、香港独立服务器、香港站群服务器等,线路方面都是目前最优质的CN2,直连大陆,延时非常低,适合做站,目前商家正在做七月优惠活动,VPS低至18元,价格算是比较便宜的了。趣米云vps优惠套餐:KVM虚拟架构,香港沙田机房,线路采用三网(电信,联通,移动)回程电信cn2、cn2 gia优质网络,延迟低,速度快。自行封...

DiyVM(50元起)老牌商家,香港沙田CN2直连vps/不限流量/五折终身优惠

diyvm怎么样?diyvm是一家国内成立时间比较久的主机商家了,大约在6年前站长曾经用过他家的美国机房的套餐,非常稳定,适合做站,目前商家正在针对香港沙田机房的VPS进行促销,给的是五折优惠,续费同价,香港沙田机房走的是CN2直连的线路,到大陆地区的速度非常好,DiyVM商家采用小带宽不限流量的形式,带宽2Mbps起步,做站完全够用,有需要的朋友可以入手。diyvm优惠码:五折优惠码:OFF50...

热网互联33元/月,香港/日本/洛杉矶/韩国CN2高速线路云主机

热网互联怎么样?热网互联(hotiis)是随客云计算(Suike.Cloud)成立于2009年,增值电信业务经营许可证:B1-20203716)旗下平台。热网互联云主机是CN2高速回国线路,香港/日本/洛杉矶/韩国CN2高速线路云主机,最低33元/月;热网互联国内BGP高防服务器,香港服务器,日本服务器全线活动中,大量七五折来袭!点击进入:热网互联官方网站地址热网互联香港/日本/洛杉矶/韩国cn2...

网站木马检测为你推荐
主机空间主机空间和流量的具体意思!域名注册公司找家正规的中文域名注册公司域名空间代理现在代理域名空间赚钱吗虚拟主机购买虚拟主机哪里购买的好?国外空间租用好用的国外空间域名主机电脑域名是什么com域名注册com域名是永久注册的吗云服务器租用云服务器租用需要注意哪些方面香港虚拟空间最好的香港虚拟主机是哪家?asp网站空间ASP空间是什么?
荷兰vps 免费域名解析 siteground 香港服务器99idc omnis 域名优惠码 wordpress技巧 本网站服务器在美国 国外代理服务器地址 彩虹云 香港亚马逊 东莞idc 空间登陆首页 linode支付宝 umax 广州服务器托管 hdsky SmartAXMT800 windowssever2008 sonya 更多