Misc取证学习

文章目录

    • Misc取证学习
      • 磁盘取证工具
        • veracryto挂载fat文件
        • DiskGenius
      • 磁盘取证例题
        • [RCTF2019]disk
    • 磁盘[¶](https://ciphersaw.me/ctf-wiki/misc/disk-memory/introduction/#_2)
      • 内存取证工具
        • volatility
      • 内存取证例题
        • 数字取证赛题
          • 0x01.从内存中获取到用户admin的密码并且破解密码
      • 如果john爆破不出来,就使用查看强密码lsadump
          • 0x02.获取当前系统 ip 地址及主机名
          • 0x03.获取当前系统浏览器搜索过的关键词
          • 0x04.当前系统中存在挖矿进程,请获取指向的矿池地址
          • 0x05.恶意进程在系统中注册了服务,请将服务名以 Flag{服务名}形式提交
      • 查询服务名称`svcscan`,扫描 Windows 的服务
          • 参考

Misc取证学习

磁盘取证工具

veracryto挂载fat文件

挂载磁盘文件

https://sourceforge.net/projects/veracrypt/

DiskGenius

DiskGenius是一款硬盘分区及数据恢复软件

磁盘取证例题

[RCTF2019]disk

image-20230806173612658

一个vmdk文件,我们在010打开:

image-20230806174046577

发现了一半的flag

我们用7z打开vmdk文件,发现了一个FAT文件

image-20230806173718236

磁盘

常见的磁盘分区格式有以下几种

  • Windows: FAT12 -> FAT16 -> FAT32 -> NTFS

  • Linux: EXT2 -> EXT3 -> EXT4

  • FAT 主磁盘结构

    img

  • 删除文件:目录表中文件名第一字节 e5

FAT(File Allocation Table)文件是win下面的磁盘分区文件

我们使用veracryto挂载fat文件,盲猜密码:rctf

image-20230806174452603

获得一张没用的照片和密码:RCTF2019

这里就有个盲区知识点,在挂载输入密码的时候,不同的密码可以进入不同的文件系统

使用新密码挂载:

image-20230806174753897

但是隐藏分区无法直接访问,DiskGenius可以打开

image-20230806175031986

使用该磁盘分区软件,查看到了磁盘分区B的内容,即另一半flag

内存取证工具

volatility

Volatility是一款非常强大的内存取证工具,它是由来自全世界的数百位知名安全专家合作开发的一套工具, 可以用于windows,linux,mac osx,android等系统内存取证。Volatility是一款开源内存取证框架,能够对导出的内存镜像进行分析,通过获取内核数据结构,使用插件获取内存的详细情况以及系统的运行状态。

Volatility Foundation Volatility Framework 2.6
用法: Volatility - 内存取证分析平台Options:-h, --help            列出所有可用选项及其默认值默认值可以在配置文件中设置(/etc/volatilityrc)--conf-file=/home/kali/.volatilityrc基于用户的配置文件-d, --debug           调试Volatility--plugins=PLUGINS     要使用的其他插件目录(冒号分隔)--info                打印所有注册对象的信息--cache-directory=/home/kali/.cache/volatility存放缓存文件的目录--cache               使用缓存--tz=TZ               设置 (Olson) 时区以使用 pytz(如果已安装)或 tzset 显示时间戳-f FILENAME, --filename=FILENAME打开图像时使用的文件名--profile=WinXPSP2x86要加载的配置文件的名称(使用 --info 查看支持的配置文件列表)-l LOCATION, --location=LOCATION从中加载地址空间的 URN 位置-w, --write           启用写支持--dtb=DTB             DTB 地址--shift=SHIFT         Mac KASLR 移位地址--output=text         以这种格式输出(支持特定于模块,请参阅下面的模块输出选项)--output-file=OUTPUT_FILE在此文件中写入输出-v, --verbose         详细信息-g KDBG, --kdbg=KDBG  指定一个 KDBG 虚拟地址(注意:对于 64 位 Windows 8 及更高版本,这是 KdCopyDataBlock 的地址)--force               强制使用可疑配置文件-k KPCR, --kpcr=KPCR  指定特定的 KPCR 地址--cookie=COOKIE       指定 nt!ObHeaderCookie 的地址(仅适用于 Windows 10)支持的插件命令:amcache        	查看AmCache应用程序痕迹信息apihooks       	检测内核及进程的内存空间中的API hookatoms          	列出会话及窗口站atom表atomscan       	Atom表的池扫描(Pool scanner)auditpol       	列出注册表HKLMSECURITYPolicyPolAdtEv的审计策略信息bigpools       	使用BigPagePoolScanner转储大分页池(big page pools)bioskbd        	从实时模式内存中读取键盘缓冲数据(早期电脑可以读取出BIOS开机密码)cachedump      	获取内存中缓存的域帐号的密码哈希callbacks      	打印全系统通知例程clipboard      	提取Windows剪贴板中的内容cmdline        	显示进程命令行参数cmdscan        	提取执行的命令行历史记录(扫描_COMMAND_HISTORY信息)connections    	打印系统打开的网络连接(仅支持Windows XP 和2003)connscan       	打印TCP连接信息consoles       	提取执行的命令行历史记录(扫描_CONSOLE_INFORMATION信息)crashinfo      	提取崩溃转储信息deskscan       	tagDESKTOP池扫描(Poolscaner)devicetree     	显示设备树信息dlldump        	从进程地址空间转储动态链接库dlllist        	打印每个进程加载的动态链接库列表driverirp      	IRP hook驱动检测drivermodule   	关联驱动对象至内核模块driverscan     	驱动对象池扫描dumpcerts      	提取RAS私钥及SSL公钥dumpfiles      	提取内存中映射或缓存的文件dumpregistry   	转储内存中注册表信息至磁盘editbox        	查看Edit编辑控件信息 (Listbox正在实验中)envars         	显示进程的环境变量eventhooks     	打印Windows事件hook详细信息evtlogs        	提取Windows事件日志(仅支持XP/2003)filescan       	提取文件对象(file objects)池信息gahti          	转储用户句柄(handle)类型信息gditimers      	打印已安装的GDI计时器(timers)及回调(callbacks)gdt            	显示全局描述符表(Global Deor Table)getservicesids 	获取注册表中的服务名称并返回SID信息getsids        	打印每个进程的SID信息handles        	打印每个进程打开的句柄的列表hashdump       	转储内存中的Windows帐户密码哈希(LM/NTLM)hibinfo        	转储休眠文件信息hivedump       	打印注册表配置单元信息hivelist       	打印注册表配置单元列表hivescan       	注册表配置单元池扫描hpakextract    	从HPAK文件(Fast Dump格式)提取物理内存数据hpakinfo       	查看HPAK文件属性及相关信息idt            	显示中断描述符表(Interrupt Deor Table)iehistory      	重建IE缓存及访问历史记录imagecopy      	将物理地址空间导出原生DD镜像文件imageinfo      	查看/识别镜像信息impscan        	扫描对导入函数的调用joblinks       	打印进程任务链接信息kdbgscan       	搜索和转储潜在KDBG值kpcrscan       	搜索和转储潜在KPCR值ldrmodules     	检测未链接的动态链接DLLlsadump        	从注册表中提取LSA密钥信息(已解密)machoinfo      	转储Mach-O 文件格式信息malfind        	查找隐藏的和插入的代码mbrparser      	扫描并解析潜在的主引导记录(MBR)memdump        	转储进程的可寻址内存memmap         	打印内存映射messagehooks   	桌面和窗口消息钩子的线程列表mftparser      	扫描并解析潜在的MFT条目moddump        	转储内核驱动程序到可执行文件的示例modscan        	内核模块池扫描modules        	打印加载模块的列表multiscan      	批量扫描各种对象mutantscan     	对互斥对象池扫描notepad        	查看记事本当前显示的文本objtypescan    	扫描窗口对象类型对象patcher        	基于页面扫描的补丁程序内存poolpeek       	可配置的池扫描器插件printkey       	打印注册表项及其子项和值privs          	显示进程权限procdump       	进程转储到一个可执行文件示例pslist         	按照EPROCESS列表打印所有正在运行的进程psscan         	进程对象池扫描pstree         	以树型方式打印进程列表psxview        	查找带有隐藏进程的所有进程列表qemuinfo       	转储 Qemu 信息raw2dmp        	将物理内存原生数据转换为windbg崩溃转储格式screenshot     	基于GDI Windows的虚拟屏幕截图保存servicediff    	Windows服务列表(ala Plugx)sessions       	_MM_SESSION_SPACE的详细信息列表(用户登录会话)shellbags      	打印Shellbags信息shimcache      	解析应用程序兼容性Shim缓存注册表项shutdowntime   	从内存中的注册表信息获取机器关机时间sockets        	打印已打开套接字列表sockscan       	TCP套接字对象池扫描ssdt           	显示SSDT条目strings        	物理到虚拟地址的偏移匹配(需要一些时间,带详细信息)svcscan        	Windows服务列表扫描symlinkscan    	符号链接对象池扫描thrdscan       	线程对象池扫描threads        	调查_ETHREAD 和_KTHREADstimeliner      	创建内存中的各种痕迹信息的时间线timers         	打印内核计时器及关联模块的DPCtruecryptmaster	Recover 	恢复TrueCrypt 7.1a主密钥truecryptpassphrase		查找并提取TrueCrypt密码truecryptsummary	TrueCrypt摘要信息unloadedmodules	打印卸载的模块信息列表userassist     	打印注册表中UserAssist相关信息userhandles    	转储用户句柄表vaddump        	转储VAD数据为文件vadinfo        	转储VAD信息vadtree        	以树形方式显示VAD树信息vadwalk        	显示遍历VAD树vboxinfo       	转储Virtualbox信息(虚拟机)verinfo        	打印PE镜像中的版本信息vmwareinfo     	转储VMware VMSS/VMSN 信息volshell       	内存镜像中的shellwindows        	打印桌面窗口(详细信息)wintree        	Z顺序打印桌面窗口树wndscan        	池扫描窗口站yarascan       	以Yara签名扫描进程或内核内存

内存取证-volatility工具的使用 (史上更全教程,更全命令)_路baby的博客-CSDN博客

内存取证例题

数字取证赛题

是46届世界技能大赛湖北省选拔赛 也是今年金砖比赛的样题

链接: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{服务名}形式提交。

0x01.从内存中获取到用户admin的密码并且破解密码

首先我们拿到镜像的题目的第一步是需要判断当前的镜像信息,分析是哪个操作系统

imageinfo:查看识别镜像信息

python2 vol.py -f worldskills3.vmem imageinfo

image-20230806203102005

操作系统我们一般取第一个就可以了,分析出系统为:Win7SP1x64

接下来我们查看内存镜像中的用户,

  • --profile去指定操作系统
  • printkey,打印注册表项及其子项和值 -K指定键

我们可以这样列出 内存镜像中的用户

python2 vol.py -f worldskills3.vmem --profile=Win7SP1x64 printkey -K "SAM\Domains\Account\Users\Names"

image-20230806203848518

接下来尝试获得win账户密码

python2 vol.py -f worldskills3.vmem --profile=Win7SP1x64 hashdump

hashdump:查看用户名密码信息,密码是哈希值,需要john爆破

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

image-20230806204130774

不过这个hash密码破解不出来,应该用了强密码

lsadump从注册表中提取LSA密钥信息(已解密)

如果john爆破不出来,就使用查看强密码lsadump

python2 vol.py -f worldskills3.vmem --profile=Win7SP1x64 lsadump

image-20230806204825632

md5解密一下:

image-20230806204843033

0x02.获取当前系统 ip 地址及主机名

通过netscan可以查询到ip地址

python2 vol.py -f worldskills3.vmem --profile=Win7SP1x64 netscan

image-20230806205317196

192.168.85.129

hivelist:打印注册表配置单元列表

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

python2 vol.py -f worldskills3.vmem --profile=Win7SP1x64 hivelist

image-20230806210228998

然后我们需要一步一步去找键名

python2 vol.py -f worldskills3.vmem --profile=Win7SP1x64 -o 0xfffff8a000024010 printkey

image-20230806210417546

python2 vol.py -f worldskills3.vmem --profile=Win7SP1x64 -o 0xfffff8a000024010 printkey -K ControlSet001

image-20230806210609226

继续找键:

python2 vol.py -f worldskills3.vmem --profile=Win7SP1x64 -o 0xfffff8a000024010 printkey -K 'ControlSet001\Control'
python2 vol.py -f worldskills3.vmem --profile=Win7SP1x64 -o 0xfffff8a000024010 printkey -K 'ControlSet001\Control\ComputerName'
python2 vol.py -f worldskills3.vmem --profile=Win7SP1x64 -o 0xfffff8a000024010 printkey -K 'ControlSet001\Control\ComputerName\ComputerName'

image-20230806210740787

0x03.获取当前系统浏览器搜索过的关键词

iehistory:重建IE缓存及访问历史记录

python2 vol.py -f worldskills3.vmem --profile=Win7SP1x64 iehistory

image-20230806211039608

0x04.当前系统中存在挖矿进程,请获取指向的矿池地址

netscan:扫描网络情况

python2 vol.py -f worldskills3.vmem --profile=Win7SP1x64 netscan

image-20230806211303810

这里只有一个进程的状态为:ESTABLISHED

flag{54.36.109.161:2222}

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

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

pslist:按照EPROCESS列表打印所有正在运行的进程

python2 vol.py -f worldskills3.vmem --profile=Win7SP1x64 pslist

image-20230806211801390

这里 PPID就是Parent PID

所以2588的父进程是3036

查询服务名称svcscan,扫描 Windows 的服务

python2 vol.py -f worldskills3.vmem --profile=Win7SP1x64 svcscan

image-20230806212203350

参考

内存取证-volatility工具的使用 (史上更全教程,更全命令)_路baby的博客-CSDN博客

内存取证-volatility工具的使用_baynk的博客-CSDN博客

volatility 各个选项的详解-腾讯云开发者社区-腾讯云 (tencent.com)

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

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

LangChain手记 Overview

整理并翻译自DeepLearning.AILangChain的官方课程:Overview 综述(Overview) LangChain是为大模型应用开发设计的开源框架 LangChain目前提供Python和JavaScript(TypeScript)两种语言的包 LangChain的主攻方向是聚合和…

使用docker部署一个jar项目

简介: 通过docker镜像, docker可以在服务器上运行包含项目所需运行环境的docker容器, 在线仓库里有很多各个软件公司官方发布的镜像, 或者第三方的镜像. 如果我们需要使用docker把我们的应用程序打包成镜像, 别的机器上只要安装了docker, 就可以直接运行镜像, 而不需要再安装应…

基于ChatYuan-large-v2 语言模型 Fine-tuning 微调训练 广告生成 任务

一、ChatYuan-large-v2 ChatYuan-large-v2是一个开源的支持中英双语的功能型对话语言大模型,与其他 LLM 不同的是模型十分轻量化,并且在轻量化的同时效果相对还不错,仅仅通过0.7B参数量就可以实现10B模型的基础效果,正是其如此的…

VBA技术资料MF40:VBA_计数筛选状态的数据行数

【分享成果,随喜正能量】人唯有与喜欢的事物发展关系,不管是人或者是物还是事,包括喜欢自己外表、个性的部分,喜欢自己做的事,喜欢自己的创造,喜欢的风景……才给人带来对自己的认同。在与喜欢的事物互动关…

【Linux命令详解 | cd命令】Linux系统中用于更改当前工作目录的命令

文章标题 简介一,参数列表二,使用介绍1. 使用cd命令切换到特定目录2. 使用cd命令与路径相关的特殊字符3. 使用cd命令切换到包含空格的目录4. 使用cd命令切换到前一个和后一个目录5. 使用cd命令切换到用户的主目录6. 使用cd命令与绝对路径和相对路径 总结…

Vue day01

Vue 1.简介: ​ Vue是一套用于构建用户界面的渐进式框架。与其他大型框架不同的是,Vue被设计为可以自底向上逐层应用。Vue的核心库只关注视图层,不仅容易上手,还便于与第三方库或既有项目整合。另一方面,当与现代化的工…

【Docker】DockerFile

目录 一、镜像原理 二、如何制作镜像 1、容器转镜像 2、DockerFile 三、DockerFile关键字​编辑 四、案例:部署SpringBoot项目 一、镜像原理 docker镜像是由一个特殊的文件系统叠加而成的,他的最低端是bootfs,并使用宿主机的bootfs&…

Maven设置阿里云路径(防止加载过慢)

<?xml version"1.0" encoding"UTF-8"?><!-- Licensed to the Apache Software Foundation (ASF) under one or more contributor license agreements. See the NOTICE file distributed with this work for additional information regarding …

【web逆向】全报文加密流量的去加密测试方案

aHR0cHM6Ly90ZGx6LmNjYi5jb20vIy9sb2dpbg 国密混合 WEB JS逆向篇 先看报文&#xff1a;请求和响应都是全加密&#xff0c;这种情况就不像参数加密可以方便全文搜索定位加密代码&#xff0c;但因为前端必须解密响应的密文&#xff0c;因此万能的方法就是搜索拦截器&#xff0c…

Golang之路---04 并发编程——WaitGroup

WaitGroup 为了保证 main goroutine 在所有的 goroutine 都执行完毕后再退出&#xff0c;前面使用了 time.Sleep 这种简单的方式。 由于写的 demo 都是比较简单的&#xff0c; sleep 个 1 秒&#xff0c;我们主观上认为是够用的。 但在实际开发中&#xff0c;开发人员是无法…

Swish - Mac 触控板手势窗口管理工具[macOS]

Swish for Mac是一款Mac触控板增强工具&#xff0c;借助直观的两指轻扫&#xff0c;捏合&#xff0c;轻击和按住手势&#xff0c;就可以从触控板上控制窗口和应用程序。 Swish for Mac又不仅仅只是一个窗口管理器&#xff0c;Swish具有28个易于使用的标题栏&#xff0c;停靠栏…

设计模式之策略模式(Strategy)

一、概述 定义一系列的算法&#xff0c;把它们一个个封装起来,并且使它们可相互替换。本模式使得算法可独立于使用它的类而变化。 二、适用性 1.许多相关的类仅仅是行为有异。“策略”提供了一种用多个行为中的一个行为来配置一个类的方法。 2.需要使用一个算法的不同变体。…

【DFS】17. 电话号码的字母组合

【DFS】17. 电话号码的字母组合 Halo&#xff0c;这里是Ppeua。平时主要更新C语言&#xff0c;C&#xff0c;数据结构算法…感兴趣就关注我bua&#xff01; TOC 题目: [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-rikjhVFD-1691333891079)(C:\Us…

高成本帖子——RDK X3模组快速体验载板辅助选型

转眼&#xff0c;又是一年了&#xff0c;还记得22年6月自己第一次体验X3开发板 [首发] 多方位玩转“地平线新发布AIoT开发板——旭日X3派(Sunrise x3 Pi)” 。至今还记得拿到手的新奇与兴奋&#xff0c;还记得第一次玩BPU就遇到了大坑&#xff0c;第一次发帖就把论坛搞崩。如今…

34.利用matlab解 多变量多目标规划问题(matlab程序)

1.简述 学习目标&#xff1a;适合解 多变量多目标规划问题&#xff0c;例如 收益最大&#xff0c;风险最小 主要目标法&#xff0c;线性加权法&#xff0c;权值我们可以自己设定。 收益函数是 70*x(1)66*x(2) &#xff1b; 风险函数是 0.02*x(1)^20.01*x(2)^20.04*(x…

Tcp的粘包和半包问题及解决方案

目录 粘包&#xff1a; 半包&#xff1a; 应用进程如何解读字节流&#xff1f;如何解决粘包和半包问题&#xff1f; ①&#xff1a;固定长度 ②&#xff1a;分隔符 ③&#xff1a;固定长度字段存储内容的长度信息 粘包&#xff1a; 一次接收到多个消息&#xff0c;粘包 应…

第4章 变量、作用域与内存

引言 由于js是一门只有在声明变量后才能明确类型的语言&#xff0c;并且在任意时刻都可以改变数据类型。这也引起了一些问题 原始值与引用值 原始值就是基本数据类型&#xff0c;引言值就是复杂数据类型 变量在赋值的时候。js会判断如果是原始值&#xff0c;访问时就是按值访问…

1、sparkStreaming概述

1、sparkStreaming概述 1.1 SparkStreaming是什么 它是一个可扩展&#xff0c;高吞吐具有容错性的流式计算框架 吞吐量&#xff1a;单位时间内成功传输数据的数量 之前我们接触的spark-core和spark-sql都是处理属于离线批处理任务&#xff0c;数据一般都是在固定位置上&…

python简单知识点大全

python简单知识点大全 一、变量二、字符串三、比较运算符四、随机数4.1、随机整数4.2、随机浮点数4.3、随机数重现 五、数字类型5.1、整数5.2、浮点数5.3、复数 六、数字运算七、内置函数八、布尔类型八、逻辑运算符九、短路逻辑和运算符优先级十、分支和循环10.1、if语句10.2、…

相机传感器格式与镜头光圈参数

相机靶面大小 CCD/CMOS图像传感器尺寸&#xff08;sensor format&#xff09;1/2’‘、1/3’‘、1/4’实际是多大 1英寸——靶面尺寸为宽12.7mm*高9.6mm&#xff0c;对角线16mm。 2/3英寸——靶面尺寸为宽8.8mm*高6.6mm&#xff0c;对角线11mm。 1/2英寸——靶面尺寸为宽6.…