取证简介:
CSI:物理取证
指纹、DNA、弹道、血迹
无力取证的理论基础是物质交换原则
数字取证/计算机取证
智能设备、计算机、手机平板、loT、有线及无线信道、数据存储
事件响应调查------黑客攻击,渗透测试留痕
通用原则----(取证分析全部过程记录文档)
维护证据完整性
数字取证比物理取证幸运的多,可以有无限数量的拷贝进行分析
数字HASH值验证数据完整性
维护监管链
物理证物保存在证物袋中,每次取出使用严格记录,避免破坏污染
数字证物原始版本写保护,使用拷贝进行分析
标准的操作步骤
证物使用严格按照按照规范流程,即使事后证明流程有误(免责)
数字取证
不要破坏数据现场(看似简单,实际几乎无法实现)
寄存器、CPU缓存、I/O设备缓存等易失性数据几乎无法获取
系统内存是主要的非易失性存储介质取证对象,不修改无法获取其中数据
非易失性存储介质通常使用完整镜像拷贝保存
正常关机还是直接拔掉电源(数据丢失破坏)
证据搜索
数据
信息
证据
取证科学
作为安全从业者
通过取证还原黑客入侵的轨迹
作为渗透测试和黑客攻击区分标准
世纪佳缘事件
印象笔记渗透测试事件
取证方法
活取证
抓取文件metadata、创建时间线、命令历史、分析日志文件、哈希摘要、转存内存信息
使用未受感染的干净程序执行取证,U盘/网络存储收集数据
死取证
关机后制作硬盘镜像、分析镜像(MBR、GPT、LVM)
内存dump工具(windows)
Dumpit----内存文件与内存大小接近或者稍微大一点,raw格式
取证工具-----Volatility
常用参数
-f 指定文件名
imageinfo:
用于查看我们正在分析的内存样本的摘要信息。具体来说显示主机所使用的操作系统版本、服务包以及硬件结构(32位或64位)、页目录表的起始地址和该获取该内存镜像的时间等基本信息
其中以.raw后缀的文件名就是本机的内存镜像。>imageinfo.txt是把imageinfo命令取得的信息定向的存在imageinfo.txt的文件中。
kpcrscan:
用于查找内存中用于定义内核处理器控制区域(KPCR)的_KPCR结构体信息,具体来说,可以显示每个处理器的详细信息,包括IDT(线程控制符)和GDT(全局段描述符表)地址,当前运行的线程和空闲线程,CPU数量、制造厂商及其速度,CR3寄存器或页目录表基地址的值等信息。该命令的使用方法要用到imageinfo取得的profile信息
dlllist:
能够显示一个进程装载的动态链接库的信息,其显示列表主要包括加载的动态链接库文件的基地址、文件大小以及文件所在路径。
filescan:
此命令将显示系统上的打开的文件,包括已被恶意软件隐藏的文件
handles:
显示在一个进程中打开的处理
modscan:
扫描_ldr_data_table_entry对象的物理内存。显示内核的驱动程序,包括已隐藏/链接的
netscan:
发现TCP / UDP端点和监听器。这个命令将显示一个主动网络连接的列表
pslist:
可以枚举系统中的进程,这条命令通过遍历PsActiveProcessHead指针指向的双向链表枚举当前内存中活跃的所有进程信息,主要包括偏移地址、进程ID号、父进程ID号、线程数量、句柄数量、进程会话ID号以及进程开始和退出的时间
pstree:
这个命令显示跟pslist一样的信息,以树的形式
connscan:
查看网络连接
实例:
查询文件信息,关注 profile
volatility imageinfo -f win.dmp imageinfo
查询数据库文件
volatility hivelist -f win.dmp --profile=Win7SP1x86
volatility hivelist -f win.dmp --profile=Win7SP1x86 pslist
volatility hivelist -f win.dmp --profile=Win7SP1x86 pstree
按虚内存地址查看注册表内容
volatility -f win.dmp --profile=Win7SP1x86 hivelist
volatility -f win.dmp --profile=Win7SP1x86 hivedump -o 0x91fa1648
查看用户账号
volatility -f win.dmp --profile=Win7SP1x86 printkey -K "SAM\Domains\Account\Users\Names"
最后登录的用户
volatility -f win.dmp --profile=Win7SP1x86 printkey -K "SOFTWARE\Microsoft\Windows NT\CurrentVersion\Winlogon
正在运行的程序、运行过多少次、最后一次运行时间等
volatility -f win.dmp --profile=Win7SP1x86 userassist
进程列表及物理内存
volatility -f win.dmp --profile=Win7SP1x86 pslist
dump 进程内存
volatility -f win.dmp --profile=Win7SP1x86 memdump -p 3684 -D dumpdir/
root@Hitman47:~/dumpdir# hexeditor 3684.dmp
root@Hitman47:~/dumpdir# strings 3684.dmp > 1111.txt
root@Hitman47:~/dumpdir# strings 3684.dmp | grep password
root@Hitman47:~/dumpdir# strings 3684.dmp | grep /
root@Hitman47:~/dumpdir# strings 3684.dmp | grep @
命令历史
volatility cmdscan -f win.dmp --profile=Win7SP1x86
网络连接
volatility netscan -f win.dmp --profile=Win7SP1x86
IE 历史
volatility iehistory -f win.dmp --profile=Win7SP1x86
提取hash
volatility -f win.dmp --profile=Win7SP1x86 hivelist
firefoxhistory 插件
volatility -f win.dmp --profile=Win7SP1x86 firefoxhistory
USN 日志记录插件--NTFS 特性,用于跟踪硬盘内容变化(不记录具体变更内容)
wget https://raw.githubusercontent.com/tomspencer/volatility/master/usnparser/usnparser.py mv usnparser.py /usr/lib/python2.7/dist-packages/volatility/plugins/
volatility -f win.dmp --profile=Win7SP1x86 usnparser --output=csv --output-file=usn.csv
Timeline-------插件从多个位置收集大量系统活动信息
volatility -f win.dmp --profile=Win7SP1x86 timeliner
友情链接 http://www.cnblogs.com/klionsec
http://www.cnblogs.com/l0cm
http://www.cnblogs.com/Anonyaptxxx
http://www.feiyusafe.cn