标题：木马技术揭秘与防御
图书信息
网络安全入门与提高  木马技术揭秘与防御 
《黑客防线》编辑部 编著
ISBN 978-7-121-13471-5  
2011年9月出版
定价：35.00元
16开
240页
内 容 简 介
本书以Microsoft Visual C++ 6.0 为编程工具，全面介绍了C/C++语言网络编程和Socket编程的基本方法。重点剖析了目前流行木马的编程方法，揭露了黑客木马编程技术内幕。本书的特色在于从整体入手，先介绍木马程序的整体框架雏形，然后一步一步地深入分析木马常用的隐藏技术、管道技术、反弹技术、内核级rootkit技术、钩子（Hook）技术及远程注入技术等，全书结合众多生动案例，环环相扣，多种编程方法对比分析，深入浅出，使读者既能够从中领悟到一些编程技巧，而且还可以根据这些案例进行研究。书中提供的案例都经过作者编译通过，完整无误。
本书适合网络管理人员及其他相关领域的专业技术人员、管理人员阅读，也可作为高等院校相关专业的教学参考书。
序
一直以来想写一本关于信息安全技术编程方面的书，一方面，市面上流行的书籍大多拘泥于黑客工具的使用上，仅适合入门级的安全技术爱好者；另一方面，信息安全技术博大精深，自身的学识浅薄，不能写成令大家满意的作品，所以就一直搁浅。由于我的上一部专著《信息安全顾问最佳实践指南》的读者给了我颇多的建议，同时也给了我写一本安全技术编程方面的书籍的信心。在中国，随着Internet的发展，网络已经成为我们生活的一部分，然而，在享受网络带给我们方便、快捷的同时，也给互联网上的某些不法分子带来了可乘之机，他们通过病毒、木马程序进行网络监听，非法入侵，窃取银行账号等手段，给我们正常的使用网络资源带来严峻的挑战，作为一名从业多年的安全技术的爱好者，非常有必要揭露黑客编程的一些基本原理，让更多的人了解信息安全领域，提高信息安全防范理念。
这是一部关于安全技术实践方面的书籍。兵家云：“知己知彼，百战不殆”。毛主席也说过“要想知道梨子的滋味，就得亲自尝一下”，所以，我们要亲自动手编制一些实用的小程序。首先，我们抛弃了长篇大论的理论分析，冗长的代码，按部就班的学习方法，利用“原型法”从一个最简单的木马程序分析开始，逐渐拓展到木马的隐藏技术、反弹技术、端口重用技术等，同时又注重多种技术的综合使用；其次，从整体入手，先有面的概念，然后在学习点的知识，然后再串起来；最后，任何代码都要在实践中进行检验，所以，在本书第7章设计了两个完整实用的程序，给读者一个豁然开朗的感觉。
另外，针对初级爱好者，本书介绍了Windows下黑客编程语言Microsoft Visual C++的使用入门，详细解读了Socket套接字编程，同时辅助相关的软件使用操作流程，力求初学者在最短的时间内可以明白网络编程。也可以说，本书是为安全技术爱好者提供的绝佳入门级参考书。此外，如何查杀木马也是本书的特色之一，针对每一种木马，作者都给出了具体的防范方法，并做到从全局的角度研究安全编程。
致谢
最后，感谢一直支持我的家人和朋友，在写作的过程中，每当我遇到困难的时候，甚至放弃的时候，是他们给了我巨大的精神鼓舞和物质支持，在此，再一次向他们表示感谢。
赵玉明
前 言
目前，在信息安全领域，讨论安全框架理论及攻防技巧的书籍比较多见。能够综合全面剖析木马程序的书籍还是很难得的，例如，反弹技术、隐藏技术、端口重用技术等，这些编程方法和思路对于拓展信息安全防护领域的知识具有相当的实用价值。
本书以Microsoft Visual C++ 6.0 为编程工具，全面介绍了C/C++语言网络编程和Socket编程的基本方法。重点剖析了目前流行木马的编程方法，揭露了黑客木马编程技术内幕。本书的特色在于从整体入手，先学习木马程序的整体框架雏形，然后一步步地深入分析木马常用的隐藏技术、管道技术、反弹技术、内核级rootkit技术、钩子（Hook）技术及远程注入技术等，全书结合众多生动案例，环环相扣，多种编程方法对比分析，深入浅出，使读者既可以从中领悟到一些编程技巧，还可以根据这些案例进行研究。书中提供的案例都是经过作者编译通过的，完整无误。通过对这些案例的学习，让读者对黑客编程技术从陌生到熟悉，从理论到实践。 
作为一本信息安全技术研究的图书，作者从技术研究的角度出发，在深入剖析了木马技术原理的同时，也对如何防范这些木马给出了恰当的策略，希望广大安全编程爱好者能够举一反三，为我国的信息安全事业贡献一份力量。
本书的组织
本书共分8章，主要内容如下：
第1章 特洛伊木马发展历史，介绍了木马的历史及当前木马的发展趋势。
第2章 基础知识，介绍了Windows下编程语言Microsoft Visual C++ 6.0的使用入门，详细解读了Socket套接字编程。
第3章 一个简单的木马程序分析，介绍了一个最简单的木马源程序，并进行代码剖析，以及此类木马的防御。
第4章 木马隐藏技术分析，详细介绍了注册表启动编程、服务木马编程、注入木马编程及内核级rootkit技术。
第5章 木马控制技术分析，介绍了管道技术、反弹木马技术、端口重用技术及钩子技术在木马编程中的使用，以及此类木马的终极防范。
第6章 经典木马程序大解构，分析了比较常见的木马语言程序代码，例如，下载者、关机程序、进程查杀程序、多线程DOS攻击程序等。
第7章 综合木马程序剖析，介绍了正向连接木马、反弹隐藏型木马程序及WinShell木马程序，最后是比较实用的反木马策略。
第8章 木马的查杀，详细介绍了自启动木马、进程木马和文件木马的查杀策略。
本书提供的程序代码完整、精简及可读性强，为初、中级安全编程爱好者提供了实用的学习参考资料。同时也可以作为大中专院校学生课外编程参考资料。
由于编者水平有限，书中难免会有不妥和错误之处，恳请读者不吝赐教。
编  者
目 录
第1章  特洛伊木马发展历史 1
1.1  什么是木马程序 1
1.2  木马一直在变异 2
1.3  国内木马进化史 6
第2章  基础知识 16
2.1  常见的木马编程技术 16
2.2  Socket 编程技术 18
2.2.1  基于TCP的Socket技术 19
2.2.2  基于UDP的Socket技术 20
2.2.3  Socket 实例分析 20
2.3  C++语言编程介绍 30
2.3.1  C++程序结构 30
2.3.2  Visual C++编程介绍 32
2.3.3  Visual C++使用小技巧 34
第3章  一个简单的木马程序分析 37
3.1  Mini木马的基本原理 37
3.2  搭建实验环境 37
3.2.1  配置虚拟机环境 41
3.2.2  测试Mini木马的功能 47
3.3  Mini木马程序剖析 54
3.4  Mini类木马的防御策略 57
第4章  木马隐藏技术分析 60
4.1  隐藏技术——注册表启动 64
4.1.1  测试注册表加载型木马door 69
4.1.2  door木马程序剖析 71
4.1.3  加载注册表木马的防御 77
4.2  隐藏技术——服务级木马 78
4.2.1  测试服务级木马svchost 78
4.2.2  svchost木马程序剖析 81
4.2.3  服务级木马程序防范 90
4.3  隐藏技术——进程注入木马 92
4.3.1  测试进程注入木马Inject 92
4.3.2  Inject注入木马程序剖析 94
4.3.3  Inject注入木马程序防范 100
4.4  隐藏技术——内核级rootkit 100
4.4.1  测试rootkit 木马 102
4.4.2  rootkit木马程序剖析 107
4.4.3  rootkit木马程序防范 118
第5章  木马控制技术分析 120
5.1  管道技术 120
5.1.1  双管道木马程序剖析 120
5.1.2  简化双管道木马程序剖析 126
5.2  反弹木马技术 128
5.2.1  反弹木马的原理 128
5.2.2  反弹木马程序剖析 129
5.2.3  反弹木马的防范策略 131
5.3  端口重用技术 132
5.3.1  端口重用技术实现 133
5.3.2  端口重用的防范 138
5.4  钩子（Hook）技术 138
5.4.1  钩子技术实现 139
5.4.2  钩子程序防范 148
第6章  经典木马程序大解析 149
6.1  下载者程序剖析 149
6.2  关机程序剖析 150
6.3  进程查杀程序剖析 151
6.4  获取主机详细信息的代码 153
6.5  获取主机IP地址 156
6.6  单线程TCP扫描器 157
6.7  多线程DOS攻击程序 160
第7章  综合木马程序剖析 166
7.1  正向连接木马程序剖析 166
7.2  反弹并隐藏木马程序剖析 170
7.3  WinShell木马程序剖析 180
第8章  木马的查杀 206
8.1  自启动木马的查杀 206
8.1.1  注册表的基本知识 206
8.1.2  开机自启动木马 208
8.1.3  触发式启动木马 209
8.1.4  自动播放启动木马 212
8.2  进程木马的查杀 212
8.2.1  Windows XP启动过程 212
8.2.2  进程的查看 217
8.2.3  进程的隐藏 222
8.3  文件木马的查杀 227
8.3.1  文件的基本知识 227
8.3.2  文件的隐藏、查找、保护与删除 228
8.3.3  利用系统本身的规则隐藏文件 230