前言
译者:@Snowming
这是《渗透测试实战》一书的第三版。以下会给出一个基于第二版新增的漏洞和攻击的总结。除了新的内容,本书保留了之前的版本中现今仍然可以用的攻击和技术,这是为了避免让你再去翻以前的书。除了从以前的书里提取的内容,这本书还有什么新的内呢?新的内容包括一些过去几年提出来的新话题:
- 利用活动目录
- 利用 Kerberos 协议
- 高级 Web 攻击
- 更好的横向移动方式
- 云计算相关漏洞
- 更快/更高效的密码破解
- Living off the land 技术(意思是入侵者使用系统凭据和合法的软件管理工具访问系统,感染和收集有价值的数据)
- 内网漫游攻击
- 多个定制的实验
- 较新的 Web 语言漏洞
- 物理攻击
- 特权升级
- PowerShell 攻击
- 勒索软件攻击
- 红队 VS 渗透测试
- 建立红队基础设施
- 可用的红队指标
- 编写恶意软件和免杀
- 以及更多
此外, 我还试图采纳所有从第一版和第二版书的读者那里收到的评论和建议。我想再次重申, 我不是一个专业作家。我只是喜欢安全并且想要交流安全, 这本书仅仅是我的兴趣项目。我希望你喜欢它。
本书还将更深入地介绍如何搭建一个测试攻击的实验环境, 以及渗透测试的最新技巧和姿势。最后, 我试图使这个版本更容易去实践, 因为许多学校已经把这本书纳入他们的课程。 我尽量添加了实验部分, 来给读者提供测试漏洞或利用漏洞的实践机会。
和其他两本书一样, 我尽量贴近真实的网络环境。我也试图远离理论攻击, 从实际的渗透经验出发。从渗透测试工程师到红队, 我认为这个行业发生了重大的转变。 我想把这种转变展示给你看, 而不是仅仅告诉你为什么有这些转变。正如我之前所说, 我的热情是教导和挑战他人。所以我写这本书有两个目的: 第一, 让读者理解攻击者的思维方式,了解攻击的 “方式”; 第二, 我想让习得学到的工具和技术, 并且扩展他们。阅读和复现实验只是学习任务的一部分。我最想教给你的是——让你的工作为你的才能代言。我真心觉得,如果你想要在安全方面找到工作。想要与其绞尽脑汁的写简历 (当然, 你肯定需要准备一个简历), 还不如你的 Github 有丰富的内容,很多公共 Github 项目或者安全方面有影响力的技术博客。无论你是防御的蓝队成员还是进攻的红色成员,参与安全公共社区,积极分享都是至关重要的。
对于那些没有阅读我以前的两本书的读者, 你可能想了解我的技术背景和经验。我的背景包括超过12年的渗透为主要金融机构、大型公用事业公司、财富500强公司、娱乐公司和政府组织提供安全测试。我也花了多年的时间在大学教攻击性的网络安全, 在多个安全会议上发言,在许多安全出版物中引用, 在全国各地教授的课程, 运行了多个公开的 ctf 比赛, 并开始了我自己的安全学校。我的一大兴趣项目是建立一个自由和开放的位于南加州的安全社区,叫做 LETHAL (meetup.com/lethal)。现在, 拥有800多名会员, 每月举行会议, ctf 比赛, 它已成为一个令人兴奋的环境, 人们在此社区中分享, 学习和成长。
需要提醒读者的是, 在本书中,我同时使用商业工具和开源工具。对于每一个提到的商业工具, 我尽量提供一个对应的开源工具。我以前听到一些渗透测试工程师说他们只使用开源工具。作为一个专业的渗透测试工程师, 我认为这个说法难以接受。如果你试图去模仿一个 “真实世界” 的攻击, 骇客们没有这些限制。因此, 你需要使用任何可以完成任务的工具 (商业或开源)。
我经常被问到的一个问题是, 这本书的目标读者是谁?这本书的精确目标人群真的很难定义,因为我相信任何一个安全行业工作者都可以学习。一些人可能会认为本书对新人不太友好,一些人又会觉得对老手来说太浅显的, 还有一些人甚至认为这本书没有覆盖你的安全研究领域。
我从那些安全行业新手读者那里听到的最常见的反馈是:一般读两道三遍之后会比较能够理解 (确保在两次阅读之间有一个消化的时间)。这本书提供了大量的资料,需要时间去完全消化。所以, 我要说的是放松、好好看, 通过实验和实例, 进行你的尝试,把你的脚本发布到 Github 的公共仓库,并启动一个博客。
最后, 我认为作为一个红队成员,一方面你需要技术实力,但是另一方面你需要有自信。许多社会工程练习都要求你克服你的紧张, 走出你的舒适区。知道鸭子定律吗?如果一个东西看起来像鸭子,游泳像鸭子,叫声像鸭子,那么它可能就是只鸭子。大卫·莱特曼也说过, “假装不害怕和真正不畏惧的外部效果是一样的”。有时你只需要有信心, 大胆去做,无需顾虑太多。
提示和免责声明
我必须再重申一遍: 务必不要做未授权测试!不要未经授权在真实网络环境中复现任何本书中描述的攻击。即使是出于好奇而不是恶意,你仍然会因未授权测试行为而陷入很多麻烦。为了个人能更好的继续学习发展,有很多漏洞奖励计划和靶场可以供你学习试验,但是请记住,即使是参加漏洞奖励计划,私自测试范围外的网站或对网站进行深入破坏也会让你有大麻烦。下面就是一些前车之鉴供你参考:
- https://www.forbes.com/sites/thomasbrewster/2015/12/17/facebook-instagram-security-research-threats/#1d2a0f062fb5
- https://nakedsecurity.sophos.com/2012/02/20/jail-facebook-ethical-hacker/
- https://www.cyberscoop.com/dji-bug-bounty-drone-technology-sean-melia-kevin-finisterre/
如果你感觉你的某个渗透行为可能不太合适,很可能你的确违反了一些网络安全法律法规,你必须请教专业律师或者联系电子前沿基金会。
研究和非法活动之间有细微差别。记住, 只有测试那些你有书面授权的系统。现在就谷歌一下术语 “黑客入狱”!你会看到很多不同的例子, 其中青少年仅仅为了取乐而被判处多年监禁。有很多免费的平台, 在上面合法黑客行为是允许的, 并且你可以在这些平台上获得进一步的教育。
最后我想说, 我并不是 Windows系统、编码、编写 exp 或是 Linux 系统方面的专家。如果我对特定的技术、工具或过程说错了, 我会确保在本书的更新网页上做更新。另外, 本书的很多内容都依赖于其他人的研究, 我尽量提供链接。同样的,如果我遗漏了任何一个这种链接,我也会在网站上就这些信息进行持续的而更新。我们有这样的一个令人敬畏的社区, 我想确保社区里的每个人都因为他们的贡献得到承认!