木马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木马入侵过程

 选择木马

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

vpsdime:夏日促销活动,美国达拉斯VPS,2G内存/2核/20gSSD/1T流量,$20/年

vpsdime怎么样?vpsdime是2013年注册的国外VPS主机商,实际上他还有一系列的其他域名站点如Winity.io, Backupsy,Cloudive, Virtora等等,母公司“Nodisto IT”相对来说还是很靠谱了的商家。VPSDime主要提供各种高配低价VPS套餐,其中Linux VPS和存储VPS基于OpenVZ架构,高级VPS基于KVM。VPSDime在上个季度的Low...

哪里购买香港云服务器便宜?易探云2核2G低至18元/月起;BGP线路年付低至6.8折

哪里购买香港云服务器便宜?众所周知,国内购买云服务器大多数用户会选择阿里云或腾讯云,但是阿里云香港云服务器不仅平时没有优惠,就连双十一、618、开年采购节这些活动也很少给出优惠。那么,腾讯云虽然海外云有优惠活动,但仅限新用户,购买过腾讯云服务器的用户就不会有优惠了。那么,我们如果想买香港云服务器,怎么样购买香港云服务器便宜和优惠呢?下面,云服务器网(yuntue.com)小编就介绍一下!我们都知道...

VirMach(8元/月)KVM VPS,北美、欧洲

VirMach,成立于2014年的美国IDC商家,知名的低价便宜VPS销售商,支持支付宝、微信、PayPal等方式付款购买,主打美国、欧洲暑假中心产品,拥有包括洛杉矶、西雅图、圣何塞、凤凰城在内的11个数据中心可以选择,可以自由搭配1Gbps、2Gbps、10Gbps带宽端口,有Voxility DDoS高防IP可以选择(500Gbps以上的防御能力),并且支持在控制面板付费切换机房和更换IP(带...

网站木马检测为你推荐
域名注册查询如何查域名有没有被注册网站服务器租用个人网站服务器租用一年多少钱免备案虚拟空间免备案的虚拟主机空间,买了以后会强制备案不?美国网站空间论坛选择空间可以选美国网站空间吗?网站空间免备案哪有不用备案的网站空间?100m虚拟主机一般100-200M虚拟主机一天最多支持多少人访问啊?apache虚拟主机如何用Apache配置安全虚拟主机 - PHP进阶讨论淘宝虚拟主机淘宝买万网虚拟主机怎么变别真假西安虚拟主机如何评价虚拟主机的优劣买域名买域名的时候需要那些注意?
虚拟主机排名 中文域名查询 过期备案域名查询 西部数码vps 域名备案流程 申请免费域名 x3220 外国服务器 香港托管 payoneer sub-process 好玩的桌面 青果网 轻量 中国智能物流骨干网 建立邮箱 百兆独享 七夕促销 卡巴斯基免费试用版 移动服务器托管 更多