😋大家好,我是YAy_17,是一枚爱好网安的小白,正在自学ing。
本人水平有限,欢迎各位大佬指点,一起学习💗,一起进步⭐️。
⭐️此后如竟没有炬火,我便是唯一的光。⭐️
首次学习接触电子数据取证大赛,希望能和大家多多交流。
2019年电子数据取证大赛个人赛-内存取证
关于内存取证,需要先知道内存镜像的架构(也就是获取到的内存镜像的OS版本的信息)。
(在比赛的过程中,官方给予的镜像文件类型不同,这是由于官方利用的取证工具是不同的,导致镜像的文件类型不同,比如.mem或者.dmp)
通过Volatility工具进行获取,相关的命令将会通过题目进行整理。
volatility -f 内存镜像路径 imageinfo
可见,有多个OS版本的信息,其中第一个是可能性最大的,那么我们就选择第一个;
故答案选:A
分析explorer.exe的进程号:
命令:pslist/pstree/psscan:非常有用的插件,列出转储时运行的进程的详细信息,显示过程ID,该父进程ID(PPID),线程的数目,把手的数目,日期的时间,过程开始和退出;
pslist(无法显示隐藏/终止进程,解决这个问题可以使用psscan)
pstree同样是扫描进程的,但是是以进程树的形式出现的;
当显示的内容比较多的时候,导出文本进一步分析查看;
导出去的文件,通过搜索关键字,发现了很多命中条目,这说明explorer.exe的子进程有很多,其中符合选项的是3484;
故答案选择:B
命令hashdump:获取内存中的系统中密码;
volatility -f D:\2019年美亚杯个人赛\HE_Company_Windows_RAM\memdump.mem --profile=Win7SP1x86_23418 hashdump
首先排除HTC_admin应该是1000,故A答案错误,YuanHe应该是1001;故现在只能排除A、D选项是不正确的,我还不能确定其他的几个选项是否正确,之后根据后面的题目可以进行判断;
此题正确答案选择:B
volatility -f D:\2019年美亚杯个人赛\HE_Company_Windows_RAM\memdump.mem --profile=Win7SP1x86_23418 netscan
故题目答案为:A
接上面的截图,显示远程地址的端口号为445;
故题目答案为:C
volatility -f D:\2019年美亚杯个人赛\HE_Company_Windows_RAM\memdump.mem --profile=Win7SP1x86_23418 hivelist
故答案选择:B
这里还是可以使用上面的hashdump,是存在两个密钥的,那么win7以上的os不看第一个 而是看第二个;
故题目答案:E
volatility -f D:\2019年美亚杯个人赛\HE_Company_Windows_RAM\memdump.mem --profile=Win7SP1x86_23418 timeliner>timeliner.txt
将时间轴线导出到timeliner.txt文件中,在文件中检索information.xlsx,检索到很多结果,其中符合题目的是:
也可以使用mtfparser命令来实现;
也就是在这里发现了还有一个用户是TMP_User,所以在上面的53题的时候选择了TMP_User,不知道大家是否有更好的方法,感觉自己的方法是在凑答案;
故答案选择:C
判断哪些文件曾经被访问过?还是使用上一个题目使用timeliner导出来的文件,进行搜索;
volatility -f D:\2019年美亚杯个人赛\HE_Company_Windows_RAM\memdump.mem --profile=Win7SP1x86_23418 shellbags
故答案选择:E
首先关于计算机安装Windows的时间,我们回到最开始获取内存镜像的架构的时候:
可见:获取镜像的时间就是2019-10-31 07:36:46,那么计算机安装Windows的时间怎么会比获取镜像的时间更晚呢?
真正的安装时间如下:
使用Volatility Workbench导出注册表,选dumpregister,之后用WRR打开查看;
可见上面的计算机的名称是正确的;(当然还可以使用envars来查看系统的信息)
关于tcpip最后的更新时间:同样还是使用的timeliner,之前就已经导出来了嘛,直接在文件中搜索tcpip,发现了三处可以匹配的地方;
发现正确的答案应该是07:41:28才对
故答案选择:B
还是查看注册表,SYSTEM/ControlSet001/Enum/USBSTOR/:
可以看到GUID是正确的,装置的牌子不是华为,而是希捷;首次插入时间的HEX值可以参考以下的论文:Windows 8系统中的USB设备连接时间戳问题的研究 - 道客巴巴
至于为什么看65,需要参考上面的论文;
总结
命令1:
pslist/pstree/psscan:非常有用的插件,列出转储时运行的进程的详细信息,显示过程ID,该父进程ID(PPID),线程的数目,把手的数目,日期的时间,过程开始和退出;
pslist(无法显示隐藏/终止进程,解决这个问题可以使用psscan)
pstree同样是扫描进程的,但是是以进程树的形式出现的;
命令2:
cmdscan:用来查看受害者系统上攻击OS的最强大的命令之一,无论是否打开cmd.exe。简单说,可以看到攻击者在命令提示符中键入的内容;提取内存中保留的cmd命令使用情况
命令3:
filescan:扫描当前打开的文件
使用正则表达式一起使用:volatility -f 路径 --profile=... filescan | grep Downloads
找下载的文件夹了,一般windows下载的内容都放在Downloads文件夹中
命令4:
dlllist:能够显示一个进程装载的动态链接库的信息,其显示列表主要包括加载的动态链接库文件的基地址、文件大小以及文件的所在路径
命令5:
hivelist:查看缓存在内存的注册表
命令6:
hashdump:获取内存中的系统密码
命令7:
userassist:提取出内存中的记录的 当时正在运行的程序有哪些,运行过多少次,最后一次运行时间等信息
命令8:
getsids:查看SID
命令9:
malfind:用于寻找可能注入到各种进程中的恶意软件,使用malfind时也可以使用-p直接指定进程
命令10:
printkey:获取SAM表中的用户
命令11:
mftparser:解析MFT记录、导出MFT记录
volatility -f 镜像 --profile= mftparser
导出的命令为:volatility -f 镜像 --profile= mftparser --output-file=mftverbose.txt -D mftoutput
命令12:
timeliner:可以查看访问记录
命令13:
svcscan:该命令能查看windows的服务
命令14:
psxview:查看被隐藏的进程,如某些隐藏的病毒文件
命令15:
memdump:将内存中的某个进程保存出来
命令16:
dumpregistry:提取内存中的注册表信息
dumpregistry --dump-dir 提取内存注册表的目录路径
命令17:
turecryptmaster:获取TrueCrypt密钥信息
命令18:
truecryptpassphrase:获取TrueCrypt密码信息
第一次学习取证知识点,有写的不好地方,还请大家指出;
相关的试题来源于:中国电子数据取证大赛组委会
相关知识点来源于:美亚杯电子数据取证大赛培训
版权归原作者 YAy17 所有, 如有侵权,请联系我们删除。