Loading... # 写在前面 我也是学习者,没人能无师自通,兴趣是最好的老师,特此感谢这篇大佬的博客,让我豁然开朗,附上链接,仪表崇拜,本人只是在自己跟着做一遍,如果写的不好,就请看这个大佬的文章吧。 [内存取证-volatility工具的使用 (史上更全教程,更全命令) - 路baby - 博客园 (cnblogs.com)](https://www.cnblogs.com/sakura--tears/p/17148293.html#%E4%BE%8B%E9%A2%98%E8%AE%B2%E8%A7%A3) # 题目 **链接:https://pan.baidu.com/s/1tYgIicCqJExmaMLYa3YeSA 提取码:lulu ** ****你作为 A 公司的应急响应人员,请分析提供的内存文件按照下面的要求找到 相关关键信息,完成应急响应事件。**** > ****1、从内存中获取到用户admin的密码并且破解密码,以Flag{admin,password} 形式提交(密码为 6 位); **** > > ****2、获取当前系统 ip 地址及主机名,以 Flag{ip:主机名}形式提交;**** > > ****3、获取当前系统浏览器搜索过的关键词,作为 Flag 提交;**** > > ****4、当前系统中存在挖矿进程,请获取指向的矿池地址,以 Flag{ip:端口}形式 提交;**** > > ****5、恶意进程在系统中注册了服务,请将服务名以 Flag{服务名}形式提交。**** > > ****上题已经看到进程**** # 答案 可以看看上面博客的工具安装过程,再熟悉使用教程,由于我这里用的的是免安装的,所以估计略有差别 ### 1.从内存中获取到用户admin的密码并且破解密码,以Flag }admin,password{形式提交(密码为 6 位); 这句话是必须记住的,所以我就原封不定的记过来了,不管是什么题,内存取证的第一步肯定是去判断当前的镜像信息,分析出是哪个操作系统**使用 imageinfo 查看系统信息**。 `./volatility_2.6_lin64_standalone -f 1.vmem imageinfo`  操作系统取哪个都可以,哪个好用取哪个 **查看当前内存镜像中的用户** `./volatility_2.6_lin64_standalone -f 1.vmem --profile=Win7SP1x64 printkey -K "SAM\Domains\Account\Users\Names"`  使用 hashdump 获取sam `./volatility_2.6_lin64_standalone -f 1.vmem --profile=Win7SP1x64 hashdump`  可以使用john工具来爆破密码,但是报不出来,**使用 lasdump 查看密码** `./volatility_2.6_lin64_standalone -f 1.vmem --profile=Win7SP1x64 lsadump`  此时看上图我们就能发现第一个flag 拿去md5解码一下:  `flag{admin,dfsddew}` ### 2.获取当前系统 ip 地址及主机名,以 Flag }ip:主机名{形式提交; **netscan 可以查ip** `./volatility_2.6_lin64_standalone -f 1.vmem --profile=Win7SP1x64 netscan`  看了后面很多只有这个最特殊了ip:192.168.85.129 主机名需要通过查询注册表,先用hivelist `./volatility_2.6_lin64_standalone -f 1.vmem --profile=Win7SP1x64 hivelist`  查看键名 `./volatility_2.6_lin64_standalone -f 1.vmem --profile=Win7SP1x64 -o 0xfffff8a000024010 printkey`  继续添加-K "ControlSet001"  跟踪Control `./volatility_2.6_lin64_standalone -f 1.vmem --profile=Win7SP1x64 -o 0xfffff8a000024010 printkey -K "ControlSet001\Control"`  继续: `./volatility_2.6_lin64_standalone -f 1.vmem --profile=Win7SP1x64 -o 0xfffff8a000024010 printkey -K "ControlSet001\\Control\\ComputerName"`  最后: `./volatility_2.6_lin64_standalone -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_2.6_lin64_standalone -f 1.vmem --profile=Win7SP1x64 iehistory`  **flag{admin@file:///C:/Users/admin/Desktop/flag.txt}** ### 4.当前系统中存在挖矿进程,请获取指向的矿池地址,以 Flag }ip:端口{形式 提交; `./volatility_2.6_lin64_standalone -f 1.vmem --profile=Win7SP1x64 netscan`  flag{54.36.109.161:2222} ### 5.恶意进程在系统中注册了服务,请将服务名以 Flag }服务名{形式提交。 上面可以看到进程号2588,查看已知进程用 **pslist -p [pid]** `./volatility_2.6_lin64_standalone -f 1.vmem --profile=Win7SP1x64 pslist -p 2588`  由此我们可以查看到它的父进程是3036,然后通过 **svcscan** 可以查询服务名称,找到对应的服务名。 `./volatility_2.6_lin64_standalone -f 1.vmem --profile=Win7SP1x64 svcscan`  flag{VMnetDHCP} 最后修改:2023 年 11 月 27 日 © 允许规范转载 打赏 赞赏作者 支付宝微信 赞 2 如果觉得我的文章对你有用,请随意赞赏