Loading [MathJax]/jax/output/CommonHTML/config.js
前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >专栏 >CTF| 攻击取证之内存分析

CTF| 攻击取证之内存分析

作者头像
漏斗社区
发布于 2019-04-29 03:35:26
发布于 2019-04-29 03:35:26
7.4K00
代码可运行
举报
文章被收录于专栏:漏斗社区漏斗社区
运行总次数:0
代码可运行

基本概念

在CTF中,内存取证一般指对计算机及相关智能设备运行时的物理内存中存储的临时数据进行获取与分析,提取flag或者与flag相关重要信息。

解题思路

斗哥根据近来做题心得以及前人经验,明白了内存取证三步曲:解析Windows/Linux/Mac OS的内存结构、分析进程等内存数据、根据题目提示寻找线索和思路,提取分析指定进程的特定内存数据。

笼统的说,常见的内存结构存在于以下三大操作系统:

●Windows操作系统

●Linux操作系统

●Mac OS操作系统

难道真的要去深度学习这三种结构吗?斗哥认为暂时可以不用,只要我们在拿到内存数据文件时,能够判断该内存是哪种格式的。常见的内存文件格式有img、dmp、raw、vmem等。

知道了内存格式之后呢,就需要开始分析内存数据了,通过对应格式下的内存所在的对应的系统,我们可以使用对应的工具去进行分析。最后根据题目提示,进行针对性的去提取我们所需要的内存数据。

了解完内存取证的解题思路后,就要开始了解一下解题所需要用到的工具,这里斗哥给大家推荐一个比较好用的开源内存取证框架----Volatility。

开源内存分析框架--Volatility

给大家介绍一下,Volatility Framwork是一款开源的基于Python开发的内存分析框架,它自带的分析插件支持分析内存镜像中所保留的历史网络连接信息、历史进程、历史命令记录等等。Kali系统自带,其他系统可自行到Github上进行Download。

使用方法:

基本命令格式

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
volatility -f [内存文件] --profile=[配置文件] <插件>
eg:volatility -f /opt/test.vmem –profile=Win7SP1x86_23418 pslist

CTF中比较常用(斗哥目前用到过的)的插件:

插件名

作用

imageinfo

识别内存映像相关信息(包括了配置文件类型、处理器数量、文件类型、文件日期与时间等等)

netscan

扫描内存中的连接以及开放端口

hivelist

列出注册表配置文件中的注册表信息

printkey

打印注册表项及其子项和对应的值

clipboard

打印内存中Windows剪切板中的内容

pslist

按照EPROCESS列表列出所有正在运行的进程

psscan

扫描内存中的进程

pstree

将内存中的进程以树的结构打印出来

dlllist

列出每个进程已加载的DLL

iehistory

重建Internet Explorer缓存/历史记录

filescan

扫描内存中的文件对象

cmdscan

通过扫描_COMMAND_HISTORY提取命令历史记录

cmdline

显示进程命令行参数

notepad

列出当前显示的记事本文本

hashdump

从内存中转储指定的密码hash

memdump

转储出可寻址的内存数据

hivedump

打印内存中指定的注册表信息

dumpfiles

提取内存映射以及缓存文件

procdump

将进程转储到可执行文件中

基本用法(本期以Windows为例来阐述)

1. 当我们拿到内存文件后,一般会做的便是先识别一下该内存文件一些信息(一般会去识别配置文件,然后通过对应的配置文件进行其他操作) 命令:volatility -f [内存文件] imageinfo

2. 得到配置文件后,我们可以使用对应的配置文件进行相应的查询 a. 查看系统开放端口以及连接情况(发现可疑进程、可疑连接) 命令:volatility -f [内存文件] --profile=[配置文件] netscan

b. 查看系统注册表(获取主机名、IP等信息)

找到system注册表—hivelist: 命令:volatility -f [内存文件] --profile=[配置文件] hivelist

● 读注册表中的信息—printkey 命令:volatility -f [内存文件] --profile=[配置文件] printkey -o [虚拟地址] -K [注册表路径]

c. 查看剪切版中的信息(获取复制剪切的内容): 命令:volatility -f [内存文件] --profile=[配置文件] clipboard

d. 查看进程信息(发现可疑进程):

● 无法显示隐藏/终止的进程—pslist 命令:volatility -f [内存文件] --profile=[配置文件] pslist

● 显示隐藏/终止的进程—psscan 命令:volatility -f [内存文件] --profile=[配置文件] psscan

● 把进程以树的形式显示—pstree 命令:volatility -f [内存文件] --profile=[配置文件] pstree

e. 查看DLL文件(当我们发现可疑进程后,可通过此命令进行深度查看): 命令:volatility -f [内存文件] --profile=[配置文件] dlllist -p [PID]

f. 查看IE浏览器历史记录(获取IE浏览器浏览历史信息): 命令:volatility -f [内存文件] --profile=[配置文件] iehistory

g. 查看文件(获取可疑文件): 命令:volatility -f [内存文件] --profile=[配置文件] filescan

h. 查看命令行历史记录(获取执行的可疑命令) 命令:volatility -f [内存文件] --profile=[配置文件] cmdscan

i. 查看进程命令行参数(具体查看一些可疑进程的参数指令) 命令:volatility -f [内存文件] --profile=[配置文件] cmdline

j. 查看notepad文件(只能查看进程中的notepad.exe中的内容) 命令:volatility -f [内存文件] --profile=[配置文件] notepad

3.得到了一些信息有时候往往不过,有可能还需要我们提取内存中的数据再进行二次操作才可以得到flag a. 获取密码hash 命令:volatility -f [内存文件] --profile=[配置文件] hashdum

b. 获取对应进程(当我们发现某个进程中可能会存在我们所需的flag) 命令: volatility -f [内存文件] --profile=[配置文件] memdump -n [文件名(不带后缀)] -D [保存路径]

Or volatility -f [内存文件] --profile=[配置文件] memdump -p [PID] -D [保存路径]

效果:

c. 打印注册表中的对应表的数据: 命令:volatility -f [内存文件] --profile=[配置文件] hivedump -o [虚拟地址]

d. 转储内存中的文件 命令:volatility -f [内存文件] --profile=[配置文件] dumpfiles -Q [偏移地址] -D [保存路径]

效果:

e. 转储内存中的进程里exe文件 命令:volatility -f [内存文件] --profile=[配置文件] procdump -p [PID] -D [保存路径]

效果:

这些便是volatility内存分析框架目前在比赛中比较常见的一些用法。具体操作还是需要跟着题目的提示或者一些隐藏在字里行间的需求来做题。

小结

以上还只是解题的思路以及工具用法,但是不去用它,我们还是不懂怎么去使用,学习并不仅仅只在于理论,更重要的是实践,只有理论结合实际,我们才能对某一类题目做到得心应手。最后,为了能加深大家对内存取证工具使用的熟练,斗哥也为大家准备了一些小题目,希望大家都能好好做,好好学习内存取证类题目的思路以及工具使用。

比较会装傻卖萌

比较想你关注我(* ̄∇ ̄*)

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2019-03-22,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 漏斗社区 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
暂无评论
推荐阅读
编辑精选文章
换一批
CTF内存取证入坑指南!稳!
最近,斗哥在刷CTF题目。突然刷到了内存取证类,了解到了一款牛逼的工具——Volatility,在kali linux也默认安装好了这个工具,正好可以好好学习一波。 01 Volatility 简介
漏斗社区
2018/03/28
8.2K0
CTF内存取证入坑指南!稳!
内存取证(volatility)
System的运行时间就是开机时间,这里还可能会问进程数量,粘贴复制进去notpead++看行数
鸿鹄实验室
2021/04/15
4.1K0
内存取证(volatility)
内存取证工具(volatility)
用到的文件是之前 360 的比赛里面的一个镜像(文件名:xp.raw),本来想自己 dump 一个虚拟机的分析一下,但是太大了就放弃了
yichen
2020/01/02
3.4K0
内存取证知识点及常见用法
现在CTF方向中的内存取证相关的题目越来越多了,之前也一直没有做过整理(发出了咕咕咕的声音),这几天因为某些原因,得把重点放在取证部分,所以干脆直接在这里做个内存取证方面的知识整理。
L1near
2022/11/11
2.1K0
内存取证知识点及常见用法
内存取证工具Volatility学习
乌鸦安全的技术文章仅供参考,此文所提供的信息只为网络安全人员对自己所负责的网站、服务器等(包括但不限于)进行检测或维护参考,未经授权请勿利用文章中的技术资料对任何计算机系统进行入侵操作。利用此文所提供的信息而造成的直接或间接后果和损失,均由使用者本人负责。
乌鸦安全
2022/12/19
2.3K0
内存取证工具Volatility学习
Volatility 内存数字取证方法
计算机数字取证分为内存取证和磁盘取证,活取证与死取证,不管是那种取证方式,都应尽量避免破环犯罪现场,例如通过内存转储工具对内存进行快照,通过磁盘克隆工具对磁盘进行克隆,方便后期的分析工作,这里将研究内存的取证技术中的活取证。
王瑞MVP
2022/12/28
1.8K0
取证分析 | Volatility工具使用
Volatility是一款开源的内存取证分析工具,支持Windows,Linux,MaC,Android等多类型操作系统系统的内存取证方式。该工具是由python开发的,目前支持python2、python3环境。接下来小编将带领大家学习Volatility工具的安装及使用。
安全小王子
2021/09/23
11.2K0
取证分析 | Volatility工具使用
2024全网最全面及最新且最为详细的网络安全技巧 八之 内存取证流量分析[含CTF真题流量详细分析](1)———— 作者:LJS
该文件的密码和administrator的密码相同,接下来我们寻找flag.ccx文件
盛透侧视攻城狮
2024/10/22
3160
2024全网最全面及最新且最为详细的网络安全技巧 八之 内存取证流量分析[含CTF真题流量详细分析](1)———— 作者:LJS
Windows取证分析 | 如何最大程度提升分析效率
内存取证是任何计算机取证分析人员的必备技能之一,这种技术允许我们找到很多无法在磁盘上找到的数字证据,例如:
FB客服
2024/06/11
2370
Windows取证分析 | 如何最大程度提升分析效率
美亚杯2019资格赛复现
何源是一名 25 岁的客服人员,在一间电讯公司工作。某日,何源在用 iPhone 手机在政府建筑物中偷拍车牌期间被警员截停,盘问期间警员检查手机相册发现多张车牌图片,何源情绪紧张,趁警员不备,抢过手机丢入车流,被完全损毁。行为十分可疑,警方于是展开调查。审讯期间何源承认利用自己职权的便利,登入公司储存客户数据的服务器,非法取得一些政府人员的个人资料,例如姓名,车牌号码,电话等等,再将这些数据出售。
回天
2023/04/25
8001
美亚杯2019资格赛复现
反取证技术:内核模式下的进程隐蔽
介绍 本文是介绍恶意软件的持久性及传播性技术这一系列的第一次迭代,这些技术中大部分是研究人员几年前发现并披露的,在此介绍的目的是建立这些技术和取证方面的知识框架。 用于证明概念的代码可以在CERT的G
FB客服
2018/02/27
1.8K0
反取证技术:内核模式下的进程隐蔽
自动化攻击取证
《Python黑帽子:黑客与渗透测试编程之道》的读书笔记,会包括书中源码,并自己将其中一些改写成Python3版本。书是比较老了,anyway,还是本很好的书
红客突击队
2022/09/29
7070
自动化攻击取证
虹科分享 | 关于内存取证你应该知道的那些事
内存取证是指在计算机或其他数字设备运行时,通过对其随时存储的内存数据进行采集、分析和提取,以获取有关设备状态、操作过程和可能存在的安全事件的信息。内存取证是数字取证的一个重要分支,用于从计算机的RAM(随机存取存储器)或其他设备的内存中提取关键信息,以便了解设备在特定时间点的状态和活动。
虹科网络可视化与安全
2023/08/01
5150
虹科分享 | 关于内存取证你应该知道的那些事
2018 护网杯 easy_dump题目复现
链接: https://pan.baidu.com/s/1RfQPAHo_WqMUL4frg9tuXw 提取码: g9mk
R0A1NG
2022/02/19
5170
2018 护网杯 easy_dump题目复现
内存取证知识点小结
此类题一般会给出raw文件、wmem文件、img文件、dmp文件等内存镜像文件,我们则需要用volatility来解决这种问题
回天
2023/04/25
7160
内存取证知识点小结
安全应急响应工具年末大放送
为了帮助安全分析师更好的完成工作,小编整理了一些现在比较流行的安全应急响应工具和资源,从磁盘镜像创建工具、内存分析工具到内存镜像工具、沙盒/逆向工具等,相信总有一款适合你。 磁盘镜像创建工具 Get
FB客服
2018/02/07
4.5K0
安全应急响应工具年末大放送
取证工具
DFF是一个能通过命令行和界面使用的取证框架。能被用于硬盘和内存调查并创建序使用者和系统活动情况的调查报告。该框架具有模块化、可编程性以及通用性三个特点。
OvO我是肉排菌呀
2021/03/12
2.9K0
取证工具
volatility 各个选项的详解
auditpol:列出注册表HKLMSECURITYPolicyPolAdtEv的审计策略信息
鸿鹄实验室
2021/04/15
5.2K0
数字取证技术 | Windows内存信息提取
0×00概述 后面会花一部分时间,写一些数字取证相关的文章。攻击技术贴多如牛毛,眼下不管是网安,还是安全厂商, 欠缺的是对取证技术的研究。 大致想了一下,主要会从以下几个方面逐一介绍吧: - 内存 - 硬盘镜像 - 网络 - Timeline利用 - 威胁情报在取证中的作用等 0×01 windows内存取证 取证的时候为什么要做内存分析?因为在内存里面可以看到操作系统在做的几乎所有的事情。当内存块不被覆盖的情况下,很多历史信息同样被保留。主要有: - 进程和线程 - 恶意软件,包括rootk
FB客服
2018/02/23
2.9K0
数字取证技术 | Windows内存信息提取
安恒杯DASCTF——四月春季赛部分wp
可以看到v6的起始是A0h,v5起始是30h,那么两个相减为70h,转为10进制刚好为112
L1near
2022/11/11
7630
安恒杯DASCTF——四月春季赛部分wp
相关推荐
CTF内存取证入坑指南!稳!
更多 >
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
本文部分代码块支持一键运行,欢迎体验
本文部分代码块支持一键运行,欢迎体验