内网安全攻防
红队之路
目录
第 1 章 内网渗透测试基础 (在线阅读)
1.1 内网基础知识
1.1.1 域
1.1.2 LDAP
1.1.3 活动目录
1.1.4 域控制器和活动目录的区别
1.1.5 域内权限
1.2 企业内网架构
1.2.1 企业内网概述
1.2.2 内网基础设施
1.2.3 云服务
1.3 常规攻击路径分析
1.3.1 网络区域环境分析
1.3.2 内网常规攻击路径分析
1.4 常用工具
1.4.1 Cobalt Strike
1.4.2 Windows PowerShell
1.4.3 PowerShell Empire
1.5 常用防御方法
1.5.1 常用网络安全防御技术
1.5.2 常用网络安全防御产品
第 2 章 内网信息收集 (在线阅读)
2.1 枚举发现
2.2 主机发现与端口枚举
2.2.1 Nmap 主机发现
2.2.2 Nmap 端口枚举
2.3 账户发现方法分析
2.3.1 本地账户发现分析
2.3.2 域账户发现分析
2.3.3 邮件账户发现分析
2.3.4 云账户发现分析
2.3.5 账户发现的防御方法
2.4 COM 对象枚举方法分析
2.4.1 COM 对象简介
2.4.2 创建 COM 对象
2.4.3 枚举 COM 对象
2.4.4 COM 对象枚举系统信息
2.5 域信息收集方法分析
2.5.1 Nmap 的 NSE 脚本
2.5.2 利用 PowerView 收集域信息
2.6 域控制器信息收集方法分析
2.6.1 从个人计算机定位域控制器
2.6.2 基于 NetBIOS 收集域控制器信息
2.6.3 基于 LDAP 收集域控制器信息
2.7 内网敏感数据发现方法分析
2.7.1 定位内网资料、数据、文件
2.7.2 获取人事组织结构信息
2.7.3 枚举核心业务机器及敏感信息
2.7.4 快速定位相关人员使用的计算机
2.7.5 获取个人计算机操作系统相关信息
2.7.6 获取个人计算机网络配置相关信息
2.7.7 获取远程管理软件保存的凭据
2.7.8 获取个人计算机浏览器敏感信息
2.7.9 收集应用与文件形式的信息
2.7.10 破解密码保护文件
2.7.11 发现内网邮件账户
2.7.12 内网敏感信息的防护方法
第 3 章 隐藏通信隧道技术
3.1 快速寻找可用于构建出网通信隧道的计算机
3.1.1 可用于构建出网通信隧道的协议
3.1.2 可用于构建出网通信隧道的计算机
3.1.3 批量探测可以出网的计算机
3.2 常用隧道穿透技术分析
3.2.1 Netsh
3.2.2 frp
3.2.3 利用 CertUtil 下载
3.3 多级跳板技术分析
3.3.1 攻击者直连内网的后果
3.3.2 多级跳板技术
3.3.3 三级跳板技术
3.4 通信隧道非法使用的防范
第 4 章 权限提升漏洞分析及防御
4.1 Linux 权限提升漏洞分析及防范
4.1.1 内核漏洞提权分析
4.1.2 使用 linux-exploit-suggester 排查内核漏洞
4.1.3 sudo 提权漏洞分析
4.1.4 SUID 提权漏洞分析
4.1.5 GTFOBins 与权限提升
4.1.6 Linux 权限提升漏洞的防范建议
4.2 利用 MS14-068 漏洞实现权限提升及防范
4.2.1 MS14-068 漏洞说明
4.2.2 MS14-068 漏洞利用条件
4.2.3 MS14-068 漏洞利用方式
4.2.4 MS14-068 漏洞的防范建议
4.3 GPP 权限提升漏洞分析及防范
4.3.1 GPP 基础知识
4.3.2 GPP 提权技术思路
4.3.3 GPP 权限提升漏洞的防范建议
4.4 绕过 UAC 提权漏洞分析及防范
4.4.1 UAC 简介
4.4.2 使用白名单程序绕过 UAC
4.4.3 使用 COM 组件绕过 UAC
4.4.4 UACME 的使用
4.4.5 绕过 UAC 提权漏洞的防范建议
4.5 令牌窃取提权漏洞分析及防范
4.5.1 令牌窃取模块
4.5.2 pipePotato 本地提权分析
4.5.3 令牌窃取提权漏洞的防范建议
4.6 SQL Server 数据库提权分析及防范
4.6.1 SQL Server 数据库的提权的相关概念
4.6.2 SQL Server 提权分析
4.6.3 域环境中的 MSSQL 枚举
4.6.4 域环境中的 MSSQL 认证
4.6.5 UNC 路径注入分析
4.6.6 哈希转发分析
4.6.7 利用 MSSQL 模拟提权分析
4.6.8 利用 Linked SQL Server 提权分析
4.6.9 SQL Server 数据库提权漏洞的防范建议
4.7 DLL 劫持提权分析及防范
4.7.1 DLL 劫持原理
4.7.2 编写测试 DLL 程序
4.7.3 手动挖掘 DLL 劫持漏洞
4.7.4 使用 DLLHSC 自动挖掘 DLL 劫持漏洞
4.7.5 DLL 劫持漏洞的防范建议
第 5 章 域内横向移动分析及防御
5.1 Windows 本地认证明文密码和散列值的获取
5.1.1 Windows 本地密码认证流程
5.1.2 通过转储 lsass.exe 获取登录密码
5.1.3 通过 SAM 文件获取用户名和密码散列值
5.1.4 破解密码散列值
5.2 利用明文密码远程登录其他域的主机
5.2.1 IPC 远程登录概述
5.2.2 使用 Windows 自带的命令获取远程主机的信息
5.2.3 使用任务计划
5.3 通过哈希传递攻击进行横向移动
5.3.1 哈希传递攻击概述
5.3.2 通过哈希传递攻击进行横向移动
5.3.3 哈希传递攻击实验
5.3.4 哈希传递攻击的防范
5.4 在远程计算机上执行程序
5.4.1 实验环境
5.4.2 使用 at 命令
5.4.3 使用 schtasks 命令
5.4.4 使用 PsExec
5.4.5 使用 wmiexec.vbs
5.4.6 使用 DCOM
5.5 在远程计算机上运行代码
5.5.1 基于 CMSTP 运行代码
5.5.2 基于 Compiler 运行代码
5.5.3 基于 Control 运行代码
5.5.4 基于 csc 运行代码
5.5.5 基于资源管理器运行代码
5.5.6 基于 Forfiles 运行代码
5.5.7 基于 MSBuild 运行代码
5.5.8 运行恶意代码的检测与防范方法
5.6 票据传递攻击
5.6.1 通过 MS14-068 漏洞进行横向移动 . 201
5.6.2 使用黄金票据
5.6.3 使用白银票据
5.7 利用系统漏洞进行横向移动
5.7.1 MS17-010 漏洞
5.7.2 CVE-2020-17144 漏洞
5.8 域内横向移动攻击防范建议
5.8.1 通用安全措施
5.8.2 防止密码被窃取
5.8.3 内网安全流量检测
第 6 章 域控制器安全
6.1 域控制器渗透测试流程
6.1.1 实验环境
6.1.2 实验网络及设备部署和配置
6.1.3 内网相关知识梳理
6.1.4 渗透测试思路
6.2 ZeroLogon 漏洞分析
6.2.1 ZeroLogon 漏洞概述
6.2.2 实验环境
6.2.3 ZeroLogon 漏洞利用过程分析
6.2.4 ZeroLogon 漏洞防范建议
6.3 获取域内用户名和密码散列值
6.3.1 提取 ntds.dit 文件并导出用户名和密码散列值
6.3.2 利用 DCSync 获取域内所有用户的密码散列值
6.4 域控制器安全防范建议
6.4.1 物理环境安全
6.4.2 通信网络安全
6.4.3 主机设备安全
6.4.4 应用数据安全
第 7 章 跨域攻击分析及防御
7.1 跨森林攻击
7.1.1 森林信任概述
7.1.2 跨森林枚举
7.1.3 利用 Extra SID 进入其他森林
7.1.4 利用 Linked SQL Server 进入其他森林
7.1.5 跨森林 Kerberoast 攻击
7.1.6 利用外部安全主体
7.1.7 利用 ACL
7.2 单个森林漏洞利用
7.2.1 PetitPotam 利用
7.2.2 ProxyNotShell 利用
7.2.3 NotProxyShell 利用
7.3 单个森林权限滥用
7.3.1 Backup Operators 组滥用
7.3.2 LAPS 滥用
7.3.3 域共享权限滥用
7.3.4 Exchange 权限滥用
7.3.5 组策略对象权限滥用
7.4 跨域攻击的防范
第 8 章 权限维持分析及防御
8.1 启动项、系统服务后门分析及防范
8.1.1 注册表启动项后门分析
8.1.2 隐藏任务计划
8.1.3 粘滞键后门分析
8.1.4 bitsadmin 后门分析
8.1.5 映像劫持后门分析
8.1.6 PowerShell Profile
8.1.7 隐藏服务
8.1.8 登录脚本
8.2 利用黄金票据或白银票据实现权限维持及其防范
8.2.1 Kerberos 认证协议原理概述
8.2.2 黄金票据
8.2.3 白银票据
8.3 利用活动目录证书服务实现权限维持及其防范
8.4 利用密码转储实现权限维持及其防范
8.4.1 浏览器密码转储分析
8.4.2 剪贴板记录提取与键盘记录获取分析
8.4.3 Linux 凭据转储分析
8.4.4 Windows 密码转储分析
8.4.5 NirSoft 密码转储平台
8.5 常用 Nishang 脚本后门分析及防范
8.5.1 常用 Nishang 脚本
8.5.2 Nishang 脚本后门防范
8.6 Linux 权限维持分析及防范
8.6.1 通过 SSH 免密登录实现权限维持
8.6.2 crontab 任务计划
8.6.3 软链接权限维持分析
8.6.4 systemd 服务后门分析
8.6.5 Linux rootkit
8.7 使用 VC++开发后门程序
8.7.1 通过 Socket 编程实现控制端和被控制端的网络连接
8.7.2 反弹端口的技术原理及编程实现
8.7.3 利用注册表键 Run 实现自启动
8.7.4 后门自删除的技术实现
8.7.5 关机和重启功能的技术实现
8.8 防御规避和反防御规避
8.8.1 访问令牌操作
8.8.2 混淆文件或信息
8.8.3 反防御规避技术
后记