资源描述
本科生毕业论文(设计)
题 目木马程序设计及植入技术
毕业设计(论文)原创性声明和使用授权说明
原创性声明
本人郑重承诺:所呈交的毕业设计(论文),是我个人在指导教师的指导下进行的研究工作及取得的成果。尽我所知,除文中特别加以标注和致谢的地方外,不包含其他人或组织已经发表或公布过的研究成果,也不包含我为获得 及其它教育机构的学位或学历而使用过的材料。对本研究提供过帮助和做出过贡献的个人或集体,均已在文中作了明确的说明并表示了谢意。
作 者 签 名: 日 期:
指导教师签名: 日 期:
使用授权说明
本人完全了解 大学关于收集、保存、使用毕业设计(论文)的规定,即:按照学校要求提交毕业设计(论文)的印刷本和电子版本;学校有权保存毕业设计(论文)的印刷本和电子版,并提供目录检索与阅览服务;学校可以采用影印、缩印、数字化或其它复制手段保存论文;在不以赢利为目的前提下,学校可以公布论文的部分或全部内容。
作者签名: 日 期:
学位论文原创性声明
本人郑重声明:所呈交的论文是本人在导师的指导下独立进行研究所取得的研究成果。除了文中特别加以标注引用的内容外,本论文不包含任何其他个人或集体已经发表或撰写的成果作品。对本文的研究做出重要贡献的个人和集体,均已在文中以明确方式标明。本人完全意识到本声明的法律后果由本人承担。
作者签名: 日期: 年 月 日
学位论文版权使用授权书
本学位论文作者完全了解学校有关保留、使用学位论文的规定,同意学校保留并向国家有关部门或机构送交论文的复印件和电子版,允许论文被查阅和借阅。本人授权 大学可以将本学位论文的全部或部分内容编入有关数据库进行检索,可以采用影印、缩印或扫描等复制手段保存和汇编本学位论文。
涉密论文按学校规定处理。
作者签名: 日期: 年 月 日
导师签名: 日期: 年 月 日
注 意 事 项
1.设计(论文)的内容包括:
1)封面(按教务处制定的标准封面格式制作)
2)原创性声明
3)中文摘要(300字左右)、关键词
4)外文摘要、关键词
5)目次页(附件不统一编入)
6)论文主体部分:引言(或绪论)、正文、结论
7)参考文献
8)致谢
9)附录(对论文支持必要时)
2.论文字数要求:理工类设计(论文)正文字数不少于1万字(不包括图纸、程序清单等),文科类论文正文字数不少于1.2万字。
3.附件包括:任务书、开题报告、外文译文、译文原文(复印件)。
4.文字、图表要求:
1)文字通顺,语言流畅,书写字迹工整,打印字体及大小符合要求,无错别字,不准请他人代写
2)工程设计类题目的图纸,要求部分用尺规绘制,部分用计算机绘制,所有图纸应符合国家技术标准规范。图表整洁,布局合理,文字注释必须使用工程字书写,不准用徒手画
3)毕业论文须用A4单面打印,论文50页以上的双面打印
4)图表应绘制于无格子的页面上
5)软件工程类课题应有程序清单,并提供电子文档
5.装订顺序
1)设计(论文)
2)附件:按照任务书、开题报告、外文译文、译文原文(复印件)次序装订
指导教师评阅书
指导教师评价:
一、撰写(设计)过程
1、学生在论文(设计)过程中的治学态度、工作精神
□ 优 □ 良 □ 中 □ 及格 □ 不及格
2、学生掌握专业知识、技能的扎实程度
□ 优 □ 良 □ 中 □ 及格 □ 不及格
3、学生综合运用所学知识和专业技能分析和解决问题的能力
□ 优 □ 良 □ 中 □ 及格 □ 不及格
4、研究方法的科学性;技术线路的可行性;设计方案的合理性
□ 优 □ 良 □ 中 □ 及格 □ 不及格
5、完成毕业论文(设计)期间的出勤情况
□ 优 □ 良 □ 中 □ 及格 □ 不及格
二、论文(设计)质量
1、论文(设计)的整体结构是否符合撰写规范?
□ 优 □ 良 □ 中 □ 及格 □ 不及格
2、是否完成指定的论文(设计)任务(包括装订及附件)?
□ 优 □ 良 □ 中 □ 及格 □ 不及格
三、论文(设计)水平
1、论文(设计)的理论意义或对解决实际问题的指导意义
□ 优 □ 良 □ 中 □ 及格 □ 不及格
2、论文的观念是否有新意?设计是否有创意?
□ 优 □ 良 □ 中 □ 及格 □ 不及格
3、论文(设计说明书)所体现的整体水平
□ 优 □ 良 □ 中 □ 及格 □ 不及格
建议成绩:□ 优 □ 良 □ 中 □ 及格 □ 不及格
(在所选等级前的□内画“√”)
指导教师: (签名) 单位: (盖章)
年 月 日
评阅教师评阅书
评阅教师评价:
一、论文(设计)质量
1、论文(设计)的整体结构是否符合撰写规范?
□ 优 □ 良 □ 中 □ 及格 □ 不及格
2、是否完成指定的论文(设计)任务(包括装订及附件)?
□ 优 □ 良 □ 中 □ 及格 □ 不及格
二、论文(设计)水平
1、论文(设计)的理论意义或对解决实际问题的指导意义
□ 优 □ 良 □ 中 □ 及格 □ 不及格
2、论文的观念是否有新意?设计是否有创意?
□ 优 □ 良 □ 中 □ 及格 □ 不及格
3、论文(设计说明书)所体现的整体水平
□ 优 □ 良 □ 中 □ 及格 □ 不及格
建议成绩:□ 优 □ 良 □ 中 □ 及格 □ 不及格
(在所选等级前的□内画“√”)
评阅教师: (签名) 单位: (盖章)
年 月 日
教研室(或答辩小组)及教学系意见
教研室(或答辩小组)评价:
一、答辩过程
1、毕业论文(设计)的基本要点和见解的叙述情况
□ 优 □ 良 □ 中 □ 及格 □ 不及格
2、对答辩问题的反应、理解、表达情况
□ 优 □ 良 □ 中 □ 及格 □ 不及格
3、学生答辩过程中的精神状态
□ 优 □ 良 □ 中 □ 及格 □ 不及格
二、论文(设计)质量
1、论文(设计)的整体结构是否符合撰写规范?
□ 优 □ 良 □ 中 □ 及格 □ 不及格
2、是否完成指定的论文(设计)任务(包括装订及附件)?
□ 优 □ 良 □ 中 □ 及格 □ 不及格
三、论文(设计)水平
1、论文(设计)的理论意义或对解决实际问题的指导意义
□ 优 □ 良 □ 中 □ 及格 □ 不及格
2、论文的观念是否有新意?设计是否有创意?
□ 优 □ 良 □ 中 □ 及格 □ 不及格
3、论文(设计说明书)所体现的整体水平
□ 优 □ 良 □ 中 □ 及格 □ 不及格
评定成绩:□ 优 □ 良 □ 中 □ 及格 □ 不及格
教研室主任(或答辩小组组长): (签名)
年 月 日
教学系意见:
系主任: (签名)
年 月 日
摘 要
黑客技术是当今最火热的一个领域,近年来,黑客攻击层出不穷,对网络安全构成了极大的威胁。木马是黑客的主要攻击手段之一,它通过渗透进入对方主机系统,从而实现对目标主机的远处操作, 破坏力相当之大。
本文综合了木马的发展过程,木马的类型,分析了各种木马的特点,揭示了木马的隐藏方法、特点,及木马的通信方式。
本文简要分析了Windows操作系统的安全机制,防火墙,防病毒软件的工作原理和木马防范的方法,重点研究了一个木马的设计及Visual C++的实现。本文设计的不是通常木马C/S结构,它旨在发送键盘记录的文件,所以它有两个重点部分,本地信息收集部分,以及信息发送部分。信息收集主要是实现被植入机器的记事本程序的键盘记录,当记事本的程序运行时,程序中的键盘钩子就开始工作,并且记录下键盘上的记录。在信息发送部分,本文采用了发送email的形式,这样虽然比较原始,但是这种方式可以避免频繁地打开端口。
同时本文在木马隐藏部分也做了不少工作。在Win9x与Windows NT方面都做的不错。在Win9x下将木马注册为系统服务,并且使其在进程中消失,在Windows NT中,将其进程名变为svchost.exe,使得其足够能够迷惑系统管理员。木马运行后将自动将自身复制到系统目录下,并且将其命名为一个类似系统文件的名字,使得管理员在众多的系统文件中,不敢轻易删除文件。为了尽量防止杀毒软件和防火墙警报,并且努力避免被系统管理员的察觉,减少被发现的概率,在通信部分,采用严格控制邮件发送的次数和时间发送邮件的办法,并且在发送邮件前杀死防火墙进程,使其逃避防火墙的报警。
关键词[:,小四号加粗宋体,英文同] 计算机安全, 木马 , 键盘钩子, Email, 进程隐藏
ABSTRACT
The hacker technology nowadays is the angriest field. In recent years, the hacker’s attacks appear endlessly. it is a great threat to network’s security. The Trojan horse is one of the hacker's main attack means, that illegally gains access to another host computer system and to obtain secret information or monitor special operations .so it is quiet serious.
This text comprehensive evolution of Trojan horse and the type of Trojan horse, it also analyses the characteristics of different Trojan horse and announce the method and characteristics of hiding , and the communication way of the Trojan horse.
This text has analyzed the security mechanism of Windows operating system and the principle of the fire wall[firewall,后同] and anti-virus software briefly , and make a key research on the design of a Trojan horse and realization with Microsoft Visual C++. This text doesn’t designs the usually structure of C/S, aiming at sending the file that the keylog is written down, so it has two key parts, one of them is part of local information gathering keyboard information , the other part is sending information. Information gathering is mainly to realize the notepad keyboard record of the computer which Trojan horse has been planted into 。[标点统一英文]when the procedure[进程用process好些,后边相关改下] of the notepad being performed , the keyboard hook in the procedure begins to work, and record the keyboard. In the part of sending information, this text has used the form of sending email, though it seems to be more primitive , it is able to avoid of opening the port frequently.
At the same time,this text made much effort on the part of Trojan horse hiding. What has been done in Win9x and Windows NT is very well. Register the hobbyhorse for the service of the system under Win9x, and make it disappeared in process, in Windows NT , turn its process name into SVCHOST. EXE[小写] , which is able to confuse the system manager.
The Trojan horse will be copied to the systematic catalogue automatically after the hobbyhorse is operated, and will be named as similar one of the systematic files ,which make administrators dare not to delete the file easily among the numerous systematic file .To avoid antivirus software and fire wall’s alarm , the perception of the system manager, and to decrease probability of being percepted Trojan horse .[前面的句子有问题,连不上]In communication part, it controls the number of times and time of sending emails strictly .Before sending Emails ,it kills the fire wall process , so that it can escape from the alarm of fire wall .
KEYWORDS[:] Computer[ ]Security, Trojan[ ]horse, KeyLog, Email, Process[ ]Hiding
[英文单词间都空一格,标点紧跟单词,后空一格较美观,统一一下吧]
目录
第一章 绪论 1
1.1 计算机安全背景 1
1.2 木马的研究背景 1
1.2.1 木马的产生背景 1
1.2.2木马的发展过程 2
1.2.3木马的未来 2
1.3 WINDOWS安全机制 3
1.4 研究内容与本文所做的工作 3
1.5 本课题的设计目的及意义 4
1.6 论文的组织 5
第二章 木马程序的总体设计及关键技术分析 6
2.1 程序设计环境 6
2.2 方案分析及基本思想 6
2.3 程序总体结构 7
2.3.1 木马程序的主体部分 9
2.3.2 WINDOWS键盘事件监控原理 10
2.3.3 电子邮件实现原理 11
2.4 关键技术 15
2.4.1 MFC 15
2.4.2 动态链接库技术 18
第三章 木马程序的实现 18
3.1 木马的主体部分 18
3.1.1 自身复制模块 18
3.1.2 自启动模块 18
3.1.3 隐藏模块 18
3.1.4 提升权限模块 18
3.1.5 杀死目标进程模块 18
3.1.6 判断发送条件 18
3.2 键盘记录的具体实现 18
3.2.1 钩子的制作 18
3.2.2 钩子的使用 18
3.3 发送邮件的实现 18
3.3.1 SMTP协议的会话流程 18
3.2.2 邮件的格式化 18
3.3.3 由Socket套接字为SMTP提供网络通讯基础 18
3.3.4 SMTP会话应答的实现 18
3.3.5 base64编码 18
3.4 木马的捆绑 18
第四章 “木马”病毒的防范 18
4.1 木马的入侵 18
4.2 如何发现自己电脑中的木马 18
4.3 删除木马 18
4.4 使用防火墙 18
4.5 使用杀毒软件 18
4.5.1 杀毒基本原理 18
4.5.2 经典杀毒引擎介绍 18
4.6 注意事项 18
第五章 结束语 18
参考文献 44
致谢 45
[目录可以考虑单独编页码,使用分节即可实现]
木马程序设计与植入技术 第一章 绪论
第一章 绪论
1.1 计算机安全背景
计算机网络技术的飞速发展和普及应用,使人们充分享受网络带来的种种便利, 与此同时, 也对网络与系统安全提出了更高的要求。近年来,随着社会及家庭网络应用的大量普及,计算机信息安全越来越成为人们重视与关心的焦点问题。在用户享受宽带网络带来的便利与快捷的同时,也为各类严重威胁计算机信息安全的病毒提供了方便之门。据有关部门连续三年调查表明,2001年约73%的计算机用户曾感染过病毒,其中,感染三次以上的用户高达59%;到了2002年,受感受的用户上升到近84%;2003年上半年又增加到85%,并呈现出继续上升趋势。 在众多病毒当中,木马病毒由于具备能够隐蔽地随时向外发送指定信息,甚至具备远程交互能力而成为黑客们钟爱的后门工具。臭名昭著的BO , 使人谈“冰”色变的冰河,号称“地狱巴士”的NetBus,“网络间谍” [前边空格勇逗号或者其他标点]“广外女生”等等都是经典的木马。木马作为黑客的攻击手段之一, 它对系统具有强大的控制功能。一个功能强大的木马一旦被植入您的机器, 攻击者就可以像操作自己的机器一样控制您的机器, 甚至可以远程监控您的所有操作, 其破坏力是不容忽视的。对于用户而言,木马病毒的危害是巨大的,它使用户的计算机随时暴露于黑客的控制监视之下,黑客们可以轻易地窃取自己感兴趣的数据并传输到指定的计算机中,这较之传统病毒只能破坏用户数据的危害又大了许多。
1.2 木马的研究背景
1.2.1 木马的产生背景
特洛伊木马(Trojan Horse,以下简称木马),名称来源于古希腊的特洛伊木马的故事,希腊人围攻特洛伊城,很多年不能得手后想出了木马的计策,他们把士兵藏匿于巨大的木马中。在敌人将其作为战利品拖入城内后,木马内的士兵爬出来,与城外的部队里应外合而攻下了特洛伊城。计算机木马的设计者套用了同样的思路,把木马程序插入正常的软件、邮件等宿主中。在受害者执行这些软件的时候,木马就可以悄悄地进入系统,向黑客开放进入计算机的途径。木马是一种基于远程控制的黑客工具,通过互联网资源隐蔽地对远程目标主机进行非授权的访问。木马对系统具有强大的控制功能,操纵木马的人可以通过网络像使用自己的机器一样远程控制木马所在的目标主机,甚至可以远程监控受控主机上的所有操作。
1.2.2木马的发展过程
木马的产生阶段和发展,到目前为止,木马的发展已经经历了五代:
(1)第一代木马只是实现简单密码窃取,发送等,在隐藏和和通信方面均无特别之处。
(2)第二代木马的典型代表是冰河,它以文件关联方式启动通过电子邮件发送信息,在木马技术发展上开辟了新的篇章。
(3)第三代木马的信息传输方式有所突破,采用ICMP协议,增加了查杀的难度。
(4)第四代木马在进程隐藏方面获得了重大的突破,采用插入内核的嵌入方式,利用远程插入线程技术,嵌入DLL线程,或挂接PSAPI等,实现木马程序的隐藏,利用反弹端口技术突破放火墙限止,在Windows NT/2000下取得了良好的隐藏效果。
(5)第五代木马和病毒紧密结合,利用操作系统漏洞,直接实现感染传播的目的,而不必像以前木马那样需要欺骗用户主动激活,例如最近新出现的类似冲击波病毒的木马-“噩梦2”。
1.2.3木马的未来
(1) 传统的TCP 端对端连接会被抛弃, 未来木马要么采用非TCP/UDP 的IP 族数据包, 如ICMP 方式, 增加了查杀的难度, 它们十分隐蔽, 如果不对数据包详细分析, 很难查出木马入侵; 要么采用寄生TCP端口(例如: 我们进行TCP操作时打开21号端口, 当我们进行FTP操作时, 木马也可同时通过21 号端口与服务端进行连接) , 这样木马传输的数据包和正常的数据包很难区分开来。
(2) 在传播方式上, 未来木马会和病毒一样,采用交叉式迅速大规模扩散, 并且运行方式越来越隐蔽。
(3) 将更注重底层的通讯编程, 如针对网卡和Modem 的通讯编程, 这样可以避开防火墙的监视和过滤。
(4)采取虚拟设备驱动程序(VXD) 及动态链接库(DLL) 技术, 伪装隐藏方式更隐蔽。据悉, 目前已有采用此种方式编写的木马。采用这种方式编写的木马与一般的木马不同, 它基本上摆脱了原有的木马模式, 而采用DLL 动态嵌入远程线程技术。这样做的结果是: 系统中没有增加新的文件, 不需要打开新的端口, 没有新的进程。在正常运行时木马几乎没有任何的症状,而一旦木马的控制端向被控端发出特定的信息后, 隐蔽的程序就立即开始动作。
1.3 Windows安全机制
黑客利用木马对网络上的主机进行攻击,是在其充分认识了网络操作系统中的安全体系之后进行的。那么,同样应付他们的攻击对于我们同样重要。计算机网络中常用的安全技术有:主机安全技术、身份认证技术、访问控制技术、密码技术、防火墙技术、安全审计技术和安全管理技术。当今Windows NT系统是最火热的系统,下面就以Windows NT为例简单讲述。
1. Windows NT中的对象是NT操作系统中的基本元素
对象可以是文件、目录、存储器、驱动器、系统程序或Windows中的桌面等。2.Windows NT 4.0的安全性设计目标
在设计Windows NT结构的时候,微软把目标定位于一个具有各种内在安全功能的强大而坚实的网络操作系统。
3. 使用Windows NT的实现网络安全策略
Windows NT 4.0的安全结构由3个基本安全子系统的模块组成,即身份认证、信任确定和审计跟踪。对于每一个机构,任何操作系统的安全机制都不是自动生成的,因此,在使用Windows NT之前必须先制定它们的安全策略。这些策略需要进行详细地说明,在明确了该机构对访问控制信息的保护及审核方面的具体要求之后,还需要对所制定的安全策略进行正确地配置,并实现了对象的访问控制之后,才能说用NT构建一个高度安全地系统。由此可见,只有将企业的安全策略和Windows NT底层的安全机制有机地结合起来,才能充分发挥Windows NT的各项安全特性。
4. Windows NT的安全机制
微软的Windows NT Server提供了安全管理的功能,以及在企业级网络中实现和管理这些功能的工具。
(1)Windows NT的安全子系统有:本地安全权威、安全账户管理、安全访问监督等。
(2)Windows NT提供的安全机制有:登录过程控制、存取控制、存取标识和存取控制列表等。
1.4 研究内容与本文所做的工作
综述现有流行的木马技术,分析和总结木马设计的一般原理;使用VC设计实现一良性木马程序,要求木马植入过程尽可能避免常见的防火墙及杀毒软件报警。要求木马程序激活后能够绕过常见的防火墙及防毒软件(或结束此类进程)并开始工作; 要求木马程序每隔一段时间发送一次植入机器记事本程序的键盘记录。
本文首先阐述了木马的产生背景,发展过程,以及木马的未来的发展方向。分析了网络安全的现状,和严峻性。之后分析了一个简单木马的实现相关技术背景,和如何防御木马的入侵,重点研究了一个键盘记录类型的木马的实现。本文首先要实现木马的最基本功能,既信息的盗取,和信息的发送。信息的盗窃是要实现在记事本运行的过程中记录键盘的记录。那么在检视到记事本已经运行,键盘记录模块的功能便能记录键盘的记录。之后,便是如何将信息发送出去。发送部分可以选择客户/服务器类型的,在被植入电脑的服务器端程序将信息通过端口发送到正在被监听客户端。发送EMAIL也是非常通用和有效的方法,设置好EMAIL地址,服务器将记录下的文件以EMAIL的形式发送到指定的邮箱去。木马的隐藏与防止杀毒软件和防火墙的追杀和拦截同样是木马的最重要的部分。本文将木马生成的美丽的诱人的图标,吸引受害者安装。木马将自己隐藏在系统目录下并且迷惑系统管理员;木马通过修改注册表中的键值实现木马的自启动。在进程进程隐藏,在Win9x下通过注册为系统服务在进程中隐藏,在Windows NT下更改进程名为Windows NT下多个SVCHOST.EXE名字迷惑管理员。信息发送使用EMAIL的形式,通过严格控制EMAIL的发送时间和次数,并且在发送邮件前杀死防火墙进程的方式避免防火墙的报警。
1.5 本课题的设计目的及意义
本课题涉及到的是现在不管是政府机构,公司,还是个人都关心的网络安全问题。当前的这个问题对于每个人都是首先要面对的问题。那么我们应当怎么去应对这个问题呢,“知己知彼,百战不殆”,只有知道黑客是怎么样去攻击,怎样实现他们的木马。在熟悉木马的各方面的实现原理、关键技术后,就能基本上对付黑客的攻击,维护自己的利益,保证自己的机密信息不被泄漏,把自己损失降到最低点。本文介绍了一些最基本的网络及个人电脑的安全问题,还设计实现了一个简单木马,并且还介绍了木马程序的高级技巧和未来的趋势。本文介绍木马编程的一般技巧,并不是教人去如何攻击他人,目的只是让大家了解木马的工作原理和简单的编写步骤,以便更好地防范和清除木马,维护我们自己应有的网络安全。
本次设计侧重于设计实现一个简单木马。根据木马程序目的性,将木马分为隐藏部分、信息收集部分和信息发送部分。它基本功能就是键盘记录和发送记录文件。该木马是在Windows平台下,利用Visual C++6.0进行编程,大量调用Windows API进程编程,并且使用了DLL技术进行模块化设计。这种设计方法有利于锻炼Windows 程序员模块设计能力,和不同模块的接口问题。这不仅可以使我们学习和理解到网络安全方面的基本知识、木马的基本原理和实现方法,而且有利于对于Windows编程有更深入的理解,拓宽知识面,增强我们对网络安全防范的意识,不管是对于学习、生活还是生产实践都有很大的意义。
1.6 论文的组织
全文共分5章,首先讲述木马产生的背景,发展情况,和未来木马技术以及Windows的安全机制基本原理。之后重点研究实现了一个键盘记录类型的木马,在研究一个木马实现后,讲述怎样去防范木马病毒。
第一章为绪论,介绍木马发展情况,简单讲述计算机的安全机制,以及该研究的目的及意义。
第二章介绍木马的设计思想、总体结构,开发方案。
第三章详细介绍本文研究的重点部分——木马的设计与实现。
第四章讲述木马病毒的防范。
第五章是总结。对本文所做的工作进行总结,并阐述进一步的研究工作。
- 45 -
木马程序设计与植入技术 第二章 木马程序的总体设计及关键技术分析
第二章 木马程序的总体设计及关键技术分析
这部分主要介绍本木马的程序设计所在的程序设计环境和程序设计的相关关键技术。根据本木马设计的基本出发点:顺利注入目标机器,尽量隐藏自身,不被查杀软件的报警,避免系统管理员的察觉,顺利的把记事本程序运行时的键盘记录发送出来。首先分析了当前一些木马的特点,确定本木马程序实现方案。之后分析了要实现该方案的关键技术。
2.1 程序设计环境
本木马的程序设计的软硬件环境如下:
硬件环境:CPU 1.8G ;内存 256DDR。
软件环境:Windows XP 操作系统,开发工具采用Visual C++6.0。
其中在系统目录的还添加了psapi.lib和psapi.h文件。
2.2 方案分析及基本思想
当前木马的种类繁多,木马的形式与其功能有着密切的关系。究竟采用那种形式与木马设计者的目标有着直接的关系,例如要获得被侵入机器的控制权,查阅目标机器中的重要文献,上传病毒,下载有用的机密文件,或者恶性的格式化机器硬盘。则一般采用网络客户/服务程序类型。
根据本木马设计的基本目的:隐藏自身,把记事本程序运行时的键盘记录发送出来。下面提出了基于Visual C++6.0开发木马设计思想:
1.[点号统一,其后标题文字监空格要加全加]捆绑文件
由于本木马采用模块化设计,将键盘记录和记录信息发送功能分别封装在几个DLL(动态链接库)中,只提供几个对外的函数接口,于是在程序主体部分,需要实现这些功能的时候,只要装入动态链接库就行了,调用要实现功能的函数即可。在程序运行时候,DLL必须要跟程序主体的可执行文件在同一目录下。所有的功能才能正常的实现。所以要将这两个DLL文件和一个EXE文件捆绑起来变成一个可执行文件,在当然在进入目标计算机时候,只要该文件被执行,三个文件将释放到同一系统目录下,并且执行木马主体的EXE文件。
2.伪装隐藏木马
木马它是一种基于远程控制的黑客工具, 具有隐蔽性和非授权性的特点。隐蔽性是指为了防止木马被发现,采用各种手段伪装隐藏木马。木马在工作时候不能出现主界面,木马必须在任务栏中隐藏,木马要复制自身到隐蔽的地方。给木马选一个好图标和一个好名字。木马要尽量在Windows的各种版本中的进程中隐藏。
3. 自启动木马
木马的运行不会指望用户每次启动系统后, 点击木马图标来运行木马服务端。Windows的自启动方式其实有许多方式。除了一些常见的启动方式之外,还有一些非常隐蔽的可用来启动文件的方式。木马要做的是如何在每次用户启动时自动装载服务端。Window s 支持多种的在系统启动时自动加载应用程序的方法, 在Windows系统下,木马可以通过注册表、Win.ini、system.ini、Autoexec.bat和Config.sys、捆绑替换系统文件、启动菜单及程序配置.ini文件来自我启动运行。本文通过修改注册表,实现了木马的自启动。
4.利用键盘钩子实现对键盘的记录
钩子的本质是一段用以处理系统消息的程序,通过系统调用,将其挂入系统。钩子的种类有很多,每种钩子可以截获并处理相应的消息,每当特定的消息发出,在到达目的窗口之前,钩子程序先行截获该消息、得到对此消息的控制权。此时在钩子函数中就可以对截获的消息进行加工处理,甚至可以强制结束消息的传递。键盘记录就是使用钩子截获键盘消息,钩子可以实现下面的功能:把截获的消息复制一份自己保留,在把原消息原封不动发出去;把截获的到的消息扣留;把截获到的消息改变后发出去.为了不使原来的程序出现错误,我们采用第一条作用.分为两步实现:钩子的制作和钩子的使用。
5.基于SMTP协议的电子邮件形式实现木马的通信。
由于本木马主要功能就是发送记事本程序运行时的键盘记录,不用对被植入机器的进行如打开文件夹,上传,下载,以及格式化硬盘等等控制。所以EMAIL式本木马是很好的选择,它避免了通常的网络客户/服务程序形式,以及频繁的开端口进行实时监控。因为这样很容易被一些防杀软件查杀,也很容易引起管理员的察觉。而利用EMAIL就能很好的避免这一缺点。它的原理就是在被植入方中的木马程序选择一个有利时机瞬时发送记录键盘模块生成的文件到指定的EMAIL地址上去,并且尽量避免防火墙的警告。
2.3 程序总体结构
本木马的主要功能就是记录键盘记录,发送键盘记录,并尽量隐藏以避免被察觉。程序基本工作作图如图2-1所示:[下边的图我看到乱,只要打印预览正常就行,绘图对象位置微调用CTRL+方向键]
开始
点击木马进入
被植入机器
符合发送条件
杀死防火墙进程
结束
图2-1 木马工作总图
记录键盘记录
发送记录文件
启动木马
Y
N
通过木马的工作流程对其有个初步认识,那么程序的结构根据木马的功能三个重要组成部分:键盘记录部分(由test3.dll封装实现功能),邮件发送部分(由smtp_dll.dll封装实现功能),木马主体部分。木马的结构图如下:
图2-2 木马的结构总体
发送EMAIL模块(smtp_dll.dll)
键盘记录模块(test3.dll)
隐藏
判断发送
条件
提高权限
杀死进程
复制自身
木马主体
装载
装载
自启动
2.3.1 木马程序的主体部分
程序的主体部分是包括装载键盘记录和发送邮件封装的动态链接库,以及确定木马启动方式,和各种隐藏,记录文件,发送邮件的功能。木马主体部分通过装载键盘记录的动态链接库“test3.dll”,安装键盘记录的钩子;还静态装载了发送邮件的动态链接库smtp_dll.dll。捆绑后的木马一旦点击必须复制自身到系统目录下,隐藏自己,并且开始运行。木马具有非授权性,因此要隐藏自己,在隐藏模块中,它通过各种方法隐藏程序的显示窗口,在任务栏中隐藏,并且使其在Windows98进行进程隐藏,在Windows 2000和Windows XP等更高的系统中隐藏进程。同时在主体部分的判断发送条件模块,检查是否符合发送邮件的条件,可以任意设置发送邮件条件,如文件长度为1k,发送时间段为上午11点。如果符合
展开阅读全文