- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
休眠文件
Analyze Hibernation File
Introduction
What’s Hibernation File?
Hibernation File也就是系统的休眠文件Hiberfil.sys,位于系统卷的根目录下。windows在系统休眠时,将物理内存中的数据(包括系统运行时的状态数据)dump到Hiberfil.sys,并生成一个有效的文件头。下次系统开机的时候,利用hiberfil.sys文件中的数据恢复系统。
How to generate a valid Hiberfil.sys?
从用户的角度来说,系统停机时,按下休眠按钮,则会自动生成一个有效的Hiberfil.sys。
从电源管理器的角度来说,只有当系统电源状态从S0àS4的时候,才会生成一个有效的休眠文件。
注:当系统正常运行时,电源状态为S0;完全关闭时,电源状态S5;休眠状态时,电源状态S4,此时只有电源电路和唤醒电路才有点滴电流;中间的几个状态S1,S2,S3,都是不同程度的睡眠状态。
从S4àS0的过程,也就是利用Hiberfil.sys恢复系统的过程。
Valuation of Hibernation File
It is quick and easy
恢复系统比重启系统要快。不解释(除特殊情况)。
A new method to dump physical memory
利用hibernation技术dump系统物理内存中的数据。这些数据包括处理器状态,当前EIP, IDT table, GDT table, SSDT table,当前状态的可执行代码和数据…
利用这些数据可以分析系统状态。
Leak Information?
Yes。正常情况下,利用Hiberfil.sys恢复系统,虽然恢复后会清除掉Hiberfil的Header数据(one page),使之无效,但是Header之后的数据还会保留。利用外部工具,构造一个Header,就可以读取该Hiberfil.sys的所有信息了。
Defensive uses
kernel –land malwares detection
分析hibernation file, 可以通过检查SSDT, IDT, GDT表的完整性来判断系统是否被修改。虽然在内核层有了更为轻量级的方法去检测系统关键表的完整性,但是存在anti对抗问题,hibernation提供了一种终极检测方式。
根据hibernation恢复原理,不在hibernation file中的代码,将不会被恢复执行。基于此,可以对抗SMM rootkit。(不做介绍)
Offensive uses
可以获取敏感数据,如:password, keys.
修改hibernation file, 提高某个进程的执行权限;绕过系统登录密码…
Hibernation file internals
Headline of hibernation process
当磁盘被挂起时(S0àS4),Windows内核(ntoskrnl.exe)执行体创建一个hibernation file,并将物理内存中的数据用LZ77算法压缩后,写入文件。
系统恢复时(S4àS0),OSLoader.exe读取hibernation file,加载解压后的数据到物理内存中,使系统以一种快捷方式恢复到休眠时的状态。
注:恢复过程的分析,见appendix 1。
Hibernation file structure
先直观的看下文件结构图:(左侧,域列表,是文件结构的组成域)
format.jpg下载此附件需要消耗2Kx,下载中会自动扣除。
File Header
位于休眠文件的第一页(0x1000 bytes)数据空间。该结构PO_MEMORY_IMAGE由内核调试符号导出。结构中主要包含了休眠文件的创建日期,版本号,校验和,有效标志,物理页数量等信息。
注:用休眠文件恢复系统时,只有第一页数据被清0,也就是file header,其他数据保留不变。
FreeMap Page
包含一个ulong数组,保存了空闲内存页的映射信息。
Processor
处理器状态,由内核函数KiSaveProcessorControlState保存。包括控制寄存器CRX,GDT, IDT, EIP…
结构定义如下:
typedef struct _KPROCESSOR_STATE32
{
CONTEXT ContextFrame; //
KSPECIAL_REGISTERS SpecialRegisters; //
} KPROCESSOR_STATE32, *PKPROC
您可能关注的文档
最近下载
- 急性胰腺炎急救护理措施.pptx
- 老年人跌倒风险综合管理专家共识PPT.docx VIP
- 2024-2025学年高中音乐必修《歌唱》人音版(2019)教学设计合集.docx
- 人教版小学一年级数学上册期中试卷及答案(精品推荐)..doc VIP
- 2025云南大理白族自治州检验检测院(第二批)招聘编外聘用人员5人备考练习试题及答案解析.docx VIP
- FAN-045 37#地块 电梯井施工操作架搭设 及安全防护方案 终.doc VIP
- 《油气管道安全管理》课件.ppt VIP
- 高速铁路客运服务专业职业生涯规划书.pptx
- GJ B-360B-2009 电子及电气元件试验方法.pdf VIP
- 概率论与数理统计教程(第2版) 茆诗松全套PPT课件.ppt
原创力文档


文档评论(0)