内存取证例题
Posted 路baby
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了内存取证例题相关的知识,希望对你有一定的参考价值。
目录
1.从内存中获取到用户admin的密码并且破解密码,以Flagadmin,password 形式提交(密码为 6 位);
2.获取当前系统 ip 地址及主机名,以 Flagip:主机名形式提交;
3.获取当前系统浏览器搜索过的关键词,作为 Flag 提交;
4.当前系统中存在挖矿进程,请获取指向的矿池地址,以 Flagip:端口形式 提交;
5.恶意进程在系统中注册了服务,请将服务名以 Flag服务名形式提交。
背景:
作为信息安全技术人员必须能够掌握内容镜像分析、重要数据恢复、 恶意文件分析等相关技能,利用这些技能我们能够第一时间分析相关恶意文件、 分析蛛丝马迹帮助我们更好的完成应急响应工作。 应急响应阶段题目主要包含:Windows 内存镜像分析,Linux 内存镜像分析, 磁盘文件恢复,恶意程序分析等内容。
题目
链接:https://pan.baidu.com/s/1tYgIicCqJExmaMLYa3YeSA
提取码:lulu
你作为 A 公司的应急响应人员,请分析提供的内存文件按照下面的要求找到 相关关键信息,完成应急响应事件。
1、从内存中获取到用户admin的密码并且破解密码,以Flagadmin,password 形式提交(密码为 6 位);
2、获取当前系统 ip 地址及主机名,以 Flagip:主机名形式提交;
3、获取当前系统浏览器搜索过的关键词,作为 Flag 提交;
4、当前系统中存在挖矿进程,请获取指向的矿池地址,以 Flagip:端口形式 提交;
5、恶意进程在系统中注册了服务,请将服务名以 Flag服务名形式提交。
上题已经看到进程
参考
金砖技能大赛-应急响应-内存镜像分析-进程分析_小晨_WEB的博客-CSDN博客_内存镜像分析
解析
1.从内存中获取到用户admin的密码并且破解密码,以Flagadmin,password 形式提交(密码为 6 位);
不管什么题内存取证的第一步肯定是去判断当前的镜像信息,分析出是哪个操作系统 使用参数 imageinfo 查看系统信息
volatility -f 1.vmem imageinfo
操作系统我们一般取第一个就可以了
接下来就可以输入参数
可以先查看当前内存镜像中的用户
volatility -f 1.vmem –profile=Win7SP1x64 printkey -K “SAM\\Domains\\Account\\Users\\Names”
使用hashdump获取sam
volatility -f 1.vmem --profile=Win7SP1x64 hashdump
可以通过john工具来进行爆破,但是好像跑不出来结果。应该是设定了强密码。于是只能使用了lasdump命令来查看
volatility -f 1.vmem --profile=Win7SP1x64 lsadump
flagadmin.dfsddew
2.获取当前系统 ip 地址及主机名,以 Flagip:主机名形式提交;
Netscan 可以查ip
volatility -f 1.vmem --profile=Win7SP1x64 netscan
Ip:192.168.85.129
主机名需要通过查询注册表,先用hivelist
Volatility -f 1.vmem --profile=Win7SP1x64 hivelist
然后我们需要一步一步去找键名
volatility -f 1.vmem --profile=Win7SP1x64 -o 0xfffff8a000024010 printkey
volatility -f 1.vmem --profile=Win7SP1x64 -o 0xfffff8a000024010 printkey -K "ControlSet001"
继续
volatility -f 1.vmem --profile=Win7SP1x64 -o 0xfffff8a000024010 printkey -K "ControlSet001\\Control"
继续
volatility -f 1.vmem --profile=Win7SP1x64 -o 0xfffff8a000024010 printkey -K "ControlSet001\\Control\\ComputerName"
再来
volatility -f 1.vmem --profile=Win7SP1x64 -o 0xfffff8a000024010 printkey -K "ControlSet001\\Control\\ComputerName\\ComputerName"
得到主机名WIN-9FBAEH4UV8C
也可以直接通过 hivedump查询相应的键名 但比较慢
volatility -f 1.vmem --profile=Win7SP1x64 hivedump -o 0xfffff8a000024010 > system.txt
3.获取当前系统浏览器搜索过的关键词,作为 Flag 提交;
这里使用iehistory
volatility -f 1.vmem --profile=Win7SP1x64 iehistory
flagadmin@file:///C:/Users/admin/Desktop/flag.txt
4.当前系统中存在挖矿进程,请获取指向的矿池地址,以 Flagip:端口形式 提交;
volatility -f 1.vmem --profile=Win7SP1x64 netscan
唯一一个已建立的
flag54.36.109.161:2222
5.恶意进程在系统中注册了服务,请将服务名以 Flag服务名形式提交。
上一题中已经知道了进程号为2588
volatility -f 1.vmem --profile=Win7SP1x64 pslist -p 2588
查到父进程是3036
然后在通过通过svcscan可以查询服务名称,找到对应服务名
volatility -f 1.vmem --profile=Win7SP1x64 svcscan
flagVMnetDHCP
加油各位( •̀ ω •́ )y 期待与君再相逢
[内存取证]Volatility基本用法
参考技术A volatility -f memory imageinfo #查看系统版本volatility -f memory --profile=Win7SP1x64 pslist # 列出进程
volatility -f memory --profile=Win7SP1x64 cmdscan #查看cmd命令历史
volatility -f memory --profile=Win7SP1x64 filescan | grep flag #查找flag文件
volatility -f memory --profile=Win7SP1x64 dumpfiles -Q 0x000000001e85f430 --dump-dir=./ #dump目标文件
volatility -f memory --profile=Win7SP1x64 printkey -K "SAM\Domains\Account\Users\Names" #列出SAM表用户
volatility -f memory --profile=Win7SP1x64 hivelist #获取system和SAM地址
以上是关于内存取证例题的主要内容,如果未能解决你的问题,请参考以下文章
内存取证常见例题思路方法-volatility (没有最全 只有更全)