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文件形式加载
hostodo从2014年年底运作至今一直都是走低价促销侧率运作VPS,在市场上一直都是那种不温不火的品牌知名度,好在坚持了7年都还运作得好好的,站长觉得hostodo还是值得大家在买VPS的时候作为一个候选考虑项的。当前,hostodo有拉斯维加斯和迈阿密两个数据中心的VPS在促销,专门列出了2款VPS给8T流量/月,基于KVM虚拟+NVMe整列,年付送DirectAdmin授权(发ticket...
今天看到一个网友从原来虚拟主机准备转移至服务器管理自己的业务。这里问到虚拟主机和服务器到底有什么不同,需要用到哪些工具软件。那准备在下班之间稍微摸鱼一下整理我们服务器安装环境和运维管理中常见需要用到的软件工具推荐。第一、系统镜像软件一般来说,我们云服务器或者独立服务器都是有自带镜像的。我们只需要选择镜像安装就可以,比如有 Windows和Linux。但是有些时候我们可能需要自定义镜像的高级玩法,这...
Sharktech最近洛杉矶和丹佛低价配置大部分都无货了,只有荷兰机房还有少量库存,商家又提供了两款洛杉矶特价独立服务器,价格不错,CPU/内存/硬盘都是高配,1-10Gbps带宽不限流量最低129美元/月起。鲨鱼机房(Sharktech)我们也叫它SK机房,是一家成立于2003年的老牌国外主机商,提供的产品包括独立服务器租用、VPS主机等,自营机房在美国洛杉矶、丹佛、芝加哥和荷兰阿姆斯特丹等,主...