内存取证1

原文:常见的检材类型 | Randark_JMT - 陈橘墨

这里非常感谢巨魔的文章,大家直接去这里看原文就行了,想娶巨魔,虽然他是男的

电子取证

在过去的几年里,使用离地(living off the land)和无文件攻击技术的威胁者数量急剧增加。攻击者不再像以前那样关心如何消除他们的足迹,相反,他们尽量少留下足迹以避免被发现。这使得信息安全专业人员的工作更加困难,因为使用内置工具和磁盘上缺乏可扫描的恶意文件意味着一些传统的安全解决方案可能毫无用处。缺乏日志记录可能使我们很难在事后检查的过程中重建威胁者是如何滥用内置两用工具的,例如各种命令和脚本解释器,因此获取和分析内存可能在这种情况下发挥关键作用。

针对电子设备中的证据数据进行提取,并加以分析。根据取材的类型不同,可以分为磁盘取证,内存取证,流量分析等等;而根据目标设备的不同类型,可以分为 Windows 取证,Linux 取证,安卓设备取证,苹果设备取证等等。

内存取证在 ctf 比赛中也是常见的题目,内存取证是指在计算机系统的内存中进行取证分析,以获取有关计算机系统当前状态的信息。内存取证通常用于分析计算机系统上运行的进程、网络连接、文件、注册表等信息,并可以用于检测和分析恶意软件、网络攻击和其他安全事件

检材

检材,泛指用于取证分析的材料,物理意义上的检材,指的是现场发现的电子设备,对其进行数据固定,数据提取并加以分析,而对于电子取证比赛来说,检材可以是各种由电子设备中提取出来的电子数据保存而来的镜像文件,然后以文件的形式发给选手,而选手需要对文件中储存的原始电子设备数据进行操作,例如挂载,仿真,亦或者直接进行分析。

在一般工作中,电子镜像文件已经越发常见,由于检材文件已经为固定形式,所以可以将一份物理检材固定为检材文件之后,多方分发,以此大大提高取证工作灵活性与工作效率

对于 ctf 比赛中所接触到的内存取证,选手大多拿到的都是已经提取好的内存镜像文件,也就是内存数据的原始完整拷贝,这已经从开局就大大简化了内存取证的难度,并不需要选手去考虑如何获取内存数据的完整镜像。而选手接下来所要面对的,就是对内存数据进行解析。

内存取证

内存为易失性储存设备,电子设备在断电后的短时间内,内存中就会丢失数据,从而失去分析价值;但是随着技术的进步,只要在设备断电后快速将内存卸下,并接入专用设备,也可以从残留的数据中提取证据。更何况大部分情况下,取证人员可以直接在现场,保持设备通电开机的情况下,直接对目标设备的内存进行取证工作,从而给完整提取目标设备的内存数据提供了机会。

不同于直接对硬盘、手机、储存卡等设备进行取证,内存取证由于其为设备的内存数据,其天生就为电子取证的重要一点:因为设备在运行中,凡是涉及到数据的解析,在内存中大多都是以中间态或最后的明文态而存在;而在硬盘等设备中,数据可以进行加密,进行混淆,就大大增加了分析难度。故在电子取证中,内存取证往往为最为重要的一环。

磁盘取证

磁盘取证分析,是指对磁盘上的原始数据进行取证分析。磁盘数据存在多种分区方案,例如 FAT32NTFSEXT 系列ZFSexFAT 等等,不同的分区方案需要用不同的方式进行读取,才能正确读取到数据。同时,由于不同的分区方案有着不同的数据结构和分区表形式,如果涉及到磁盘数据损坏,还要考虑到分区表损坏的情形,那就要更进一步,涉及到数据恢复的领域。

单单对于磁盘数据的处理和分析的话,可以考虑使用相关的磁盘管理和维护工具,例如 Diskgenius,对于原始磁盘镜像的读取和挂载,可以使用 FTK Imager,而对磁盘的原始扇区数据进行读取,以及查看分区表数据等操作,可以使用 DIskgenius 等磁盘管理工具。

对磁盘上的数据进行取证分析,常用的开源两件套是 Autopsy 和 FTK imagerAutopsy 可以对磁盘数据进行静态分析,而 FTK imager 可以直接浏览磁盘的原始数据,并支持将磁盘镜像文件进行挂载,二者相结合可以满足磁盘取证分析的基本要求

仿真取证

不同于使用工具直接对数据镜像进行分析,仿真取证是从数据镜像中还原出目标设备的原始环境,然后模拟出直接在目标设备上进行操作的环境。为了保护目标设备上的数据不得篡改,防止证据被破坏,取证分析人员不会直接在目标设备上直接进行操作,而是提取镜像之后进行仿真取证。仿真取证具有静态取证分析不可比拟的优越性:快速、直观且直接。通过仿真的方式进行取证分析,分析人员可以模拟直接与目标设备进行交互,进而快速探测目标设备上的具体情况,进而可以与静态取证分析相结合,大大增加取证分析的效率;并且通过模拟直接与目标设备进行交互,可以绕过繁琐的数据静态分析,从而直接查看数据,例如查看浏览器的历史记录、浏览邮件往来、访问笔记软件中的页面等等。

仿真取证看似美好,但是受到检材格式的约束:部分检材的格式为虚拟磁盘文件,那么说明极大概率得到的检材为虚拟机提取出来的,就可以直接导入相对应的虚拟机软件中尝试直接启动;而对于像 .raw.e01 和 .dd 等格式的原始磁盘数据镜像文件,能否进行仿真取证很大程度上取决于提取出来的分区数据中是否包含有启动分区,若没有启动分区数据,则很难进行仿真取证。但是,没有启动分区数据也并非代表不能进行仿真取证:取证分析人员在分析磁盘上存在的系统种类之后,可以尝试使用现有的启动分区 ( 如直接拷贝物理 Windows 环境中的启动分区 ) ,进而尝试进行仿真取证。

流量分析

按照一般的理解,流量分析应该是直接放在 Misc 里面的,电子取证只涉及对内存数据和磁盘数据的取证分析。但是,电子取证其本身就是对电子设备的数据进行取证分析,而流量数据其分析重要性和内存、磁盘数据是不相上下的,三者往往相互辅助,共同辅助构建目标设备的时间线痕迹的分析结果。

商业软件与开源方案

在磁盘取证中,我们已经接触到了开源方案:Autopsy 和商业软件:取证大师火眼证据分析 等等,可以发现无论是支持分析的痕迹种类,运行速度等等指标,商业软件都要比开源方案好上不少。那么孰优孰劣呢?在允许的情况下 ( 自身可以从正规渠道取得相关公司的软件许可 ) ,建议还是使用商业软件来进行取证工作,以大大方便取证工作的开展。

但是怀揣着开源精神,从一定角度上来讲,商业软件也并非绝对机密,它们的相关功能均可以从开源代码中找到相关的同等效果实现,例如 取证大师 的内存分析工具,其中就是用到了 Volatility 2 相关开源运行库,而相关浏览器痕迹分析 ( chromium 类和 Firefox 类浏览器中的浏览历史、页面缓存、用户保存的密码等等 ) 也可以找到相关开源代码。所以在无法取得相关商业软件授权的情况下,也不必灰心,完全可以依赖开源代码和自己的手速,来实现同等的效果 ( 没那么快就是了 )

国外的破解版软件也很香啊,比如 Passware Kit 和 AXIOM,既快又好用,前提是能找到没有私货的破解版

目前在国内,主流使用的商业取证软件可以分为三家,分别是美亚柏科 ( 取证大师 ) 、弘连网络 ( 火眼证据分析 ) 和盘古石,三家的软件各有优劣,但是核心功能大差不差,竞争点都集中在对数据预处理后的自动化分析上。

Windows 取证

WIndows 作为用户基数最大的操作系统,自然大部分电子取证也都是针对 Windows 平台而展开工作。对于 Windows 的内存数据,一是 Microsoft 已经提供了各个版本系统内核所对应的内存数据符号表,二是由于 Windows 的内核版本相对较少,也更容易针对性的制作符号表文件,从而对内存数据进行精确分析;而对于 Windows 的硬盘数据,则不一定那么容易,由于 Windows 平台存在桌面环境,所以有部分敏感数据会以便签等形式存在于用户桌面,而且从 Windows 7 之后,Windows 可以启用 Bitlocker 硬盘加密功能,而这也进一步加大了对 Windows 硬盘数据进行分析取证的难度。

BitLocker加密是Windows的一种数据保护功能,主要用于解决由于计算机设备的物理丢失导致的数据失窃或恶意泄漏,能够同时支持FAT和NTFS两种格式,可以加密电脑的整个系统分区,也可以加密可移动的便携存储设备,如U盘和移动硬盘等。

BitLocker使用AES(高级加密标准/Advanced Encryption Standard)128位或256位的加密算法进行加密,其加密的安全可靠性得到了保证,通常情况下,只要密码有足够强度,这种加密就很难被破解。 因此,当取证中遇到涉案的电脑、U盘等被Bitlocker加密的情况,破解加密获取涉案数据就变得尤为重要。

  • 家庭版无此功能
  • 分区可用空间会变小

1.对一个磁盘进行BitLocker加密的方法很简单,打开资源管理器,在想要加密的磁盘分区上点击右键,选择“启用BitLocker”即可。(在“控制面板”-“系统和安全”-“BitLocker驱动器加密”里也可以启用和管理加密。)

2.点击“启用BitLocker”之后,在新弹出的窗口中设置加密驱动器密码,输入完成后点“下一步”,然后选择保存恢复密钥的位置。

 

3.一般来说,恢复密钥存放在USB闪存驱动器或打印出来安全系数更高,因为这样操作的话,加密驱动器与恢复密钥分离保管,安全性更好。不过实际情况中,有些时候为了省事,会将恢复密钥保存在硬盘中,这也给了我们解密的可能性。 

4. 然后BitLocker就开始对整个驱动器进行加密,BitLocker对于驱动器的加密解密耗时较长,用户需要等待相当长的时间。加密完成之后,可以看到原先的磁盘图标上多了一把锁,此时表示驱动器已经加密完成。加密后,磁盘驱动器上会显示一把没有上的锁,这时驱动器是可以打开的。

5. 我们需要重启电脑,驱动器锁会彻底锁上,需要输入密码或者验证密钥才能打开。

 取证思路

思路1:通过密码查找解密

从所有涉案介质中获取与密码相关的数据,将这些数据整理成字典后,再通过相应的解密工具解密或暴力破解,因为此方法存在很大的不确定性,所以视情况选择。

思路2:通过恢复密钥解密

  • 通过BitLocker加密的过程,我们可以知道在加密设置时会产生恢复密钥,通常大家会以“保存到文件”的方式存放恢复密钥(一般不会选择注册Microsoft账户,而打印又容易丢失,所以更多时候选择保存到文件),这种方式恢复密钥会以TXT文件的方式存放到存储介质中;
  • TXT文本数据在介质中存放时,底层是以明文的方式存放的,就算是TXT被删除,只要底层数据没有被覆盖,我们就可以通过底层关键字查找、正则匹配的方式找到恢复密钥进行解密。

思路3:其它

  • 在一些案件中,通过特定的涉案介质如:加密的U盘或移动硬盘,可以在相关的电脑上启动自动解锁功能,我们只需将涉案介质接到相应的电脑上即可解锁加密介质;

  • 从解密过Bitlocker加密的电脑内存镜像中提取BitLocker密钥,此方法不做描述,可自行查找相应资料;
EFS加密与解密

在资源管理器中在要加密的对象上右键——属性——高级——加密内容以便保护数据(不需要输入密码)

EFS加密是用账号本人的证书进行加密解密,所以,如果重做了系统,没有证书将无法解密。

解决办法

导出证书:CertMgr.msc命令,打开证书管理工具,在个人证书下找到加 密文件系统的证书,右键-所有任务-导出,后缀名cer。

重做系统后,把该证书导入,即可打开被EFS加密的对象。操作方法跟导出类似。 

注册表取证

Windows的注册表:是一个重要的系统组件,用于存储操作系统和应用程序的配置信息。它类似于一个数据库,包含了各种键值对、参数、设置等,可以通过注册表来管理和修改系统和应用程序的行为。功能:

  • 存储系统和应用程序的配置信息:Windows和应用程序可以将自己的配置信息保存到注册表中,以便在下次启动时快速读取和应用这些设置。

  • 管理系统和应用程序的行为:通过修改注册表中的键值对,可以改变系统和应用程序的行为,例如修改桌面背景、禁用某些功能、设置默认打开方式等。

  • 维护系统的安全性:Windows可以使用注册表来存储用户的安全设置,例如密码策略、用户权限等。

  • 支持应用程序的扩展:应用程序可以使用注册表来存储自己的设置和配置信息,以便进行扩展和定制。

注册表结构

Windows的注册表由多个键(Key)、子键(subkey)和值(Value)组成,可以看作一个树形结构。

内容 描述
HKEY_CLASSES_ROOT 表示所有文件类型的类信息
HKEY_CURRENT_USER 表示当前用户的设置信息
HKEY_LOCA
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值