全栈安全-驱动内核攻防篇

中级 · 99课时+

1人学过

¥1998.00购买
  • 课程简介
  • 课程目录
  • 作者信息
  • 教程资料

前言

  • 01.0 前言-Windows内核攻防篇前置要求
  • 01.1 前言-工具链与通用项目基础库
  • 01.2 前言-攻防项目路线与内容要求

特征码引擎

  • 01.3 特征码引擎-项目工程框架初始化
  • 01.4 特征码引擎-特征码解析思路与转换结构
  • 01.5 特征码引擎-系统模块信息获取
  • 01.6 特征码引擎-内核模块数据提取
  • 01.7 特征码引擎-特征码数据解析与转换
  • 01.8 特征码引擎-通配符匹配技巧
  • 01.9 特征码引擎-SSDT&SHADOW定位
  • 02.0 特征码引擎-代码执行模拟定位测试
  • 02.1 特征码引擎-SSDT&SHADOW函数获取
  • 02.2 特征码引擎-SHADOWSSDT数据解析方式
  • 02.3 特征码引擎-LDE反汇编引擎解析器
  • 02.4 特征码引擎-内核PDB符合信息

无模块驱动

  • 02.5 无模块驱动-无模块驻留实现思路与攻防角度
  • 02.6 无模块驱动-项目框架搭建与内存加载流程
  • 02.7 无模块驱动-内存加载步骤及模块导入信息
  • 02.8 无模块驱动-模块数据验证及状态转换
  • 02.9 无模块驱动-重定位数据校验修正
  • 03.0 无模块驱动-导入模块信息获取
  • 03.1 无模块驱动-通过名称转发导出函数地址
  • 03.2 无模块驱动-导入函数地址表数据修复
  • 03.3 无模块驱动-security cookie fixed
  • 03.4 无模块驱动-入口点执行
  • 03.5 无模块驱动-隐藏驱动测试

驱动通信

  • 03.6 通信隐藏-通信的本质及自定义通信
  • 03.7 通信隐藏-自定义通信思路与安全防御
  • 03.8 通信隐藏-通信协议设计与同步并发处理思路
  • 03.9 通信隐藏-生命周期与权限身份校验
  • 04.0 通信隐藏-通信协议通用库数据
  • 04.1 通信隐藏-CMD命令与统一错误处理
  • 04.2 通信隐藏-通信缓冲区结构设计思路
  • 04.3 通信隐藏-通用头文件共享数据
  • 04.4 通信隐藏-用户态连接驱动初始化magic
  • 04.5 通信隐藏-用户态握手连接与痕迹抹除
  • 04.6 通信隐藏-内核态框架初始化
  • 04.7 通信隐藏-驱动工作线程INIT
  • 04.8 通信隐藏-定位R3通信进程流程
  • 04.9 通信隐藏-绑定进程及通信关联
  • 05.0 通信隐藏-握手完成与通信接受回调
  • 05.1 通信隐藏-多线程下发包约束与门禁
  • 05.2 通信隐藏-通信发送接口完善
  • 05.3 通信隐藏-抽象类接口对接
  • 05.4 通信隐藏-驱动监听响应请求数据
  • 05.5 通信隐藏-驱动通知用户态响应请求
  • 05.6 通信隐藏-用户态代码审核重构
  • 05.7 通信隐藏-内核态代码审核重构_1
  • 05.8 通信引擎-内核态代码审核重构_2
  • 05.9 通信引擎-无模块无对象无拦截替换HOOK通信测试

保护进程

  • 06.0 保护进程-ObCallBack保护进程思路
  • 06.1 保护进程-配置操作注册与回调注册结构
  • 06.2 保护进程-内核对象访问拦截过滤测试
  • 06.3 保护进程-PS_PROTECTION
  • 06.4 保护进程-HandleTableEntry_Access

隐藏进程

  • 06.5 隐藏进程-进程隐藏通用测试思路与特征取巧
  • 06.6 隐藏进程-活跃进程链表偏移定位与断链
  • 06.7 隐藏进程-隐藏效果测试与蓝屏
  • 06.8 隐藏进程-PspCidTable全局句柄表隐藏
  • 06.9 隐藏进程-特征定位句柄顶层结构
  • 07.0 隐藏进程-句柄表层级结构布局
  • 07.1 隐藏进程-全局进程数据抹除与隐藏效果
  • 07.2 隐藏进程-进程隐藏弊端与交叉验证下的突破口
  • 07.3 隐藏进程-句柄回推遍历进程
  • 07.4 隐藏进程-脱钩与恢复断链数据防止蓝屏
  • 07.5 隐藏进程-系统动态链接库回溯进程思路
  • 07.6 隐藏进程-vad节点定位方案
  • 07.7 隐藏进程-节点回溯文件对象特征
  • 07.8 隐藏进程-vad节点隐藏进程对象与挖掘
  • 07.9 隐藏进程-mmpfn暴力回溯隐藏进行对象与CR3解密
  • 08.0 隐藏进程-CR3回推隐藏进程
  • 08.1 隐藏进程-进程隐藏弊端以及强制回溯

伪装进程

  • 08.2 伪装进程-进程伪装思路与实现方案
  • 08.3 伪装进程-初始化偏移特征数据
  • 08.4 伪装进程-目标与被伪装进程架构匹配
  • 08.5 伪装进程-文件对象关联解除
  • 08.6 伪装进程-内核进程结构体字段篡改
  • 08.7 伪装进程-PEB数据截取
  • 08.8 伪装进程-VAD节点数据劫持
  • 08.9 伪装进程-PEB数据伪装构建
  • 09.0 伪装进程-进程创建启动参数替换
  • 09.1 伪装进程-伪装实例测试与交叉验证

进程信息

  • 09.2 进程模块-进程暴力强杀
  • 09.3 进程模块-vad&peb解析通用框架
  • 09.4 进程模块-物理内存转换与切页
  • 09.5 进程模块-无附加物理内存解析PEB模块数据
  • 09.6 进程模块-主模块与指定模块数据获取
  • 09.7 进程模块-vad树关联文件对象遍历
  • 09.8 进程模块-PEB&VAD通用化处理框架
  • 09.9 进程模块-代码调试测试

内核注入

  • 10.0 内核注入-用户态注入通用思路与攻防检测
  • 10.1 内核注入-反射书注入与模型映射执行流程
  • 10.2 内核注入-环境数据初始化
  • 10.3 内核注入-进程线程查询与模块数据加载
  • 10.4 内核注入-内存读写与映射
  • 10.5 内核注入-模块导出信息无依赖获取
  • 10.6 内核注入-ManualMapHijack注入初始化环境构建
  • 10.7 内核注入-劫持思路与shellcode&stub
  • 10.8 内核注入-wow64注入执行流程全解
  • 10.9 内核注入-32位进程模拟注入测试
  • 11.0 内核注入-64位注入stub差异化
  • 11.1 内核注入-64位注入执行测试与内存状态校验
  • 11.2 内核注入-GUI子系统与消息映射表
  • 11.3 内核注入-KCB表替换与回调流程篡改
  • 11.4 内核注入-shellcode协同处理与同步方案
  • 11.5 内核注入-多重跳板sc占位符初始化
  • 11.6 内核注入-x86下的代码实现
  • 11.7 内核注入-kcb注入代码执行测试
  • 11.8 内核注入-注入攻方思路与防御视角

内存读写

  • 11.9 内存读写-内核态驱动内存读写方案
  • 12.0 内存读写-config通用配置项与进程状态
  • 12.1 内存读写-ntos与ssdt定位
  • 12.2 内存读写-syscall提取对接内核函数地址
  • 12.3 内存读写-Zw&NtVirtual内存读写测试
  • 12.4 内存读写-MiReadWrite&MmCopyVirtual
  • 12.5 内存读写-KeStackAttachProcess&Probe
  • 12.6 内存读写-MmCopyMemory&physical
  • 12.7 内存读写-MDL&MapLockedPages
  • 12.8 内存读写-PhysicalMemory&Section
  • 12.9 内存读写-物理内存直接操作解析流程
  • 13.0 内存读写-物理页跨页处理技巧与缺页处理
  • 13.1 内存读写-虚拟地址转换物理页及大页解析
  • 13.2 内存读写-无附加API链路物理内存读写测试

内存管理

  • 13.3 内存管理-Zw&NtAllocate内存申请管理
  • 13.4 内存管理-MdlAllocate物理页申请与虚拟地址映射
  • 13.5 内存管理-异步过程调用APC投递触发机制
  • 13.6 内存管理-进程信息查询反推线程数据
  • 13.7 内存管理-APC消息投递与错误处理
  • 13.8 内存管理-APC异步原生上下文内存申请
  • 13.9 内存管理-SEC映射分配内存
  • 14.0 内存属性-传统ZwProtect内存保护属性修改
  • 14.1 内存属性-MmProtectMdl
  • 14.2 内存属性-PTE直接操作修改保护属性
  • 14.3 内存属性-QueryMemBasicInfo

内存隐藏

  • 14.4 内存隐藏-进程私有内存地址隐藏多协同方案
  • 14.5 内存隐藏-vad节点隐藏思路与弊端冲突
  • 14.6 内存隐藏-vad数据初始化与竞态保护
  • 14.7 内存隐藏-vad节点移除与数据同步
  • 14.8 内存隐藏-二叉树恢复节点影响分支
  • 14.9 内存隐藏-父节点与插入方向路径回溯
  • 15.0 内存隐藏-隐藏内存测试与效果分析
  • 15.1 内存隐藏-物理页内存幽灵隐藏实现
  • 15.2 内存隐藏-PTE傀儡构建属性篡改
  • 15.3 内存隐藏-内存物理页隐藏效果测试
  • 15.4 内存隐藏-内存安全攻防点汇总

线程攻防

  • 15.5 线程隐藏挖掘-线程等待就绪节点与进程数据关联
  • 15.6 线程隐藏挖掘-检测隐藏线程框架初始化与运行时保护
  • 15.7 线程隐藏挖掘-目标线程多状态获取
  • 15.8 线程隐藏挖掘-执行体和微内核线程挖掘思路
  • 15.9 线程隐藏挖掘-多核同步处理KPRCB线程数据
  • 16.0 线程隐藏挖掘-CPU核等待调度线程获取
  • 16.1 线程隐藏挖掘-就绪位图与线程优先级
  • 16.2 线程隐藏挖掘-多核组内共享就绪线程队列原理
  • 16.3 线程隐藏挖掘-SRQ线程数据获取
  • 16.4 线程隐藏挖掘-延迟就绪线程挖掘
  • 16.5 线程隐藏挖掘-挖掘隐藏线程代码重构调整
  • 16.6 线程隐藏挖掘-idle线程过滤与当前核运行下条线程比对
  • 16.7 线程隐藏挖掘-SPI系统信息获取指定进程线程数据
  • 16.8 线程隐藏挖掘-cidtable数据解析与内核对象类型判断
  • 16.9 线程隐藏挖掘-kqueue&kpriqueue回推队列线程思路
  • 17.0 线程隐藏挖掘-线程对象反推队列链表所属节点头
  • 17.1 线程隐藏挖掘-队列对象与线程对象关联数据回溯
  • 17.2 线程隐藏挖掘-代码运行测试与数据交叉比对
  • 17.3 线程入口检测-用户态创建线程执行调用链路与模块路径
  • 17.4 线程入口检测-start&win32起始地址字段解析
  • 17.5 线程入口检测-遍历指定进程中线程执行入口地址是否违规
  • 17.6 线程入口检测-代码测试获取线程入口地址信息与篡改

回调攻防

  • 17.7 回调攻防-内核对象回调枚举
  • 17.8 回调攻防-windbg手动解析进程回调函数存储位置
  • 17.9 回调攻防-进程对象回调枚举解密与类型解析
  • 18.0 回调攻防-线程对象回调枚举测试
  • 18.1 回调攻防-模块加载回调函数枚举
  • 18.2 回调攻防-注册表回调函数枚举与内存结构布局
  • 18.3 回调攻防-进程线程对象句柄回调拦截方案
  • 18.4 回调攻防-句柄回调函数枚举与屏蔽思路
  • 18.5 回调攻防-minifilter文件过滤前置要求
  • 18.6 回调攻防-minifilter通用框架实现
  • 18.7 回调攻防-内存布局解析minifilter数据
  • 18.8 回调攻防-内核枚举minifilter对象及回调操作函数及释放思路
  • 18.9 回调攻防-IO_TIMER回调枚举及对象回溯解析
  • 19.0 回调攻防-内核定时器IO&DPCTimer
  • 19.1 回调攻防-DPC定时器存储位置与核关联
  • 19.2 回调攻防-代码动态定位KPRCB&TIMETABLE
  • 19.3 回调攻防-DPC对象解密算法实现与代码测试
  • 19.4 回调攻防-关机回调链路回溯与反汇编分析结构布局
  • 19.5 回调攻防-关机回调枚举测试与Extra块获取
  • 19.6 回调攻防-LastChanceSD回调过滤
  • 19.7 回调攻防-BugCheck回调节点获取思路
  • 19.8 回调攻防-BuCheck&Reason回调函数获取代码测试
  • 19.9 回调攻防-Fs文件系统驱动注册回调存储位置
  • 20.0 回调攻防-Fs回调定位测试
  • 20.1 回调攻防-移除系统回调统一思路
  • 20.2 回调攻防-摸出他人回调函数落地实测

钩子对抗

  • 20.3 HOOK-内核HOOK常见样式与类别派系
  • 20.4 HOOK-SSDT钩子基于x86&x64下攻防实例
  • 20.5 HOOK-inline钩子节点信息前置初始化
  • 20.6 HOOK-跳板与回调构建及执行代码页属性处理
  • 20.7 HOOK-传统内核HOOK方式测试及弊端代替方案
  • 20.8 HOOK-altsyscall执行机制
  • 20.9 HOOK-全局槽位与自建函数分发表关联
  • 21.0 HOOK-线程标志位激活与进程slot启动
  • 21.1 HOOK-altsyscall测试拦截系统调用并过滤拦截
  • 21.2 HOOK-infinityHook&ETW机制原理
  • 21.3 HOOK-无痕HOOK测试与内存页比对

VT虚拟化

  • 21.4 VT-VT框架学习路线
  • 21.5 VT-什么是VT&VMM与GUEST的基本概念
  • 21.6 VT-前置知识储备要求与后续对接
  • 21.7 VT-CPU虚拟化支持三层环境校验
  • 21.8 VT-代码框架初始化搭建与门禁过滤
  • 21.9 VT-VMXON&VMCS&HOSTSTACK
  • 22.0 VT-VM区域块内存填充规则和约束
  • 22.1 VT-VMX核心数据管理及launch对接guest
  • 22.2 VT-VMContext数据初始化
  • 22.3 VT-VMXON指令执行规则与错误处理
  • 22.4 VT-多核同步与guest落点定位及进入root环境
  • 22.5 VT-VMCS&STATE&AREA
  • 22.6 VT-GUEST&STATE
  • 22.7 VT-HOST&STATE
  • 22.8 VT-虚拟化框架调度图解
  • 22.9 VT-state区域状态字段初始化
  • 23.0 VT-GUEST区域字段填充
  • 23.1 VT-HOST区域字段填充
  • 23.2 VT-控制区域层级与新老MSR使用规则
  • 23.3 VT-Primary&Pin-Based
  • 23.4 VT-control字段同步及写入用于格式
  • 23.5 VT-VM-execution controls
  • 23.6 VT-VMLAUNCH透明接管与入场检验机制
  • 23.7 VT-框架启动环境前置操作
  • 23.8 VT-VMEXIT中转函数与上下文环境保存
  • 23.9 VT-VM-exit发生时CPU做了什么
  • 24.0 VT-VM-exit分发机制与退出原因解码
  • 24.1 VT-VM-条件退出体系结构
  • 24.2 VT-代码退出通用框架处理与数据拦截小试牛刀
  • 24.3 VT-VM-exit事件逐个击破
  • 24.4 VT-VMRESUME送guest回执
  • 24.5 VT-VMX退出协议与前置清理工作
  • 24.6 VT-VMX恢复默认执行环境并退出
  • 24.7 VT-VT环境执行完整图解与退出并行劫持线路
  • 24.8 VT-多核同步退出执行vmcall触发exit
  • 24.9 VT-代码框架体系构建完善
  • 25.0 VT-环境检测与资源申请代码调试
  • 25.1 VT-VMM启动与控制字段调试
  • 25.2 VT-客户机与宿主状态设置及环境切换
  • 25.3 VT-退出事件回调测试与指令拦截实操
  • 25.4 VT-虚拟化环境释放与项目拓展

EPT

  • 25.5 EPT-EPT的体系结构定义与核心概念
  • 25.6 EPT-开启EPT的硬件控制与前置能力校验
  • 25.7 EPT-EPT层次模型与位域格式
  • 25.8 EPT-512GB物理内存恒等映射体系架构
  • 25.9 EPT-EPTP控制配置与MTRR内存类型计算
  • 26.0 EPT-内存虚拟化能力支持检测与MTRR缓存类型解析
  • 26.1 EPT-物理内存恒等映射页表结构
  • 26.2 EPT-物理内存缓存回写与EPTP数据配置
  • 26.3 EPT-扩展页表环境搭建完毕
  • 26.4 EPT-HookPage前置之钩子节点数据管理
  • 26.5 EPT-钩子节点命中判断与资源申请
  • 26.6 EPT-影子页跳板内存处理与回跳原函数
  • 26.7 EPT-hook节点项登记同步管理
  • 26.8 EPT-多核同步激活钩子及vmcall自定义通信
  • 26.9 EPT-影子页替换无痕hook第一步
  • 27.0 EPT-无痕HOOK本质原理与幽灵页表替换
  • 27.1 EPT-页表劫持与还原及属性限定
  • 27.2 EPT-读执行分离页违规处理
  • 27.3 EPT-无痕HOOK内核拦截实例测试
  • 27.4 EPT-钩子节点清理与环境恢复
0xCC

教程资料购买后才能查看或下载。