首页 > 系统相关 >内存取证(一)

内存取证(一)

时间:2023-07-12 13:00:34浏览次数:36  
标签:取证 zsteg 查看 文件 flag 内容 内存 vmdk

内存取证

思路

1、文件本身是否存在内容

strings 文件名 | grep flag格式

2、Volatility查看镜像内容,系统基本信息,关注重点主要有 命令行运行命令\服务运行状态\进程环境变量\进程内容\浏览器\注册表\扫描文件\转存文件等

3、分析镜像工具:取证大师、Volatility

技巧

1、遇见vmdk文件,可以使用7z压缩软件打开,分离出可供挂载的硬盘

2、zsteg 查看文件最好加上-a的参数, 避免信息查看不全导致的疏忽

3、volatility分python2和python3的版本,虽缺少相应的依赖,但不影响基本功能。除了高版本的Windows镜像需以volatility3来

题目:

RCTF2019 disk

本题给的是vmdk文件,可使用7z压缩软件打开,直接分离出FAT文件,原理为7Z压缩包支持解压缩vmdk文件,压缩时会将vmdk文件与其他文件一起压缩到7Z文件中,参考7Z格式压缩包的应用,7Z格式的压缩包家压缩到文件夹后,可使用虚拟机创建VMDK文件,听说360压缩也可以,我试了之后是打不开,只可以对vmdk再次压缩。

image-20230712121026083

提取出FAT格式文件后,使用VeraCrypt进行挂载即可。VeraCrypt是企业中常用的加密软件,用于对关键密码的加密,使用不同的密码可以查看不同的账户,用户机制与密码挂钩。

因此本题挂载上FAT一次挂载加密盘得到密码,二次挂载加密盘使用第一步得到的密码后,使用Winhex查看该磁盘即可得到第二部分flag

(/i/l/?n=23&i=blog/3231658/202307/3231658-20230712125343574-494460416.png)
)

第一部分flag隐藏在题干下发的flag中, Strings可得前半个flag

HDCTF 蛛丝马迹

Volatility查看镜像内容
Volatility2命令为
python2 vol.py -f image imageinfo

Volatility3命令为

根据Suggested Profiles中的三个内容,依次试,对应镜像的值会返回正确的结果,否则会返回

ERROR : volatility.debug : Invalid profile Win2002SP0x86 selected

根据试探,正确的镜像Profiles==Win2003SP1x86

依照思路,分别查看历史命令\进程列表等内容

查看历史命令时出现关键字样

于是根据进行列表中提示的内容,

提取出DumpIt.exe进行分析

image-20230712120047456

foremost对PPID=1992的值分析,此处若提权PID的值,则提取的是进程文件的内容,再做分离只会得到一堆exe文件,可直接对PPID做分离,得到文件内容。

内容是二维码,Key和偏移值,若断网环境,可使用CQR二维码等工具本地扫描二维码

(/i/l/?n=23&i=blog/3231658/202307/3231658-20230712125655729-1202472813.png)
)

扫描二维码得到密文格式,考虑偏移值和密钥,采取AES解密,解密得flag

BSidesSF2019 diskimage

​ 题目给的图片上方有明显的痕迹,此类痕迹通常意味着隐写。可尝试LSB\Slienteye\Zsteg等内容,此处略过分析过程,参见网上的隐写文章思维导图。

​ 本题可使用zsteg分析出隐藏的内容,注:使用zsteg最好使用zsteg -a ,以本体为例,若不使用则会错过题目信息。

​ zsteg -a 查看图片,即可发现图片中存在隐藏文件

zsteg -a

zsteg -a 'b8,rgb,lsb,xy' attatchment.png > disk.dat
提取出disk.dat文件后,使用kali自带的磁盘恢复工具testdisk即可

根据英文提示,依次选择查看,若题目有提示,查看相应内容即可,此处查看未分区内容列表后发现

红字部分为被删除内容,下载后查看即可得flag

标签:取证,zsteg,查看,文件,flag,内容,内存,vmdk
From: https://www.cnblogs.com/Ar3sh1/p/17547232.html

相关文章

  • JVM(八)对象的实例化内存布局与访问定位
    JVM(八)对象的实例化内存布局与访问定位1对象创建的方式new变形1:Class的newInstance(),即反射Class的newInstance反射的使用较为苛刻,要求只能调用空参的构造器,而且权限必须是public这种方式再jdk9中被标记为过时了Constructor的newInstance(),也属于是反射可以调......
  • 一个高性能、低内存文件上传流.Net组件
    推荐一个用于轻松实现文件上传功能的组件。项目简介一个基于.NET平台的开源项目,提供了一个简单易用的API,可以在Web应用程序中快速集成文件上传功能。优化多部分流式文件上传性能:减少25%的CPU使用量、50%内存。项目特点1、简单易用的API: 提供了简单的API,可以轻松地集成......
  • EDGE 浏览器占用内存优化
    windows+s搜索service打开服务;找到下面edge三项双击把启动类型都改成手动触发  ......
  • "Tarfs"是一个内存文件系统,它使用TAR(Tape Archive)文件格式来实现在内存中创建一个虚拟
    "Tarfs"是一个内存文件系统,它使用TAR(TapeArchive)文件格式来实现在内存中创建一个虚拟的文件系统。TAR文件格式是一种常见的存档文件格式,用于将多个文件和目录组合成单个文件。Tarfs通过将TAR文件加载到内存中,并在内存空间中模拟文件和目录结构,实现了一个简单的文件系统。它允许......
  • zabbix自动发现与监控内存和CPU使用率最高的进程,监测路由器
    使用snmp采集信息snmp安装及使用 windows2008设置snmphttps://jingyan.baidu.com/album/3d69c5515e56b3f0cf02d7bf.html?picindex=1路由器配置snmphttps://wenku.baidu.com/view/e08c6f1583d049649a665828.html 一、开启snmp服务,参考网站:router(config)#snmp-servercommuni......
  • 一次元数据空间内存溢出的排查记录
    在应用中,我们使用的 SpringData ES的 ElasticsearchRestTemplate来做查询,使用方式不对,导致每次ES查询时都新实例化了一个查询对象,会加载相关类到元数据中。最终长时间运行后元数据出现内存溢出;问题原因:类加载过多,导致元数据OOM。非类实例多或者大对象问题;排查方式:查看JVM运......
  • 8086汇编语言精讲3 :寄存器(内存访问)
    字与字节  数据总线宽度的真谛  8086cpu不支持直接将数据送入段寄存器的操作,而ds就是一个段寄存器,所以只要用其他寄存器来中转数据进去ds中  栈   逆序效果     ......
  • 内存溢出案例实战
    内存溢出案例实战一.JVM内存参数配置1.给项目的tomcat的catalina.sh添加配置参数cd/usr/src/tomcat-pinter/binvicatalina.sh在第二行添加以下配置:JAVA_OPTS="-Xms512m-Xmx512m-Xmn256m-Xss1024k-XX:MetaspaceSize=512m-XX:MaxMetaspaceSize=512m-XX:+UseConcMarkSweepGC......
  • 4.9 x64dbg 内存处理与差异对比
    LyScript插件中针对内存读写函数的封装功能并不多,只提供了最基本的内存读取和内存写入系列函数的封装,本章将继续对API接口进行封装,实现一些在软件逆向分析中非常实用的功能,例如ShellCode代码写出与置入,内存交换,内存区域对比,磁盘与内存镜像比较,内存特征码检索等功能,学会使用这些功......
  • C# 进程间通过内存映射文件通信
    内存映射文件(Memory-mappedfiles)是一种很好的进程间通信方式,它暴露了底层的细节,具有很强的扩展性以及性能。这里展示一个利用内存映射文件制作的变量同步工具。该工具当前存在的问题是:每次会同步变量的所有字段,不能针对某个字段进行同步。没有使用双缓冲,超出64位的字段......