数字取证

数字取证

计算机取证篇数字取证数字取证学描述了电子证据的收集、分析和报告。它涵盖了整个过程:从识别数字证据的那一刻起,到完成分析并呈现于法庭诉讼时。因为几乎每个犯罪者都会留下他们活动和意图的“数字签名”,而这些“数字签名”将作为有效的诉讼证据提供给法庭,以便将犯罪嫌疑人绳之以法。

数字取证这项技能应用非常广泛,适用于执法、企业调查、网络入侵、恶意软件分析和事件响应等等。

NIST建议数字取证调查的七个步骤,细分为两个较大的阶段:收集和解释。该过程从收集潜在证据开始,收集阶段包括以下步骤:1.保护2.获取3.保全。第二阶段解释,包括这些步骤:4.恢复5.导航6.识别/提取7.分析。

计算机取证取证分析原则取证前务必要对证据所在载体进行备份并计算哈希(MD5,SHA)留作完整性校验时使用,同时,备份方式要采用位级别的备份而不是文件级备份。

取证过程全部是对备份数据的提取和分析,原始数据要保留下来为以后提供完整性证明。

要保证所采取的取证手段不破坏被取证对象。

对已获的数据做详细记录并存档核查。

取证人员应该保护证据的保密性,避免未经授权的访问和披露。

取证基础硬盘克隆定义:从硬盘克隆到硬盘。

逐磁道,逐扇区。物理级的数据精确复制。能获取所有文件,且包括所有的已被删除或隐藏的文件,未分配区域,磁盘闲散空间等。

意义:

保存原始证据;

制作检验用的精确拷贝;

镜像数据法律上与原始证据等同;

检验可在备份数据上进行,降低了在原证据盘上检验带来的风险;

数据镜像产生的数字指纹(HASH),可对原证据盘进行检验前后数据是否发生变化进行对比,有利于法庭质证。

硬盘镜像定义:从硬盘克隆到文件。

常见的镜像格式有DD,E01,AFF,BIN,ISO等。

镜像文件包含所有文件,包括所有的已被删除或隐藏的文件,未分配区域,磁盘闲散空间等。

镜像类型DD镜像(*.001)

DD镜像使用的最广泛,因为兼容性很强,几乎所有的取证工具都支持DD镜像,没有压缩制作起来速度快。

问题:容量大。

原1T内存使用了100G做出来的镜像大小为1T。

e01镜像(*.e01)

可以进行压缩片段的功能,对每一个片段在需要时进行解压或单独调用,兼顾了速度和完整性,节省空间。在生成 E01 格式证据文件时,会要求用户输入与调查案件相关的信息,如调查人员、地点、机构、备注等元数据。这些元数据将随证据数据信息一同 存入 E01 文件中。文件的每个字节都经过 32 位的 CRC 校验,这就使得证据被篡改的可能性几乎为 0。

问题:计算Hash值需专业工具。

原1T内存使用了100G做出来的镜像大小大概是100G。

数据擦除-BMBBMB国家保密局21-2007标准,对硬盘做六次擦除。

1.零覆盖硬盘所有可以寻址的位置;

2.用二进制0x01覆盖硬盘所有可以寻址的位置;

3.随机数覆盖硬盘所有可以寻址的位置;

4.随机数覆盖硬盘所有可以寻址的位置;

5.随机数覆盖硬盘所有可以寻址的位置;

6.用零覆盖硬盘所有可以寻址的位置;

注意:要做硬盘克隆的时候用旧盘的情况,需要进行整体数据擦除。

哈希(HASH)Hash算法又称Hash函数,把任意长度的输入通过散列算法变换成固定长度的输出,一般用来校验数据完整性。

Hash种类:

MD5

SHA-1

SHA-256

SHA-512

...

Hash特性:

两个内容完全一致的文件其HASH值相同;

两个同名文件内容稍有差异HASH值不同;

具有不可逆性,不能通过HASH值恢复源文件内容;

HASH应用:电子签名,数据安全,文件一致性检验等;

常见文件系统Windows文件系统:FAT12/16、FAT32、exFAT、NTFS

FAT32:

32位文件分配表;

簇大小=512B-32KB

分区最大2TB(理论上)

单个文件4GB

无安全机制:任何人可以访问任何文件(无EFS加密)。

exFAT:

一般适用于闪存的文件系统(U盘)就是为了解决FAT32的一些缺点出来的,支持大于4GB的文件 。

NTFS:

64位文件分配表(更快的读、写、搜)

有安全机制:文件的访问有限制(EFS)

分区支持最大2TB

主文件表(MFT)是这个卷上每一个文件的索引

时区和时间戳时区指的是地球上不同的区域,根据经度的分别,将其划分成不同的时间段,并约定使用相同的时间标准。通常情况下,每个时区都以全球协调时间(UTC)为基础,在此基础上加上或减去一定的小时数来表示该时区的本地时间。世界各国通过协商认定了24个时区,并规定每个时区的时间偏移量。

当然,计算机也有自己记录时间的方式,有些内部时间会采用Unix时间戳进行记录。Unix时间戳是一个整数值,表示自1970年1月1日00:00:00 UTC以来的毫秒数,需要注意的是,大多数Unix系统的时间戳功能仅精确到最接近的秒。

在数字取证中,时间戳通常是电子证据的重要组成部分之一。时间戳记录了特定事件发生的确切日期和时间,并且可能包含有关系统时钟和时区设置的信息。因此,取证调查员必须了解所涉及的所有设备和服务器的时区,并相应地调整其分析,以便准确地确定事件发生的时间和顺序。如果一项调查涉及到跨越多个时区的人员或设备,则调查员必须能够根据每个时区的时间戳协调分析,并考虑如何补偿时间差异。

因为它们可以影响到电子证据的准确性和可靠性。了解这些概念并正确地应用它们对于成功的数字取证非常关键。

注册表对于取证调查员来说,注册表可以被当作是一个信息宝库。因为在Windows操作系统中,几乎所有的软件安装和卸载、硬件驱动程序安装和卸载以及系统参数设置都会被记录到注册表中。因此,注册表可以提供大量有用的信息,帮助取证调查员了解计算机系统的历史状态及其相关活动。

通过分析注册表可以找到的信息包括:

安装的软件、应用程序及其版本信息;

用户登录信息,包括用户名和密码的哈希值;

访问过的网站和文件路径;

硬件设备的配置信息;

系统启动项、服务以及自动运行的程序;

用户和他们最后一次使用系统的时间;

系统连接过的Wi-Fi;

列出在系统上进行的所有搜索;

等等.......

这些信息对于取证调查员来说非常有价值,可以帮助他们了解计算机系统的使用情况,发现可能的恶意活动,辅助判断犯罪嫌疑人的行为等。但需要注意的是,在进行注册表取证时需要谨慎操作,避免对系统造成不必要的损害或者误删除重要信息。

注册表信息win+R输入regedit 打开注册表。

在注册表中,有根文件夹。这些根文件夹称为 hives。有5个注册表配置单元。

HKEY_USERS: 包含所有加载的用户配置文件

HKEYCURRENT_USER: 当前登录用户的个人资料

HKEYCLASSES_ROOT: 用于打开文件的应用程序的配置信息

HKEYCURRENT_CONFIG: 系统启动时的硬件配置文件

HKEYLOCAL_MACHINE: 配置信息,包括硬件和软件设置

在物理层面,每个注册表配置单元(Hive)文件,系统都有相应的支持文件和备份,以便在系统启动失败时替代当前使用的注册表配置单元文件包含信息。

Win95/98

USER.DAT,SYSTEM.DAT

WinNT/2000/XP/7/8/10

%SystemRoot%\System32\Config目录下

SAM` - 安全账户管理

SECURITY - 安全性设置信息

SYSTEM - 硬件和系统信息

SOFTWARE - 安装软件信息

DEFAULT - 用户的配置信息

系统信息\HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion

用户信息\HKEY_USERS\

拥有管理员权限的id用户id最后为500。

USB使用记录USB使用记录一般在泄密类案件用到的比较多。某公司重要文件泄密,这时要检查是否违规外接了USB设备,这时候就可以查看注册表里的USB使用记录来查看是否外接了U盘或外设。记录里是可以看到连接的型号,序列化,名称。

表项

System

Software(Vista/Win7)

Ntuser.dat

键值

SYSTEM\CurrentControlSet\Enum\USBSTOR

SYSTEM\CurrentControlSet\Enum\USB

SYSTEM\MountedDevices

NTUSER.dat\Software\Microsoft\Windows\CurrentVersion\Explorer\MountPoints2

HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Enum\USBSTOR

这里可以查找到任何曾经连接到系统的USB存储设备的相关信息。展开USBSTOR以查看曾经连接到此系统的每个USB存储设备的列表。

它会在右侧窗口中显示全局唯一标识符 (GUID)、名称和硬件 ID 等。这可能正是我们需要的证据。

无线信息HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\NetworkList\Profiles

许多黑客会破解别人的WIFI,并利用它进行入侵。通过这种方式,如果IP地址被跟踪,它将追溯到邻居的或其他无线AP,而不是他们自己。

在这里将找到计算机已连接过的无线接入点的 GUID 列表。当单击其中一个时,它会显示信息,包括 SSID 名称和最后一次连接的十六进制日期。

近期的文档键HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\RecentDocs

作为一名取证调查员,我们可以利用Windows注册表中记录的大量用户活动信息来追踪用户或攻击者的行为轨迹。虽然这些注册表键的设计初衷是为了提高Windows的效率和稳定性,但对于我们来说,它们就像是一张用户或攻击者活动的路线图,为我们提供了重要的取证线索。

其中一个键是RecentDocs键。它通过文件扩展名跟踪系统上使用或打开的最新文档。

例如通过查找.pdf扩展名键,我们可以找到最近打开的PDF文件列表。

当我们单击其中一个键时,可以查看该文档的信息,包括十六进制和ASCII格式的文档数据。

在本例中,它表明该文档是hack.pdf。

最后一个urlHKEY_CURRENT_USER\Software\Microsoft\Internet Explorer\TypedURLs

当用户在使用 Internet Explorer 访问网页时,该网页的 URL 地址会被存储在 Windows 注册表中。通过查看注册表中的相应键值,可以追踪用户最近访问的网页,这有助于揭示恶意软件的来源或者用户搜索的内容,推测嫌疑人的行为和意图。

IP地址HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters\Interfaces

Windows 注册表不仅可以记录用户访问过的网页,还可以跟踪用户接口的 IP 地址。在注册表中,每个接口都有相应的键值,它们包含了该接口的 IP 地址、子网掩码和 DHCP 服务器租用 IP 的时间等信息。

通过查看这些键值,我们可以确定嫌疑人在入侵或犯罪时使用了哪个特定的 IP 地址。

系统启动项在计算机取证调查中,我们需要经常查找系统启动时设置启动的应用程序或服务。恶意软件通常会将自己设置为每次系统重启时启动,以便攻击者能够保持对系统的控制。这些启动项的信息可以在 Windows 注册表的多个位置中找到,但我们通常只需要查看一些最常用的设置键即可。

HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\Run

任何被指定在这些子键中的软件,都会在系统启动时被自动运行。这里也可能存在rootkit以及其他恶意软件,它们同样会在每次系统启动后进行自启动。

启动时运行一次

HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\RunOnce

自启动服务

HKEY_LOCAL_MACHINE\System\CurrentControlSet\Services

上面的子键列出了所有在系统启动时自动启动的服务。当键值设置为2时,服务将会自动启动;当键值设置为3时,必须手动启动服务;当键值设置为4时,该服务会被禁用。

特定用户登录时启动

HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Run

硬件设备如果嫌疑人使用CD-ROM、DVD、硬盘驱动器或闪存驱动器等必须挂载的硬件设备来读取或写入数据,注册表将会记录挂载的设备信息。这些信息存储在:

HKEY_LOCAL_MACHINE\System\MountedDevices

如下图所示,当点击这个键时,它会提供一个包含曾经安装在该机器上的每个设备的详细列表。

如果需要获取任何已安装设备的更多信息,只需点击即可。如果系统上缺少这块设备,那么取证调查员就可以知道需要找到这块硬件才能找到进一步的犯罪证据。

最近一次正常关机时间\HKEY_LOCAL_MACHINE\SYSTEM\ControlSet001\Control\Windows\ShutdownTime

需要时间转换工具转换成北京时间。

Windows 预读取文件的痕迹预读取系统介绍微软实施预读取系统的目的不是为了取证分析,而是为了提高Windows的性能。预读取系统正如其名称所述,它会预先读取系统预计用户将需要的文件,并将它们加载到内存中,从而使文件获取更快,更有效。这是一种人工智能,它试图预测用户接下来需要什么,并为用户做好准备。

Windows预读取系统的奇妙之处在于,即使用户极其聪明,试图掩盖自己的踪迹,它仍能透露出用户正在做什么的大量信息。自Windows XP以来,预读就一直是Windows操作系统的一部分,在Windows 10中默认启用预读。

这些预取文件包含关于所用文件的元数据,例如应用程序的最后使用日期、应用程序文件的存储位置、应用程序的使用次数等等。这些信息对取证调查是非常有用的,它们可能成为证明嫌疑人确实使用与犯罪有关的应用程序的关键信息,即使这些应用程序已从系统中删除。

预读取文件位置与分析可以在C:\windows\prefetch下找到预取文件

这些以 .pf 结尾的就是需要关注的文件。

我们需要对文件进行解析,以获取它所包含的所有信息。有许多程序可以完成这项工作,而且它们都非常出色,但是Nirsoft的免费WinPrefetchView是我个人认为最为方便易用的选择。

它将抓取所有预取文件并如下解析文件。

以BAIDUNETDISK.EXE为例,我们可以看到其文件路径、运行次数以及最后一次运行的时间等信息,这些都可能成为取证调查的关键信息。下方窗格,其中列出了程序所使用的每个文件以及它们的路径。

浏览器取证嫌疑人使用的网络浏览器可以为我们提供大量关于在被捕获前其在线做过的活动信息。

以Mozilla Firefox为例,对于 Mozilla Firefox 及其许多变体,大部分信息都存储在 SQLite 数据库中。我们可以根据操作系统在不同的位置找到这些数据库。

C:\Users\\AppData\Roaming\Mozilla\Firefox\Profiles\eyksgzjn.default-release

这里使用Navicat打开展示一下,可以在 moz_places 表中查看用户在浏览器中输入的内容。

Windows计算机取证Windows现场取证流程

去现场勘察之前要准备好案件同步,物证,取证工具,现场取证的U盘硬盘,录像机,物证袋,封条等等。

收集相关的物证比如电脑,手机,外设(光盘,硬盘,U盘,数据连接线),设备等。

如果计算机在开机状态要准备好在线取证,对于在计算机上正在运行的重要数据,重要程序,执行的指令等进行固定。

如果计算机在关机状态就要使用到离线启动的方式,因为正常取证流程是不应该对它进行开机的,要使用引导启动。(比如取证U盘插入后使用U盘里的系统引导着启动),如果开启了固件加密,那么只能启动本身的系统,无法引导启动。

计算机存储介质的封存方法windows的设备有主机,一体机,笔记本,平板,手机等。

笔记本电脑将笔记本电脑闭合,使用封条封住笔记本电脑的开合口,数据接口和硬盘拆卸口,使之在拆封前无法打开电源,无法使用任何数据接口,无法拆卸硬盘。

台式机记录台式电脑所有外设的接口位置,然后拔出,使用封条封住电脑的数据接口,电源接口和侧面版接缝,使之在拆封前无法通电,无法使用任何数据接口,无法拆卸硬盘。封好后贴上标签 -> 属于谁,封存的时间,运行状况。

其他存储介质的封存方法硬盘,U盘:直接用物证袋进行封存,使之在拆封前无法使用。封好后贴上标签 -> 编号,名称,提取时间,签名,备注。

Windows开机状态处理方法

首先查看下电脑里面正在运行的程序,重点查看加密文件,加密容器,运行的聊天软件,登录的网站后台等重要程序,查找涉案关键性数据,文件内容可能为加密容器的解密密钥。同时要查看下计算机是否有远程,远程分为主控方和被控方,如果计算机是主控方要及时的进行远程数据固定,如果是被控方要先保证好网络环境避免被他人远程破坏。

要优先固定易失数据,比如电脑正在运行的网站后台,远程连接,正在运行的程序等,及时制作内存镜像。

网页现场紧急固定首先看一下网页设置里是否关闭了关闭窗口时清除数据,如果设置了要及时把这个取消。

录屏:注意不要存储在涉案计算机,可以借用摄像机,执法记录仪,手机等工具,要进行时间校准。

网站账号密码固定:注意电脑桌面的便签,记事本,有道笔记等应用。

厂商网站固定工具截长图:如果有长截图工具可以利用长截图工具。

网站密码获取

有些浏览器有记录密码自动填写功能,要获取明文需要浏览器密码进行获取,如果不知道浏览器密码可以前往目标网站进行自动填写,然后修改网页源代码密码这一栏中type属性password修改为text再回车,就可以显示明文密码。

通联工具现场紧急固定qq,微信,境外软件等查看里里面有没有跟上下级进行联系或者有没有重要数据,浏览完后进行固定。

可以使用软件自带的记录备份与恢复功能,然后需要进行录屏或者截图备份。

远程运维管理工具勘查向日葵

手机号登录的可以在软件中点击升级跳到浏览器界面后可以查看完整的手机号。

微信登录的需要在向日葵的日志文件中搜索account0就可以看到登录微信号所绑定的手机号。

远程运维管理工具日志勘查向日葵

一般对于文件名有shell和service这两类文件进行重点排查,里面一般有被控制或者控制端的ip地址(sunlogin_service.时间-数字.log)。

搜索关键字

P2Phelper: 被控制端IP地址;

P2PStream: 控制端IP地址(公网IP);

P2Phelper和P2PStream只对主控机有效;

P2PAccepter和service只对被控机有效;

udpwrapper和udp对双端都有效;

虚拟币钱包识别及固定注意电脑中涉及的虚拟币交易程序和地址,交易程序目前以手机居多,计算机多以web方式,这块要注意查看浏览器浏览记录,同时要注意虚拟币地址,如:1QasfaWSXA5SdlS7SDSFhjxcewCFHN5Uz3。

助记词:用来进行虚拟钱包如果密码忘记时一个密码登录的方式,一般是英文单词有12个,如果嫌疑人持有的设备上有见到类似与12个英文单词时注意下可能是虚拟钱包的助记词。

计算机快速访问记录快速访问中的数据(常用文件/夹),文档中的最近打开记录,百度网盘应用程序,浏览器最近访问的历史记录等。

固定关键涉案证据时,建议记录操作,将涉案文档进行压缩操作并且进行hash校验操作,并记录在勘查笔录中。

计算机中的其他数据(手机外围)手机备份电脑上也可能存在。

iOS设备的iTunes备份

C:\Users\XXX\AppData\Roaming\Apple Computer\MobileSync\Backup\

iOS设备的lockdown文件

C:\ProgramData\Apple\Lockdown\

华为助手备份文件

C:\Users\Administrator\Documents\HiSuite\backup

各类安卓手机备份文件

安卓模拟器

注意对所有的操作进行记录和校验。

录像和截图不要存储在涉案计算机上。

磁盘映像取证Autopsy是一款功能强大且易于使用的数字取证工具,它具有用户友好的界面和强大的功能,提供在磁盘映像中进行字符串提取,恢复文件,时间轴分析,chrome,firefox等浏览历史分析,关键字搜索和邮件分析等功能。 ,可以帮助取证人员快速而准确地分析和提取证据。

下面进行一次实验,演示基础使用。

配置Autopsy选择Nev Case,开启一个新的环境。

要求为新案例命名以及要放置案例的目录。

填入一些信息,比如相应的编号,名称,手机号,描述等,然后点击Finish。

等待索引完成此映像像以进行分析。

关键字搜索可以在右上角的搜索窗口输入关键词进行查询,这时候Autopsy 将开始在每个文件中搜索该关键字。在实际调查中,这个关键词是特定于调查的。

专门的搜索类型点击屏幕右上角附近的“眼睛”图标,它会打开一个下拉窗口。在这里我们可以进行非常专业的类型搜索,这可能是我们调查的关键。

电话号码,IP地址,电子邮件地址,URL,信用卡号码

例如想要在这些文件中找到一些网站,也许能帮助我们确定在系统被查封之前嫌疑人在做什么。

在下拉窗口中单击url旁边的复选框。它将填充用于查找URL的正则表达式。

点击“搜索”按钮后,Autopsy将会开始在每个文件中寻找所指定的文本模式。

除此之外,我们还可以创建自定义的正则表达式,以搜索任何我们想寻找的文本模式。这一功能可以帮助我们更有效地搜索目标,提高数字取证的效率。

恢复已"删除"的文件在数字取证研究人员的基本技能中,恢复被删除的文件或许是其中最基本的。正如你所了解的,大多数情况下,系统只是删除了文件的位置信息或将其标记为已删除,而实际上这些“已删除”的文件仍然保留在存储介质中,直到被覆盖为止。这意味着,如果嫌疑人删除了证据文件,只要我们在文件系统覆盖之前采取行动,我们仍然可以将这些文件恢复出来。

在对象资源管理器中,可以看到一个名为“已删除文件”的文件类型。它会显示所有被删除的文件。

当点击一个已删除的文件时,可以在右下角的窗口中进行一些分析。在那里,会看到标签名为 Hex、字符串、文件元数据、结果和索引文本的选项。单击“文件元数据”选项卡,它将显示文件的元数据,包括名称、类型、大小、修改、访问和创建等信息。

要恢复已删除的文件,右键单击已删除的文件并选择“extract file”提取出该文件。

嫌疑犯经常试图通过删除关键证据文件来掩盖他们的踪迹。作为一名取证研究员,我们知道在这些文件被文件系统覆盖之前它们是可以恢复的。使用像Autopsy和几乎所有其他取证套件(case, ProDiscover, FTK, Oxygen等)这样的工具,恢复这些被删除的文件非常简单。

内存映像取证内存取证是对传统基于磁盘取证的重要补充同时也是计算机取证调查中的重要手段之一,它可以帮助我们获取易失性内存中的有价值数据,如临时缓存(文字,图片,聊天记录,电子邮件)、解密密钥(如Bitlocker,TrueCrypt,PGP等全盘加密的解密密钥)等,并深入了解受损系统的状态,以及对手可能如何攻击系统。

需要注意的是,内存是易失性的,一旦电脑关闭,RAM 中的信息都可能丢失,因此必须在关闭系统之前捕获。同时,当涉及恶意软件攻击时,易失性内存有时是调查此类攻击的唯一来源,因为大多数恶意软件只是驻留在内存中的。这意味着对非易失性证据的分析根本不会为我们提供关于恶意软件存在的令人信服的线索。因此,内存取证在计算机取证调查中具有不可替代的重要性。

内存镜像获取Windows系统镜像获取基于用户登录状态下的内存获取方法在Windows系统处于开机,并且用户已经登录的状态时,可以通过制作内存镜像的软件来获取内存镜像,即使不是管理员用户权限,也可以对内存中的镜像进行获取。比较常用的工具有AccessData FTK lmager、Dumplt和Magnet RAM Capture等。

下面使用AccessData FTK lmager获取镜像。

单击“File”下拉菜单并点击“Capture Memory...”获取内存选项。

创建一个名为“memory”的目录,命名为 memdump.mem 文件,包含页面文件,但没有创建 AD1 文件。

当完成了这些,点击“Capture Memory”按钮。

基于系统休眠文件的获取方法当Windows系统进入休眠模式,Windows系统会自动将内存中的全部数据转存至硬盘的一个休眠文件中。(Hiberfil.sys),该文件默认生成在系统盘的根目录,当数据转存完毕后,停止对硬件供电。

当恢复到正常状态后,系统会从硬盘中将之前存入的休眠文件中的信息读入内存中。当系统进入休眠模式时很省电,但是进入休眠模式的前提是需要电脑的硬盘剩余的容量大于计算机的内存大小即可实现。而获得了休眠文件,即相当于获得了系统休眠前时刻的内存文件。

Linux和Mac OS系统镜像获取在Linux和Mac OS系统中,获取内存镜像可以通过以下方式获取。

LiME(Linux Memory Extractor)工具可以获取Linux系统内存镜像;

Mac Memory Reader工具可以获取Mac OS系统内存镜像。Hibernation File工具;

也可以通过提取休眠文件来获取内存镜像,休眠文件包含了系统的内存镜像。

在Linux系统中,休眠文件通常位于“/var/lib/systemd/hibernate/”和“/var/lib/systemd/sleep/”目录下;

在Mac OS系统中,休眠文件通常位于“/private/var/vm/”目录下,通常以sleepimage开头;

还有一种方法是通过/dev/mem获取。

/dev/mem是操作系统提供的一个对物理内存的映射。“/dev/mem”是linux系统的一个虚拟字符设备,无论是标准linux系统还是嵌入式linux系统,都支持该设备。首先使用open函数打开/dev/mem设备,然后使用mmap映射到用户空间实现应用程序对内存信息的读取。

Volatility内存分析工具在内存分析中,使用最广泛的工具是名为Volatility的开源工具。可以从www.volatilityfoundation.org下载Volatility。它有Window、Linux 和 Mac OS X的版本。

下面我将展示Volatility 3版本基础使用,2版本请看我之前写的文章,个人感觉可以2和3版本一起用,在一些情况下vol 2比较方便。

命令格式:volatility -f [image] [plugin]

相较于volatility 2版本使用方法是差不多的,但volatility 3版本不需要指定profile,只是插件调用方式改变,插件对应了操作系统。

python3 vol.py -h查看帮助,这将显示出命令选项列表和插件。

常用插件:

linux.bash:从内存中恢复bash命令历史记录

windows.strings:读取字符串命令的输出,并指示每个字符串属于哪个进程

linux.malfind:列出可能包含注入代码的进程内存范围

linux.proc:列出所有进程的所有内存映射

linux.pslist:列出linux内存映像中存在的进程

linux.pstree:列出进程树

windows.malfind:列出可能包含注入代码的进程内存范围

windows.moddump:转储内核模块

windows.modscan:扫描Windows内存映像中存在的模块

windows.mutantscan:扫描Windows内存映像中存在的互斥锁

windows.pslist:列出Windows内存映像中存在的进程

windows.psscan:扫描Windows内存映像中存在的进程

windows.pstree:列出进程树

windows.procdump:转储处理可执行映像

windows.registry.certificates:列出注册表中存储的证书

windows.registry.hivelist:列出内存映像中存在的注册表配置单元

windows.registry.hivescan:扫描Windows内存映像中存在的注册表配置单元

windows.registry.printkey:在配置单元或特定键值下列出注册表项

windows.registry.userassist:打印用户助手注册表项和信息

mac.bash:从内存中恢复bash命令历史记录

mac.check_syscall:检查系统调用表中的挂钩

mac.check_sysctl:检查sysctl处理程序的挂钩

mac.check_trap_table:检查trap表中的挂钩

mac.ifconfig:列出网卡信息

mac.lsmod:列出加载的内核模块

mac.lsof:列出所有进程的所有内存映射

mac.malfind:列出可能包含注入代码的进程内存范围

mac.netstat:列出所有进程的所有网络连接

mac.psaux:恢复程序命令行参数

mac.pslist:列出linux内存映像中存在的进程

mac.pstree:列出进程树

mac.tasks:列出Mac内存映像中存在的进程

windows.info:显示正在分析的内存样本的OS和内核详细信息

windows.callbacks:列出内核回调和通知例程

windows.cmdline:列出进程命令行参数

windows.dlldump:将进程内存范围DLL转储

linux.check_afinfo:验证网络协议的操作功能指针

linux.check_syscall:检查系统调用表中的挂钩

linux.elfs:列出所有进程的所有内存映射ELF文件

linux.lsmod:列出加载的内核模块

linux.lsof:列出所有进程的所有内存映射

windows.dlllist:列出Windows内存映像中已加载的dll模块

windows.driverirp:在Windows内存映像中列出驱动程序的IRP

windows.driverscan:扫描Windows内存映像中存在的驱动程序

windows.filescan:扫描Windows内存映像中存在的文件对象

windows.handles:列出进程打开的句柄

windows.ssdt:列出系统调用表

layerwriter:列出内存镜像platform信息

windows.svcscan:扫描Windows服务

windows.symlinkscan:扫描Windows内存映像中存在的链接

实操系统基本信息python3 vol.py -f memdump.mem windows.info

通过SystemTime可以看到镜像制作的时间。

获取进程列表python3 vol.py -f memdump.mem windows.pstree.PsTree

使用windows.pstree.PsTree可以查看所有进程和依赖关系,通过寻找PPID大于PID的进程和查看进程依赖寻找可疑的进程。

获取正在运行的DLLpython3 vol.py -f memdump.mem windows.dlllist.DllList

Volatility 解析出所有正在运行的 DLL 的列表。

获取事件的时间轴python3 vol.py -f memdump.mem timeliner.Timeliner

一般来说,为了证明嫌疑人是否真正实施了他们被指控的行为,我们可能需要知道该系统上已发生事件的时间表。

可以使用下面的时间轴插件从内存镜像中检索出时间线信息。

寻找恶意软件python3 vol.py -f memdump.mem windows.malfind.Malfind

主要用处是列出可能包含注入代码的进程内存范围,更好得让我们寻找在可疑系统内存中运行的任何恶意软件。

结尾本博客的技术文章仅供参考,此文所提供的信息只为网络安全人员对自己所负责的网站、服务器等(包括但不限于)进行检测或维护参考,未经授权请勿利用文章中的技术资料对任何计算机系统进行入侵操作。利用此文所提供的信息而造成的直接或间接后果和损失,均由使用者本人负责。

参考:Awesome Cybersecurity Blue Team

相关推荐

Dayz中文维基百科生存指南
365现在还能安全提款吗

Dayz中文维基百科生存指南

📅 07-17 👁️ 5530
SNB平台全能商务本 戴尔vostro3350评测
365登录次数限制

SNB平台全能商务本 戴尔vostro3350评测

📅 07-06 👁️ 4406
構(构)
365bet直播

構(构)

📅 07-10 👁️ 5247
黄家驹用过的吉他型号(黄家驹用的吉他是什么)
365现在还能安全提款吗

黄家驹用过的吉他型号(黄家驹用的吉他是什么)

📅 07-06 👁️ 7132
vivo手机真不能root吗(VIVO手机是否能支持root)
365现在还能安全提款吗

vivo手机真不能root吗(VIVO手机是否能支持root)

📅 07-04 👁️ 9637
黄家驹用过的吉他型号(黄家驹用的吉他是什么)
365现在还能安全提款吗

黄家驹用过的吉他型号(黄家驹用的吉他是什么)

📅 07-06 👁️ 7132
风靡支付宝的“沙棘”,原来如此美味!
365现在还能安全提款吗

风靡支付宝的“沙棘”,原来如此美味!

📅 06-27 👁️ 5807
30度等于多少弧度
365bet直播

30度等于多少弧度

📅 07-09 👁️ 3398
38岁传奇依旧!祝福梅西生日快乐,期待2026世界杯再创辉煌
365现在还能安全提款吗

38岁传奇依旧!祝福梅西生日快乐,期待2026世界杯再创辉煌

📅 07-02 👁️ 3140