取证简介:

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

kali linux之取证的更多相关文章

  1. ApacheCN Kali Linux 译文集 20211020 更新

    Kali Linux 秘籍 中文版 第一章 安装和启动Kali 第二章 定制 Kali Linux 第三章 高级测试环境 第四章 信息收集 第五章 漏洞评估 第六章 漏洞利用 第七章 权限提升 第八章 ...

  2. Kali Linux的发展史,专为数字取证和渗透测试而设计

    Kali Linux拥有非常强大的网络功能,Kali Linux是一个Debian衍生的Linux发行版,专为数字取证和渗透测试而设计.它是由OffensiveSecurityLtd维护和资助,是由M ...

  3. Kali Linux 2.0配置并安装常用的工具

    Kali Linux 前身是著名渗透测试系统BackTrack ,是一个基于 Debian 的 Linux 发行版,包含很多安全和取证方面的相关工具. Kali Linux 2.0是基于Debian ...

  4. KALI LINUX WEB 渗透测试视频教程—第十九课-METASPLOIT基础

    原文链接:Kali Linux Web渗透测试视频教程—第十九课-metasploit基础 文/玄魂 目录 Kali Linux Web 渗透测试视频教程—第十九课-metasploit基础..... ...

  5. 安装Kali Linux操作系统Kali Linux无线网络渗透

    安装Kali Linux操作系统Kali Linux无线网络渗透 Kali Linux是一个基于Debian的Linux发行版,它的前身是BackTrack Linux发行版.在该操作系统中,自带了大 ...

  6. 玩转渗透神器Kali:Kali Linux作为主系统使用的正确姿势TIPS

    Kali Linux 前身是著名渗透测试系统BackTrack ,是一个基于 Debian 的 Linux 发行版,包含很多安全和取证方面的相关工具. 本文假设你在新装好的kali linux环境下… ...

  7. Kali linux渗透测试的艺术 思维导图

    Kali Linux是一个全面的渗透测试平台,其自带的高级工具可以用来识别.检测和利用目标网络中未被发现的漏洞.借助于Kali Linux,你可以根据已定义的业务目标和预定的测试计划,应用合适的测试方 ...

  8. Kali Linux 发布 2019.1 版

    Kali Linux 是一个基于 Debian 的发行版,关注于高级渗透测试和安全审计并搭载各种常用工具,由 Offensive Security 维护.后者是一个提供信息安全训练的公司. 该项目于日 ...

  9. kali linux安装教程及VMware Tool工具的安装

    一.Kali Linux在VMware下的安装 kali系统的简介 1.Kali Kali Linux是基于 Debian 的 Linux发行版,设计用于数字取证和渗透测试的操作系统.由Offensi ...

随机推荐

  1. 2 数据库开发--MySQL下载(windows)

    Windows:(mysql) 操作: 0.下载安装mysql www.mysql.org downloads->进入社区community community 5.7.21 下载5.6 Mic ...

  2. java.util.ConcurrentModificationException异常分析

    Java在操作ArrayList.HashMap.TreeMap等容器类时,遇到了java.util.ConcurrentModificationException异常.以ArrayList为例,如下 ...

  3. 归纳整理Linux下C语言常用的库函数----字符串转换、字符测试、及内存控制

    在没有IDE的时候,记住一些常用的库函数的函数名.参数.基本用法及注意事项是很有必要的. 参照Linux_C_HS.chm的目录,我大致将常用的函数分为一下几类: 1. 内存及字符串控制及操作 2. ...

  4. cas-client登录后报INVALID_PROXY_CALLBACK

    服务器部署cas,登录后页面提示INVALID_PROXY_CALLBACK 然后查看cas的日志,日志报以下错误: 2018-06-29 11:36:06,251 ERROR [org.jasig. ...

  5. linux qmake commend not found

    最近在学习Go语言,想要安装IDE liteide,在按这篇教程进行安装,当执行./build_linux.sh的时候,提示qmake commend not found的字眼,于是在网上搜,说出现这 ...

  6. IP地址工具类

    /// <summary> /// 获取客户端IP地址 /// </summary> /// <returns></returns> public st ...

  7. vmware虚拟机开机报附件中的错误的解决办法

    Virtualized Inter VT-x/EPT is incompatible with this virtual machine configuration 在没有虚拟化msg.inter.h ...

  8. nignx reload的时候报错invalid PID number

    第一种思路是从PID号着手,提示无效PID号时nginx.pid文件为空,将进程的PID号追加到空的nginx.pid上,问题解决: 还有问题,请参考:https://www.cnblogs.com/ ...

  9. $_SERVER["HTTP_HOST"]

    $_SERVER["HTTP_HOST"]访问的网站的域名

  10. [Selenium] Java代码获取,设置屏幕分辨率

    import java.awt.Dimension; import java.awt.DisplayMode; import java.awt.GraphicsDevice; import java. ...