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

 选择木马

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

Vultr再次发布充值多少送多少活动

昨天我们很多小伙伴们应该都有看到,包括有隔壁的一些博主们都有发布Vultr商家新的新用户注册福利活动。以前是有赠送100美元有效期30天的,这次改成有效期14天。早年才开始的时候有效期是60天的,这个是商家行为,主要还是吸引到我们后续的充值使用,毕竟他们的体验金赠送,在同类商家中算是比较大方的。昨天活动内容:重新调整Vultr新注册用户赠送100美元奖励金有效期14天今天早上群里的朋友告诉我,两年...

JustHost,最新高性价比超便宜俄罗斯CN2 VPS云服务器终身8折优惠,最低仅8元/月起,200Mbps带宽不限流量,五大机房自助自由切换,免费更换IP,俄罗斯cn2vps怎么样,justhost云服务器速度及综合性能详细测评报告

主机参考最新消息:JustHost怎么样?JustHost服务器好不好?JustHost好不好?JustHost是一家成立于2006年的俄罗斯服务器提供商,支持支付宝付款,服务器价格便宜,200Mbps大带宽不限流量,支持免费更换5次IP,支持控制面板自由切换机房,目前JustHost有俄罗斯5个机房可以自由切换选择,最重要的还是价格真的特别便宜,最低只需要87卢布/月,约8.5元/月起!just...

Atcloud:全场8折优惠,美国/加拿大/英国/法国/德国/新加坡vps,500g大硬盘/2T流量/480G高防vps,$4/月

atcloud怎么样?atcloud刚刚发布了最新的8折优惠码,该商家主要提供常规cloud(VPS)和storage(大硬盘存储)系列VPS,其数据中心分布在美国(俄勒冈、弗吉尼亚)、加拿大、英国、法国、德国、新加坡,所有VPS默认提供480Gbps的超高DDoS防御。Atcloud高防VPS。atcloud.net,2020年成立,主要提供基于KVM虚拟架构的VPS、只能DNS解析、域名、SS...

网站木马检测为你推荐
云主机租用我想租用云主机,请问下该如何操作?买虚拟主机如何选择、购买虚拟主机独立ip空间独立IP的空间有什么好处独立ip空间如何设置独立IP加到现有空间已备案域名查询如何快速查询已备案域名并抢注中文域名注册查询中文.com域名是什么,怎么注册网站域名怎么知道一个网站域名是什么啊!网站服务器租用网站的服务器买哪里的最好,还有租用一年大概多少钱???急!!!国内ip代理全国各省代理IP网站空间购买网站空间购买注意事项
怎样申请域名 域名商 site5 香港机房托管 xen 免费smtp服务器 云鼎网络 vip购优汇 刀片服务器的优势 域名和空间 php空间购买 vip域名 drupal安装 域名与空间 空间租赁 linode支付宝 稳定空间 网站防护 zcloud 服务器是什么 更多