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

 选择木马

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

incogne$2.5/月t芬兰VPS,AMD Ryzen、1Gbps带宽

IncogNet LLC是个由3个人运作的美国公司,主要特色是隐私保护,号称绝对保护用户的隐私安全。业务涵盖虚拟主机、VPS等,支持多种数字加密货币、PayPal付款。注册账号也很简单,输入一个姓名、一个邮箱、国家随便选,填写一个邮箱就搞定了,基本上不管资料的真假。当前促销的vps位于芬兰机房,全部都是AMD Ryzen系列的CPU,性能不会差的!5折优惠码:CRYPTOMONTH,支持:BTC,...

香港站群多ip服务器多少钱?零途云香港站群云服务器怎么样?

香港站群多ip服务器多少钱?想做好站群的SEO优化,最好给每个网站都分配一个独立IP,这样每个网站之间才不会受到影响。对做站群的站长来说,租用一家性价比高且提供多IP的香港多ip站群服务器很有必要。零途云推出的香港多ip站群云服务器多达256个IP,可以满足站群的优化需求,而且性价比非常高。那么,香港多ip站群云服务器价格多少钱一个月?选择什么样的香港多IP站群云服务器比较好呢?今天,小编带大家一...

数脉科技香港自营,10Mbps CN2物理机420元/月

数脉科技怎么样?数脉科技品牌创办于2019,由一家从2012年开始从事idc行业的商家创办,目前主营产品是香港服务器,线路有阿里云线路和自营CN2线路,均为中国大陆直连带宽,适合建站及运行各种负载较高的项目,同时支持人民币、台币、美元等结算,提供支付宝、微信、PayPal付款方式。本次数脉科技给发来了新的7月促销活动,CN2+BGP线路的香港服务器,带宽10m起,配置E3-16G-30M-3IP,...

网站木马检测为你推荐
服务器租用为什么要租用服务器,有什么好处?全能虚拟主机那家虚拟主机服务商比较不错,比较有名?域名服务什么是域名服务?域名服务的主要作用是什么?域名主机域名,主机空间和网站文件三者之间的区别是什么美国vps租用如何选择国外vps服务器?域名申请申请域名需要什么条件?具体点!急!急!!!云服务器租用云服务器租用费用是多少免费网站空间哪里有永久免费的网站空间?北京虚拟主机租用北京云主机租用哪家资质正规,价格便宜,服务好?要真云主机不要那种vps的假云主机,机房要在北京的!虚拟主机测评虚拟主机怎么看好坏!!!!
长沙服务器租用 vps安全设置 紫田 免备案cdn gomezpeer 165邮箱 帽子云 股票老左 web服务器安全 免费私人服务器 上海电信测速网站 linode支付宝 web应用服务器 申请免费空间 免费的加速器 美国vpn服务器 免费服务器 byebyelove dns是什么意思 免费免备案cdn 更多