内网安全攻防:红队之路
  • 推荐0
  • 收藏0
  • 浏览217

内网安全攻防:红队之路

MS08067安全实验室 (作者)  潘昕 (责任编辑)

  • 书  号:978-7-121-47326-5
  • 出版日期:2024-03-01
  • 页  数:378
  • 开  本:16(240*190)
  • 出版状态:上市销售
  • 维护人:博文小编
本书从内网渗透测试红队的角度,由浅入深,全面、系统地讨论了常见的内网攻击手段和相应的防御方法,力求语言通俗易懂、示例简单明了,以便读者领会。同时,本书结合具体案例进行讲解,可以让读者身临其境,快速了解和掌握主流的内网渗透测试技巧。阅读本书不要求读者具备渗透测试的相关背景知识。如果读者有相关经验,会对理解本书内容有一定帮助。本书可作为大专院校网络安全专业的教材。本书适合网络安全从业人员,网络管理员,高校网络安全相关专业学生。
《内网安全攻防:渗透测试实战指南》红队实践手册
MS08067安全实验室专注于网络安全图书出版和培训,陆续出版了《Web安全攻防:渗透测试实战指南》《内网安全攻防:渗透测试实战指南》《Python安全攻防:渗透测试实战指南》《Java代码审计:入门篇》等图书,开展了“Web安全零基础”“Web安全进阶”“红队实战攻防”“红队实战免杀”“红队工具开发”“Java代码审计”“恶意代码分析”“应急响应”“CTF零基础实战”等课程的线上教学,微信公众号粉丝数从0到超过6万名,培养了网络安全人才近万名。
徐焱
北京交通大学安全研究员,民革党员,MS08067安全实验室创始人,从事网络安全培训工作多年,组织出版了《Web安全攻防:渗透测试实战指南》《内网安全攻防:渗透测试实战指南》 《Python安全攻防:渗透测试实战指南》《Java代码审计:入门篇》等图书。

崔广亚
MS08067安全实验室核心成员,北京某科技保障中心高级工程师,主要从事等级保护、内网安全运营、项目建设等网络安全相关工作,曾在简书发表大量技术文章并获“简书优秀创作者”称号。

陈小辉
MS08067安全实验室核心成员,网络安全从业者,网络安全技术资深爱好者,主要研究领域为渗透测试、应急响应、红队和蓝队相关技术。

冯杰
MS08067安全实验室核心成员,重庆银旭旷祥科技发展有限公司安全服务高级工程师,擅长渗透测试,目前专注于Web安全、云安全、红蓝对抗领域的研究和实践。

刘勇
网名haya,赛博昆仑安全专家,原腾讯安全策略发展中心、腾讯科恩实验室安全研究员,主要研究方向为内网渗透测试、Windows域安全、OPSEC对抗、红蓝对抗商业化。
前言
近年来,网络安全成为国家安全和经济社会发展的关键领域,国内涌现出很多网络安全培训机构,但好教材凤毛麟角。2020年1月,《内网安全攻防:渗透测试实战指南》一经出版,就引爆了国内网络安全领域,填补了国内内网安全图书的空白,其内容迅速被各大培训机构借鉴和引用。在此之前,国内几乎没有内网渗透测试与安全防御方面的图书,所以,《内网安全攻防:渗透测试实战指南》也是真正意义上国内第一本内网安全方面的专著。后来,这本书也出版了繁体中文版。
随着网络安全技术研究方向的变化,内网渗透测试中的红队攻击模拟已经成为讨论的热点。为什么很多大企业在拥有完善的安全软件开发流程、安全管理流程、应急响应团队及大量昂贵的安全防护平台和保护措施的情况下还是会被入侵?原因在于,以往的常规渗透测试输出的漏洞列表和报告无法解决企业的网络安全防护问题。而红队攻击模拟的是真实的攻击场景,在攻击过程中,红队成员需要使用社会工程学等手段,潜伏几周甚至几个月,每次攻击的流程和方法会随目标的变化而变化,其目标不仅是发现漏洞,还包括评判企业整体安全流程是否有缺陷,从而找出问题并最终提高企业的安全防护能力。红队攻击是如此重要,内网渗透测试正是红队攻击中不可或缺的一环。
面对千差万别的内网环境和网络安全防护平台,红队成员需要不断更新自己的知识体系和技能。在本书中,笔者根据自己的实践经验,分析了近几年出现的内网漏洞和攻击技术。虽然本书讨论的内容不可能和读者在实际的渗透测试中遇到的情况完全相同,但读者只要掌握其原理和思路,融会贯通,就能给自己的红队之路打下坚实的基础。
本书以《内网安全攻防:渗透测试实战指南》的内容为基础,可以说,本书是它的“红队实践版”。为了方便读者对照阅读,本书的结构延续《内网安全攻防:渗透测试实战指南》的框架,按照内网渗透测试基础、内网信息收集、隐藏通信隧道技术、权限提升漏洞分析及防御、域内横向移动分析及防御、域控制器安全、跨域攻击分析及防御、权限维持分析及防御的顺序讲解。建议读者同时阅读《内网安全攻防:渗透测试实战指南》和本书,将两本书的知识点串联在一起。《内网安全攻防:渗透测试实战指南》已有的内容,本书不会赘述。
本书结构
本书将理论讲解和实验操作相结合,深入浅出、迭代递进,摒弃了晦涩的、不实用的内容,按照内网渗透测试的步骤和流程讲解内网渗透测试中红队的相关技术和防御方法,涵盖了内网安全的方方面面,且配套环境、软件及源码完全免费。同时,本书通过大量的图、表、命令示例,一步一个台阶,帮助初学者快速掌握内网渗透测试的具体方法和流程,从内网安全的认知理解、攻防对抗、追踪溯源、防御检测等方面帮助读者建立系统性的知识框架。
本书各章相互独立,读者可以逐章阅读,也可以按需阅读。无论是系统地研究内网安全防护,还是在渗透测试中遇到困难,读者都可以参考本书内容,寻找解决方案。
第1章 内网渗透测试基础
在进行内网渗透测试之前,需要掌握内网的相关基础知识。本章主要介绍域的基础知识,包括LDAP、活动目录、域控制器、域计算机和域权限等。在此基础上,本章讨论了企业常见内网架构、内网基础设施、内网常规攻击路径、内网常用工具等,并简要介绍了常用内网安全防御技术和防御产品。
第2章 内网信息收集
通过收集目标内网的信息,攻击者能够洞察网络拓扑结构,从而找出内网中最薄弱的环节。本章主要介绍内网端口枚举、主机发现、账户发现、COM对象枚举、域信息收集、域控制器信息收集等内容,详细分析攻击者获取内网敏感信息的方法,包括内网数据定位、内网组织结构定位、核心机器枚举、暴力破解密码文件等,并给出了相应的防御措施。
第3章 隐藏通信隧道技术
通信隧道是一种网络技术,用于在两个网络之间构建一条可以隐藏实际传输内容的通信路径,可以使网络攻击数据隐蔽地从内网流向外网,并将相关数据传输至指定位置。本章详细介绍了快速寻找可以构建出网通信隧道的计算机的方法,包括构建出网通信隧道协议、构建出网通信计算机、批量探测出网计算机脚本、常用隧道穿透技术、多级跳板技术等。
第4章 权限提升漏洞分析及防御
在通常情况下,攻击者占据内网据点后,需要通过权限提升获取更多的信息。权限提升技术主要用于在主机上获取更高的访问控制权限,以达到进一步控制内网主机的目的。本章涉及的知识点包括Linux中常用的提权方法,如内核漏洞提权、sudo提权、SUID提权、GTFOBins提权等,以及Windows中常用的提权方法,如MS14-068漏洞提权、GPP提权、绕过UAC提权、令牌窃取、SQL Server数据库提权、DLL劫持提权等。
第5章 域内横向移动分析及防御
域内横向移动技术是一种被攻击者广泛使用的内网攻击技术,尤其是在高级持续威胁(APT)中,攻击者会利用横向移动技术,以被攻陷的系统为跳板,访问其他域内主机,扩大资产范围。本章系统地介绍了域内横向移动的相关内容,包括Windows本地认证明文密码和散列值的获取、利用明文密码远程登录其他域的主机、通过哈希传递攻击进行横向移动、在远程计算机上执行程序、在远程计算机上运行代码、票据传递攻击、利用系统漏洞进行横向移动、域内横向移动攻击防范建议。
第6章 域控制器安全
域控制器存储着包含该域的所有计算机、用户、密码等信息的数据库,攻击者一旦获得了域控制器的管理权限,就意味着控制了整个域。本章以域控制器渗透的过程为基础,一步步梳理域控制器的渗透测试流程,以及常用的提取域用户密码散列值的方法,并对利用漏洞攻击域控制器的恶意行为进行分析,给出域控制器安全防范建议。
第7章 跨域攻击分析及防御
如果内网有多个域,就会面临跨域攻击。本章主要讲解森林信任和常见的攻击手段及防御方法。攻击手段主要分为两类,一是管理员无意引入的误配置,二是利用权限提升或者远程代码执行的漏洞。
第8章 权限维持分析及防御
权限维持是指攻击者在系统中长期驻留,包括在发生重启设备、更改凭据等中断情况后保持对目标的访问的各种技术。本章分析常见的启动项、系统服务后门,利用黄金票据、白银票据实现权限维持,利用活动目录证书服务实现权限维持,利用密码转储实现权限维持,常用Nishang脚本后门,Linux权限维持,使用VC++开发后门程序,以及防御规避等技术,并给出了有针对性的防范建议。
特别声明
本书仅讨论网络安全技术,请勿作非法用途。严禁利用书中提到技术从事非法行为,否则后果自负,本人和出版商不承担任何责任!
配套资源
本书的同步学习网站为https://www.ms08067.com,同步公众号为“Ms08067安全实验室”(微信号为Ms08067_com)。网站和公众号提供以下资源及服务。
 本书列出的一些环境、软件、源代码。
 本书部分章节电子版内容。
 本书内容配套视频(在职老师可加QQ 8946723获取配套授课PPT)。
 本书所有资源的下载链接。
 本书内容的勘误和更新。
 关于本书内容的技术交流。
 在阅读本书过程中遇到的问题或对本书的意见反馈。
致谢
徐焱、崔广亚、陈小辉、冯杰、刘勇参与了本书的编写。
感谢李兴中、侯晓强为本书部分内容的编写提供的有力帮助。
感谢电子工业出版社策划编辑潘昕为出版本书所做的大量工作。
感谢蔡红建、王剑、张晓东、李春燕、侯亮(Micropoor)、余弦、林勇(Lion)、胡珀(lake2)、诸葛建伟、段钢、罗清篮、曹晓俊、肖安鹏(御剑)、孔韬循(K0r4dji)、陈志浩(7kbstorm)、oldjun、任晓珲、田朋、赵弼政(职业欠钱)、剑思庭、王任飞(avfisher)、金俊、兜哥、关洪坤(中国鹰派皮鲁)、凃青亮、谢公子、罗海波、杨诚在百忙之中为本书写作的序和评价。
感谢团队中一起努力拼搏的各位成员,包括曾经并肩作战的小伙伴们。
特别感谢一直给予我们支持的读者和学员们,没有你们的支持和帮助,就不会有我们现在的成绩。
MS08067安全实验室自成立以来,陆续出版了《Web安全攻防:渗透测试实战指南》《内网安全攻防:渗透测试实战指南》《Python安全攻防:渗透测试实战指南》《Java代码审计:入门篇》等图书,开展了“Web安全零基础”“Web安全进阶”“红队实战攻防”“红队实战免杀”“红队工具开发”“Java代码审计”“恶意代码分析”“应急响应”“CTF零基础实战”等课程的线上教学,微信公众号粉丝从0到超过6万名,培养了网络安全人才近万名。我们凭借图书的质量和学员的口碑,每走一步都留下了坚实的脚印,而这些成绩和日常的工作积累是我们完成本书的基础。
如果您认可我们的付出,请把我们的书告诉您身边的朋友!
欢迎更多的网络安全爱好者、合作伙伴加入MS08067安全实验室,一起为网络安全知识的传播而努力。
在平凡的世界中,愿我们永不放弃,永远热泪盈眶,永远在路上。

徐焱
2023年8月于镇江

目录

第1章 内网渗透测试基础 1
1.1 内网基础知识 1
1.1.1 域 1
1.1.2 LDAP 4
1.1.3 活动目录 5
1.1.4 域控制器和活动目录的区别 5
1.1.5 域内权限 6
1.2 企业内网架构 9
1.2.1 企业内网概述 9
1.2.2 内网基础设施 10
1.2.3 云服务 12
1.3 常规攻击路径分析 13
1.3.1 网络区域环境分析 13
1.3.2 内网常规攻击路径分析 14
1.4 常用工具 16
1.4.1 Cobalt Strike 16
1.4.2 Windows PowerShell 18
1.4.3 PowerShell Empire 24
1.5 常用防御方法 26
1.5.1 常用网络安全防御技术 26
1.5.2 常用网络安全防御产品 27
第2章 内网信息收集 29
2.1 枚举发现 29
2.2 主机发现与端口枚举 29
2.2.1 Nmap主机发现 29
2.2.2 Nmap端口枚举 30
2.3 账户发现方法分析 32
2.3.1 本地账户发现分析 32
2.3.2 域账户发现分析 34
2.3.3 邮件账户发现分析 35
2.3.4 云账户发现分析 37
2.3.5 账户发现的防御方法 38
2.4 COM对象枚举方法分析 39
2.4.1 COM对象简介 39
2.4.2 创建COM对象 39
2.4.3 枚举COM对象 43
2.4.4 COM对象枚举系统信息 46
2.5 域信息收集方法分析 47
2.5.1 Nmap的NSE脚本 47
2.5.2 利用PowerView收集域信息 48
2.6 域控制器信息收集方法分析 50
2.6.1 从个人计算机定位域控制器 50
2.6.2 基于NetBIOS收集域控制器信息 51
2.6.3 基于LDAP收集域控制器信息 53
2.7 内网敏感数据发现方法分析 57
2.7.1 定位内网资料、数据、文件 57
2.7.2 获取人事组织结构信息 57
2.7.3 枚举核心业务机器及敏感信息 59
2.7.4 快速定位相关人员使用的计算机 59
2.7.5 获取个人计算机操作系统相关信息 62
2.7.6 获取个人计算机网络配置相关信息 64
2.7.7 获取远程管理软件保存的凭据 66
2.7.8 获取个人计算机浏览器敏感信息 75
2.7.9 收集应用与文件形式的信息 78
2.7.10 破解密码保护文件 80
2.7.11 发现内网邮件账户 85
2.7.12 内网敏感信息的防护方法 85
第3章 隐藏通信隧道技术 87
3.1 快速寻找可用于构建出网通信隧道的计算机 87
3.1.1 可用于构建出网通信隧道的协议 87
3.1.2 可用于构建出网通信隧道的计算机 91
3.1.3 批量探测可以出网的计算机 92
3.2 常用隧道穿透技术分析 92
3.2.1 Netsh 93
3.2.2 frp 94
3.2.3 利用CertUtil下载 96
3.3 多级跳板技术分析 97
3.3.1 攻击者直连内网的后果 97
3.3.2 多级跳板技术 98
3.3.3 三级跳板技术 98
3.4 通信隧道非法使用的防范 99
第4章 权限提升漏洞分析及防御 101
4.1 Linux权限提升漏洞分析及防范 101
4.1.1 内核漏洞提权分析 102
4.1.2 使用linux-exploit-suggester排查内核漏洞 102
4.1.3 sudo提权漏洞分析 104
4.1.4 SUID提权漏洞分析 104
4.1.5 GTFOBins与权限提升 106
4.1.6 Linux权限提升漏洞的防范建议 107
4.2 利用MS14-068漏洞实现权限提升及防范 107
4.2.1 MS14-068漏洞说明 108
4.2.2 MS14-068漏洞利用条件 108
4.2.3 MS14-068漏洞利用方式 108
4.2.4 MS14-068漏洞的防范建议 111
4.3 GPP权限提升漏洞分析及防范 111
4.3.1 GPP基础知识 111
4.3.2 GPP提权技术思路 115
4.3.3 GPP权限提升漏洞的防范建议 116
4.4 绕过UAC提权漏洞分析及防范 117
4.4.1 UAC简介 117
4.4.2 使用白名单程序绕过UAC 118
4.4.3 使用COM组件绕过UAC 120
4.4.4 UACME的使用 121
4.4.5 绕过UAC提权漏洞的防范建议 121
4.5 令牌窃取提权漏洞分析及防范 122
4.5.1 令牌窃取模块 122
4.5.2 pipePotato本地提权分析 123
4.5.3 令牌窃取提权漏洞的防范建议 124
4.6 SQL Server数据库提权分析及防范 124
4.6.1 SQL Server数据库的提权的相关概念 124
4.6.2 SQL Server提权分析 125
4.6.3 域环境中的MSSQL枚举 127
4.6.4 域环境中的MSSQL认证 128
4.6.5 UNC路径注入分析 129
4.6.6 哈希转发分析 133
4.6.7 利用MSSQL模拟提权分析 135
4.6.8 利用Linked SQL Server提权分析 140
4.6.9 SQL Server数据库提权漏洞的防范建议 146
4.7 DLL劫持提权分析及防范 146
4.7.1 DLL劫持原理 147
4.7.2 编写测试DLL程序 147
4.7.3 手动挖掘DLL劫持漏洞 149
4.7.4 使用DLLHSC自动挖掘DLL劫持漏洞 150
4.7.5 DLL劫持漏洞的防范建议 151
第5章 域内横向移动分析及防御 153
5.1 Windows本地认证明文密码和散列值的获取 153
5.1.1 Windows本地密码认证流程 153
5.1.2 通过转储lsass.exe获取登录密码 154
5.1.3 通过SAM文件获取用户名和密码散列值 159
5.1.4 破解密码散列值 163
5.2 利用明文密码远程登录其他域的主机 170
5.2.1 IPC远程登录概述 170
5.2.2 使用Windows自带的命令获取远程主机的信息 172
5.2.3 使用任务计划 173
5.3 通过哈希传递攻击进行横向移动 175
5.3.1 哈希传递攻击概述 175
5.3.2 通过哈希传递攻击进行横向移动 175
5.3.3 哈希传递攻击实验 176
5.3.4 哈希传递攻击的防范 178
5.4 在远程计算机上执行程序 179
5.4.1 实验环境 179
5.4.2 使用at命令 181
5.4.3 使用schtasks命令 181
5.4.4 使用PsExec 182
5.4.5 使用wmiexec.vbs 182
5.4.6 使用DCOM 183
5.5 在远程计算机上运行代码 185
5.5.1 基于CMSTP运行代码 185
5.5.2 基于Compiler运行代码 188
5.5.3 基于Control运行代码 191
5.5.4 基于csc运行代码 193
5.5.5 基于资源管理器运行代码 196
5.5.6 基于Forfiles运行代码 197
5.5.7 基于MSBuild运行代码 198
5.5.8 运行恶意代码的检测与防范方法 200
5.6 票据传递攻击 201
5.6.1 通过MS14-068漏洞进行横向移动 201
5.6.2 使用黄金票据 202
5.6.3 使用白银票据 204
5.7 利用系统漏洞进行横向移动 206
5.7.1 MS17-010漏洞 206
5.7.2 CVE-2020-17144漏洞 211
5.8 域内横向移动攻击防范建议 215
5.8.1 通用安全措施 216
5.8.2 防止密码被窃取 217
5.8.3 内网安全流量检测 218
第6章 域控制器安全 220
6.1 域控制器渗透测试流程 220
6.1.1 实验环境 220
6.1.2 实验网络及设备部署和配置 221
6.1.3 内网相关知识梳理 223
6.1.4 渗透测试思路 223
6.2 ZeroLogon漏洞分析 228
6.2.1 ZeroLogon漏洞概述 228
6.2.2 实验环境 229
6.2.3 ZeroLogon漏洞利用过程分析 229
6.2.4 ZeroLogon漏洞防范建议 232
6.3 获取域内用户名和密码散列值 233
6.3.1 提取ntds.dit文件并导出用户名和密码散列值 233
6.3.2 利用DCSync获取域内所有用户的密码散列值 239
6.4 域控制器安全防范建议 240
6.4.1 物理环境安全 241
6.4.2 通信网络安全 242
6.4.3 主机设备安全 244
6.4.4 应用数据安全 247
第7章 跨域攻击分析及防御 249
7.1 跨森林攻击 249
7.1.1 森林信任概述 249
7.1.2 跨森林枚举 250
7.1.3 利用Extra SID进入其他森林 253
7.1.4 利用Linked SQL Server进入其他森林 257
7.1.5 跨森林Kerberoast攻击 261
7.1.6 利用外部安全主体 262
7.1.7 利用ACL 263
7.2 单个森林漏洞利用 265
7.2.1 PetitPotam利用 266
7.2.2 ProxyNotShell利用 269
7.2.3 NotProxyShell利用 271
7.3 单个森林权限滥用 273
7.3.1 Backup Operators组滥用 273
7.3.2 LAPS滥用 275
7.3.3 域共享权限滥用 277
7.3.4 Exchange权限滥用 279
7.3.5 组策略对象权限滥用 282
7.4 跨域攻击的防范 284
第8章 权限维持分析及防御 286
8.1 启动项、系统服务后门分析及防范 286
8.1.1 注册表启动项后门分析 286
8.1.2 隐藏任务计划 287
8.1.3 粘滞键后门分析 291
8.1.4 bitsadmin后门分析 292
8.1.5 映像劫持后门分析 293
8.1.6 PowerShell Profile 294
8.1.7 隐藏服务 297
8.1.8 登录脚本 300
8.2 利用黄金票据或白银票据实现权限维持及其防范 302
8.2.1 Kerberos认证协议原理概述 302
8.2.2 黄金票据 303
8.2.3 白银票据 308
8.3 利用活动目录证书服务实现权限维持及其防范 312
8.4 利用密码转储实现权限维持及其防范 317
8.4.1 浏览器密码转储分析 317
8.4.2 剪贴板记录提取与键盘记录获取分析 319
8.4.3 Linux凭据转储分析 322
8.4.4 Windows密码转储分析 323
8.4.5 NirSoft密码转储平台 325
8.5 常用Nishang脚本后门分析及防范 329
8.5.1 常用Nishang脚本 329
8.5.2 Nishang脚本后门防范 330
8.6 Linux权限维持分析及防范 331
8.6.1 通过SSH免密登录实现权限维持 331
8.6.2 crontab任务计划 333
8.6.3 软链接权限维持分析 333
8.6.4 systemd服务后门分析 334
8.6.5 Linux rootkit 335
8.7 使用VC++开发后门程序 340
8.7.1 通过Socket编程实现控制端和被控制端的网络连接 341
8.7.2 反弹端口的技术原理及编程实现 343
8.7.3 利用注册表键Run实现自启动 345
8.7.4 后门自删除的技术实现 347
8.7.5 关机和重启功能的技术实现 348
8.8 防御规避和反防御规避 349
8.8.1 访问令牌操作 349
8.8.2 混淆文件或信息 350
8.8.3 反防御规避技术 350
后记 355

读者评论