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

 选择木马

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

炭云188元/年,上海CN2 VPS/2核/384MB内存/8GB空间/800GB流量/77Mbps端口/共享IP

炭云怎么样?炭云(之前的碳云),国人商家,正规公司(哈尔滨桓林信息技术有限公司),主机之家测评介绍过多次。现在上海CN2共享IP的VPS有一款特价,上海cn2 vps,2核/384MB内存/8GB空间/800GB流量/77Mbps端口/共享IP/Hyper-v,188元/年,特别适合电信网络。有需要的可以关注一下。点击进入:炭云官方网站地址炭云vps套餐:套餐cpu内存硬盘流量/带宽ip价格购买上...

昔日数据月付12元起,湖北十堰机房10M带宽月付19元起

昔日数据怎么样?昔日数据是一个来自国内服务器销售商,成立于2020年底,主要销售国内海外云服务器,目前有国内湖北十堰云服务器和香港hkbn云服务器 采用KVM虚拟化技术构架,湖北十堰机房10M带宽月付19元起;香港HKBN,月付12元起; 此次夏日活动全部首月5折促销,有需要的可以关注一下。点击进入:昔日数据官方网站地址昔日数据优惠码:优惠码: XR2021 全场通用(活动持续半个月 2021/7...

10gbiz:香港/洛杉矶CN2直连线路VPS四折优惠,直连香港/香港/洛杉矶CN2四折

10gbiz怎么样?10gbiz在本站也多次分享过,是一家成立于2020的国人主机商家,主要销售VPS和独立服务器,机房目前有中国香港和美国洛杉矶、硅谷等地,线路都非常不错,香港为三网直连,电信走CN2,洛杉矶线路为三网回程CN2 GIA,10gbiz商家七月连续推出各种优惠活动,除了延续之前的VPS产品4折优惠,目前增加了美国硅谷独立服务器首月半价的活动,有需要的朋友可以看看。10gbiz优惠码...

网站木马检测为你推荐
网络域名注册网站域名申请linux主机Linux主机 VS. Windows主机,您选择哪一个?域名服务域名系统主要是什么?网站域名空间网站域名和空间美国网站空间我想买个国外的网站空间,那家好,懂的用过的来说说100m网站空间网站空间100M指多大云南虚拟主机云南虚拟主机,公司网站用本地客户,云南数据港怎么样?windows虚拟主机win10用什么虚拟机好长沙虚拟主机在长沙,哪个兼职网站最最可靠??长沙虚拟主机长沙虚拟主机租用 哪里的比较靠谱 朋友介绍湘域互联的 有谁用过
域名备案中心 linuxapache虚拟主机 万网免费域名 老域名全部失效请记好新域名 naning9韩国官网 isatap sub-process 美国php主机 parseerror 论坛空间 网站挂马检测工具 qq数据库下载 免费个人空间申请 美国免费空间 环聊 美国盐湖城 国外网页代理 广东主机托管 深圳主机托管 广州服务器托管 更多