第十八章 计算机取证

取证科学简介
▪ Forensic   investigations
▪ 法庭取证调查
▪ 事件响应调查
  – 黑客攻击、渗透测试留痕

取证科学
▪ 什么是 Forensic 科学
  – 法医的、用于法庭的、辩论学、法医学
  – 为了侦破案件还原事实真相,收集法庭证据的一系列科学方法
    ▪ 参考本地区法律要求
    ▪ 实践操作通用原则
▪ CSI:物理取证
  – 指纹、DNA、弹道、血迹
  – 物理取证的理论基础是物质交换原则
▪ 本章关注:数字取证/ 计算机取证/ 电子取证
  – 智能设备、计算机、手机平板、IoT、有线及无线通信、数据存储

通用原则
▪ 维护证据完整性
  – 数字取证比物理取证幸运的多,可以有无限数量的拷贝进行分析
  – 数字HASH值验证数据完整性
▪ 维护监管链
  – 物理证物保存在证物袋中,每次取出使用严格记录,避免破坏污染
  – 数字证物原始版本写保护,使用拷贝进行分析
▪ 标准的操作步骤
  – 证物使用严格按照规范流程,即使事后证明流程有误(免责)
▪ 取证分析全部过程记录文档

▪ 数字取证者的座右铭
  – 不要破坏数据现场(看似简单,实际几乎无法实现)
  – 寄存器、CPU缓存、I/O设备缓存等易失性数据几乎无法获取
  – 系统内存是主要的非易失性存储介质取证对象,不修改无法获取其中数据
  – 非易失性存储介质通常使用完整镜像拷贝保存
  – 正常关机还是直接拔掉电源(数据丢失破坏)
▪ 证据搜索
  – 数据
  – 信息
  – 证据

取证科学
▪ 作为安全从业者
  – 通过取证还原黑客入侵的轨迹
  – 作为渗透测试和黑客攻击区分标准
    ▪ 世纪佳缘事件
    ▪ 印象笔记渗透测试事件

取证方法
▪ 活取证
  – 抓取文件metadata、创建时间线、命令历史、分析日志文件、哈希摘要、转存内存信息
  – 使用未受感染的干净程序执行取证
  – U盘 / 网络  存储收集到的数据
▪ 死取证
  – 关机后制作硬盘镜像、分析镜像(MBR、GPT、LVM)

取证工具
▪ 不考虑法律因素、法庭证据、监管链、文档记录等取证环节
▪ 只介绍Kali当中部分取证工具的使用方法
▪ 内存dump工具
  – Dumpit:http://www.moonsols.com/wp-content/uploads/downloads/2011/07/DumpIt.zip
  – 内存文件与内存大小接近或者稍微大一点,raw格式

▪ 分析内存文件
  – volatility imageinfo -f xp.raw       // 文件信息,关注profile
  – volatility hivelist -f XP.raw --profile=WinXPSP3x86     // 数据库文件
  – volatility -f XP.raw --profile=WinXPSP3x86 hivedump -o 0xe124f8a8
  – # 按虚内存地址查看注册表内容
  – volatility -f XP.raw --profile=WinXPSP3x86 printkey -K "SAM\Domains\Account\Users\Names"       // 用户账号
  – volatility -f xp.raw --profile=WinXPSP3x86 printkey -K "SOFTWARE\Microsoft\Windows NT\CurrentVersion\Winlogon"       // 最后登录的账户
  – volatility -f XP.raw --profile=WinXPSP3x86 userassist       // 正在运行的程序、运行过多少次、最后一次运行时间等

▪ 分析内存文件
– volatility -f XP.raw --profile=WinXPSP3x86 pslist     // 进程列表及物理内存位置
  ▪ volatility -f 7.raw --profile=Win7SP1x64 memdump -p 1456 -D test     // dump进程内存
  ▪ strings 1456.dmp > 1111.txt     // 提取字符串 grep  password  /  @
– volatility cmdscan -f 7.raw --profile=Win7SP1x64     // 命令行历史
– volatility netscan -f 7.raw --profile=Win7SP1x64       // 网络连接
– volatility iehistory -f 7.raw --profile=Win7SP1x64      #
– volatility -f 7.raw --profile=Win7SP1x64 hivelist     // 提取哈希
  ▪ volatility -f 7.raw --profile=Win7SP1x64 hashdump -y system -s SAM

Volatility插件

▪ Firefoxhistory 插件
  – http://downloads.volatilityfoundation.org/contest/2014/DaveLasalle_ForensicSuite.zip
  – /usr/lib/python2.7/dist-packages/volatility/plugins/
  – volatility -f 7.raw --profile=Win7SP1x64 firefoxhistory
▪ USN 日志记录插件
  – NTFS特性,用于跟踪硬盘内容变化(不记录具体变更内容)
  – https://raw.githubusercontent.com/tomspencer/volatility/master/usnparser/usnparser.py
  – volatility -f 7.raw --profile=Win7SP1x64 usnparser --output=csv --output-file=usn.csv #

▪ Timeline 插件
  – volatility -f 7.raw --profile=Win7SP1x64 timeliner
  – 从多个位置收集大量系统活动信息
▪ 内存取证发现恶意软件
  – https://github.com/volatilityfoundation/volatility/wiki/Memory-Samples
  – https://code.google.com/archive/p/volatility/wikis/SampleMemoryImages.wiki

▪ 内存取证发现恶意软件
  – XP:建立 meterpreter session 后 dump 内存分析
  – volatility -f xp.raw --profile=WinXPSP3x86 pstree
  – volatility connscan   # 网络连接
  – volatility getsids -p 111,222   # SID
  – volatility dlllist -p 111,222   # 数量
  – volatility malfind -p 111,222 -D test   # 检查结果查毒

活取证
▪ 从内存还原文字
  – https://technet.microsoft.com/en-us/sysinternals/dd996900.aspx
  – https://technet.microsoft.com/en-us/sysinternals/bb897439.aspx
  – procdump -ma notepad.exe notepad.dmp
  – strings notepad.dmp > notepad.txt
  – 其他文字处理程序也适用
▪ 从内存还原图片
  – 远程桌面、画图工具、Virtualbox 虚拟机
  – volatility -f 7.raw --profile=Win7SP1x64 memdump -p 1456 -D test
  – mv mstsc.dmp mstsc.data
  – Gimp -> open -> Raw Image Data -> 调整参数

▪ 从内存中提取明文密码
  – procdump -ma lsass.exe lsass.dmp
  – Mimikatz
  – sekurlsa::minidump lsass.dmp
  – sekurlsa::logonPasswords
▪ Volatility 的 mimikatz 插件
  – https://github.com/sans-dfir/sift-files/blob/master/volatility/mimikatz.py
▪ Firefox 浏览器审计工具
  – dumpzilla /root/.mozilla/firefox/bvpenhsu.default/ --All

死取证
▪ 硬盘镜像
  – 使用 kali 光盘启动计算机创建硬盘镜像文件
  – 留足存储镜像文件的存储空间
  – Dc3dd 来自美国空军计算机犯罪中心
  – Dcfldd
  – Guymager
  – 计算机取证技术参考数据集
    ▪ http://www.cfreds.nist.gov/Controlv1_0/control.dd
▪ DFF(Digital Forensics Framework)
  – Open Evidence       # 红色表示已经删除的文件
  – 发现恢复已经删除和隐藏的文件

▪ Autopsy
  – 非常流行的硬盘镜像分析工具
  – WebServer + 客户端架构
▪ Extundelete
  – 适用于 ext3、ext4文件系统的反删除工具
  – Extundelete [device-file] --restore-file [restore location]
▪ iPhone Backup Analyzer
  – 分析 iTunes 生成的 iPhone 手机备份文件,并非电话image
▪ Foremost (美国政府开发)
  – 从内存dump中恢复文档图片,支持raw、dd、iso、vmem等格式
  – foremost -t jpeg,gif,png,doc -i 7.raw

▪ 网络取证请看(协议分析)
  – 全流量镜像可以还原历史

 

posted @ 2019-09-14 18:36  Paco_Pig  阅读(646)  评论(0编辑  收藏  举报