内存取证分析

news2024/11/20 0:41:57

内存取证会临时存储一些有价值的信息

查看内存进程的信息等等,对溯源这种事情有帮助。不过要用到专门的工具获取信息

运行exe文件,输入y将一个系统的镜像完整的下载下来,

这就是保存下来的文件。

视频上别的工具搞不来,要不就是捆绑下载的网站。

然后volatility在kali2020之后的版本安装都有bug,所以我直接下载了2019版本。

在这个以下的内容都是volatility支持的插件

不同的操作系统存储的路径不同,为了选择格式的profile,我们先用mageinfo查看一下系统的版本信息,

红框里面的就是版本信息。

pslist用于显示正在运行的进程,pid,开始时间等信息

pstree跟上一条命令相似,不过它还可以识别子进程。

connection参数可以列举出来活跃的链接和端口

connscan可以列举已经被终止的链接

还可以使用插件,sockets,展出时额外链接信息,它支持所以的协议

ddl

ddl是windows1特有的。通过了解正在运行的dll和版本信息,有助于分析关联的进程信息

verinfo可以列举pe文件的所有版本信息。

dllist列举正在运行的dll

注册表分析,关于用户,设置,以及程序和操作系统的信息都可以在注册表中找到,,散列的密码也可能

这里要用到hivescan插件,用来查看注册表配置单元的物理地址

还可以用hivelist查看更详细的信息

会显示虚拟地址,物理地址的细节更容易是别的路径等等

插件yimeliner,提供所有时间线发送的东西来帮忙取证,甚至可以看到用户怎么一步步操作系统的

malfind插件,找到系统中可能存在的恶意软件

这是他就觉得可能的一个结果,也可以加上-p 跟pid号,针对pid为检查

六,常用命令插件
❤可以先查看当前内存镜像中的用户printkey -K “SAM\Domains\Account\Users\Names”
volatility -f 1.vmem –profile=Win7SP1x64 printkey -K “SAM\Domains\Account\Users\Names”

❤查看用户名密码信息(密码是哈希值,需要john爆破) hashdump
volatility -f 1.vmem --profile=Win7SP1x64 hashdump

查看当前操作系统中的 password hash,例如 Windows 的 SAM 文件内容(mimikatz插件可以获取系统明文密码)

❤如果john爆破不出来,就使用 lasdmp 查看强密码 lsadmp
volatility -f 1.vmem --profile=Win7SP1x64 lsadump

❤查看进程pslist
volatility -f 1.vmem --profile=Win7SP1x64 pslist

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

❤查看已知进程pslist
volatility -f 1.vmem --profile=Win7SP1x64 pslist -p 2588

❤隐藏或解链的进程psscan
volatility -f 1.vmem --profile=Win7SP1x64 psscan

psscan:可以找到先前已终止(不活动)的进程以及被rootkit隐藏或解链的进程

❤查看服务 查询服务名称svcscan
volatility -f 1.vmem --profile=Win7SP1x64 svcscan

svcscan:扫描 Windows 的服务

❤查看浏览器历史记录,获取当前系统浏览器搜索过的关键词 iehistory
volatility -f 1.vmem --profile=Win7SP1x64 iehistory

❤查看网络连接 获取当前系统 ip netscan 
volatility -f 1.vmem --profile=Win7SP1x64 netscan

有一些版本 这个命令是使用不了 这里我们就要使用(connscan,connections)

❤查看网络连接connscan
volatility -f 1.vmem --profile=Win7SP1x64 connscan

connscan:查看网络连接

❤查看网络连接connections
volatility -f 1.vmem --profile=Win7SP1x64 connections

connections:查看网络连接

❤查看命令行操作,显示cmd历史命令 cmdscan
volatility -f 1.vmem --profile=Win7SP1x64 cmdscan

cmdscan:可用于查看终端记录

❤查看进程命令行参数(具体一些可疑进程的参数指令)cmdline
volatility -f 1.vmem --profile=Win7SP1x64 cmdline

❤扫描所有的文件列表 filescan
volatility -f 1.vmem --profile=Win7SP1x64 filescan

(linux配合 grep 命令进行相关字符定向扫描,如:grep flag、grep -E ‘png|jpg|gif|zip|rar|7z|pdf|txt|doc’)

       volatility -f 1.vmem --profile=Win7SP1x64 filescan grep "flag.txt"

cat system.txt|grep -i computername

❤查看文件内容dmpfiles
volatility -f 1.vmem --profile=Win7SP1x64 dumpfiles -Q 0xxxxxxxx -D ./

需要指定偏移量 -Q 和输出目录 -D

dumpfiles:导出某一文件(指定虚拟地址)

❤查看当前展示的notepad内容 notepad
volatility -f 1.vmem --profile=Win7SP1x64 notepad

查看当前展示的 notepad 文本(–profile=winxp啥的低版本可以,win7的不行,可以尝试使用editbox)

❤显示有关编辑控件(曾经编辑过的内容)的信息 editbox
volatility -f 1.vmem --profile=Win7SP1x64 editbox

editbox:显示有关编辑控件(曾经编辑过的内容)的信息 查看内存中记事本的内容

❤提取进程memdump
volatility -f 1.vmem --profile=Win7SP1x64 memdump -p xxx --dump-dir=./

memdump:提取出指定进程,常用foremost 来分离里面的文件  

需要指定进程-p [pid] 和输出目录 -D

memdump -p 332 -D XX/   

提取进程   -p 进程号 -D 当前输出路径(导出为332.dmp)

dump出来的进程文件,可以使用 foremost 来分离里面的文件,用 binwak -e 不推荐

strings -e l 2040.dmp | grep flag 查找flag

❤屏幕截图screenshot
volatility -f 1.vmem --profile=Win7SP1x64 screenshot --dump-dir=./

screenshot:保存基于GDI窗口的伪截屏

❤查看注册表配置单元hivelist
volatility -f 1.vmem --profile=Win7SP1x64 hivelist

hivelist: 列出所有的注册表项及其虚拟地址和物理地址

❤查看注册表键名hivedmp
volatility -f 1.vmem --profile=Win7SP1x64 hivedump -o 0xfffff8a001032410

❤查看注册表键值printkey
volatility -f 1.vmem --profile=Win7SP1x64 printkey -K "ControlSet001\Control\ComputerName\ComputerName"

❤ 获取主机名 printkey
volatility -f 1.vmem --profile=Win7SP1x64 printkey -K "ControlSet001\Control\ComputerName\ComputerName"

❤列出用户名 pringkey
volatility -f 1.vmem --profile=Win7SP1x64 printkey -K "SAM\Domains\Account\Users\Names"

❤查看运行程序相关的记录,比如最后一次更新时间,运行过的次数等。serassist
volatility -f 1.vmem --profile=Win7SP1x64 userassist

❤最大程序提取信息timeliner
volatility -f 1.vmem --profile=Win7SP1x64 timeliner

timeliner: 将所有操作系统事件以时间线的方式展开

❤查看剪贴板信息clipboard
volatility -f 1.vmem --profile=Win7SP1x64 clipboard

clipboard:查看剪贴板信息

❤显示关于计算机及其操作系统的详细配置信息(插件)systeminfo
volatility -f 1.vmem --profile=Win7SP1x64 systeminfo

systeminfo:显示关于计算机及其操作系统的详细配置信息(插件)

❤恢复被删除的文件mftparser
volatility -f 1.vmem --profile=Win7SP1x64 mftparser

mftparser:恢复被删除的文件

❤查看环境变量envars
volatility -f 1.vmem --profile=Win7SP1x64 envars

envars:查看环境变量

❤列出某一进程加载的所有dll文件dlllist
volatility -f 1.vmem --profile=Win7SP1x64 dlllist -p 2588

dlllist: 列出某一进程加载的所有dll文件

需要指定进程-p [pid]

❤程序版本信息 verinfo
volatility -f 1.vmem --profile=Win7SP1x64 verinfo

列出PE|程序版本信息

❤产看进程树,可以轻松了解各进程之间的关系:父进程与子进程 pstree
volatility -f 2008.raw –profile=Win2008R2SP1x64 pstree

在进程中PPID比PID还大,那就可能这个进程有异常程序

❤从内存文件中找到异常程序植入到系统的开机自启痕迹 shimcache
volatility -f 2008.raw –profile=Win2008R2SP1x64 shimcache

七,内存取证的大致思路
首先确定镜像是何种操作系统的,命令imageinfo即可获取镜像信息。

需要获取的是计算机在这一时刻运行了哪些进程。

Volatility提供了众多的分析进程的命令,如pstree、pesscan、pslist……

filescan命令可以对打开的文件进行扫描。

命令dumpfile和memdump命令将相关数据导出,然后对导出的数据进行二进制分析。

简单说只要熟悉Volatility工具的常用命令,并能够对结合其他类型的知识(图片隐写、压缩包分析等)对提取出的文件进行分析,便可轻松解决。

但当然具体问题具体分析吗  但插件就上面的 
————————————————
版权声明:本文为CSDN博主「路baby」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/m0_68012373/article/details/127419463

autopsy

到这一步输入镜像地址的绝对路径

之后创建好就来到这个界面

就可以查看进程的信息。

分析之前校验镜像md5完整性

点这个进行分析

可以看到版本更详细的信息。

这个可以查看文件夹文件,名称,大小,权限等等

点这个查看,后缀被修改的文件

volatility案列演示

先查看目标信息

知道名字之后,就可以对它进行查看, 

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

查看的他的用户表

这里要用到参数printkey -k “路径”

第一个sam密码要跑很长时间,信息大赛也不可能这样

直接去看强密码得了。

找到答案

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

 Netscan 可以查ip

这个就是

 Ip:192.168.85.129

主机名需要通过查询注册表,先用hivelist

system

可以直接通过 hivedump查询相应的键名 但比较慢 

volatility -f 1.vmem --profile=Win7SP1x64 hivedump -o 0xfffff8a000024010 > system.txt

一步一步寻找键名字

得到主机名WIN-9FBAEH4UV8C

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

这里使用iehistory

  flag{admin@file:///C:/Users/admin/Desktop/flag.txt}

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

volatility -f 1.vmem --profile=Win7SP1x64 netscan 

唯一一个已建立的

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

上一题中已经知道了进程号为2588

对于的id找到就是这个端口

fa

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1195979.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

53. 最大子序和 392.判断子序列 115.不同的子序列 583. 两个字符串的删除操作 72. 编辑距离

53. 最大子序和 题目: 给定一个整数数组,求最大连续子序列和。(至少包含一个元素) 示例: 输入: [-2,1,-3,4,-1,2,1,-5,4]输出: 6解释: 连续子数组 [4,-1,2,1] 的和最大,为 6意为为了连续最大负数都可以包含进来。…

Vatee万腾数字化愿景:Vatee科技决策力引领数字化创新

在当今数字化时代,科技创新变得愈发不可或缺。创新是企业和个人在竞争激烈的市场中脱颖而出的关键要素,也是推动社会发展的引擎。Vatee万腾作为一家致力于数字化创新的公司,已经崭露头角,以其前沿的数字化策略和科技决策力&#x…

在家用Python搞副业,也能月入10000+

下班副业实现经济自由的时候,你还在床上躺着,天天摆烂吗?这样的生活真的是你想要的吗? 疫情在家接一些Python相关的小单子,既能给自己练手,还能赚是真香 从零基础开始真的一台电脑和一部手机就可以✅ 一次…

Oracle迁移(RAC变单机模式)

1.升级内核 systemctl stop firewalld systemctl disable firewalldrpm --import https://www.elrepo.org/RPM-GPG-KEY-elrepo.org rpm -Uvh http://www.elrepo.org/elrepo-release-7.0-2.el7.elrepo.noarch.rpm yum --enablerepo"elrepo-kernel" list --showduplic…

【C++】STL的基本用法

目录结构 1. STL概念 1.2 常见容器 1.3 六大组件 2. STL容器之vector 1. vector 2. 基本用法示例 3. STL容器之map 1. map 2. 基本用法示例 1. STL概念 C中的STL是指标准模板库的缩写。STL提供了一组通用的模板类和函数,用于实现常见的数据结构和算法&…

Clickhouse学习笔记(3)—— Clickhouse表引擎

前言: 有关Clickhouse的前置知识详见: 1.ClickHouse的安装启动_clickhouse后台启动_THE WHY的博客-CSDN博客 2.ClickHouse目录结构_clickhouse 目录结构-CSDN博客 Cickhouse创建表时必须指定表引擎 表引擎(即表的类型)决定了&…

【MATLAB源码-第75期】基于模拟退火算法(SA)的栅格路径规划,输出做短路径图和适应度曲线。

操作环境: MATLAB 2022a 1、算法描述 模拟退火算法是一种启发式优化算法,通常用于解决组合优化问题,例如旅行商问题和图着色问题。它模拟了固体材料在退火过程中逐渐冷却达到稳定状态的行为,以寻找问题的全局最优解。 以下是模…

【MATLAB源码-第76期】基于模拟退火算法(SA)的无人机三维地图路径规划,输出最短路径和适应度曲线

操作环境: MATLAB 2022a 1、算法描述 模拟退火算法是一种启发式优化算法,通常用于解决组合优化问题,例如旅行商问题和图着色问题。它模拟了固体材料在退火过程中逐渐冷却达到稳定状态的行为,以寻找问题的全局最优解。 以下是模…

Unity 场景优化策略

Unity 场景优化策略 GPU instancing 使用GPU Instancing可以将多个网格相同、材质相同、材质属性可以不同的物体合并为一个批次,从而减少Draw Calls的次数。这可以提高性能和渲染效率。 GPU instancing可用于绘制在场景中多次出现的几何体,例如树木或…

软件工程的舞台上,《人月神话》的美学纷飞

前言: Hello大家好,我是Dream。 今天给大家分享一本书:《人月神话》——软件工程的经典之作。 《人月神话》是一本具有深远影响力的软件工程著作,无论是软件开发者、管理者还是学习软件工程的人士,都能从中获得宝贵的启…

电脑想要微信多开——打开多个微信的必胜法宝!

一个不知名大学生,江湖人称菜狗 original author: Jacky Li Email : 3435673055qq.com Time of completion:2023.11.11 Last edited: 2023.11.11 导读:在生活当中经常遇到工作和生活相撞的事情,导致在处理私人的事情同时不得不处理…

redis学习指南--概览篇

redis怎么学 官方学习网站: redis.cn 1、整体了解redis redis是一个内存数据库、kv数据库,数据结构数据库,redis中数据都是存储在redis中,可以通过key查找value,value可以有多种数据结构,有:…

牛客、赛码网OJ调试(全)

现在无论开发还是测试,面试的时候都需要考察代码能力。 从测试的职业发展来看,现在市场上对于纯功能测试的需求很少,招聘方均要求面试者一方面具备测试基础能力,也要求有点代码能力。 对于测试来说,除了测试开发&#…

C语言计算字符串中数字字符的个数

文章目录 1-9题前言例题10例题11答案例题10答案答案1答案2 例题11答案 1-9题 C语言基础例题1-3题-指针篇 C语言基础例题4-5题-二维数组篇 C语言基础例题6-7题-结构体篇 C语言基础例题8-9题-大作业篇 前言 下列题目需要学习字符串、指针后才可练习。 例题10 请编写一个程序…

【Java】I/O流—转换流、序列化流的初学者指南及RandomAccessFile类

🌺个人主页:Dawn黎明开始 🎀系列专栏:Java ⭐每日一句:我不在意你曾堕落,我只在意你是否会崛起 📢欢迎大家:关注🔍点赞👍评论📝收藏⭐️ 文章目录…

【算法与设计模式】

一、数据结构与算法 1、算法性能评估 时间复杂度、空间复杂度 2、数据结构 数组与列表 队列 堆栈 链表 二叉树 多叉树 递归算法 二、设计模式 1、单例 (1)GIL:线程互斥锁。保证同一时刻只有一个线程在进行。 (2&#xff09…

嵌入式CTS测试

1.概述 CTS是一套开源测试套件,可以实现对OpenGL、ES、OpenCL、Vulkan的兼容性测试。OpenGL ES CTS的测试集,其测试用例涵盖了各种OpenGL ES 的功能和特性。这些功能包括着色器编译和链接、图元绘制、纹理操作、帧缓冲操作、深度测试、模板测试以及其他一…

中国智能驾驶的“突围赛”打响,这家本土厂商为何能成为“先行者”?

中国本土厂商正在成为全球智能汽车产业链的“核心力量”。 根据《高工智能汽车研究院》数据显示,今年1-6月,自主品牌标配L2(含L2)级辅助驾驶交付新车155.34万辆。其中,搭载中国本土智能驾驶解决方案提供商&#xff08…

Clickhouse 学习笔记(6)—— ClickHouse 分片集群

前置知识: Clickhouse学习笔记(5)—— ClickHouse 副本-CSDN博客 与副本对比: 副本虽然能够提高数据的可用性,降低丢失风险,但是每台服务器实际上必须容纳全量数据,对数据的横向扩容没有解决 …

自适应AI chatGPT智能聊天创作官网html源码/最新AI创作系统/ChatGPT商业版网站源码

源码简介: 自适应AI chatGPT智能聊天创作官网html源码,这是最新AI创作系统,作为ChatGPT商业版网站源码,它是支持创作、编写、翻译、写代码等。是一个智能聊天系统项目源码。 注意:这个只是网站html源码,要…