《ATTCK视角下的红蓝对抗实战指南》一本书构建完整攻防知识体系

一. 网络安全现状趋势分析

  根据中国互联网络信息中心(CNNIC)发布的第51次《中国互联网络发展状况统计报告》,截至2022年12月,我国网民规模为10.67亿,互联网普及率达75.6%。我国有潜力建设全球规模最大、应用渗透最强的数字社会。在此背景下,网络安全事关国家安全和经济社会稳定,事关广大人民群众利益。

当前,全球新一轮科技革命和产业变革深入推进,信息技术的发展日新月异,国内外的网络安全形势日趋严峻。2020~2023年,网络安全攻击持续增加,网络攻击威胁持续上升,各种网络攻击安全事件频发,网络所面临的安全威胁愈加多样、复杂、棘手。在互联互通的数字化链条中,任何一个漏洞或者隐患都有可能造成已有的安全防护网的破坏,给企业、机构等带来信息安全风险甚至财产损失等。

 面对愈演愈烈的网络安全威胁,“红蓝攻防对抗”就成了网络安全从业者在新的网络安全形势下保障国家网络安全、防患于未然的行之有效的办法之一。

二.内容简介

 《ATT&CK视角下的红蓝对抗实战指南》即以为从业者讲透红蓝对抗、助力行业水准提升为目标酝酿而出的。本书是一本针对安全领域的红蓝攻防对抗的专业书,既能作为安全从业者在红蓝攻防对抗活动中的指导用书,又能成为企业安全部门构建纵深防御体系的参考指南。希望本书所分析、讲述的红蓝双方视角下的攻防对抗手法,能帮助各行业的网络安全从业者增强实践、知己知彼,从企业内部构建起安全防御体系。

全书以ATT&CK框架模型为基座,系统、详细地讲解了信息收集、隧道穿透、权限提升、凭据获取、横向渗透、持久化6大阶段所涉及的技术原理、攻击手段和防御策略。既能让红队理解攻击的本质、掌握实战化的攻击手段,又能让蓝队看透红队的攻击思路,从而构建更为强大的防御体系。

本书的宗旨是“以攻促防、以战训战”,所以书中精心整理了大量来自实践的攻防案例,每个案例都提供了详细的思路、具体的步骤,以及实战中的经验、技巧和注意事项,尽可能让读者感受到真实的攻防对抗氛围。

三.目录内容

Contents目  录

赞誉

序一

序二

序三

前言

第1章 Windows安全基础1

1.1 Windows认证基础知识1

1.1.1 Windows凭据1

1.1.2 Windows访问控制模型2

1.1.3 令牌安全防御10

1.2 UAC13

1.2.1 UAC原理概述13

1.2.2 UAC级别定义13

1.2.3 UAC触发条件15

1.2.4 UAC用户登录过程16

1.2.5 UAC虚拟化18

1.3 Windows安全认证机制18

1.3.1 什么是认证18

1.3.2 NTLM本地认证19

1.3.3 NTLM网络认证22

1.3.4 Kerberos域认证25

1.4 Windows常用协议28

1.4.1 LLMNR28

1.4.2 NetBIOS31

1.4.3 Windows WPAD34

1.5 Windows WMI详解36

1.5.1 WMI简介36

1.5.2 WQL36

1.5.3 WMI Client40

1.5.4 WMI远程交互41

1.5.5 WMI事件42

1.5.6 WMI攻击45

1.5.7 WMI攻击检测46

1.6 域46

1.6.1 域的基础概念46

1.6.2 组策略49

1.6.3 LDAP56

1.6.4 SPN59

1.7 本章小结65

第2章 信息收集66

2.1 主机发现66

2.1.1 利用协议主动探测主机存活66

2.1.2 被动主机存活探测71

2.1.3 内网多网卡主机发现76

2.2 Windows主机信息收集检查清单78

2.3 Linux主机信息收集检查清单81

2.4 组策略信息收集81

2.4.1 本地组策略收集81

2.4.2 域组策略收集81

2.4.3 组策略存储收集83

2.4.4 组策略对象收集86

2.5 域信息收集90

2.5.1 域控制器收集90

2.5.2 域DNS信息枚举92

2.5.3 SPN扫描96

2.5.4 域用户名获取98

2.5.5 域用户定位102

2.6 net session与net use利用110

2.6.1 net session利用110

2.6.2 net use利用112

2.7 Sysmon检测117

2.8 域路径收集分析119

2.8.1 域分析之BloodHound119

2.8.2 域分析之ShotHound137

2.8.3 域分析之CornerShot142

2.9 Exchange信息收集146

2.9.1 Exchange常见接口146

2.9.2 Exchange常见信息收集146

2.9.3 Exchange攻击面扩展收集

   (暴力破解)154

2.9.4  Exchange邮件列表导出156

2.10  本章小结162

第3章 隧道穿透163

3.1 隧道穿透技术详解163

3.1.1 正向连接163

3.1.2 反向连接163

3.1.3 端口转发164

3.1.4 端口复用165

3.1.5 内网穿透165

3.1.6 代理和隧道的区别165

3.1.7 常见隧道转发场景165

3.1.8 常见隧道穿透分类166

3.2 内网探测协议出网166

3.2.1 TCP/UDP探测出网166

3.2.2 HTTP/HTTPS探测出网169

3.2.3 ICMP探测出网171

3.2.4 DNS探测出网171

3.3 隧道利用方法172

3.3.1 常规反弹172

3.3.2 加密反弹175

3.3.3 端口转发177

3.3.4 SOCKS隧道代理180

3.4 利用多协议方式进行隧道穿透182

3.4.1 利用ICMP进行隧道穿透182

3.4.2 利用DNS协议进行隧道穿透187

3.4.3 利用RDP进行隧道穿透192

3.4.4 利用IPv6进行隧道穿透195

3.4.5 利用GRE协议进行隧道穿透 197

3.4.6 利用HTTP进行隧道穿透200

3.4.7 利用SSH协议进行隧道穿透210

3.5 常见的隧道穿透利用方式215

3.5.1 通过EW进行隧道穿透215

3.5.2 通过Venom进行隧道穿透224

3.5.3 通过Termite进行隧道穿透231

3.5.4 通过frp进行隧道穿透236

3.5.5 通过NPS进行隧道穿透244

3.5.6 通过ngrok进行内网穿透250

3.6 文件传输技术252

3.6.1 Windows文件传输技巧详解252

3.6.2 Linux文件传输技巧详解261

3.7 检测与防护266

3.7.1 ICMP隧道流量检测与防护266

3.7.2 DNS隧道流量检测与防护267

3.7.3 HTTP隧道流量检测与防护267

3.7.4 RDP隧道流量检测与防护267

3.8 本章小结268

第4章 权限提升269

4.1 Windows用户权限简介269

4.2 Windows单机权限提升270

4.2.1 利用Windows内核漏洞

    进行提权270

4.2.2 利用Windows错配进行提权273

4.2.3 DLL劫持285

4.2.4 访问令牌提权294

4.2.5 获取TrustedInstaller权限298

4.3 利用第三方服务提权300

4.3.1 利用MySQL UDF进行提权300

4.3.2 利用SQL Server进行提权304

4.3.3 利用Redis进行提权309

4.4 利用符号链接进行提权313

4.4.1 符号链接313

4.4.2 符号链接提权的原理314

4.4.3 CVE-2020-0668316

4.5 NTLM中继318

4.5.1 通过LLMNR/NBNS欺骗

   获取NTLM哈希320

4.5.2 通过desktop.ini获取哈希323

4.5.3 自动生成有效载荷325

4.5.4 中继到SMB326

4.6 Service提权至SYSTEM

  (土豆攻击)328

4.6.1 热土豆328

4.6.2 烂土豆331

4.6.3 多汁土豆333

4.6.4 甜土豆334

4.7 Linux权限提升334

4.7.1 Linux权限基础334

4.7.2 Linux本机信息收集337

4.7.3 利用Linux漏洞进行提权340

4.7.4 Linux错配提权342

4.8 Windows Print Spooler漏洞

   详解及防御346

4.8.1 Windows Print Spooler简介346

4.8.2 CVE-2020-1048347

4.8.3 CVE-2020-1337350

4.9 绕过权限限制351

4.9.1 绕过 UAC351

4.9.2 绕过AppLocker361

4.9.3 绕过AMSI374

4.9.4 绕过Sysmon383

4.9.5 绕过ETW387

4.9.6 绕过PowerShell Ruler391

4.10 本章小结405

第5章 凭据获取406

5.1 Windows单机凭据获取406

5.1.1 凭据获取的基础知识406

5.1.2 通过SAM文件获取

   Windows凭据407

5.1.3 通过Lsass进程获取

    Windows凭据413

5.1.4 绕过Lsass进程保护419

5.1.5 钓鱼获取Windows凭据430

5.2 域凭据获取 434

5.2.1 利用NTDS.DIT获取

   Windows域哈希434

5.2.2 注入Lsass进程获取域

   用户哈希440

5.2.3 DCSync利用原理441

5.2.4 利用LAPS获取Windows域

   凭据449

5.2.5 利用备份组导出域凭据450

5.3 系统内软件凭据获取455

5.3.1 收集浏览器密码455

5.3.2 使用开源程序获取浏览器凭据457

5.3.3 获取常见的运维管理软件密码458

5.4 获取Windows哈希的技巧461

5.4.1 利用蓝屏转储机制获取哈希461

5.4.2 利用mstsc获取RDP凭据464

5.4.3 通过Hook获取凭据466

5.4.4 使用Physmem2profit远程

   转储Lsass进程469

5.5 Linux凭据获取470

5.5.1 Shadow文件详解470

5.5.2 利用Strace记录密码472

5.6 凭据防御473

5.7 本章小结473

第6章 横向渗透474

6.1 常见的系统传递攻击474

6.1.1 哈希传递474

6.1.2 票据传递477

6.1.3 密钥传递482

6.1.4 证书传递484

6.2 利用Windows计划任务进行

   横向渗透485

6.2.1 at命令485

6.2.2 schtasks命令487

6.3 利用远程服务进行横向渗透489

6.3.1 利用SC创建远程服务后进行

             横向渗透489

6.3.2 利用SCShell进行横向渗透491

6.4 利用PsExec进行横向渗透492

6.4.1 利用PsExec获取交互式会话493

6.4.2 建立IPC$连接,获取交互式

             会话494

6.5 利用WinRM进行横向渗透494

6.5.1 利用WinRS建立交互式会话495

6.5.2 利用Invoke-Command远程

             执行命令496

6.5.3 利用Enter-PSSession建立

             交互式会话497

6.6 利用WMI进行横向渗透499

6.6.1 利用WMIC进行信息收集500

6.6.2 利用wmiexec.py获取

             交互式会话503

6.6.3 利用wmiexec.vbs远程

             执行命令503

6.6.4 利用WMIHACKER实现

             命令回显504

6.7 利用DCOM进行横向渗透504

6.7.1 利用MMC20.Application

            远程控制MMC506

6.7.2 利用ShellWindows远程

             执行命令508

6.7.3 利用Dcomexec.py获得

             半交互shell509

6.7.4 其他DCOM组件510

6.8 利用RDP进行横向渗透510

6.8.1 针对RDP的哈希传递510

6.8.2 RDP会话劫持512

6.8.3 使用SharpRDP进行横向渗透514

6.9 利用MSSQL数据库进行横向渗透516

6.9.1 利用sp_oacreate执行命令516

6.9.2 利用CLR执行命令518

6.9.3 利用WarSQLKit扩展命令523

6.10 利用组策略进行横向渗透524

6.10.1 本地组策略与域组策略的区别524

6.10.2 使用组策略推送MSI525

6.10.3 使用域组策略创建计划任务529

6.10.4 利用登录脚本进行横向渗透534

6.11 利用WSUS进行横向渗透537

6.11.1 WSUS利用原理537

6.11.2 WSUS横向渗透538

6.11.3 WSUS检测及防护542

6.12 利用SCCM进行横向渗透543

6.13 本章小结556

第7章 持久化557

7.1 Windows单机持久化557

7.1.1 Windows RID劫持557

7.1.2 利用计划任务进行权限维持562

7.1.3 利用Windows注册表进行

             权限维持563

7.1.4 利用映像劫持进行权限维持566

7.1.5 利用CLR劫持进行权限维持569

7.1.6 利用Telemetry服务进行

             权限维持571

7.1.7 利用WMI进行权限维持573

7.1.8 远程桌面服务影子攻击579

7.2 Windows域权限维持583

7.2.1 黄金票据583

7.2.2 白银票据589

7.2.3 黄金票据与白银票据的区别597

7.2.4 利用DSRM进行域权限维持597

7.2.5 利用DCShadow进行域

             权限维持600

7.2.6 利用SID History进行域

             权限维持606

7.2.7 利用AdminSDHolder进行域

             权限维持609

7.2.8 注入Skeleton Key进行域

            权限维持613

7.3 Linux单机持久化614

7.3.1 利用Linux SUID进行权限维持614

7.3.2 利用Linux计划任务进行

             权限维持615

7.3.3 利用Linux PAM创建后门616

7.3.4 利用SSH公钥免密登录622

7.3.5 利用Vim创建后门623

7.3.6 Linux端口复用625

7.3.7 利用Rootkit进行权限维持627

7.4 持久化防御632

7.5 本章小结632

四.更多内容

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.rhkb.cn/news/171767.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

.\missyou-0.0.1-SNAPSHOT.jar中没有主清单属性

引用&#xff1a;https://blog.csdn.net/marypiglwy/article/details/132016171 配置的时候 <skip>true</skip> skip设置为true&#xff0c;跳过了执行插件&#xff0c;&#xff0c; <plugin><groupId>org.springframework.boot</groupId><a…

C++前缀和算法的应用:预算内的最多机器人数目

本文涉及的基础知识点 C算法&#xff1a;前缀和、前缀乘积、前缀异或的原理、源码及测试用例 包括课程视频 单调双向队列 滑动窗口 题目 你有 n 个机器人&#xff0c;给你两个下标从 0 开始的整数数组 chargeTimes 和 runningCosts &#xff0c;两者长度都为 n 。第 i 个机器…

编程实例:眼镜店顾客档案管理系统软件,可以登记顾客信息查询历史记录,视力检查登记查询,配镜销售单开单打印

编程实例&#xff1a;眼镜店顾客档案管理系统软件&#xff0c;可以登记顾客信息查询历史记录&#xff0c;视力检查登记查询&#xff0c;配镜销售单开单打印 编程系统化课程总目录及明细&#xff0c;点击进入了解详情。 https://blog.csdn.net/qq_29129627/article/details/1340…

【@EnableWebMvc的原理】

用途 启用SpringMvc 的 Java 配置类&#xff0c;代替 xml 格式的配置文件。 一、查看运用&#xff08;注解 EnableWebMvc &#xff0c;实现 WebMvcConfigurer &#xff09; Component("com.ibicd") EnableWebMvc public class AppConfig implements WebMvcConfigu…

Unity的unity_ObjectToWorld里的每一列分别代表什么意思?换个方向反向理解-更简单

官方关键UnityObjectToWorldNormal&#xff08;&#xff09; 代码 从乐乐姐的书中得知&#xff0c;当我们在shader想获得法线&#xff0c;大概会这么些 o.wordDir UnityObjectToWorldNormal(i.normal) &#xff08;这行代码就包含了官方对“unity_ObjectToWorld”的终极理解…

在 Windows 用 Chrome System Settings 设置代理

在 Windows 用 Chrome System Settings 设置代理 贴心提示&#xff1a;在设置代理之前&#xff0c;请确保您已经安装了 浏览器。 &#x1f527; 设置代理的详细步骤如下&#xff1a; 打开 浏览器&#xff0c;输入 //settings/system 并回车。 在「系统和网络设置」页面中&am…

matlab Spongent算法

1、内容简介 略 5-可以交流、咨询、答疑 2、内容说明 Spongent 是一种轻量级 Hash 算法&#xff0c;其原理与“海绵”类似&#xff0c;分为“吸收” 和“榨取”两个阶段&#xff0c;所以又可以称之为“海绵结构”算法。 Hash 函数之所以有广泛的应用&#xff0c;是因为它具…

MySQL数据库#6

Python操作mysql 在使用Python连接mysql之前我们需要先下载一个第三方的模块 pymysql的模块&#xff0c;导入后再进行操作。 操作步骤&#xff1a;1. 先连接mysql host&#xff0c;port&#xff0c;charset&#xff0c;username password 库&#xff0c;等等。 import pymysql…

如何恢复u盘删除文件?2023最新分享四种方法恢复文件

U盘上删除的文件怎么恢复&#xff1f;使用U盘存储文件是非常方便的&#xff0c;例如&#xff1a;在办公的时候&#xff0c;会使用U盘来存储网络上查找到的资料、产品说明等。在学习的时候&#xff0c;会使用U盘来存储教育机构分享的教学视频、重点知识等。而随着U盘存储文件的概…

综合OA管理系统源码 OA系统源码

综合OA管理系统源码 OA系统源码 功能介绍&#xff1a; 编号&#xff1a;LQ10 一&#xff1a;系统管理 系统配置&#xff0c;功能模块&#xff0c;功能节点&#xff0c;权限角色&#xff0c;操作日志&#xff0c;备份数据&#xff0c;还原数据 二&#xff1a;基础数据 审批…

ExoPlayer架构详解与源码分析(7)——SampleQueue

系列文章目录 ExoPlayer架构详解与源码分析&#xff08;1&#xff09;——前言 ExoPlayer架构详解与源码分析&#xff08;2&#xff09;——Player ExoPlayer架构详解与源码分析&#xff08;3&#xff09;——Timeline ExoPlayer架构详解与源码分析&#xff08;4&#xff09;—…

Project Costs

/*** 初始化象棋的棋子&#xff0c;正常情况加载双方所有棋子&#xff0c;残局演示加载剩余棋子&#xff0c;按坐标位置摆放* * 【费用】* 因甲方要求产生工作量计算费用&#xff1b;新增、修改、删除需求* 因乙方生产缺陷工作量不计费用&#xff1b;缺陷、延误* * 来说个一个栗…

5 个编写高效 Makefile 文件的最佳实践

在软件开发过程中&#xff0c;Makefile是一个非常重要的工具&#xff0c;它可以帮助我们自动化构建、编译、测试和部署。然而&#xff0c;编写高效的Makefile文件并不是一件容易的事情。在本文中&#xff0c;我们将讨论如何编写高效的Makefile文件&#xff0c;以提高我们的开发…

unocss和tailwindcss css原子引擎

第一种tailwindcss&#xff1a; tailwindcss官网 https://tailwindcss.com/docs/grid-column 基本介绍及优点分析 Tailwind CSS 中文文档 - 无需离开您的HTML&#xff0c;即可快速建立现代网站 PostCss 处理 Tailwind Css 基本流程 PostCSS - 是一个用 JavaScript 工具和插…

Postman —— 配置环境变量

PostMan是一套比较方便的接口测试工具&#xff0c;但我们在使用过程中&#xff0c;可能会出现创建了API请求&#xff0c;但API的URL会随着服务器IP地址的变化而改变。 这样的情况下&#xff0c;如果每一个API都重新修改URL的话那将是非常的麻烦&#xff0c;所以PostMan中也提供…

使用ControlNet生成视频(Pose2Pose)

目录 ControlNet 介绍 ControlNet 14种模型分别是用来做什么的 ControlNet 运行环境搭建 用到的相关模型地址 ControlNet 介绍 ControlNet 是一种用于控制扩散模型的神经网络结构&#xff0c;可以通过添加额外的条件来实现对图像生成的控制。它通过将神经网络块的权重复制到…

从入门到精通:深入了解CSS中的Grid网格布局技巧和应用!

&#x1f3ac; 江城开朗的豌豆&#xff1a;个人主页 &#x1f525; 个人专栏 :《 VUE 》 《 javaScript 》 &#x1f4dd; 个人网站 :《 江城开朗的豌豆&#x1fadb; 》 ⛺️ 生活的理想&#xff0c;就是为了理想的生活 ! ​ 目录 ⭐ 专栏简介 &#x1f4d8; 文章引言 一…

【tio-websocket】9、服务配置与维护—TioConfig

场景 我们在写 TCP Server 时,都会先选好一个端口以监听客户端连接,再创建N组线程池来执行相关的任务,譬如发送消息、解码数据包、处理数据包等任务,还要维护客户端连接的各种数据,为了和业务互动,还要把这些客户端连接和各种业务数据绑定起来,譬如把某个客户端绑定到一…

【shell】pis_monitor.sh

#!/bin/bashread -p "请输入要查询的PID:" pidecho "--------------------------------"echo "进程PID:$pid"p_arr("进程命令 11" "进程所属用户 1" "CPU占用率 2" "CPU内存占用率 4" "进程开始运…