书名:Rootkit:系统灰色地带的潜伏者
作者:Bill Blunden
出版日期:2018
ISBN:
Rootkit:系统灰色地带的潜伏者
《Rootkit:系统灰色地带的潜伏者》共分四部分。第一部分(第1~6章),全新阐释rootkit本质、rootkit与反取证关系、安全领域态势,以及反取证技术的策略、应对建议和攻击优势。之后,从硬件、软件(系统)、行业工具和内核空间方面介绍rootkit调查过程和利用反取证技术破坏调查过程的策略,使你对取证和反取证有全新了解。第二部分(第7~8章),主要介绍rootkit如何阻止磁盘分析和可执行文件的分析,而调查人员如何利用有效的工具和策略来分析辅助存储器(例如磁盘分析、卷分析、文件系统分析以及未知二进制分析)中可能留下的rootkit痕迹,并对内存驻留和多级释放器技术及用户态Exec(UserlandExec)理念进行了深入剖析。第三部分(第9~15章)主要详解攻击者利用rootkit破坏数据收集过程和造成“一切安好”的假象的前沿实用策略:阻止在线取证、内核模式策略、更改调用表、更改代码、更改内核对象、创建隐秘通道和部署带外rootkit。第四部分(第16章),高屋建瓴地重新总结了rootkit的核心策略,以及如何识别隐藏的rootkit、注意事项和如何处理...

译者序

献给“孙悟空”

前言

第一部分基础知识

第1章 清空思想

1.1不速之客

1.2提炼一个更确切的定义

1.2.1攻击循环

1.2.2rootkit在攻击循环中的角色

1.2.3单级释放器与多级释放器

1.2.4其他部署方法

1.2.5确切的学术性定义

1.2.6不要混淆设计目标与实现

1.2.7rootkit技术--力量倍增器

1.2.8金·费尔比式比喻:破坏与毁坏

1.2.9为何使用隐身技术?rootkit不能被发现吗

1.3rootkit不等于恶意软件

1.3.1感染源

1.3.2广告软件和间谍软件

1.3.3僵尸网络的兴起

1.3.4引入:愚人飞客病毒

1.3.5恶意软件与rootkit

1.4谁在开发和使用rootkit

1.4.1市场营销

1.4.2数字版权管理

1.4.3不是rootkit,而是种功能

1.4.4法律实施

1.4.5商业间谍

1.4.6政治间谍

1.4.7网络犯罪

1.4.8谁开发了颇具艺术感的rootkit

1.4.9rootkit的道德性

1.5慑魄惊魂:战场伤员分类

1.6总结

第2章 反取证综述

2.1事件响应

2.1.1入侵检测系统(和入侵防御系统)

2.1.2异常行为

2.1.3发生故障

2.2计算机取证

2.2.1rootkit不是隐身的吗?为什么还要进行反取证

2.2.2假定最糟糕案例的场景

2.2.3取证技术分类:第一种方法

2.2.4取证技术分类:第二种方法

2.2.5在线取证

2.2.6当关机不再是种选择

2.2.7关于拔掉电源插头的争论

2.2.8崩溃转储或者不进行崩溃转储

2.2.9事后检查分析

2.2.10非本地数据

2.3AF策略

2.3.1数据销毁

2.3.2数据隐藏

2.3.3数据转换

2.3.4数据伪造

2.3.5数据源消除

2.4AF技术的总体建议

2.4.1使用定制工具

2.4.2低且慢与焦土策略

2.4.3避免特定实例攻击

2.4.4使用分层防御

2.5不明身份者具有优势

2.5.1攻击者能够专注于攻击

2.5.2防御者面临制度性挑战

2.5.3安全是一种过程(而且还是一种令人讨厌的过程)

2.5.4持续增加的复杂度

2.6总结

第3章 硬件概述

3.1物理内存

3.2IA-32内存模型

3.2.1平面内存模型

3.2.2分段内存模型

3.2.3操作模式

3.3实模式

3.3.1案例研究:MS-DOS

3.3.2这不是浪费时间吗?为什么学习实模式

3.3.3实模式执行环境

3.3.4实模式中断

3.3.5分段和程序控制

3.3.6案例研究:转储IVT

3.3.7案例研究:用TSR记录击键

3.3.8案例研究:隐藏TSR

3.3.9案例研究:为TREE.COM命令打补丁

3.3.10小结

3.4保护模式

3.4.1保护模式执行环境

3.4.2保护模式分段

3.4.3保护模式分页

3.4.4地址扩展分页

3.4.5进一步研究页表

3.4.6进一步研究控制寄存器

3.5实现内存保护

3.5.1通过分段实现保护

3.5.2界限检查

3.5.3类型检查

3.5.4特权检查

3.5.5受限指令检查

3.5.6门描述符

3.5.7保护模式中断表

3.5.8分页保护

3.5.9总结

第4章 系统概述

4.1Windows系统下的物理内存

4.1.1失落的大陆(内存)

4.1.2Windows如何使用物理地址扩展

4.1.3页、页帧、页帧号

4.2Windows下的分段和分页

4.2.1分段

4.2.2分页

4.2.3线性地址到物理地址的转换

4.2.4一个更快的方法

4.2.5关于EPROCESS和KPROCESS的讨论

4.3用户空间和内核空间

4.3.14GB调优(4GT)

4.3.2各得其所

4.3.3跨越篱笆

4.3.4用户空间剖析

4.3.5内核空间动态分配

4.3.6地址窗口化扩展

4.3.7PAE、4GT和AWE的对比

4.4用户模式和内核模式

4.4.1执行方式与执行位置

4.4.2内核模式组件

4.4.3用户模式组件

4.5其他内存保护特征

4.5.1数据执行保护

4.5.2地址空间布局随机化

4.5.3GS 编译选项

4.5.4SAFESEH链接器选项

4.6本机API

4.6.1中断向量表的发展

4.6.2进一步研究中断描述表

4.6.3通过中断进行系统调用

4.6.4SYSENTER指令

4.6.5系统服务调度表

4.6.6枚举本机API

4.6.7Nt*( )系统调用与Zw*( )系统调用

4.6.8系统调用的生命周期

4.6.9其他内核模式例程

4.6.10内核模式API文档

4.7引导过程

4.7.1BIOS固件启动

4.7.2EFI固件启动

4.7.3Windows启动管理器

4.7.4Windows启动加载器

4.7.5初始化执行体

4.7.6会话管理器

4.7.7wininit.exe

4.7.8winlogon.exe

4.7.9启动过程概括

4.8设计决策

4.8.1藏在人群中:类型0

4.8.2主动隐藏:类型1和类型2

4.8.3跳出边界:类型3

4.8.4前景展望

第5章 行业工具

5.1开发工具

5.1.1诊断工具

5.1.2磁盘映像工具

5.1.3更快速救灾:虚拟机

5.1.4工具综述

5.2调试器

5.2.1配置CDB.exe

5.2.2符号文件

5.2.3Windows符号

5.2.4激活CDB.exe

5.2.5控制CDB.exe

5.2.6有用的调试器命令

5.2.7检查符号命令(x)

5.2.8列举已加载的模块(lm和!lmi)

5.2.9显示类型命令(dt)

5.2.10反汇编命令(u)

5.2.11显示命令(d*)

5.2.12寄存器命令(r)

5.3KD.exe内核调试器

5.3.1使用内核调试器的不同方法

5.3.2物理宿主机-目标机配置

5.3.3准备硬件

5.3.4准备软件

5.3.5启动内核调试会话

5.3.6控制目标机

5.3.7虚拟宿主机-目标机配置

5.3.8 有用的内核模式调试器命令

5.3.9列举已加载模块命令

5.3.10!process扩展命令

5.3.11寄存器命令(r)

5.3.12使用崩溃转储

5.3.13方法1:PS2键盘技巧

5.3.14方法2:KD.exe命令

5.3.15方法3:NotMyFault.exe

5.3.16崩溃转储分析

第6章 内核空间中的玄机

6.1KMD模板

6.1.1内核模式驱动程序:全局概览

6.1.2WDK框架

6.1.3真正最小的KMD

6.1.4处理IRP

6.1.5与用户模式代码通信

6.1.6从用户模式发送命令

6.2加载内核模式驱动程序

6.3服务控制管理器

6.3.1在命令行使用sc.exe

6.3.2编程使用SCM

6.3.3注册表踪迹

6.4使用导出驱动程序

6.5综合利用内核中的漏洞

6.6Windows内核模式安全

6.6.1内核模式代码签名

6.6.2KMCS的应对措施

6.6.3内核补丁保护

6.6.4KPP的应对措施

6.7同步

6.7.1中断请求级

6.7.2延迟过程调用

6.7.3实现

6.8总结

第二部分事 后 分 析

第7章 阻止磁盘分析

7.1事后调查:概述

7.2取证副本

7.3卷分析

7.3.1Windows下的存储卷

7.3.2手工分析卷

7.3.3应对措施:破坏分区表

7.3.4Windows下的原始磁盘访问

7.3.5原始磁盘访问:突破常规

7.4文件系统分析

7.4.1恢复删除的文件

7.4.2恢复删除的文件:应对措施

7.4.3枚举可选数据流

7.4.4枚举可选数据流: 应对措施

7.4.5恢复文件系统对象

7.4.6恢复文件系统对象:应对措施

7.4.7带外隐藏

7.4.8带内隐藏

7.4.9引入:FragFS

7.4.10应用层隐藏

7.4.11获取元数据

7.4.12获取元数据:应对措施

7.4.13改变时间戳

7.4.14改变校验和

7.4.15识别已知文件

7.4.16交叉时间差异与交叉视图差异

7.4.17识别已知文件:应对措施

7.5文件签名分析

7.6总结

第8章 阻止可执行文件分

……

阅读全文