当前位置:文档之家› 木马编程

木马编程

C木马【内容提要】本书全面介绍了C/C++语言网络编程和Socket编程的基本方法。

重点剖析了目前流行木马的编程方法,揭露了黑客木马编程技术内幕。

本书的特色在于从整体入手,先学习木马程序的整体框架雏形,然后一步一步地深入学习木马编程中的隐藏技术、管道技术、反弹技术以及远程注入技术等,全书结合多个生动案例,环环相扣,深入浅出,实现黑客编程技术的融会贯通。

本书提供的程序代码力求完整、精简以及可读性强,为初、中级黑客编程爱好者提供了实用的学习参考资料。

同时也可以作为大中专院校学生课外编程参考资料。

【序】一直以来想写一本关于黑客编程方面的书,一方面,市面上流行的黑客书籍大多拘泥于黑客工具的使用上,仅适合入门级的黑客技术爱好者;另一方面,黑客技术博大精深,自身的学识浅薄,不能写成令大家满意的作品,所以就一直搁浅。

由于我的上一部专著《信息安全顾问最佳实践指南》的读者给了我颇多的建议,同时也给了我写一本黑客编程方面的书籍的信心。

在中国,随着Internet的发展,黑客技术的爱好者也越来越多,水平也越来越高,他们不再满足使用别人的工具,也想自己亲自动手编制一些工具,这就非常需要一部关于黑客技术理论方面的书籍。

兵家云:"知己知彼,百战不殆",毛主席也说过"要想知道梨子的滋味,就得亲自尝一下",所以,我们要亲自动手编制一些实用的小程序,首先,我们要摈弃那些代码冗长,功能大而全的程序;其次,从整体入手,先有面的概念,然后在学习点的知识,最后串起来;最后,任何代码都要在实践中进行检验,所以,在本部书最后一章设计了四个完整实用的程序,给读者一个豁然开朗的感觉。

【本书的组织】第1~9章主要内容如下:第1章,木马介绍-介绍了木马的历史以及当前木马的发展趋势。

第2章,Windows下黑客编程语言-如何学习黑客编程以及C/C++语言的使用入门。

第3章,Socket套接字编程基础-TCP/UDP的Socket介绍,木马基本结构介绍。

第4章,木马隐藏技术剖析-介绍了注册表的自启动加载技术、服务的加载技术、DLL远程注入的加载技术。

第5章,匿名管道技术-介绍了匿名管道的技术利用,单、双管道后门代码的分析,以及简单的双管道后门。

第6章,反弹木马技术-介绍了反弹木马的出现背景,着重分析了反弹木马的原理以及给出反弹式木马的源代码。

第7章,端口重用技术-介绍了端口重用的实现方法,以及给出了端口重用的源代码。

第8章,黑客编程经典代码-给出了经常使用的部分C语言源代码,例如:下载者、关机、进程查杀等。

可以直接使用或作为函数使用。

第9章,实战编程-从实践出发,通过四个真实的案例,对学过的技术进行练习,由浅入深,最后做出真正实用的木马。

【致谢】最后,感谢一直支持我的家人和朋友,在写作的过程中,每当我遇到困难的时候,甚至放弃的时候,是他们给了我巨大的精神鼓舞和物质支持,在此,再一次向他们表示感谢。

【目录】第一章木马介绍 (1)1.1木马发展历史 (1)1.2国内木马发展趋势 (3)第二章Windows下黑客编程语言 (10)2.1如何学习黑客编程 (11)2.2黑客编程的基本技巧 (12)2.3 C语言编程入门 (14)2.3.1 C程序结构 (14)2.3.2利用VisualC++6.0编译 (16)2.3.3VisualC++6.0 使用技巧 (18)第三章Socket套接字编程基础 (22)3.1客户机/服务器模式介绍 (22)3.2基于TCP的socket编程 (27)3.3基于UDP的socket编程 (28)3.4 木马雏形框架 (32)3.5木马源码剖析 (33)第四章木马隐藏技术剖析 (37)4.1 注册表加载技术 (40)4.1.1注册表的基本操作 (44)4.1.2 代码实现注册表自启动 (48)4.2服务级的木马技术 (49)4.2.1 Windows服务简介 (49)4.2.2编程实现服务级木马 (51)4.3 DLL远程注入技术 (55)4.3.1 动态链接库 (62)4.3.2 DLL木马的启动 (63)第五章匿名管道技术 (68)5.1匿名管道技术的利用 (68)5.2单管道后门代码 (71)5.3双管道后门代码 (73)5.4简化双管道后门代码 (76)第六章反弹木马技术 (78)6.1什么是反弹式木马 (78)6.2反弹式木马的原理 (78)6.3反弹木马程序源码 (80)第七章端口重用技术 (82)7.1端口重用实现 (83)7.2端口重用实现代码 (86)第八章黑客编程经典代码 (95)8.1 下载者源码 (95)8.2 关机源码 (96)8.3 获取系统信息源码 (96)8.4 进程查杀源码 (100)第九章实战编程 (103)9.1牛刀小试-我的第一个木马 (103)9.2进一步思考-穿过防火墙 (106)9.3再进一步-控制与隐藏 (116)9.4终极篇-实战检验 (132)【其他】书名:C/C++木马编程进阶与实战作者:赵玉明开本:780x1000 1/16 字数:200 千字版次:2008年3月第一版 2008年3月第一次印刷印数:0001~5000定价:35.00元第一章木马介绍什么是"木马"?正像历史上的"特洛伊木马"一样,被称作"木马"的程序也是一种掩藏在美丽外表下打入我们电脑内部的东西。

确切地说,"木马"是一种经过伪装的欺骗性程序,它通过将自身伪装吸引用户下载执行,从而破坏或窃取使用者的重要文件和资料。

木马程序与一般的病毒不同,它不会自我繁殖,也并不"刻意"地去感染其他文件,它的主要作用是向施种木马者打开被种者电脑的门户,使对方可以任意毁坏、窃取你的文件,甚至远程操控你的电脑。

木马与计算机网络中常常要用到的远程控制软件是有区别的。

虽然二者在主要功能上都可以实现远程控制,但由于远程控制软件是"善意"的控制,因此通常不具有隐蔽性。

木马则完全相反,木马要达到的正是"偷窃"性的远程控制,因此如果没有很强的隐蔽性的话,那么木马简直就是"毫无价值"的。

一个完整的"木马"程序包含了两部分:"服务器"和"控制器"。

植入你的电脑的是它的"服务器"部分,而所谓的"黑客"正是利用"控制器"进入运行了"服务器"的电脑。

众所周知,基于TCP/IP协议接入互联网的电脑有0到65535共256×256个端口。

通常我们上网的时候,电脑通过80端口与外界保持联系。

运行了木马程序的"服务器"以后,你的电脑就会有另一个或几个端口被打开,使黑客可以利用这些打开的端口进入你的系统,你的系统安全和个人隐私也就全无保障了!1.1木马发展历史计算机世界中的特洛伊木马的名字由《荷马史诗》的特洛伊战记得来。

故事说的是希腊人围攻特洛伊城十年后仍不能得手,于是阿迦门农受雅典娜的启发:把士兵藏匿于巨大无比的木马中,然后佯作退兵。

当特洛伊人将木马作为战利品拖入城内时,高大的木马正好卡在城门间,进退两难。

夜晚木马内的士兵爬出来,与城外的部队里应外合而攻下了特洛伊城。

而计算机世界的特洛伊木马(Trojan)是指隐藏在正常程序中的一段具有特殊功能的恶意代码,是具备破坏和删除文件、发送密码、记录键盘和攻击等特殊功能的后门程序。

? 第一代木马:伪装型病毒这种病毒通过伪装成一个合法性程序诱骗用户上当。

世界上第一个计算机木马是出现在1986年的PC-Write木马。

它伪装成共享软件PC-Write的2.72版本(事实上,编写PC-Write的Quicksoft公司从未发行过2.72版本),一旦用户信以为真运行该木马程序,那么他的下场就是硬盘被格式化。

在我刚刚上大学的时候,曾听说我校一个前辈牛人在WAX机房上用BASIC 作了一个登录界面木马程序,当你把你的用户ID,密码输入一个和正常的登录界面一模一样的伪登录界面后后,木马程序一面保存你的ID,和密码,一面提示你密码错误让你重新输入,当你第二次登录时,你已成了木马的牺牲品。

此时的第一代木马还不具备传染特征。

? 第二代木马:邮件型木马继PC-Write之后,1989年出现了AIDS木马。

由于当时很少有人使用电子邮件,所以AIDS 的作者就利用现实生活中的邮件进行散播:给其他人寄去一封封含有木马程序软盘的邮件。

之所以叫这个名称是因为软盘中包含有AIDS和HIV疾病的药品,价格,预防措施等相关信息。

软盘中的木马程序在运行后,虽然不会破坏数据,但是他将硬盘加密锁死,然后提示受感染用户花钱消灾。

可以说第二代木马已具备了传播特征(尽管通过传统的邮递方式)。

? 第三代木马:网络传播性木马随着Internet的普及,这一代木马兼备伪装和传播两种特征并结合TCP/IP网络技术四处泛滥。

同时他还有新的特征:第一,添加了"后门"功能。

所谓后门就是一种可以为计算机系统秘密开启访问入口的程序。

一旦被安装,这些程序就能够使攻击者绕过安全程序进入系统。

该功能的目的就是收集系统中的重要信息,例如,财务报告、口令及信用卡号。

此外,攻击者还可以利用后门控制系统,使之成为攻击其它计算机的帮凶。

由于后门是隐藏在系统背后运行的,因此很难被检测到。

它们不像病毒和蠕虫那样通过消耗内存而引起注意。

第二,添加了击键记录功能。

从名称上就可以知道,该功能主要是记录用户所有的击键内容然后形成击键记录的日志文件发送给恶意用户。

恶意用户可以从中找到用户名、口令以及信用卡号等用户信息。

这一代木马比较有名的有国外的BO2000(BackOrifice)和国内的冰河木马。

它们有如下共同特点:基于网络的客户端/服务器应用程序。

具有搜集信息、执行系统命令、重新设置机器、重新定向等功能。

当木马程序攻击得手后,计算机就完全在黑客控制的傀儡主机,黑客成了超级用户,用户的所有计算机操作不但没有任何秘密而言,而且黑客可以远程控制傀儡主机对别的主机发动攻击,这时候背俘获的傀儡主机成了黑客进行进一步攻击的挡箭牌和跳板。

1.2国内木马发展趋势自BO、冰河诞生以来,国内的木马历史便正式展开了,下面我们以技术的发展突破作为界限,分别说说他们的历史和发展趋势。

? 后台运行程序早期的特洛伊木马后门先驱可以追溯到1997年那个网络在国内还未大量普及的时代,在当时,初期阶段的特洛伊木马技术在国外早已热火朝天,而国内众多用户却还在用着拨号上网偶尔浏览新闻和下载文件,只有少数用户知道并研究外国传入的英文界面特洛伊木马程序BO、SubSeven等,木马技术始终属于少数人手里的"高科技"入侵工具,直到国产木马"冰河"的出现和随后的几个版本升级,才标志着国内用户迎来了网络木马的混沌时代。

相关主题