内存取证例题

Posted 路baby

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了内存取证例题相关的知识,希望对你有一定的参考价值。

目录

背景:

题目

参考

解析

 1.从内存中获取到用户admin的密码并且破解密码,以Flagadmin,password 形式提交(密码为 6 位);   

2.获取当前系统 ip 地址及主机名,以 Flagip:主机名形式提交;

3.获取当前系统浏览器搜索过的关键词,作为 Flag 提交;

4.当前系统中存在挖矿进程,请获取指向的矿池地址,以 Flagip:端口形式 提交;

5.恶意进程在系统中注册了服务,请将服务名以 Flag服务名形式提交。

 加油各位( •̀ ω •́ )y 期待与君再相逢


背景:

作为信息安全技术人员必须能够掌握内容镜像分析、重要数据恢复、 恶意文件分析等相关技能,利用这些技能我们能够第一时间分析相关恶意文件、 分析蛛丝马迹帮助我们更好的完成应急响应工作。 应急响应阶段题目主要包含: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 (没有最全 只有更全)

铁三Linux取证

[内存取证]Volatility基本用法

内存取证工具——volatility 常用命令

内存取证-volatility工具的使用 (史上更全教程,更全命令)

企业APT攻击取证(windows版本)