《网络攻防技术》主要面向网络安全技术初学者和相关专业学生。本书按照技术专题组织编写,第1章介绍网络安全基础知识,主要包括渗透测试平台BackTrack的基本内容和相关脚本语言的基本知识。第2~7章分别介绍了不同的网络攻防技术专题,主要包括信息收集技术、漏洞利用技术、密码破解技术、网络嗅探技术、Web应用安全和入侵防范与检测技术等。网络攻防技术的发展非常迅速,作为一门对实践能力要求很高的课程,本书非常注重提高学生的动手能力,精心选择了相关的网络安全工具软件,介绍了业界流行的渗透测试平台BackTrack的相关内容。对于每个网络攻防技术专题,本书都通过实例分析和详细的步骤讲解,力求把理论知识应用到实践中去。
为了适应教学需求,课程组的老师们对网络攻防的基本理论知识、流行的安全工具进行了整理和组织,结合相关的课程授课经验,决定以专题式、实例式的形式来编写此书,希望学生通过具体实践来解决任务挑战,提高实战技能,更加深入地理解网络攻防理论知识和技术原理。
本书的第1章主要介绍网络攻防的基础知识,要求学生了解和掌握利用虚拟机来搭建实验环境的方法和步骤,并且学会利用数据包捕获工具对攻防过程进行必要的分析和取证。通过引入业界流行的渗透测试平台BackTrack,使学生了解前沿的技术工具和攻防手段。为了更好地理解和掌握后续章节中出现的案例和代码,在第1章中还介绍了Linux Bash脚本和Python脚本的基础知识。
从第2章开始,分别介绍网络攻防领域中不同的技术专题。通过作者自主设计和网上借鉴的实例式任务,引导学生主要利用BackTrack中的开源或免费软件工具,在攻防实验环境中锻炼实践能力,达到提高实战技能的目的。对于一些实例任务,不但要求学生会用工具软件来完成,甚至还要求通过更高的技术手段,比如自己编写脚本代码,来解决任务挑战。
全书共有7章,其中第1~4章由武晓飞编写,第5章由徐国天编写,第6章由段严兵编写,第7章由肖萍和郭睿编写。
由于作者水平有限,书中难免存在疏漏或不足之处,欢迎使用本书的师生提出宝贵意见。
编者2014年9月
第1章网络攻防基础1
1.1BackTrack基础1
1.1.1BT5的虚拟机安装1
1.1.2BT5常用网络服务2
1.2网络数据包分析5
1.3Bash脚本基础6
1.4Python脚本基础9
习题12
第2章信息收集技术13
2.1基于搜索引擎的信息收集13
2.2基于Whois数据库的信息收集14
2.3基于端口扫描的信息收集16
习题18
第3章漏洞利用技术19
3.1Metasploit Framework19
3.1.1msfconsole19
3.1.2meterpreter20
3.1.3msfpayload22
3.2客户端漏洞攻击24
3.2.1Adobe Reader客户端漏洞攻击24
3.2.2Word宏客户端攻击27
3.3Exploitdb30
习题31
第4章密码破解技术32
4.1提取目标主机的密码哈希32
4.1.1LM哈希概述32
4.1.2系统处于运行状态下提取哈希32
4.1.3系统处于关闭状态下提取哈希33
4.2破解提取出的密码哈希35
4.3直接清除密码哈希38
4.4破解网络服务认证40
4.4.1Hydra40
4.4.2Python脚本bruteforce FTP43
习题44
第5章网络嗅探技术45
5.1利用工具实现网络嗅探45
5.1.1利用Cain实现ARP欺骗45
5.1.2利用ettercap实现ARP欺骗48
5.2手工构造数据包实现网络嗅探53
习题55
第6章Web应用安全56
6.1SQL注入56
6.1.1构建前台应用程序56
6.1.2构建后台数据库57
6.1.3漏洞分析57
6.1.4漏洞防范59
6.2“Command Execution”攻击60
6.2.1构建应用程序60
6.2.2漏洞分析61
6.2.3漏洞防范61
6.3跨站脚本攻击62
6.3.1反射型XSS攻击63
6.3.2存储型XSS攻击64
6.3.3XSS攻击的防范措施65
习题66
第7章入侵防范与检测67
7.1iptables防火墙67
7.1.1防火墙简介67
7.1.2iptables基础68
7.1.3iptables实例68
7.2Snort入侵检测系统69
7.2.1Snort概述69
7.2.2Snort实例69
习题72
参考文献73