XXXXXXXXXXX
题 目特洛伊木马程序的设计与实现
学生姓名
指导教师
学 院 信息科学与工程学院
专业班级
完成时间 2010年5月28日
摘 要
随着计算机网络技术的飞速发展黑客技术也不断更新它对网络安全构成了极大的威胁。特洛伊木马作为黑客工具中重要的一员其技术日新月异破坏力之大是绝不容忽视的。因此对木马技术的研究刻不容缓。
本文首先介绍了木马的基本概念包括木马的结构、行为特征、功能、分类以及木马的发展现状和发展趋势。然后详细介绍了木马的工作原理和木马系统的关键技术。木马的关键技术包括木马的伪装方式、木马程序的隐藏技术、木马的自启动以及木马的通信技术等。另外本文研究了远程控制技术包括TCP/IP协议的介绍、 Socket通信技术和客户端/服务器模型C/S 。
本文在研究木马技术的基础上设计了一款远程控制木马。该木马程序能够通过客户端对远程主机进行控制和监视服务端可以自动连接客户端。另外该木马程序还包括远程文件操作文件复制、拷贝、删除、下载、上传等 远程系统控制关机、重启鼠标、屏幕锁定启动项管理 网络连接控制远程进程管理和文件传输等功能。最后本文实现了这一款木马程序并对其进行了测试。测试结果显示该木马程序实现了所有的功能能够对远程主机进行控制。
关键词 木马 Socket远程控制
ABSTRACT
With the rapid development of network, the dependence between our society,computer system and information network becomes bigger and bigger.The safety of theinternet is especially important.The hackers create a great network security threats,and thecurrently most available mean of invasion are the Trojan technology.Therefore, thistechnique has been studied for the Trojan technology.
This paper introduces the basic concepts of Trojans, including structure, behaviorcharacteristics,function,classification and Trojans situation and development trend.Then, italso introduces the details of the Trojan works and Trojan key technology.Key technologiesinclude Trojan disguised wacommunication technology. In addition, this paper also studies about the remote controltechnology, including TCP/IP protocol description,Socket communication technology andclient/server model (C/S).
There is a remote control Trojan based on this paper which is studying the Trojantechnology.This Trojan horse can control and watch the distance host through the client,and the server can connect with the client automatically. In addition, the Trojan programalso includes a remote file operations (file copy, copy, delete, download, upload, etc.),remote system control (shutdownnetwork connection control, remote process management, file transfer and other functions.Finally, this paper realizes this Trojan horse program,and tests it.Test results show that theTrojan horse program achieves all the functions and it can control the remote host.
KEY WORDS Trojan,Socket,Remote control精品
目录
摘 要I
ABSTRACT. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .II
第一章绪论. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .1
1.1木马的研究背景. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .1
1.2木马发展的现状. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .2
1.3论文研究的意义和目的. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .3
1.4论文的研究内容. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .3
1.5论文章节安排. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .4
第二章木马技术基础. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .5
2.1木马系统结构. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .5
2.2木马的基本特征. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .6
2.3木马的功能. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .8
2.4木马的分类. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .8
2.5木马的发展趋势. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .11
第三章木马工作原理及关键技术. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .13
3.1木马的伪装. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .13
3.2木马的隐藏. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .15
3.3木马常见的启动方式. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .18
3.4远程控制技术. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .21
3.4.1IP协议. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .22
3.4.2 TCP协议. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .22
3.4.3套接字(Sockets)技术. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .24
3.5木马的通信. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .24
3.5.1端口复用技术. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .25
3.5.2反弹端口. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .26
3.5.3潜伏技术. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .27
3.6客户机/服务器模型. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .27
第四章远程控制木马的设计. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .29
4.1功能分析. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .29
4.2系统总体设计. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .30
4.2.1使用环境和拓扑结构. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .30
4.2.2系统的逻辑模型. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .32
4.2.3设计思路. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .34
4.3系统实现的关键技术. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .35
4.3.1 DLL模块化技术. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .35
4.3.2钩子技术. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .38
4.3.3远程线程插入技术. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .39
4.3.4隐蔽通信技术. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .42
4.4系统的开发工具. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .44
第五章远程控制木马的实现. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .46
5.1服务端程序的实现. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .46
5.1.1服务端的自启动. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .46
5.1.2通信模块的实现. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .50
5.1.3服务端管理模块. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .55
5.2客户端的实现. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .56
5.2.1远程文件控制. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .57
5.2.2系统控制. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .59
5.2.3文件传输. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .60
第六章结束语. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .62
参考文献. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .63
致 谢. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .65
第一章 绪论
1.1木马的研究背景
随着网络的快速发展 Internet深入到社会的每个角落人们充分享受到了其给工作和生活带来的巨大便利人类社会对计算机系统和信息网络的依赖性也越来越大。工业和信息化部统计数据显示 2009年中国网民规模已达3.84亿预计2010中国网民规模突破4亿[1]。 由于计算机系统和信息网络系统本身固有的脆弱性 网络入侵工具(如蠕虫、木马等)不断涌现社会、企业和个人也因此蒙受了越来越大的损失。木马由于它的隐蔽性、远程可植入性和可控制性等技术特点已成为黑客攻击或不法分子入侵网络的重要工具 目前不断发生的互联网安全事故中大部分都有木马的身影。
2010年1月国内最知名的信息网络安全厂商金山安全正式发布《2009年中国电脑病毒疫情及互联网安全报告》。报告显示 2009年金山毒霸共截获新增病毒和木马20684223个与5年前新增病毒数量相比增长了近400倍。在新增病毒中木马仍然首当其冲新增数量多达15223588个 占所有病毒重量的73.6%。全国共有76409010台约7600万台计算机感染病毒与08年的感染量相比增加了13.8%[2]。
计算机病毒猖獗的背后是巨大的经济利益。据中国国家计算机网络应急处理中心估计 目前木马黑色产业链的年产值己超过2.38亿元人民币造成的损失则超过76亿元。木马经济产业化的一个重要表现就是制造木马、传播木马、盗窃账户信息、销赃、洗钱分工明确形成了一个非常完善的流水性作业程序这个流水作业程序就是一条黑色产业链[3]。
木马程序使得远程的黑客能够享有系统的控制权。 “知己知彼百战不殆”如果想找出防御木马攻击的有效途径就必须认真地研究木马攻击的技术。在研究木马攻防的过程中如果能够理清木马攻击手段的发展脉络就有可能进一步找出木马发展的趋势并提早思考应对策略。
1.2木马发展的现状
自从世界上出现第一个木马程序1986年的P C-Wri t e木马到今天木马的发展已经历了五代[4] [5]
第一代木马出现在网络发展的早期是以窃取网络密码为主要任务即简单的密码窃取、发送等在隐藏和通信方面均无特别之处。
第二代木马在技术上有很大的进步使用标准的C/S架构提供远程文件管理、屏幕监视等功能。但是由于植入木马的服务端程序会打开连接端口等候客户端连接比较容易被发现。如 “冰河”、 “Qmi ti s”。
第三代木马在功能上与第二代木马没有太大差异它的改变主要在网络连接方式上它的特征是不打开连接端口进行侦听而是使用I CMP通信协议进行通信或使用反向连接技术让服务器端主动连接客户端以突破防火墙的拦截。在数据传递技术上也做了不小的改进出现了I CMP等类型的木马利用畸形报文传递数据增加了查杀的难度。如 网络神偷、 Peep201等。
第四代木马在进程隐藏方面做了大改动采用了内核插入式的嵌入方式利用远程插入线程技术嵌入DLL线程或者挂接PSAPI[6] 实现木马的隐藏。前三代木马大多都有独立的木马 因此用户可以根据启动项目中的描述内容很快找到木马并删除它。但是第四代木马选择注册表的方式伪装成DLL文件形式加载
LayerStack(成立于2017年),当前正在9折促销旗下的云服务器,LayerStack的云服务器采用第 3 代 AMD EPYC™ (霄龙) 处理器,DDR4内存和企业级 PCIe Gen 4 NVMe SSD。数据中心可选中国香港、日本、新加坡和洛杉矶!其中中国香港、日本和新加坡分为国际线路和CN2线路,如果选择CN2线路,价格每月要+3.2美元,付款支持paypal,支付宝,信用卡等!...
ZJI是成立于2011年原Wordpress圈知名主机商—维翔主机,2018年9月更名为ZJI,主要提供香港、日本、美国独立服务器(自营/数据中心直营)租用及VDS、虚拟主机空间、域名注册业务。本月商家针对香港阿里云线路独立服务器提供月付立减270-400元优惠码,优惠后香港独立服务器(阿里云专线)E3或者E5 CPU,SSD硬盘,最低每月仅480元起。阿里一型CPU:Intel E5-2630L...
RAKsmart 虽然是美国主机商,但是商家的主要客户群还是在我们国内,于是我们可以看到每次的国内节日促销活动期间商家也会发布促销。包括这次年中大促活动,RAKsmart商家也有发布为期两个月的年终活动,其中有商家擅长的独立服务器和便宜VPS主机。服务器包括站群服务器、特价服务器、高达10G带宽不限制流量的美国服务器。商家优惠活动,可以看到对应商品的优惠,同时也可以使用 优惠码 RAKBL9 同时...