编辑推荐
英文纸质版图书年销售近20000册,电子版销售近万份
市场上极具口碑的渗透测试图书,好评如潮
《黑客秘笈:渗透测试实用指南》以橄榄球的行话阐述渗透测试的战术,其内容如下所示。
赛前准备—安装:关于如何配置本书所用到的攻击机器、工具。
发球前—扫描网络:在出招之前,需要进行扫描,了解即将面对的环境。本章将深入探讨寻找目标信息、智能扫描的相关内容。
带球—漏洞利用:利用扫描中所发现的漏洞,对系统进行攻击。从现在开始我们就着手行动了。
抛传—Web应用程序的人工检测技术:有时,您需要发挥创意,寻找公开的目标。我们将会看看如何手动地寻找、攻击Web应用。
横传—渗透内网:攻陷一个系统后,如何通过网络获取更重要的信息。
助攻—社会工程学:通过表演来迷惑敌人,本章将解释一些社会工程学方面的技巧。
短传—需要物理访问的攻击:一个要求很近距离的漂亮短踢。这里将描述需要物理访问的攻击。
四分卫突破—规避反病毒检测:当您距离很近时,偷袭是很棒的。多数情况下,您会面临反病毒软件的阻挠。为解决这一阻碍,本章将介绍规避杀毒系统的方法。
特勤组—破解、利用和技巧:破解密码、漏洞利用,以及一些小技巧。
赛后—分析报告:比赛过程分析和成果汇报。
继续教育:与读者分享为提升渗透测试水平而有必要做的一些事情,如参加安全会议、参加培训课程、阅读相关图书、研究漏洞框架、参加CTF比赛等。
内容简介
所谓的渗透测试,就是借助各种漏洞扫描工具,通过模拟黑客的攻击方法,来对网络安全进行评估。 《黑客秘笈:渗透测试实用指南》采用大量真实案例和集邮帮助的建议讲解了在渗透测试期间会面临的一些障碍,以及相应的解决方法。本书共分为10章,其内容涵盖了本书所涉的攻击机器/工具的安装配置,网络扫描,漏洞利用,人工地查找和搜索Web应用程序的漏洞,攻陷系统后如何获取更重要的信息,社工方面的技巧,物理访问攻击,规避杀毒软件的方法,破解密码相关的小技巧和成果汇总等知识。 《黑客秘笈:渗透测试实用指南》编排有序,章节直接相互独立,读者可以按需阅读,也可以逐章阅读。本书不要求读者具备渗透测试的相关背景,但是如果具有相关的经验,对理解本书的内容会更有帮助。
作者简介
Peter Kim,是Secure Planet公司的CEO兼主席,在安全领域具有近10年的从业经验,在过去的7年里,一直从事渗透测试工作。他曾经在马里兰州霍华德社区学院讲授过渗透测试和网络安全的课程,并且持有大量安全相关的认证。
内页插图
目录
第1章 赛前准备—安装 1
1.1 搭建渗透测试主机 1
1.1.1 硬件规格 1
1.1.2 商业软件 2
1.1.3 Kali Linux(http://www.kali.org) 3
1.1.4 Windows虚拟机 10
1.2 总结 12
第2章 发球前—扫描网络 13
2.1 外部扫描 13
2.2 Discover Scripts(过去叫做Backtrack Scripts)(Kali Linux) 14
2.2.1 被动式信息收集的操作方法 14
2.2.2 使用泄漏库来查找邮箱、认证信息 17
2.3 外部或内部的主动式信息收集 20
2.4 Web应用程序的扫描 29
2.4.1 Web应用程序的扫描流程 30
2.4.2 Web应用程序的扫描工具 30
2.5 总结 38
第3章 带球—漏洞利用 39
3.1 Metasploit(Windows/Kali Linux)(http://www. metasploit.com) 39
3.1.1 配置Metasploit进行远程攻击的基本步骤 39
3.1.2 搜索Metasploit的exploit(以古老的MS08-067漏洞为例) 41
3.2 脚本 42
3.3 总结 45
第4章 抛传—Web应用程序的人工检测技术 47
4.1 Web应用程序的渗透测试 47
4.1.1 SQL注入 47
4.1.2 跨站脚本(XSS) 57
4.1.3 跨站请求伪造(CSRF) 65
4.1.4 会话令牌 68
4.1.5 模糊测试/输入验证 70
4.1.6 功能/业务逻辑测试 75
4.2 总结 75
第5章 横传—渗透内网 77
5.1 登录凭据条件下的网络渗透 77
5.2 利用任意域凭据(非管理权限) 82
5.2.1 组策略首选项 82
5.2.2 获取明文凭据 84
5.2.3 关于漏洞利用后期的一点提示 87
5.3 利用本地或域管理账号 87
5.3.1 使用登录凭据和PSExec掌控网络 87
5.3.2 攻击域控制器 94
5.4 漏洞利用的后期阶段—使用PowerSploit(Windows) 97
5.5 漏洞利用的后期阶段—PowerShell篇(Windows) 103
5.6 ARP欺骗 105
5.6.1 IPv4 106
5.6.2 IPv6 110
5.6.3 ARP欺骗之后的攻击步骤 112
5.6.4 会话劫持(SideJacking) 112
5.6.5 Hamster/Ferret(Kali Linux) 112
5.7 端口代理 119
5.8 总结 120
第6章 助攻—社会工程学 121
6.1 近似域名 121
6.1.1 SMTP攻击 121
6.1.2 SSH攻击 123
6.2 鱼叉式网络钓鱼 124
6.2.1 Metasploit Pro 的网络钓鱼模块 125
6.2.2 社会工程学工具集(Kali Linux) 127
6.2.3 大规模鱼叉式网络钓鱼 131
6.2.4 Excel相关的社会工程学 132
6.3 总结 135
第7章 短传—需要物理访问的攻击 137
7.1 线攻击 137
7.1.1 被动识别和侦察 138
7.1.2 主动攻击 140
7.2 物理攻击 149
7.2.1 克隆工卡 149
7.2.2 渗透测试便携设备 149
7.2.3 物理社会工程学攻击 153
7.3 总结 154
第8章 四分卫突破—规避反病毒检测 155
8.1 规避反病毒检测 155
8.1.1 在反病毒扫描中隐藏Windows Credential Editor
(基于Windows平台) 155
8.1.2 Python 160
8.2 总结 166
第9章 特勤组—破解、利用和技巧 167
9.1 密码破解 167
9.1.1 John The Ripper(JTR) 169
9.1.2 oclHashcat 169
9.2 漏洞搜索 173
9.2.1 Searchsploit(Kali Linux) 173
9.2.2 BugTraq 174
9.2.3 Exploit-DB 176
9.2.4 查询Metasploit 176
9.3 一些小技巧 177
9.3.1 Metasploit中的RC脚本 177
9.3.2 绕过UAC 178
9.3.3 绕过域名的Web过滤 179
9.3.4 Windows XP—古老的FTP策略 180
9.3.5 隐藏文件(Windows) 180
9.3.6 保持隐藏文件(Windows) 182
9.3.7 上传文件到Windows 7/8主机 184
第10章 赛后—分析报告 185
第11章 继续教育 189
11.1 重要会议 189
11.2 培训课程 190
11.3 书籍 190
11.4 漏洞渗透测试框架 192
11.5 夺旗(CTF) 193
11.6 与时俱进 193
最后的注意事项 195
致谢 196
前言/序言
深入代码的隐秘角落:构建坚不可摧的数字堡垒 在这个信息爆炸、数字浪潮席卷一切的时代,我们的生活早已与网络密不可分。从日常的社交媒体互动,到关键的金融交易,再到国家层面的信息安全,数字世界的边界不断拓展,也随之带来了前所未有的挑战。在光鲜亮丽的数字技术背后,潜藏着无数不为人知的复杂性,而理解这些复杂性,正是保障自身安全、维护数字世界秩序的关键。 本文并非一本直接教授“黑客攻击”技巧的书籍,也非一本宣扬非法活动的指南。相反,它旨在揭示那些隐藏在数字表面之下的运作原理,帮助读者建立起一种更深刻、更全面的数字安全意识。它是一扇通往理解网络攻防思维的大门,让你不再是被动的信息接受者,而是能够主动思考、审慎判断的数字公民。 第一章:理解数字世界的“骨骼”——网络基础架构的基石 在深入探讨安全问题之前,扎实的网络基础知识是必不可少的。本章将带你回到数字世界的源头,从最基本的概念出发,逐步构建起对现代网络架构的清晰认知。我们将探究: 数据如何在网络中旅行? 从比特流到数据包,再到复杂的路由协议,我们将分解数据传输的整个生命周期。你将了解TCP/IP协议栈的精妙之处,理解三次握手和四次挥手的意义,以及UDP在特定场景下的优势。 我们每天都在与哪些“设备”打交道? 从路由器、交换机到服务器,我们将解析这些网络设备的功能和相互关系。你将理解不同层级设备在网络通信中所扮演的角色,以及它们如何共同构建起庞大的互联网。 域名是如何被解析成IP地址的? DNS(域名系统)的运作机制将不再是神秘的黑箱。我们将深入了解DNS查询过程,理解其重要性,以及在DNS层面可能存在的攻击向量。 我们如何才能“看到”网络中的流量? 了解网络嗅探的基本原理,以及Wireshark等工具的初步应用,让你能够观察数据包的真实形态,从而更好地理解网络通信的细节。 第二章:窥探应用程序的“灵魂”——软件开发与漏洞的根源 任何数字系统都离不开软件。应用程序的编写方式、设计思路,都可能成为安全隐患的温床。本章将引导你理解软件开发中的安全考量,以及常见的漏洞产生机制: 代码中的“意外”: 我们将分析常见的编程错误,例如缓冲区溢出(Buffer Overflow)、整数溢出(Integer Overflow)等,以及它们是如何被利用来执行非预期代码的。 输入与输出的“信任危机”: 为什么不应轻易相信用户的输入?SQL注入(SQL Injection)和跨站脚本攻击(XSS)等Web应用程序的常见漏洞,都源于对用户输入的校验不足。你将理解这些攻击的原理,以及如何通过输入验证和参数化查询来防范。 身份验证的“薄弱环节”: 用户名和密码的安全性至关重要。我们将探讨弱密码、暴力破解(Brute Force Attack)以及会话劫持(Session Hijacking)等问题,并介绍多因素认证(Multi-Factor Authentication)等加固措施。 权限管理的“一把双刃剑”: 恰当的权限分配是系统安全的基石。本章将讨论权限提升(Privilege Escalation)的风险,以及如何通过最小权限原则来降低风险。 API的“开放与风险”: 如今,API(应用程序接口)是系统间交互的桥梁。我们将审视API设计中的安全盲点,以及API泄露可能带来的严重后果。 第三章:渗透测试的“逻辑”——思维方式与方法论的构建 在理解了网络和软件的基础之后,我们才能更深入地探讨如何“思考”安全问题。本章并非提供具体的攻击步骤,而是着重于渗透测试的核心思维模式和通用的方法论: 信息收集的艺术: 了解目标系统的公开信息,是展开任何安全评估的第一步。我们将介绍被动侦察(Passive Reconnaissance)和主动侦察(Active Reconnaissance)的技术,以及OSINT(开源情报)在信息收集中的作用。 漏洞扫描与分析: 自动化工具是发现潜在漏洞的得力助手。我们将介绍Nmap、OpenVAS等漏洞扫描工具的基本用法,并强调工具结果的分析和误报的识别。 探索系统弱点: 在了解目标后,如何系统性地发现可利用的弱点?本章将介绍常见的扫描技术,例如端口扫描、服务版本探测等,并解释这些技术背后的逻辑。 利用与验证: 当发现潜在漏洞时,如何安全地进行验证?我们将讨论概念验证(Proof of Concept)的意义,以及如何避免不必要的损害。 报告的价值: 渗透测试的最终目的是提供有价值的安全建议。本章将强调报告的清晰性、准确性和 actionable nature(可操作性)。 第四章:防御者的“视角”——加固系统与应对威胁 理解攻击者的思维模式,是为了更好地构建防御体系。本章将从防御者的角度出发,探讨如何增强系统的安全性: 防火墙与入侵检测/防御系统(IDS/IPS): 这些是网络安全的第一道防线。我们将解析防火墙的工作原理,以及IDS/IPS如何监测和阻止恶意流量。 安全加固的最佳实践: 从操作系统到应用程序,再到网络设备,我们将讨论各种加固策略,例如禁用不必要的服务、及时更新补丁、配置安全策略等。 加密技术的应用: SSL/TLS、VPN等加密技术在保护数据传输中的关键作用。你将理解它们是如何工作的,以及在什么场景下使用。 安全审计与日志分析: 通过记录和分析系统活动,我们能够及时发现异常和潜在的攻击。本章将介绍日志分析的重要性,以及如何利用日志信息进行安全事件响应。 安全意识的培养: 人是安全链条中最薄弱的环节。本章将强调用户安全意识培训的重要性,以及如何防范社会工程学攻击。 第五章:数字世界的“未来”——新兴技术与持续演进 数字安全并非一成不变,它是一个不断演进的领域。本章将展望数字安全领域的未来趋势,帮助读者保持学习和适应能力: 云计算与容器化的安全挑战: 随着云原生技术的普及,新的安全问题也随之而来。我们将探讨云环境下的安全责任模型,以及容器化部署的安全考量。 物联网(IoT)的安全隐患: 越来越多的设备连接到互联网,带来了巨大的便利,但也伴随着复杂的安全风险。 人工智能(AI)在安全领域的双刃剑: AI既是强大的防御工具,也可能被用于更复杂的攻击。 零信任(Zero Trust)安全模型: 这种新的安全理念正在改变我们对网络安全的认知。 持续学习与自我提升: 数字安全领域日新月异,保持学习的热情和获取最新知识的能力,是每个数字公民的必修课。 这本书的目的,是让你成为一个更懂技术、更懂安全的人。 它提供了一个理解数字世界运行机制的框架,培养你审慎思考、发现问题的能力,并为你构建更安全的数字生活和工作环境打下坚实的基础。通过本书的学习,你将能够: 更清晰地认识到数字世界中的潜在风险。 理解常见网络攻击和软件漏洞的原理。 掌握基本的网络安全概念和方法论。 提升自身的数字安全意识和防护能力。 以更专业的视角审视和评估数字系统的安全性。 这不仅是一本书,更是一次认知升级的旅程。让我们一起深入探索代码的隐秘角落,构建属于我们自己的坚不可摧的数字堡垒。