Windows取证实验

目录

一、实验目的

二、实验原理

三、实验环境

四、实验过程

1.在虚拟机下载恶意软件或脚本模拟攻击行为

2.利用Dumpit工具导出系统内存镜像。

3.利用procdump工具导出进程内存镜像。

 4.利用strings工具分析内存镜像。

 5.还原内存镜像图片操作。

五、参考资料与链接


一、实验目的

1.熟悉Windows系统中电子证据获取。

2.了解Dumpit工具的原理,学习Dumpit工具的使用,可以利用Dumpit工具将一个系统的完整内存镜像下来,并用于后续的调查取证工作,了解Windows 内存镜像取证。

3.了解procdump工具的原理,学习procdump工具的使用,可以利用procdump工具在指定的条件下生成dump文件

4.了解strings工具的原理,学习strings工具的使用,可以利用strings工具还原文字或者还原图片。

5.了解Volatility工具的原理,学习Volatility工具的使用,利用Volatility工具来还原获取的镜像文件,并分析其中的进程、文件、网络连接、注册表、事件等信息。

二、实验原理

    实验前请查阅资料,回答以下问题:

1.Windows dump文件产生原理是什么?

Windows dump文件是一种内存镜像文件,可以包含系统和进程的内存信息。当Windows系统遇到严重的故障,例如蓝屏、死机等,系统会自动产生一个dump文件,以便管理员对系统进行分析和修复。

2.procdump是什么?其主要目的是什么?

procdump是一个由Sysinternals公司开发的工具,主要用于导出进程的内存镜像。它的主要目的是为了帮助调试员和安全研究人员分析进程的崩溃和异常情况。

3.procdump基本用法?

procdump的基本用法为:procdump [options] target,其中target为目标进程的进程号或进程名称,options为选项参数。例如,导出进程PID为1234的内存镜像的命令为:procdump -ma 1234。

4.strings工具的工作原理是什么?

strings是一个可以从文件或内存中提取ASCII和Unicode字符串的工具。它的工作原理是扫描文件或内存,将连续的ASCII或Unicode字符序列识别出来,并输出到标准输出中。

5.strings的常用用法?

strings的常用用法为:strings [options] file,其中file为目标文件的路径,options为选项参数。例如,从文件test.exe中提取ASCII字符串的命令为:strings -a test.exe。

三、实验环境

  1. 虚拟机
  2. 操作系统:Windows7或Windows10
  3. 软件: Dumpit,procdump,strings,Volatility

四、实验过程

1.在虚拟机下载恶意软件或脚本模拟攻击行为

可以在GitHub上找到PowerSploit,并从GitHub - PowerShellMafia/PowerSploit: PowerSploit - A PowerShell Post-Exploitation Framework 下载该工具包并解压缩。在运行前先把杀毒防护软件给关了,如不运行不了。

以管理员模式打开powershell,输入命令Get-ExecutionPolicy  ,结果显示restricted则需要解除限制。

输入Set-ExecutionPolicy Unrestricted,允许所有脚本允许。

如果出现发生覆盖的报错,则用

Set-ExecutionPolicy RemoteSigned -Scope CurrentUser

然后去到工具包里的Exfiltration目录,导入命令,执行命令获取密码

1.Import-Module .\Invoke-Mimikatz.ps1

2.Invoke-Mimikatz -Command '"privilege::debug" "
sekurlsa::logonPasswords full"' > C:\Users\doctorwho\Desktop\output.txt(可以直接显示)

 如果密码输null,需要一些设置,参考链接在底下

2.利用Dumpit工具导出系统内存镜像。

下载dumpit软件,下载下来后:直接双击运行 exe 文件,输入 y 并回车,把当前的内存信息保存为raw格式的镜像:

 如果不是直接运行的就用命令行

dumpit.exe <文件名>.raw

3.利用procdump工具导出进程内存镜像。

执行命令

procdump.exe -ma <PID> <DumpFileName>.dmp

其中PID是执行恶意脚本的PID,PID在执行恶意脚本的shell里用$pid获得。

这里简化了PID的寻找,现实中,获取恶意软件的PID可能需要一些手段。恶意软件通常会隐藏自己,或者使用伪装的进程名或PID,从而使其不易被发现。有时候可以通过查看系统日志或监视系统行为等手段来定位恶意软件的PID,但有时候可能需要更加专业的取证工具和技术来进行深入分析。 

 4.利用strings工具分析内存镜像。

 执行命令

1.strings <文件路径+文件名>.raw > output.txt

2.strings <文件路径+文件名>.dmp > output2.txt

该命令将导出内存镜像中的所有可打印ASCII字符串到一个文本文件中。raw文件很大,需要等一段时间。

 然后根据掌握的线索来分析得到的文本,例如我们执行的Invoke-Mimikatz.ps1脚本,就通过关键词"Mimikatz"来寻找。

.rar转的文本

.dmp转的文本,直接看到powershell里的操作和结果

因为strings工具转换时,将二进制文件中的可打印ASCII字符提取出来并输出为文本文件。因此,如果二进制文件中包含了不可打印的ASCII字符,那么它们将不会被正确的显示在文本文件中,这可能导致文本编辑器无法打开文件。 所有做好用别的编辑器打开,如Sublime Text。

 5.还原内存镜像图片操作。

使用以下命令列出可用的插件:

volatility_2.6_win64_standalone.exe -h

使用以下命令查看.raw文件的文件格式:

volatility_2.6_win64_standalone.exe -f memory.raw imageinfo

确认.raw文件的操作系统版本,并选择合适的插件进行分析,例如选择对应Windows 10的插件:

volatility_2.6_win64_standalone.exe -f <文件路径>.raw --profile=Win10x64 pslist

pslist,该插件列举出系统进程,但它不能检测到隐藏或者解链的进程,psscan可以

找到执行恶意代码的进程,然后提取进程

volatility_2.6_win64_standalone.exe -f <文件路径>.raw --profile=Win10x64 memdump -p 5216 -D output/

导出了5126.dmp

memdump:提取出指定进程,常用foremost 来分离里面的文件,-p 进程号 -D 当前输出路径,-D 后面不能为空,所有先创建好一个文件夹。

导出.dmp文件,就用strings工具转出txt文本,也可以直接看

strings.exe <文件路径>\5216.dmp | grep -i mimikatz

这是简化后针对性的对内存镜像进行分析,现实中需要查看很多东西来进行分析,如分析.raw文件,例如使用malfind插件查找可疑的进程内存:

volatility_2.6_win64_standalone.exe -f memory.raw --profile=Win10x64 malfind

查看网络连接

volatility_2.6_win64_standalone.exe -f memory.raw --profile=Win10x64 netscan

查看运行程序相关的记录,比如最后一次更新时间,运行过的次数等

volatility_2.6_win64_standalone.exe -f memory.raw --profile=Win10x64 userassist

五、参考资料与链接

获取明文密码设置

strings,procdump都在Sysinternals套件里

volatility下载地址

volatility插件使用

  • 1
    点赞
  • 12
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
Windows 2003是微软公司发布的一款操作系统,其内存取证是指通过分析和提取Windows 2003操作系统的内存数据来获取相关的取证证据。 在进行Windows 2003内存取证的过程中,需要借助一些专门的工具和技术。首先,需要使用内存取证工具,如Volatility Framework等,来对内存进行分析和提取。这些工具可以从内存镜像中提取出进程、线程、打开的文件、网络连接等信息,从而帮助取证人员获取到被研究系统的相关证据。 其次,需要了解Windows 2003操作系统的内存管理机制和数据结构。这样可以更好地理解内存中存储的数据的结构和格式,有助于提取和解释相关证据。例如,Windows 2003使用的是物理内存和虚拟内存的管理方式,需要理解这两种内存的分配与释放机制。 此外,还需要注意在进行内存取证时可能遇到的一些挑战和限制。例如,Windows 2003在32位系统上的内存限制为4GB,如果目标系统中的内存大于4GB,可能需要采取特殊的处理方式。另外,操作系统的版本和补丁等也会影响内存数据的分析和提取。 最后,进行内存取证时需要保持数据的完整性和可靠性,确保所提取的证据在法庭上具有可信度。因此,需要采用专业的取证工具和方法,并遵循取证规范和程序进行操作,记录下相关的过程和操作步骤。 综上所述,Windows 2003内存取证是通过分析和提取内存数据来获取相关证据的过程,需要借助专门的工具和技术,同时需要了解操作系统的内存管理机制和数据结构,保证数据的完整性和可靠性。这一过程在数字取证领域具有重要的应用价值。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值