《《计算机网络技术》课程设计报告木马程序设计与实现.doc》由会员分享,可在线阅读,更多相关《《计算机网络技术》课程设计报告木马程序设计与实现.doc(41页珍藏版)》请在三一办公上搜索。
1、计算机网络技术课程设计报告学 院 专 业 班 级 学 号 学生姓名 指导教师 课程成绩 完成日期 课程设计成绩评定学 院 专 业 班 级 学 号 学生姓名 指导教师 完成日期 指导教师对学生在课程设计中的评价评分项目优良中及格不及格课程设计中的创造性成果学生掌握课程内容的程度课程设计完成情况课程设计动手能力文字表达学习态度规范要求课程设计论文的质量指导教师对课程设计的评定意见综合成绩 指导教师签字 2011年7月1日课程设计任务书 城南 学院 通信工程专业 课程名称 计算机网络时间2010-2011学年第二学期1819周学生姓名指导老师题 目木马程序的设计与实现主要内容:(1)查找木马程序主要
2、技术及相应软件;(2)比较他们的技术及优缺点;(3)实现一个简单的木马程序;(4)提交文档;要求:(1)按要求编写课程设计报告书,能正确阐述设计结果。(2)通过课程设计培养学生严谨的科学态度,认真的工作作风和团队协作精神。(3)学会文献检索的基本方法和综合运用文献的能力。(4)在老师的指导下,要求每个学生独立完成课程设计的全部内容。应当提交的文件:(1)课程设计报告。(2)课程设计附件(源程序、各类图纸、实验数据、运行截图等)木马程序的设计与实现学生姓名: 指导老师:摘 要 本文在研究著名木马BO2K技术的基础上设计了一款远程控制木马。该木马程序能够通过客户端对远程主机进行控制和监视,服务端可
3、以自动连接客户端。另外该木马程序还包括远程文件操作(文件复制、拷贝、删除、下载、上传等),远程系统控制(重启、屏幕锁定、启动项管理),网络连接控制,远程进程管理和键盘监控等功能。最后本文实现了这一款木马程序,并对其进行了测试。测试结果显示该木马程序实现了所有的功能,能够对远程主机进行控制。关键字 客户端/服务端;BO2K;远程控制1 引 言随着互联网技术的迅猛发展,网络给人们带来了很多便利,日益发达的网络产品越来越多。伴随这样的发展,随之而来的是越来越多的帐号与密码,而这些帐号与密码背后伴随的是很多的经济价值。在这种状况下,很多人想尽一切办法的去找取配套的密码与帐号,所以为了使帐号与密码更加安
4、全,有必要去研究木马的工作原理。1.1 课程设计目的(1)掌握木马编程的相关理论,理解木马工作的基本原理,学会运用C+进行编程实现。(2)加深对课本知识的理解,并运用所学理论和方法进行一次综合性的设计训练,同时掌握工程设计的具体步骤和方法,从而培养独立分析问题和解决问题的能力,提高实际应用水平。(3)以所学知识为基础,针对具体设计问题,充分发挥自己的主观能动性,独立地完成课程设计分配的各项任务,并通过课程设计培养严谨的科学态度和认真的工作作风。1.2 课程设计内容(1)查找木马程序主要技术及相应软件;(2)比较他们的技术及优缺点;(3)实现一个简单的木马程序;(4)提交文档;1.3 课程设计要
5、求(1)按要求编写课程设计报告书,能正确阐述设计结果。(2)通过课程设计培养学生严谨的科学态度,认真的工作作风和团队协作精神。(3)学会文献检索的基本方法和综合运用文献的能力。(4)在老师的指导下,要求每个学生独立完成课程设计的全部内容。2设计原理2.1木马的背景介绍荷马史诗中所描述的那场特洛伊战争想必很多读者都已经很熟悉了。传说古希腊士兵藏在木马内进入了特洛伊城,从而占领了敌方城市,取得了战争的胜利。这与中国的“明修栈道,暗渡陈仓”之计有着异曲同工之妙。网络社会中的“特洛伊木马”并没有传说中的那样庞大,它们是一段精心编写的程序。与传说中的木马一样,它们会在用户毫不知情的情况下悄悄地进入用户的
6、计算机,进而反客为主,窃取机密数据,甚至控制系统。特洛伊木马(Trojan)1(也叫黑客程序或后门病毒)是指隐藏在正常程序中的一段具有特殊功能的恶意代码,具备破坏和删除文件、发送密码、记录键盘和攻击等功能,会使用户系统被破坏甚至瘫痪。恶意的木马程序具备计算机病毒的特征,目前很多木马程序为了在更大范围内传播,从而与计算机病毒相结合。因此,木马程序也可以看做一种伪装潜伏的网络病毒。1986年出现了世界上第一个计算机木马。2它伪装成Quicksoft公司发布的共享软件PC-Write的2.72版本,一旦用户运行,这个木马程序就会对用户的硬盘进行格式化。而1989年出现的木马更富有戏剧性,它竟然是通过
7、邮政邮件进行传播的。木马的制造者将木马程序隐藏在含有治疗AIDS和HIV的药品列表、价格、预防措施等相关信息的软盘中,以传统的邮政信件的形式大量散发。如果邮件接收者浏览了软盘中的信息,木马程序就会伺机运行。它虽然不会破坏用户硬盘中的数据,但会将用户的硬盘加密锁死,然后提示受感染的用户花钱消灾。计算机网络的发展给木马的传播带来了极大的便利,其传播速度和破坏范围都是以往的木马程序所无法比拟的。木马兼备伪装和传播这两种特征并与TCP/IP网络技术相结合。木马一般分为客户端(client)和服务端(server)两部分。对于木马而言,“服务端”和“客户端”的概念与我们平常理解的有所不同。在一般的网络环
8、境中,“服务器”(server)往往是网络的核心,我们可以通过服务器对“客户端”进行访问和控制,决定是否实施网络服务。而木马则恰恰相反,客户端是控制端,扮演着“服务器”的角色,是使用各种命令的控制台,而服务端是被控制端。木马的制造者可以通过网络中的其他计算机任意控制服务端的计算机,并享有服务端的大部分操作权限,利用控制端向服务器端发出请求,服务端收到请求后会根据请求执行相应的动作,其中包括: 查看文件系统,修改、删除、获取文件; 查看系统注册表,修改系统设置; 截取计算机的屏幕显示,并且发给控制端; 查看系统中的进程,启动和停止进程; 控制计算机的键盘、鼠标或其他硬件设备的动作; 以本机为跳板
9、,攻击网络中的其他计算机; 通过网络下载新的病毒文件。一般情况下,木马在运行后,都会修改系统,以便在下一次系统启动时自动运行该木马程序。修改系统的方法有下面几种: 利用Autoexec.bat和Config.sys进行加载; 修改注册表; 修改win.ini文件; 感染Windows系统文件,以便进行自动启动并达到自动隐藏的目的。 随着目前国内网络游戏和网上银行的兴起,以盗取网络游戏软件、OICQ、网上银行的登陆密码和账号为目的的木马病毒越来越猖獗。这些病毒利用操作系统提供的接口,在后台不停地查找这些软件的窗体。一旦发现登陆窗体的时候就会找到窗体中的用户名和密码的输入框,然后窃取输入的密码和用
10、户名。还有的木马会拦截计算机的键盘和鼠标的动作,只要键盘和鼠标被点击,病毒就会判断当前正在进行输入的窗体是否是游戏的登陆界面,如果是的话就将键盘输入的数据复制一份。还有的病毒会直接拦截网络数据包,并窃取数据包中的密码和用户名。病毒窃取到密码和用户名后会通过网络发送邮件,将窃取到的数据发送到黑客的邮箱内,用以进行盗窃或网络诈骗。木马病毒的兴起往往伴随着网络犯罪的发展和延伸。因此,掌握木马病毒的防范技巧和知识就像是为我们的计算机穿上了一层防弹衣,对于阻止网络犯罪的蔓延和侵害有着至关重要的作用。2.2 木马的发展现状到目前为止, 木马的发展已经历了五代3:第一代木马只是实现简单的密码窃取、发送等,在
11、隐藏和通信方面均无特别之处。第二代木马的典型代表是冰河,它以文件关联方式启动。通过电子邮件传送信息,在木马技术发展史上开辟了新的篇章。第三代木马的信息传输方式有所突破采用ICMP协议,增加了查杀的难度。第四代木马在进程隐藏方面获得了重大突破,采用插入内核的嵌入方式、利用远程插入线程技术、嵌入队DLL线程,或挂接PSAPI等,实现木马程序的隐藏,利用反弹端口技术突破防火墙限制,在Windows NT/2000下取得了良好的隐藏效果。第五代木马与病毒紧密结合。利用操作系统漏洞,直接实现感染传播的目的,而不必像以前的木马那样需要欺骗用户主动激活,例如最近新出现的类似冲击波病毒的术马噩梦II。2.3
12、木马的工作原理木马的运行大致分为六个阶段,本文将结合这六个阶段给大家详细介绍木马的工作原理。 一.配置木马 一般来说一个设计成熟的木马都有木马配置程序,从具体的配置内容看,主要是为了实现以下两方面功能: (1)木马伪装:木马配置程序为了在服务端尽可能好的隐藏木马,会采用多种伪装手段,如修改图标,捆绑文件,定制端口,自我销毁等。 (2)信息反馈:木马配置程序将就信息反馈的方式或地址进行设置,如设置信息反馈的邮件地址,帐号信息等。 二.传播木马 (1)传播方式: 木马的传播方式主要有三种:一种是通过E-MAIL4,控制端将木马程序以附件的形式夹在邮件中发送出 去, 收信人只要打开附件系统就会感染木
13、马;另一种是软件下载,一些非正规的网站以提供软件下载为 名义,将木马捆绑在软件安装程序上,下载后,只要一运行这些程序,木马就会自动安装;通过在网页中加入脚本代码,植入木马,也被称为网马。当然现在的木马传播途径已经远远不止这些,类似通过第三方而已程序下载等等,请大家牢记,病毒技术和网络技术共同发展的,永远不要轻易放弃一个微小的细节。 (2)伪装方式: 鉴于木马的危害性,很多人对木马知识还是有一定了解的,这对木马的传播起了一定的抑制作用,这是木马设计者所不愿见到的,因此他们开发了多种功能来伪装木马,以达到降低用户警觉,欺骗用户的目的。 但不管如何伪装木马由于其工作原理的限制,只要细心是完全可以及时
14、发现和预防的。 (a)修改图标 这种木马主要是通过伪装成大家熟知的压缩包或文挡图标,来迷惑用户,从而消除用户的警觉性。 (b)捆绑文件 这种伪装手段是将木马捆绑到一个安装程序上,当安装程序运行时,木马在用户毫无察觉的情况下 ,从后台安装到系统中。至于被捆绑的文件一般是可执行文件(即EXE,COM一类的文件),现在也有通过绑定图片、压缩包等来达到目的的。 (c)出错显示 有一定木马知识的人都知道,如果打开一个文件,没有任何反应,这很可能就是个木马程序, 木马的设计者也意识到了这个缺陷,所以已经有木马提供了一个叫做出错显示的功能。当服务端用户打开木马程序时,会弹出一个错误提示框(当然是假的)。例如
15、几年前风行的QQ木马等都是利用这种技术实现的。 (d)定制端口 很多老式的木马端口都是固定的,这给判断是否感染了木马带来了方便,只要查一下特定的端口就知道感染了什么木马,所以现在很多新式的木马都加入了定制端口的功能,控制端用户可以在1024-65535之间任选一个端口作为木马端口(一般不选1024以下的端口),这样就给判断所感染木马类型带来了麻烦。 (e)自我销毁 这项功能是为了弥补木马的一个缺陷。我们知道当服务端用户打开含有木马的文件后,木马会将自己拷贝到WINDOWS的系统文件夹中,一般来说原木马文件和系统文件夹中的木马文件的大小是一样的,那么中了木马的朋友只要在近来收到的信件和下载的软件
16、中找到原木马文件,然后根据原木马的大小去系统文件夹找相同大小的文件, 判断一下哪个是木马就行了。而木马的自我销毁功能是指安装完木马后,原木马文件将自动销毁,这样服务端用户就很难找到木马的来源,在没有查杀木马的工具帮助下,就很难删除木马了。 (f)木马更名 安装到系统文件夹中的木马的文件名一般是固定的,那么查杀木马在系统文件夹中特定的文件,就可以断定中了什么木马。所以现在有很多木马都允许控制端用户自由定制安装后的木马文件名,这样很难判断所感染的木马类型了。 三.运行木马 服务端用户运行木马程序后,木马就会自动进行安装。首先将自身拷贝到WINDOWS的系统文件夹中,然后在注册表,启动组,非启动组中
17、设置好木马的触发条件 ,这样木马的安装就完成了。安装后就可以启动木马了。 (1)由触发条件激活木马 触发条件是指启动木马的条件,大致出现在下面八个地方: (a)注册表:打开HKEY_LOCAL_MACHINESoftwareMicrosoftWindowsCurrentVersion下的五个以Run 和RunServices主键,在其中寻找可能是启动木马的键值。 (b)WIN.INI:C:WINDOWS目录下有一个配置文件win.ini,用文本方式打开,在windows字段中有启动命令load=和run=,在一般情况下是空白的,如果有启动程序,可能是木马。 (c)SYSTEM.INI:C:WI
18、NDOWS目录下有个配置文件system.ini,用文本方式打开,在386Enh,mic, drivers32中有命令行,在其中寻找木马的启动命令。 (d)Autoexec.bat和Config.sys:在C盘根目录下的这两个文件也可以启动木马。但这种加载方式一般都 需要控制端用户与服务端建立连接后,将已添加木马启动命令的同名文件上传到服务端覆盖这两个文件才行。 (e)*.INI:即应用程序的启动配置文件,控制端利用这些文件能启动程序的特点,将制作好的带有木马 启动命令的同名文件上传到服务端覆盖这同名文件,这样就可以达到启动木马的目的了。 (f)注册表:打开HKEY_CLASSES_ROOT文
19、件类型/shellopencommand主键,查看其键值。举个例子,国产 木马“冰河”就是利用这个键值,将“C :WINDOWS NOTEPAD.EXE %1”该为“C:WINDOWSSYSTEMSYXXXPLR.EXE %1”,这时你双击一个TXT文件后,原本应用NOTEPAD打开文件的,现在却变成启动木马程序了。还要说明的是不光是TXT文件,通过修改HTML,EXE,ZIP等文件的启动命令的键值都可以启动木马。 (g)捆绑文件:实现这种触发条件首先要控制端和服务端已通过木马建立连接,然后控制端用户用工具软件将木马文件和某一应用程序捆绑在一起,然后上传到服务端覆盖原文件,这样即使木马被删除了
20、,只要运行捆绑了木马的应用程序,木马又会被安装上去了。 (h)启动菜单:在“开始-程序-启动”选项下也可能有木马的触发条件。 (2)木马运行过程 木马被激活后,进入内存,并开启事先定义的木马端口,准备与控制端建立连接。这时服务端用户可以在MS-DOS方式下,键入netstat -an查看端口状态,一般个人电脑在脱机状态下是不会有端口开放的,如果有端口开放,你就要注意是否感染木马了。在上网过程中要下载软件,发送信件,网上聊天等必然打开一些端口,下面是一些常用的端口: (a)1-1024之间的端口:这些端口叫保留端口,是专给一些对外通讯的程序用的,如FTP使用21, SMTP使用25,POP3使用
21、110等。只有很少木马会用保留端口作为木马端口。 (b)1025以上的连续端口:在上网浏览网站时,浏览器会打开多个连续的端口下载文字,图片到本地硬盘上,这些端口都是1025以上的连续端口。 (c)4000端口:这是OICQ的通讯端口。 四.信息泄露: 一般来说,设计成熟的木马都有一个信息反馈机制。所谓信息反馈机制是指木马成功安装后会收集一些服务端的软硬件信息,并通过E-MAIL或其他方式告知控制端用户,包括使用的操作系统,系统目录,硬盘分区况,系统口令等,在这些信息中,最重要的是服务端IP,因为只有得到这个参数,控制端才能与服务端建立连接。五.建立连接: 一个木马连接的建立首先必须满足两个条件
22、:一是服务端已安装了木马程序;二是控制端,服务端都要在线 。在此基础上控制端可以通过木马端口与服务端建立连接。 六.远程控制: 木马连接建立后,控制端端口和木马端口之间将会出现一条通道,并通过木马程序对服务端进行远程控制。下面我们就介绍一下控制端具体能享有哪些控制权限,这远比你想象的要大。 (1)窃取密码:一切以明文的形式,*形式或缓存在CACHE中的密码都能被木马侦测到,此外很多木马还 提供有击键记录功能,它将会记录服务端每次敲击键盘的动作,所以一旦有木马入侵,密码将很容易被窃取。 (2)文件操作:控制端可藉由远程控制对服务端上的文件进行删除,新建,修改,上传,下载,运行,更改属 性等一系列
23、操作,基本涵盖了WINDOWS平台上所有的文件操作功能。 (3)修改注册表:控制端可任意修改服务端注册表,包括删除,新建或修改主键,子键,键值。有了这 项功能控制端就可以禁止服务端光驱的使用,锁住服务端的注册表,将服务端上木马的触发条件设置得更隐蔽的一系列高级操作。 (4)系统操作:这项内容包括重启或关闭服务端操作系统,断开服务端网络连接,控制服务端的鼠标, 键盘,监视服务端桌面操作,查看服务端进程等,控制端甚至可以随时给服务端发送信息。3设计步骤BO2K全名为Back Orifice 2000,是一个名为“死牛之祭”的黑客组织发布的。它是一个可以搜集信息,执行系统命令,重新设置机器,重新定向
24、网络的客户端/服务器应用程序。BO2K支持多个网络协议,它可以利用TCP或UDP来传送,还可以用XOR加密算法或更高级的3DES加密算法加密。BO2K程序主要分成三个部分:1、bo2k.exe:这是服务器程序,它的作用就是负责执行入侵者所下的命令,这个程序其实就是特洛依木马入侵程序的主体,因为它要偷偷地放入到被入侵者的电脑里面,这样我们才可以透过它执行我们想要的动作。 你可以将它的服务器程序作为电子邮件的附件而发送给对方,它可以正常地运行在安装了Windows 95、Windows 98和Windows NT的计算机当中。2、bo2kgui.exe:这是BO2Kd的控制程序,其主要作用就是用来
25、控制服务器程序执行我们想要的命令。当对方执行了该服务器程序后,你就可以使用BO2K的远程控制程序,通过网络连接获得对方系统的完全访问权限。3、bo2kcfg.exe:这是服务器设置程序,在使用boserve.exe服务器程序之前,有一些相关的功能必须通过它来进行设置。如:使用的TCP/IP端口、程序名称、密码等。 另外,BO2K还支持插件功能,这样你就可以自己编写功能更强的插件来扩展BO2K的功能。3.1 配置BO2K服务器BO2K服务器的配置相当简单,你只要根据其配置向导进行选择就可以了。向导会指导用户进行几个设置,包括服务器文件名(可执行文件)、网络协议(TCP或UDP)、端口、密码等。
26、用鼠标双击BO2K服务器配置程序bo2kcfg.exe文件,出现“BO2K配置向导”,如图3.1图3.1 BO2K配置向导 用鼠标单击“下一个”,出现如图3.2的对话框,要求选择作为BO2K服务器的文件。选择好后单击“下一个”按钮;图3.2 BO2K配置向导 这时来到“网络类型”选择对话框,如图3.3。请选择一个网络类型后单击“下一个”按钮;图3.3 BO2K配置向导 这时向导要求输入端口地址,如图3.4。请在“挑选端口编号”文本输入框中输入,然后单击“下一个”按钮。图3.4 BO2K配置向导 这时向导要求选择“加密类型”,如图3.5。请选择一种加密类型后,单击“下一个”按钮。图3.5 BO2
27、K配置向导 这时向导要求你输入口令,如图3.6。在文本输入框中输入口令后,单击“下一个”按钮。图3.6 BO2K配置向导 这时,我们已经可以看到向导提示配置完成,用鼠标单击“完成”按钮,如图3.7。图3.7 BO2K配置向导 这时候出现如图3.8的“BO2K服务器配置”主界面,从这里可以对BO2K服务器文件进行更详细的设置。图3.8 BO2K配置向导 用鼠标单击“打开服务器”按钮,弹出“打开”对话框,选择你要打开的BO2K服务器文件,如图3.9。图3.9 打开服务器文件 选择好以后,单击“打开”按钮,返回到“BO2K服务器配置对话框”,我们可以对服务器文件进行设置,如图3.10。图3.10 B
28、O2K服务器配置其中的“选项变量”命令包括以下几类:1、File Transfer选项: File Xfer Net Type描述: 列出/更改网络传输协议选项: File Xfer Bind Str描述: 文件传输的绑定,默认是RANDOM(随机)选项: File Xfer Encryption描述: 列出/更改加密方法选项: File Xfer Auth描述: 文件传输证明,默认是NULLAUTH(没有证明)2、TCPIO选项: Default Port描述: 列出/更改TCP传输使用的端口3、UDPIO选项: Default Port描述: 列出/更改UDP传输使用的端口4、Built-
29、In选项: Load XOR Encryption描述: 使用/禁止XOR加密,比3DES差劲选项: Load NULLAUTH Authentication描述: 使用/禁止文件证明选项: Load UDPIO Module描述: 使用/禁止UDP传输协议选项: Load TCPIO Module描述: 使用/禁止传输协议5、XOR选项: XOR Key描述: 列出/更改XOR加密方式的密码6、Startup选项: Init Cmd Net Type描述: 列出/更改启动时的网络协议选项: Init Cmd Encryption描述: 启动时列出当前的加密值选项: Init Cmd Auth
30、描述: 列出/更改当前的文件证明设置选项: Idle Timeout (ms)描述: 更改服务端超时断开的时间(毫秒为单位)7、Stealth选项: Run at startup描述: 使用/禁止BO2K在计算机启动是运行选项: Delete original file描述: 删除安装文件(Enable or Disable).选项: Runtime pathname描述: 更改运行时的路径选项: Hide process描述: 打开/关闭隐藏程序过程选项: Host process name (NT)描述: 更改宿主计算机上的程序过程名(默认是Back Orifice 2000)选项: Se
31、rvice Name (NT)描述: 把远程管理服务改名3.2 配置BO2K控制程序等服务器程序配置完毕,再将它发送给对方,对方执行以后,你就可以通过运行BO2K控制程序bo2kgui.exe来进行控制。用鼠标双击bo2kgui.exe文件,出现如图3.11的“BO2K工作区”主界面。图3.11 BO2K工作区主界面用鼠标单击“File”菜单下的“new”选项,弹出“编辑服务器设定”对话框,如图3.12。图3.12 编辑服务器设定在“服务器名字”和“服务器地址”文本输入框中输入正确的服务器名字和地址,然后再选择“连接类型”、“默认加密”和“证明”这三个下拉列表中的选项。一切设置好后,单击“好”
32、按钮,出现“Server Command Client”操作框,然后单击connect,连接成功,如图3.13。图3.13 服务器控制交互界面在该操作框中,攻击者就可以使用其中的70多条命令对对服务器进行控制。只要两台计算机建立连接后,选个命令,加上参数(如果要),再单击“Send Command”按钮,就可以在选择的服务器上执行了这个命令。其中,主要的控制命令有:1、Simple命令: Ping描述: 给一台计算机发个数据包看它能否被访问(译者多嘴:通俗的说就是看他有没有中BO2K)命令: Query描述: 返回服务器上的BO2K的版本号2、System命令: Reboot Machine描
33、述: 重启动服务器命令: Lock-up Machine描述: 冻住服务器,要他重启动命令: List Passwords描述: 取得服务器上的用户和密码(译者多嘴:来偷别人的上网帐号)命令: Get System Info描述: 取得以下信息:Machine Name-机器名Current User-当前用户Processor-CPU型号Operating system version (SP version)-操作系统版本号(补丁版本)Memory (Physical and paged)-内存(物理内存和虚拟内存)All fixed and remote drives-所有的固定存储器和
34、远程驱动器3、Key Logging命令: Log Keystrokes描述: 把按键记录到一个文件里,要指定一个文件存储输出结果命令: End Keystroke Log描述: 停止记录按键命令: View Keystroke Log描述: 瞧按键记录文件命令: Delete Keystroke Log描述: 干掉按键记录文件4、GUI命令: System Message Box描述: 在服务器的屏幕上显示一个有文本框的窗口,窗口的标题可文本由你定5、TCP/IP命令: Map Port - Other IP描述: 把服务器上一个端口的网络流通数据重定向到另一个IP地址和端口(Redirec
35、ts network traffic from a specified port on the server to anot her IP address and port.)命令: Map Port - TCP File Receive描述: 从一个指定的端口收取文件,要指定端口号和文件名,详细路径命令: List Mapped Ports描述: 列出所有重定向的端口和信息(源端口和目标端口)命令: Remove Mapped Port描述: 去掉指定的重定向的端口命令: TCP File Send描述: 连到指定的端口,发个文件给他。要指定目标IP地址和端口,当然文件名,路径也不能少6、M
36、$ Networking命令: Add Share描述: 在远程机器上建个新的共享,要指定路径和共享名命令: Remove Share描述: 移除共享,要提供共享名命令: List Shares描述: 列出服务器上所有的共享命令: List Shares on LAN描述: 列出在LAN上的共享命令: Map Shared Device描述: 映射共享设备命令: Unmap Shared Device描述: 断开已映射共享设备命令: List Connections描述: 列出远程计算机的网络连接,包括当前的和永久的连接7、Process Control命令: List Processes描述
37、: 列出服务器上所有正在运行的程序过程,要指定机器名命令: Kill Process描述: 关闭指定的程序进程,要提供进程的ID号(可以用List Processes comma nd获得)命令: Start Process描述: 在服务器上开始一个进程,要指定路径和参数8、Registry命令: Create Key描述: 在注册表里生成新值,要完整的主键路径命令: Set Value描述: 设置注册表里的值,必须要完整的主键名,键名和键值命令: Get Value描述: 显示指定键名的键值命令: Delete Key描述: 删掉指定的主键命令: Delete Value描述: 删掉指定的键
38、名命令: Rename Key描述: 给主键改名命令: Rename Value描述: 改键值,要提供键值所在位置命令: Enumerate Keys描述: 统计一个主键下的键的数目命令: Enumerate Values描述: 统计键值数目9、Multimedia命令: Capture Video Still描述: 从指定设备上抓图,要指定文件名和设备名命令: Capture AVI描述: 从指定的设备上抓一段AVI小电影命令: Play WAV File描述: 播放指定的WAV文件命令: Play WAV File In Loop描述: 循环播放指定的WAV文件命令: Stop WAV F
39、ile描述: 停止正在播放的文件命令: List Capture Devices描述: 列出系统中可以抓小电影的设备命令: Capture Screen描述: 把当前的屏幕抓到指定的图片文件10、File/Directory命令: List Directory描述: 列出指定路径里的目录和文件(相当于dir)命令: Find File描述: 在服务器上的某个目录里找文件命令: Delete File描述: 删掉服务器上的文件命令: View File描述: 查看一个文件命令: Move/Rename File描述: 移动/改名文件,要指定原文件和新文件的名字命令: Copy File描述: 在
40、服务器上拷贝文件,要指定路径(不是拷到自己家里,是在别人的机子上拷贝)命令: Make Directory描述: 建个目录命令: Remove Directory描述: 删掉目录命令: Set File Attributes描述: 改文件属性(ARSHT 存档/只读/系统/隐藏)命令: Receive File描述: 从BO2K服务器下传文件,要绑定串(BINDSTR), NET, ENC, 文件证明(AUTH)和路径命令: Send File描述: 上传文件到服务器,要IP地址,NET, ENC, AUTH, 和路径命令: List Transfers描述: 列出正在传输的文件命令: Can
41、cel Transfer描述: 取消一个传输11、Compression命令: Freeze File描述: 把文件压缩(打包)输出到文件命令: Melt File描述: 解压缩文件到某个目录中12、DNS命令: Resolve Hostname描述: 取回服务器的正式域名和IP地址命令: Resolve Address描述: 取回服务器的正式域名和IP地址13、Server Control命令: Shutdown Server描述: 把服务器上的BO2K关掉,发送命令前要先打“删除”才行命令: Restart Server描述: 把关掉的BO2K服务器再启动命令: Load Plugin描述
42、: 装载插件命令: Debug Plugin描述: 调试插件命令: List Plugins描述: 列出已安装的插件有了以上这些命令,我们就可以将运行了服务器程序文件的在线计算机控制起来,随意地将它摆来弄去。4 结果分析与总结将服务器和控制程序配置好后,就可以将bo2k.exe发给别人,只要对方电脑一运行此程序,我们就可以操控别人的电脑了。我们将bo2k.exe发到另一台机器上面并运行,然后在控制程序中输入正确的服务器名和IP地址,就成功将控制端和服务器连接起来。如图4.1,4.2所示。图4.1 BO2K Workspace图4.2服务器控制交互界面然后我们进行了System Message
43、Box命令的测试,选定GUI下的System Message Box命令,然后Title和Text栏里面分别输入“木马测试”和“木马测试!”,如图4.3所示。图4.3服务器控制交互界面然后单击Send Command,就会在另外一台电脑上弹出个窗口。如图4.4所示。图4.4 测试窗口通过图4.4可以看出,System Message Box命令测试成功。其他命令也可以按照类似的方法进行测试,本文就不再一一阐述。运行BO2K服务器文件不会主动破坏使用者的电脑,它只是将自己植入到电脑系统内,等待BO2K控制程序下达命令给它,然后再进行攻击。 BO2K这个程序的功能,其实说穿了是一套远程控制软件,它
44、可以通过Internet去控制、取得远端电脑的操作与信息。BO2K匿名登陆和可能恶意控制远程机器的特点,使它成为在网络环境里一个极其危险的工具。5结束语通过此次课程设计,首先让我们掌握了C+语言的编程思想 ,理解了BO2K木马技术的实现。其次使得我们了解了木马病毒的防范技巧和知识,对于阻止网络犯罪的蔓延和侵害有着至关重要的作用,也为今后的继续学习打下了坚实的基础。同时也使我懂得了理论与实际相结合的重要性,只有理论知识是远远不够的,只有把所学的理论知识与实践相结合起来,从理论中得出结论,才能真正为社会服务,从而提高自己的实际动手能力和独立思考的能力。在设计的过程中遇到问题,可以说得是困难重重,这
45、毕竟第一次做的,难免会遇到过各种各样的问题,同时在设计的过程中发现了对以前所学过的知识理解得不够深刻,掌握得不够牢固等,在今后还需努力。总的来说,做完之后我认为我们这次课程设计并不算太难,主要还是因为我们初次接触,很多地方都不懂,加上理论知识的不足,因此刚开始感觉很困难,在此我要感谢带我们做课程设计的廖老师,是他的耐心讲解和细心指导,才使我能够顺利的完成课程设计,同时也要感谢班上同学们的热情帮助。参考文献1 谢希仁. 计算机网络(第五版)M. 北京:电子工业出版社,20082 张又生,米安然. 计算机病毒与木马程序剖析M. 北京:北京科海店子出版社,20033 张海棠. Visual C+6.0编程指南M. 北京:航空工业出版社,19994 张小磊. 计算机病毒诊断与防治M. 北京:中国环境科学出版社