第2版前言
从2018年10月本书第1版首印至今,已经过去五年了。虽然网络攻防技术的基本原理没有发生重大变化,但是陆续出现了一些新型攻击工具和攻击方法,不少工具也进行了迭代和更新,这导致第1版中的部分内容过时,需要同步及时更新。
第2版重点对网络攻击的各个阶段进行补充和完善,介绍了新型攻击工具和方法,删除了过时的工具及其使用方法,详细描述了最新的工具使用方式。
第2章主要增补两部分内容。在2.2.1节“域名信息收集”和2.3.1节“目录结构分析”,分别补充介绍了新型无状态域名爆破/验证工具Ksubdomain和国产Web搜索工具“御剑”的技术原理、使用方法以及防御手段。增加了2.3.5节“指纹识别”,详细介绍了主流网站指纹识别方法的技术原理,以及相应工具的使用方法,如Whatweb、Wafw00f和Wappalyzer。
第3章有三部分改动。一是在3.1节“IP地址欺骗”中增加了“会话劫持”相关内容,结合开源工具netwox详细介绍了如何基于IP欺骗技术在局域网内发送假冒TCP报文,实现TCP会话劫持并在目标主机上执行任意指令。二是在3.3节“网络地址转换” 中增加了“NAT新概念”相关内容,详细说明了新型NAT方法的基本概念和技术原理,包括会话级NAT、圆锥型NAT、NAT穿越和端口块NAT等。三是增加了3.5节“内网穿透”,结合主流工具frp、Earthworm(ew)和ssh的技术原理和使用方法,详细介绍攻击者如何通过加密隧道穿透防火墙,实现内外网隐蔽通信,达到隐身目的。
第4章在4.1.11节“扫描工具”中补充了大规模端口扫描工具masscan的技术原理和应用示例。增加了4.3.3节“Nmap漏洞扫描”,介绍如何使用Nmap工具进行漏洞扫描。在4.3.4节“OpenVAS”中,删除了旧版本OpenVAS的应用介绍,并结合应用示例详细描述了最新版OpenVAS的技术架构和使用方法。在4.5节“Web漏洞扫描”中,将OWASP Top 10 2013替换为最新的OWASP top 10 2021,删除了对于VEGA、Golismero和W3af的工具介绍,新增了近年流行的国产Web漏洞扫描工具(Xray)和SQL注入漏洞扫描工具(sqlmap),并结合攻击示例,详细描述了技术原理和使用技巧。
第5章包括四部分补充和修改。在5.1.1节“口令破解”中,增加了新型密码窃取工具Mimikatz的基本使用方法。在5.2.2节“欺骗攻击” 中,补充介绍了ettercap工具的命令行使用方法,新增两种流行的攻击方法: ①结合Kali集成的Responder工具详细描述针对LLMNR/MDNS/NBNS局域网协议的Responder攻击的技术原理和攻击方法; ②结合BurpSuite和sslsplit工具详细介绍如何实现面向SSL协议的MITM攻击。在5.4.3节“实施攻击”中,基于Metasploit平台完整描述了如何利用永恒之蓝漏洞(MS17010)成功入侵Windows 7系统,并删除了第1版中针对MS08067漏洞的攻击描述。在5.5.3节“DoS/DDoS工具”中,删除了对于GoldenEye和Zarp工具的介绍,结合攻击示例增加了Metasploit平台的Slowris和Synflood模块的技术原理和使用方法。
第6章新增内容较多。在6.1.1节“开放连接端口”中,补充了nc工具如何与命名管道结合以实现远程shell、如何结合bash特有的网络端口重定向功能以实现远程shell以及nc工具的加密版本dbd和sbd的使用方法。在6.1.2节“修改系统配置”中,增加了Windows登录脚本和Winlogon系统组件的后门设置方法,增加了如何利用系统服务如svchost.exe和打印后台处理服务(Print Spooler)加载后门DLL。在6.1.4节“建立隐蔽连接通道”中,基于Kali集成的工具iodine、dns2tcp和stunnel4,详细介绍了近年流行的DNS隧道和SSL隧道的技术原理和使用技巧。在6.1.7节“替换系统文件”中,增加了系统程序,如粘滞键sethc.exe和屏幕保护程序的替换方法。在6.1.8节“后门工具”中,详细介绍了Meterpreter的典型用法,结合实例说明如何实现权限维持和本地提权,补充完善了经典后门工具PowerSploit的基本原理和使用技巧,增加了PHP Webshell工具Webacoo的使用方法介绍。
笔者在写作第1版的过程中,由于企业级实战经验有限,对于相关网络防御的商用工具的描述略为薄弱,第7章仅描述了若干软件防火墙的技术原理和配置方法,并没有涉及在企业攻防实战中占据主要应用场景的硬件防火墙。第2版新增7.4节“天融信防火墙”,以市场占有率较高的天融信下一代硬件防火墙为例,重点介绍了商用硬件防火墙的基本原理和使用方式,包括接口配置、资源管理、阻断策略、NAT转换和访问控制,并结合安全策略示例详细说明其报文过滤和转发流程。新增9.2.6节“密码误用”介绍了常见的针对密码体制误用的攻击(如PKCS填充提示攻击、RSA共模攻击等),以及针对哈希算法的攻击(包括哈希碰撞和哈希长度扩展攻击)。
另外,第2版在第10、12章分别补充了SSL协议报文的解密分析方法和近年较为流行的取证工具如磁盘分区和恢复工具DiskGenius、磁盘解密取证软件EFDD等。对第1版的第1、8、11、13章没有进行改动。
作者
2023年9月
第1版前言
随着计算机网络的迅速发展,电子商务和网络支付等关键业务数量剧增,对网络安全的需求不断提高,与此同时,互联网中的网络攻击事件持续不断,网络安全面临的威胁变化多样。因此,网络安全已经成为人们普遍关注的问题,网络安全技术也成为信息技术领域的重要研究方向。
当前有关计算机网络安全的图书各有特色,总体上可以分为三类。第一类着重讨论加/解密技术和安全协议等网络安全基础理论,特别是深入讨论各种具体算法和协议机制,但是没有与主流的网络安全工具和实际的网络攻防实践相结合,使得图书较为抽象和生涩难懂,读者很难学以致用。第二类专注于探讨网络攻击手段和对应的网络防御技巧,不对这些手段和技巧背后的技术原理做详细解释,同时也不对网络安全理论和技术做详细介绍,使得图书内容过于浅显,读者无法深入理解网络攻防过程中出现的各种现象的产生原因,也无法解决在实际工程实践中出现的各种问题。第三类则把各种安全机制放在一起讨论,类似于“大杂烩”,但是所有内容都是浅尝辄止。上述三类图书的共同问题在于一是没有对当前主流的网络攻防技术进行深入探讨,二是空泛地介绍基本概念和方法,没有与具体的网络、系统和安全问题相结合,因此使得读者很难提高实际解决网络安全问题的能力。
本书以将读者领进计算机网络安全技术的大门为目标。首先,系统地介绍网络攻击的完整过程,将网络攻击各个阶段的理论知识和技术基础与实际的攻击过程有机结合,使读者能够深入理解网络攻击工具的实现机制。其次,详细地介绍各种网络防御技术的基本原理,主要包括防火墙、入侵防御系统、恶意代码防范、系统安全和计算机取证等,同时结合当前主流开源防御工具的实现方法和部署方式,以图文并茂的形式加深读者对网络防御技术原理和实现机制的理解。最后,全面地介绍网络安全的基础理论,包括加/解密技术、加/解密算法、认证技术、网络安全协议等,将基础理论和主流工具的应用实践紧密结合,有利于读者理解抽象的理论知识及各种主流工具背后的实现机制。
全书共13章。第1章概述,全面介绍网络安全的定义、威胁和研究内容; 第2章信息收集,详细讨论各种信息收集技术的原理和使用方式; 第3章网络隐身,综合介绍IP地址欺骗和MAC地址欺骗、代理隐藏和NAT技术等隐藏主机的原理及主流工具的使用方法; 第4章网络扫描,详细阐述端口扫描、服务和系统扫描、漏洞扫描、配置扫描、弱口令扫描等扫描技术的基本原理,同时结合开源工具的实际扫描过程和扫描结果进行验证; 第5章网络攻击,结合主流攻击工具的使用方法,详细说明各类网络攻击的技术原理,包括弱口令攻击、中间人攻击、恶意代码攻击、漏洞破解和拒绝服务攻击等; 第6章网络后门与痕迹清除,结合实际工具和目标环境详细介绍如何设置各种系统后门,针对Windows和Linux系统环境,分别介绍不同的痕迹清除方法; 第7章访问控制与防火墙,详细讨论各类访问控制方法以及包过滤防火墙、代理防火墙、有状态防火墙等技术的基本原理,结合Cisco ACL、Linux iptables、Windows个人防火墙和CCProxy等主流工具的配置方法和应用实践,分析它们的实现机制和相应的技术原理; 第8章入侵防御,在详细说明基于主机的IPS和基于网络的IPS的工作流程及基本原理的基础上,分别结合开源软件OSSEC和Snort的配置方式和应用实践,进一步讨论有关技术原理; 第9章密码技术基础,全面讨论密码学体制、加/解密算法、认证技术和PKI架构等理论知识,结合加/解密工具GnuPG的应用实践说明加/解密技术的使用方式; 第10章网络安全协议,详细介绍链路层安全协议802.1X和EAP、网络层安全协议IPSec、传输层安全协议SSL和无线安全协议802.11i的实现机制,结合在Windows系统中应用IPSec协议的实践,进一步说明IPSec协议的原理,结合使用无线破解工具aircrackng破解WPA/PSK口令的应用实践,进一步说明802.11i协议的密钥交换机制; 第11章网络安全应用,详细说明常见的应用层安全协议的实现机制,包括VPN、电子邮件安全协议PGP和S/MIME、安全电子交易协议SET,结合Cisco路由器的IPSec VPN应用实践说明IP隧道的实现原理,结合详细的加/解密流程图说明SET协议的工作过程; 第12章恶意代码防范与系统安全,首先详细讨论病毒、
蠕虫和木马的防范方法,并结合Windows自带工具说明常用的木马防御手段,然后展开讨论Windows和Linux操作系统的安全机制及有关安全配置方法,最后详细说明计算机取证的定义、步骤和技术原理,结合主流取证工具的配置方式和使用方法说明计算机取证的作用; 第13章Web程序安全,首先详细介绍Web程序安全的核心安全问题和防御机制,以及与安全有关的HTTP内容和数据编码,然后结合DVWA项目着重讨论验证机制、会话管理、SQL注入和XSS漏洞等常见安全威胁的产生原因、攻击方法和防御技术。
作为一本理论和实践紧密结合的图书,正如网络的设计和部署可能存在漏洞一样,限于作者的水平,本书难免存在各种错误和不足。作者殷切希望读者批评指正,也希望读者能够就图书内容和叙述方式提出意见和建议。
作者
2018年7月