本文利用Volatility进行内存取证,分析入侵攻击痕迹,包括网络连接、进程、服务、驱动模块、DLL、handles、检测进程注入、检测Meterpreter、cmd历史命令、IE浏览器历史记录、启动项、用户、shimcache、userassist、部分rootkit隐藏文件、cmdliner等。

环境准备:
Kali2中自带Volatility(版本2.4),可下载最新版本2.6,下载即可使用。
下载地址:https://github.com/volatilityfoundation/volatility
windows系统可使用DumpIt等制作镜像。

本为以window系统镜像为例,简单模拟了一次入侵行为,然后利用Volatility进行分析:

0x01查看网络连接
netscan 查看网络连接情况

python vol.py -f /root/lltest/PC-20170527XAOD-20180409-232828.raw --profile=Win7SP1x86 netscan

0x02查看进程

pslist、psxview可查看进程,其中psxview可查看一些隐藏进程

python vol.py -f /root/lltest/PC-20170527XAOD-20180409-232828.raw --profile=Win7SP1x86 pslist
python vol.py -f /root/lltest/PC-20170527XAOD-20180409-232828.raw --profile=Win7SP1x86 psxview
  • 1

0x03查找进程注入
malfind 查找隐藏或注入的代码/ DLL

python vol.py -f /root/lltest/PC-20170527XAOD-20180409-232828.raw --profile=Win7SP1x86 malfind

可看到进程pid为620的svchost.exe存在异常:

0x04提取文件

memdump 提取进程在内存中的信息保存到文件中 –D 指定保存的目录
procdump 提取进程的可执行文件
提取出文件后,可以到www.virustotal.com进行检验

python vol.py -f /root/lltest/PC-20170527XAOD-20180409-232828.raw --profile=Win7SP1x86 procdump -p 620 -D dump
python vol.py -f /root/lltest/PC-20170527XAOD-20180409-232828.raw --profile=Win7SP1x86 memdump -p 620 -D dump   #时间较长,文件较大
  • 1


成功检测出提取的文件有Meterpreter攻击痕迹:

0x05yarascan 检测Meterpreter
上面通过memdump 提取pid为620的进程,可检测出Meterpreter攻击痕迹,还可以通过YARA进行检测。yarascan 可利用YARA规则进行检测 -Y 指定自定义的规则,-y 指定包含YARA规则。通过文章(http://cyberforensicator.com/2018/03/11/finding-metasploits-meterpreter-traces-with-memory-forensics/) 的规则学习,可进行检测Meterpreter攻击痕迹。

python vol.py -f /root/lltest/PC-20170527XAOD-20180409-232828.raw --profile=Win7SP1x86 yarascan -y fm.yara

fm.yara文件如下

rule Find_Meterpreter
{meta:desrciption = "it's the Meterpreter!"strings:$a = { 6D 65 74 73 72 76 2E 64 6C 6C 00 00 52 65 66 6C 65 63 74 69 76 65 4C 6F 61 64 65 72 }$b = "stdapi_" ascii nocase
condition:$a and $b

}

  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10


成功检测到Meterpreter攻击痕迹:

0x06查看&提取DLL

dlllist 查看dll文件
ldrmodules 可查看一些隐藏的dll
dlldump 提取dll文件
提取出dll文件后,可以到www.virustotal.com进行检验

python vol.py -f /root/lltest/PC-20170527XAOD-20180409-232828.raw --profile=Win7SP1x86 dlllist -p 1656
python vol.py -f /root/lltest/PC-20170527XAOD-20180409-232828.raw --profile=Win7SP1x86 dlldump -p 1656 -D dump
python vol.py -f /root/lltest/PC-20170527XAOD-20180409-232828.raw --profile=Win7SP1x86 ldrmodules
  • 1
  • 2



成功检测出提取出来的可疑dll文件:

0x07查看文件句柄
handles 查看进程打开的handles

python vol.py -f /root/lltest/PC-20170527XAOD-20180409-232828.raw --profile=Win7SP1x86 handles -p 620 -t file

0x08查看cmd历史命令

cmdscan 查看内存中保留的 cmd 命令使用情况,还可以看到powershell命令

python vol.py -f /root/lltest/PC-20170527XAOD-20180409-232828.raw --profile=Win7SP1x86 cmdscan

0x09查看IE浏览器历史记录

1)iehistory插件
iehistory 可查看IE浏览中的历史记录,但是有时会出bug,查看不到信息

python vol.py -f /root/lltest/PC-20170527XAOD-20180410-073551.raw --profile=Win7SP1x86 iehistory

2)yarascan搜索记录
可以先找到iexplore进程,然后通过yarascan来定义YARA规则进行搜索IE浏览器历史记录

python vol.py -f /root/lltest/PC-20170527XAOD-20180410-073551.raw --profile=Win7SP1x86 pslist | grep iexplore
python vol.py -f /root/lltest/PC-20170527XAOD-20180410-073551.raw --profile=Win7SP1x86 yarascan -Y "/(URL|REDR|LEAK)/" -p 1904,220,3276,3676
  • 1

查看iexplore进程pid:

成功检测到ie历史记录:

3)memdump & strings提取记录
还可以通过memdump提取iexplore进程中的信息到文件中,然后通过strings来搜索IE浏览器历史记录

python vol.py -f /root/lltest/PC-20170527XAOD-20180410-073551.raw --profile=Win7SP1x86 memdump -p 1904,220,3276,3676 -D dump
strings dump/1904.dmp | grep -i http:// | sort | uniq -u
  • 1

根据pid提取iexplore进程文件:

strings成功提取到ie历史记录:

0x10查看注册表
printkey可查看指定注册表项信息
1)查看启动项

python vol.py -f /root/lltest/PC-20170527XAOD-20180409-232828.raw --profile=Win7SP1x86 printkey -K "Microsoft\Windows\CurrentVersion\Run"

2)查看用户

python vol.py -f /root/lltest/PC-20170527XAOD-20180409-232828.raw --profile=Win7SP1x86 printkey -K "SAM\Domains\Account\Users\Names"

3)shimcache信息查看

ShimCache来识别应用程序兼容性问题。跟踪文件路径,大小,最后修改时间和最后“执行”时间。

python vol.py -f /root/lltest/PC-20170527XAOD-20180409-232828.raw --profile=Win7SP1x86 shimcache

4)userassist信息查看
userassist键值包含系统或桌面执行文件的信息,如名称、路径、执行次数、最后一次执行时间等。

python vol.py -f /root/lltest/PC-20170527XAOD-20180407-042003.raw --profile=Win7SP1x86 userassist

0x11查看服务svcscan
svcscan查看服务

python vol.py -f /root/lltest/PC-20170527XAOD-20180409-232828.raw --profile=Win7SP1x86 svcscan

0x12查看内核驱动模块
modules 查看内核驱动
modscan、driverscan 可查看一些隐藏的内核驱动

python vol.py -f /root/lltest/PC-20170527XAOD-20180409-232828.raw --profile=Win7SP1x86 modules
python vol.py -f /root/lltest/PC-20170527XAOD-20180409-232828.raw --profile=Win7SP1x86 modscan
python vol.py -f /root/lltest/PC-20170527XAOD-20180409-232828.raw --profile=Win7SP1x86 driverscan
  • 1
  • 2

0x13查看文件
filescan 可查看 一些rootkit隐藏文件

python vol.py -f /root/lltest/PC-20170527XAOD-20180409-232828.raw --profile=Win7SP1x86 filescan  #可查看 一些rootkit隐藏文件

0x14查看时间线cmdliner
timeliner 查看各组件时间线。 输出会很多,建议输出到指定文件中

python vol.py -f /root/lltest/PC-20170527XAOD-20180407-042003.raw --profile=Win7SP1x86 timeliner --output=text --output-file=out1.txt

当然,volatility还有许多命令和插件,本文只是抛砖引玉,简单写了一些常用方式。

参考
https://github.com/volatilityfoundation/volatility/wiki/Command-Reference
http://cyberforensicator.com/2018/03/11/finding-metasploits-meterpreter-traces-with-memory-forensics/
https://eforensicsmag.com/finding-advanced-malware-using-volatility/
https://volatility-labs.blogspot.com/2012/09/howto-scan-for-internet-cachehistory.html

                                </div>

后渗透篇:利用Volatility进行入侵痕迹分析相关推荐

  1. 后渗透篇:常见backdoor和persistence方式方法

    常见backdoor和persistence方式方法 系统工具替换后门 Image 劫持辅助工具管理器 REG ADD "HKLM\SOFTWARE\Microsoft\Windows NT ...

  2. SharpStrike:基于C#实现的后渗透漏洞利用工具

    关于SharpStrike SharpStrike是一款基于C#开发的后渗透工具,该工具可以使用CIM或WMI来查询远程系统.除此之外,该工具还可以使用研究人员提供的凭证信息或使用当前的用户会话. 注 ...

  3. 后渗透篇:COM劫持及加载技术

    滥用COM注册表结构:劫持及加载技术 译文链接:https://bohops.com/2018/08/18/abusing-the-com-registry-structure-part-2-load ...

  4. 后渗透篇:劫持技术(lpk.dll劫持游戏注入【Win7 实例】)

    当你的才华 还撑不起你的野心时 那你就应该静下心来学习 lpk.dll劫持游戏注入 由于 输入表中只包含DLL名而没有它的路径名,因此加载程序必须在磁盘上搜索 DLL文件.首先会尝试从当前程序所在的目 ...

  5. 后渗透篇:COM Object hijacking 后门实现思路——劫持CAccPropServicesClass and MMDeviceEnumerator

    0x00 前言 在之前的文章<Use CLR to maintain persistence>介绍了通过 CLR 劫持所有 .Net 程序的方法,无需管理员权限,可用作后门.美中不足的是通 ...

  6. 后渗透篇:纯手工打造服务器自解压shift后门【详细演示】

    当你的才华 还撑不起你的野心时 那你就应该静下心来学习 目录 纯手工打造服务器自解压shift后门 0x01 介绍 0x02 实例演示 纯手工打造服务器自解压shift后门 0x01 介绍 很多时候我 ...

  7. 后渗透篇:映像劫持技术

    当你的才华 还撑不起你的野心时 那你就应该静下心来学习 映像劫持技术 所谓的映像劫持就是Image File Execution Options(IFEO),位于注册表的 HKEY_LOCAL_MAC ...

  8. 后渗透篇:Windows 2008 server提权之突破系统权限安装shift后门

    当你的才华 还撑不起你的野心时 那你就应该静下心来学习 目录 Windows 2008 server提权之突破系统权限安装shift后门 0x01 前言 0x02 主要操作部分 0x03 主要命令组成 ...

  9. 后渗透篇:CLSID大全

    当你的才华 还撑不起你的野心时 那你就应该静下心来学习 目录 Win10系统CLSID大全介绍 0x01 CLSID大全 Win10系统CLSID大全介绍     还有很多Win10用户都不知道CLS ...

最新文章

  1. 7.1 pdo 宝塔面板php_宝塔面板配置阿里云服务器步骤和教程
  2. Java基础day7
  3. android 设置PopupWindow透明度
  4. 《从零开始学Swift》学习笔记(Day 66)——Cocoa Touch设计模式及应用之通知机制...
  5. 实例讲解C语言的位运算
  6. 用ZedGraph作图表(一)
  7. opencv将图像转换成二维数组再将数组数据传给新图像
  8. VGG16和VGG19的理解
  9. 工行u盾显示316_工行网银客户端检测不到U盾的解决方法
  10. x99 芯片服务器,X99果然是支持PCI-E拆分的啊
  11. java 导出复杂格式的 Excel 留着自己备用
  12. ply补全为立方体_PLY文件格式及其解析 | 学步园
  13. 用Python读取照片拍摄的详细信息(拍摄时间、地址等)
  14. 我就是故事里面的兔子
  15. Source code license
  16. 【MATLAB】高塔观测数据通量梯度法计算感热及潜热通量
  17. 学好编程 为网站建设夯实根基
  18. 顺丰不“顺” 王卫何敢称王?
  19. skywalking源码--agent配置加载
  20. 英雄远征Erlang源码分析(12)-任务模块解析

热门文章

  1. vim 自用/.vimrc配置
  2. Java——黑马程序员双色球案例
  3. [HBase基础]-- spark创建hbase表(非分区表)
  4. new bing的chatGPT如何解析英文论文pdf
  5. 二分查找 归并排序 快排 详解C++
  6. 关于java项目中的.project文件:
  7. 认知无线电网络协作频谱感知优化附matlab完整代码
  8. JAVA:Jar包下载
  9. SQL SERVER 2014 清理数据库日志文件踩的坑!
  10. 百度坐标(BD09)、国测局坐标(火星坐标,GCJ02)、和WGS84坐标系之间的相互转换