kali linux之取证

取证简介:

 

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

posted @ 2019-03-14 14:42 Hydraxx 阅读(...) 评论(...) 编辑 收藏