题目是一个 mem.raw 内存镜像。volatility项目地址GitHub - volatilityfoundation/volatility: An advanced memory forensics framework,推荐使用volatility已经编译好的工具Release Downloads | Volatility Foundation。内存镜像文件一般为 raw、vmem、dmp、img 等格式。

用法为

# 查看内存镜像的系统,找出对应的profile
# 此后根据这个profile用相应的插件功能
# volatility -f mem.raw --profile=Win7SP1x64 yourcommand
volatility -f mem.raw imageinfo                

# 从内存镜像里找出用户名、密码信息     
volatility -f mem.raw --profile=Win7SP1x64 hashdump 

# 查看进程列表,树可看出进程父子关系,重点关注可疑进程
volatility -f mem.raw --profile=Win7SP1x64 pslist   
volatility -f mem.raw --profile=Win7SP1x64 pstree  

# 扫描文件列表,文件比较多推荐对 flag 等关键字过滤
# 列表第一列十六进制数是文件的内存地址
volatility -f mem.raw --profile=Win7SP1x64 filescan             
volatility -f mem.raw --profile=Win7SP1x64 filescan | egrep (flag|hint|exe) 

# 使用dumpfiles+内存地址可以导出文件
# -Q 指定内存地址
# -D 指定导出目录
volatility -f mem.raw --profile=Win7SP1x64 dumpfiles -Q=0x6F -D ./

# 查看cmd上的操作,列出命令行下运行的程序
volatility -f mem.raw --profile=Win7SP1x64 cmdscan    
volatility -f mem.raw --profile=Win7SP1x64 cmdline   

# 查看有无恶意连接
volatility -f mem.raw --profile=Win7SP1x64 connections    
volatility -f mem.raw --profile=Win7SP1x64 sockets        

# 查看一个进程的dll,显示包括隐藏dll的具体信息。
volatility -f mem.raw --profile=Win7SP1x64 dlllist -p 3064       
volatility -f mem.raw --profile=Win7SP1x64 ldrmodules -p 3064 -v 

# 找出注入的可执行代码或者DLL,根据pid导出程序
volatility -f mem.raw --profile=Win7SP1x64 malfind -p 3064       
volatility -f mem.raw --profile=Win7SP1x64 memdump -p 3064 -D . 

# ie浏览器历史记录
# netscan查看网络连接情况 相当于看netstat -ano
# 查看截屏
volatility -f mem.raw --profile=Win7SP1x64 iehistory   
volatility -f mem.raw --profile=Win7SP1x64 netscan     
volatility -f mem.raw --profile=Win7SP1x64 screenshot -D . 

# 查看驱动程序
# 导出驱动程序
# 查看启动的windows服务
volatility -f mem.raw --profile=Win7SP1x64 modules      
volatility -f mem.raw --profile=Win7SP1x64 moddump -D . 
volatility -f mem.raw --profile=Win7SP1x64 svcscan      

# 查看注册表项,-K指定要看的注册表项
# SAM表中的用户     "SAM\Domains\Account\Users\Names" 
# 最后登录系统的用户 "SOFTWARE\Microsoft\Windows 
volatility -f mem.raw --profile=Win7SP1x64 printkey     
volatility -f mem.raw --profile=Win7SP1x64 printkey -K "SAM\Domains\Account\Users\Names" 
volatility -f mem.raw --profile=Win7SP1x64 printkey -K "SOFTWARE\Microsoft\Windows NT\CurrentVersion\Winlogon" 

# 查看注册表
# 导出注册表
volatility -f mem.raw --profile=Win7SP1x64 hivelist  
volatility -f mem.raw --profile=Win7SP1x64 hivedump -o 0x000000000eb09010

 可以看出 mem.raw 很可能是一个 Win7SP1x64 操作系统的内存镜像,很可惜没账号密码信息

拉取镜像和内存有关系吗_CTF

pslist 进程列表里面 PID 是当前进程号,PPID是父进程号,如果一个进程已经结束了,那么在 Exit 列有进程结束的时间。

拉取镜像和内存有关系吗_信息安全_02

pstree 可以识别子进程和父进程,且可以显示出被隐藏的病毒

拉取镜像和内存有关系吗_CTF_03

filescan 扫描所有文件列表,文件比较多推荐对 flag 等关键字过滤

拉取镜像和内存有关系吗_信息安全_04

cmdscan 查看 cmd 上的操作,cmdline 列出命令行下运行的程序。

拉取镜像和内存有关系吗_CTF_05

connections、sockets 查看有无恶意连接,看来没有。

拉取镜像和内存有关系吗_信息安全_06

dlllist 查看一个进程(-p <PID>)加载的dll。 ldrmodules 显示包括隐藏dll的具体信息。malfind

找出注入的可执行代码或者DLL。

拉取镜像和内存有关系吗_驱动程序_07

memdump 根据PID导出程序,-D指定输出目录。

拉取镜像和内存有关系吗_驱动程序_08

 iehistory查看IE浏览器的历史记录

拉取镜像和内存有关系吗_信息安全_09

netscan查看网路连接情况,相当于看 netstat -ano

拉取镜像和内存有关系吗_驱动程序_10

screenshot 查看截屏,-D将截屏输出到指定目录

拉取镜像和内存有关系吗_CTF_11

modules查看驱动程序,moddump 导出驱动程序 -D指定导出目录

拉取镜像和内存有关系吗_信息安全_12

svcscan查看开启的windows服务。

拉取镜像和内存有关系吗_1024程序员节_13

printkey查看注册表项

拉取镜像和内存有关系吗_1024程序员节_14

hivelist 查看注册表信息, hivedump导出注册表信息。

拉取镜像和内存有关系吗_CTF_15