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

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

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

磁盘¶
常见的磁盘分区格式有以下几种
Windows: FAT12 -> FAT16 -> FAT32 -> NTFS
Linux: EXT2 -> EXT3 -> EXT4
FAT 主磁盘结构
删除文件:目录表中文件名第一字节
e5。
FAT(File Allocation Table)文件是win下面的磁盘分区文件
我们使用veracryto挂载fat文件,盲猜密码:rctf

获得一张没用的照片和密码:RCTF2019
这里就有个盲区知识点,在挂载输入密码的时候,不同的密码可以进入不同的文件系统
使用新密码挂载:

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

使用该磁盘分区软件,查看到了磁盘分区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

操作系统我们一般取第一个就可以了,分析出系统为:Win7SP1x64
接下来我们查看内存镜像中的用户,
--profile去指定操作系统printkey,打印注册表项及其子项和值-K指定键
我们可以这样列出 内存镜像中的用户
python2 vol.py -f worldskills3.vmem --profile=Win7SP1x64 printkey -K "SAM\Domains\Account\Users\Names"

接下来尝试获得win账户密码
python2 vol.py -f worldskills3.vmem --profile=Win7SP1x64 hashdump
hashdump:查看用户名密码信息,密码是哈希值,需要john爆破
查看当前操作系统中的 password hash,例如 Windows 的 SAM 文件内容(mimikatz插件可以获取系统明文密码)

不过这个hash密码破解不出来,应该用了强密码
lsadump从注册表中提取LSA密钥信息(已解密)如果john爆破不出来,就使用查看强密码lsadump
python2 vol.py -f worldskills3.vmem --profile=Win7SP1x64 lsadump

md5解密一下:

0x02.获取当前系统 ip 地址及主机名
通过netscan可以查询到ip地址
python2 vol.py -f worldskills3.vmem --profile=Win7SP1x64 netscan

192.168.85.129
hivelist:打印注册表配置单元列表
查主机名需要通过查询注册表,先用hivelist
python2 vol.py -f worldskills3.vmem --profile=Win7SP1x64 hivelist

然后我们需要一步一步去找键名
python2 vol.py -f worldskills3.vmem --profile=Win7SP1x64 -o 0xfffff8a000024010 printkey

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

继续找键:
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'

0x03.获取当前系统浏览器搜索过的关键词
iehistory:重建IE缓存及访问历史记录
python2 vol.py -f worldskills3.vmem --profile=Win7SP1x64 iehistory

0x04.当前系统中存在挖矿进程,请获取指向的矿池地址
netscan:扫描网络情况
python2 vol.py -f worldskills3.vmem --profile=Win7SP1x64 netscan

这里只有一个进程的状态为:ESTABLISHED
flag{54.36.109.161:2222}
0x05.恶意进程在系统中注册了服务,请将服务名以 Flag{服务名}形式提交
上一题中已经知道了进程号为2588
pslist:按照EPROCESS列表打印所有正在运行的进程
python2 vol.py -f worldskills3.vmem --profile=Win7SP1x64 pslist

这里 PPID就是Parent PID
所以2588的父进程是3036
查询服务名称
svcscan,扫描 Windows 的服务
python2 vol.py -f worldskills3.vmem --profile=Win7SP1x64 svcscan

参考
内存取证-volatility工具的使用 (史上更全教程,更全命令)_路baby的博客-CSDN博客
内存取证-volatility工具的使用_baynk的博客-CSDN博客
volatility 各个选项的详解-腾讯云开发者社区-腾讯云 (tencent.com)
相关文章:
Misc取证学习
文章目录 Misc取证学习磁盘取证工具veracryto挂载fat文件DiskGenius 磁盘取证例题[RCTF2019]disk 磁盘[](https://ciphersaw.me/ctf-wiki/misc/disk-memory/introduction/#_2)内存取证工具volatility 内存取证例题数字取证赛题0x01.从内存中获取到用户admin的密码并且破解密码 …...
vue打包到jar资源访问被shiro拦截
1.shiro放发对静态资源的拦截// filterMap.put("/202307171550/**", "anon"); // filterMap.put("/config/**", "anon"); // filterMap.put("/index.html", "anon"); 2.装载资源访问 priva…...
选择排序(指针法)
描述 用选择法对10个整数排序。 输入 输入包含10个整数,用空格分隔。 输出 输出排序后的结果,用空格分隔。 输入样例 1 3 1 4 1 5 9 2 6 5 3 输出样例 1 1 1 2 3 3 4 5 5 6 9 输入样例 2 2 4 6 8 10 12 14 16 18 20 输出样例 2 2 4 6 8 1…...
8.6 day07 休息+剑指offer
文章目录 06从尾到头打印链表03数组中重复的数字04二维数组中的查找05 替换空格06重建二叉树背英语单词,看了二十页 06从尾到头打印链表 从尾到头遍历链表 方法一就是用栈来辅助,栈的结构是先进后出的,将链表中的元素加入到栈中去࿰…...
K8S系列文章 之 容器存储基础 Volume
Volume Volume是容器数据卷。我们经常创建删除一些容器,但有时候需要保留容器中的一些数据,这时候就用到了Volume。它也是容器之间数据共享的技术,可以将容器中产生的数据同步到本地。实际就是把容器中的目录挂载到运行着容器的服务器或个人…...
【CHI】架构介绍
Learn the architecture - Introducing AMBA CHI AMBA CHI协议导论--言身寸 1. AMBA CHI简介 一致性集线器接口(CHI)是AXI一致性扩展(ACE)协议的演进。它是Arm提供的高级微控制器总线架构(AMBA)的一部分。…...
hcip的ospf综合实验
题目 拓扑图 IP地址分配及环回 R1 < Huawei>sy Enter system view, return user view with CtrlZ. [Huawei]sysname r1 [r1]int g0/0/0 [r1-GigabitEthernet0/0/0]ip add 172.16.0.1 27 Aug 6 2023 19:03:33-08:00 r1 %%01IFNET/4/LINK_STATE(l)[0]:The line protocol I…...
AP5179 高端电流采样降压恒流驱动IC SOP8 LED车灯电源驱动
产品描述 AP5179是一款连续电感电流导通模式的降压恒流源,用于驱动一颗或多颗串联LED输入电压范围从 5 V 到 60V,输出电流 最大可达 2.0A 。根据不同的输入电压和外部器件, 可以驱动高达数十瓦的 LED。内置功率开关,采用高端电流…...
vue3+vite项目配置ESlint、pritter插件
配置ESlint、pritter插件 在 Vue 3 Vite 项目中,你可以通过以下步骤配置 ESLint 和 Prettier 插件: 安装插件: 在项目根目录下,打开终端并执行以下命令安装 ESLint 和 Prettier 插件: npm install eslint prettier e…...
K8S kubeadm搭建
kubeadm搭建整体步骤 1)所有节点进行初始化,安装docker引擎和kubeadm kubelet kubectl 2)生成集群初始化配置文件并进行修改 3)使用kubeadm init根据初始化配置文件生成K8S的master控制管理节点 4)安装CNI网络插件&am…...
Squeeze-and-Excitation Networks阅读笔记一
文章目录 Abstract1 INTRODUCTION Abstract 卷积算子(convolution operator)是卷积神经网络(cnn)的核心组成部分,它使网络能够通过融合每层局部接受域内的空间和通道信息来构建信息特征。广泛的先前研究已经调查了这种…...
LabVIEW开发3D颈动脉图像边缘检测
LabVIEW开发3D颈动脉图像边缘检测 近年来,超声图像在医学领域对疾病诊断具有重要意义。边缘检测是图像处理技术的重要组成部分。边缘包含图像信息。边缘检测的主要目的是根据强度和纹理等属性识别图像中均匀区域的边界。超声(US)图像存在视觉…...
python10.4.3
10.4.3重构 错误实例 import jsondef laoyonghu(): #获取老用户名字filenameusername.jsonwith open(filename) as f:usernamejson.load(f)return usernamedef xinyonghu(): #获取新用户名字filenameusername.jsonusernameinput("whats your name:")with ope…...
系统架构设计高级技能 · 软件架构概念、架构风格、ABSD、架构复用、DSSA(一)【系统架构设计师】
系列文章目录 系统架构设计高级技能 软件架构概念、架构风格、ABSD、架构复用、DSSA(一)【系统架构设计师】 系统架构设计高级技能 系统质量属性与架构评估(二)【系统架构设计师】 系统架构设计高级技能 软件可靠性分析与设计…...
Vue中,$forceUpdate()的使用
在Vue官方文档中指出,$forceUpdate具有强制刷新的作用。 那在vue框架中,如果data中有一个变量:age,修改他,页面会自动更新。 但如果data中的变量为数组或对象,我们直接去给某个对象或数组添加属性,页面是识…...
K8s中的Ingress
1.把端口号对外暴露,通过ip端口号进行访问 使用Service里面的NodePort实现 2.NodePort缺陷 在每个节点上都会起到端口,在访问时候通过任何节点,通过节点ip暴露端口号实现访问 意味着每个端口只能使用一次,一个端口对应一个应用…...
c++调用ffmpeg api录屏 并进行udp组播推流
代码及工程见https://download.csdn.net/download/daqinzl/88155241 开发工具:visual studio 2019 播放,采用ffmpeg工具集里的ffplay.exe, 执行命令 ffplay udp://224.1.1.1:5001 主要代码如下: #include "pch.h" #include <iostream>…...
war包方式安装linux和windows的geoserver
注意: 从Java 9开始,Oracle已经不再单独提供JRE(Java Runtime Environment)了,而是直接将JRE集成在JDK(Java Development Kit)中。这是因为JRE包含了运行Java程序所需的环境,而JDK除…...
安装CUDA与CUDNN与Pytorch(最新超级详细图文版本2023年8月最新)
一、安装CUDA 1.1、下载安装包 cuda可以认为就是Nvidia为了显卡炼丹搞的一个软件,其下载地址为:CUDA Toolkit 12.2 Update 1 Downloads | NVIDIA Developer 当你点进这个链接的时候,你需要依次选择 1是选择系统,这里选windows…...
内存快照:宕机后,Redis如何实现快速恢复?RDB
AOF的回顾 回顾Redis 的AOF的持久化机制。 Redis 避免数据丢失的 AOF 方法。这个方法的好处,是每次执行只需要记录操作命令,需要持久化的数据量不大。一般而言,只要你采用的不是 always 的持久化策略,就不会对性能造成太大影响。 …...
Termius Pro功能免费解锁指南:修改background-process.js实现永久订阅
Termius订阅机制解析与安全使用建议 Termius作为一款广受开发者欢迎的SSH客户端工具,其Pro版本提供了诸多实用功能。本文将深入探讨Termius的订阅验证机制工作原理,并从技术角度分析如何安全合规地使用该工具。 1. Termius订阅机制技术解析 Termius采用典…...
竞赛获奖保研加分测评:除了挑战杯,哪些垂直赛事含金量更高?
在 2026 年推免(保研)竞争进入白热化的背景下,工科学子的加分项已不仅仅是绩点的博弈,更是工程实战能力的短兵相接。随着教育部《关于加强新时代卓越工程师培养的指导意见》的深入实施,各大名校对人才的评价标准正从“…...
Polars 2.0清洗性能天花板在哪?实测对比Dask/Modin/Vaex:单机1TB数据清洗仅需11.3秒(附完整安装脚本)
第一章:Polars 2.0 大规模数据清洗技巧Polars 2.0 引入了更严格的惰性执行模型、增强的字符串与时间处理能力,以及原生支持多线程 I/O 的 LazyFrame API,显著提升了 TB 级数据清洗的吞吐与可控性。相比 Pandas,其列式内存布局与零…...
STM32环境检测系统设计与物联网应用
1. 项目概述这个基于STM32的环境检测系统是我去年为一个工业客户开发的解决方案,经过3个月的迭代优化已经稳定运行了半年多。系统通过多种传感器实时监测环境参数,并将数据上传至OneNet云平台,实现了本地和远程的双重监控。提示:项…...
2026届必备的五大AI辅助论文助手实际效果
Ai论文网站排名(开题报告、文献综述、降aigc率、降重综合对比) TOP1. 千笔AI TOP2. aipasspaper TOP3. 清北论文 TOP4. 豆包 TOP5. kimi TOP6. deepseek 基于大语言模型与自然语言处理技术的 AI 写作软件,是内容生产领域新兴工具&…...
告别GDAL依赖!用Rasterio和TensorFlow 2.6搞定BigEarthNet-MM数据集划分与TFRecord转换
告别GDAL依赖!用Rasterio和TensorFlow 2.6搞定BigEarthNet-MM数据集划分与TFRecord转换 在遥感图像处理领域,BigEarthNet-MM数据集因其多模态特性(Sentinel-1 SAR和Sentinel-2 MSI数据)成为研究热点。但许多开发者在处理该数据集时…...
从原理到代码:用Python实现简易变焦跟踪算法(OpenCV实战)
从原理到代码:用Python实现简易变焦跟踪算法(OpenCV实战) 在计算机视觉领域,变焦跟踪是一个既基础又关键的技术难题。想象一下,当你用手机拍摄远处景物时,镜头从广角切换到长焦的过程中,画面往往…...
实战应用:基于快马平台开发完整权限监控应用,保障用户隐私
今天想和大家分享一个非常实用的安卓应用开发实战项目——相册权限监控工具。这个项目的灵感来源于日常生活中大家对隐私保护的关注,特别是最近关于某些应用可能滥用相册权限的讨论。通过InsCode(快马)平台,我们可以快速实现一个完整的解决方案。 项目背…...
终极空洞骑士模组管理器:用Scarab实现10倍效率提升的完整指南
终极空洞骑士模组管理器:用Scarab实现10倍效率提升的完整指南 【免费下载链接】Scarab An installer for Hollow Knight mods written in Avalonia. 项目地址: https://gitcode.com/gh_mirrors/sc/Scarab 你是否曾经为《空洞骑士》安装模组时感到头疼&#x…...
实战指南 — 基于TCGA数据的差异表达分析全流程与可视化呈现
1. TCGA数据获取与准备 第一次接触TCGA数据库时,我被它庞大的数据量震撼到了。作为癌症基因组图谱计划,TCGA收录了33种癌症类型、超过2万例患者的基因组数据。对于肝癌(LIHC)研究来说,这里简直就是一座金矿。 进入TCGA官网后,你会…...

