计算机取证技术.ppt_第1页
计算机取证技术.ppt_第2页
计算机取证技术.ppt_第3页
计算机取证技术.ppt_第4页
计算机取证技术.ppt_第5页
已阅读5页,还剩39页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

计算机取证技术 第六章linux系统取证 UNIX 是一个强大的多用户 多任务操作系统 支持多种处理器架构 按照操作系统的分类 属于分时操作系统 最早由KenThompson DennisRitchie和DouglasMcIlroy于1969年在AT T的贝尔实验室开发 商业版本 Solaris AIX HP UX免费操作系统 LINUX OpenBSD FreeBSD鉴于其基于网络的设计 UNIX系统是作为Internet和小型网络上的关键部分的理想平台 许多电子商务网站 公司财务数据库等都运行于UNIX平台 与Linux的区别和联系 UNIX是一个功能强大 性能全面的多用户 多任务操作系统 可以应用从巨型计算机到普通PC机等多种不同的平台上 是应用面最广 影响力最大的操作系统 Linux并不是UNIX 而是一个类似于UNIX的产品 它成功的实现并超越了UNIX系统和功能 具体讲Linux是一套兼容于SystemV以及BSDUNIX的操作系统 对于SystemV来说 目前把软件程序源代码拿到Linux底下重新编译之后就可以运行 而对于BSDUNIX来说它的可执行文件可以直接在Linux环境下运行 另外两大区别 1 UNIX系统大多是与硬件配套的 而Linux则可运行在多种硬件平台上 2 UNIX有些版本比如aix hp ux是商业软件是闭源的 不过solaris bsd等unix都是开源的 而Linux是自由软件 免费 公开源代码的 6 1LINUX系统现场证据获取 现场证据获取的目的 保护现场 即保存当前系统运行状态 凡是涉及计算机系统当前状态的数据都是收集的目标 在现场收集的数据应该优先考虑挥发性数据 要完全收集一台计算机的状态是不可能的 仅仅是检查高度易挥发的数据这种行为都会改变计算机的状态 在系统的主存中查找字符串验证在LINUX上数据的易挥发性 使用下面的命令 grepabasasdc dev membinarymatches dev mem是一个特殊的设备文件 对它的访问其实是对主存进行访问 类似的 虚拟存储器可以通过 dev kmem来访问日期 时间等基本的信息可以首先收集起来获取现场证据屏幕信息内存信息网络联接状态正在运行的进程 6 1 1屏幕信息 所有的UNIX版本都已经标准化了窗口操作标准 XWindows 它是一个网络系统 允许正在运行的进程把它们的窗口显示在对用户来说最方便的任何工作站上 XWindows的转储命令xwd能够转储一个单独的窗口或者整个屏幕 xwd displaylocalhost 0 root screen xwd xwud inscreen xwdxwd命令提供了 root选项 可以用它通过捕获XWindow系统根窗口捕获整个屏幕 XWindow系统根窗口是包含显示的所有其他XWindow系统窗口和对话框的全屏窗口 下面的命令捕获整个屏幕并把它写到full screen xwd文件中 wd root outfull screen xwd X Window环境下截图用X Window中的截图工具xwd与xwud是X Window中自带的截图工具 xwd是一个非常传统的屏幕截图软件 它可以截取程序窗口和全屏图像 xwud是X11图形工具客户程序 可以用它来显示由xwd程序创建的图形文件 这两个程序包含在X Window的标准发布版中 截取图像的方法如下 xwd myscreen xwd查看图像使用如下命令 xwud inmyscreen xwd实际使用中 可以用xwd结合其它图形转换程序直接获得想要的输出文件 6 1 1内存信息 在linux上 每个东西都被当作文件来对待 这使复制和保存系统存储器的内容变得容易 实例假定在一个文件系统中有一个具有很大自由空间的数据收集系统步骤一 在数据收集系统上设置两个监听netcat进程 nc l p10005 suspect mem images nc l p10006 suspect kmem images 步骤二从受嫌疑的机器上复制内存 ddbs 1024 dev memlnc192 168 0 210005 w332678 0recordsin32678 0recordsout ddbs 1024 dev memlnc192 168 0 210005 w322 0recordsin22 0recordsout注意 当复制高度异变的对象时 如系统的内存 是不可能验证其准确性的 6 1 3网络连接 使用netstat命令来捕获正在进行中的网络活动的信息 在典型的linux系统内 大多数的网络连接是能兼容XWindows的 即使只是在本地运行 XWindows也要使用网络机制 在LINUX中 使用 p选项来显示与特定的网络连接相关的进程 HTTP是无状态的 因为这些连接都具有很短暂的生存期 并且它们的状态迅速地循环到FIN WAIT状态 然后到CLOSE WAIT状态 同时 HPPT连接还提供了正在连接的机器的名字 当netstat不能够在本地的 etc hosts中查找到这些机器名时 它会尝试一下反向DNS查询 以确定与IP地址相关的主机名 6 1 4正在运行的进程 LINUX提供了许多工具 这些程序能够提供关于所有运行进程的信息 或者提供关于特定运行进程的细节 在捕获正在运行的机器状态时 主要的一个任务就是收集一份所有运行进程的列表 以及一份所有打开文件的列表 proc目录是一个伪文件系统 它为 dev kmem提供一个结构化的接口 便于系统诊断并查看每一个正在运行的可执行文件的环境 在内存中的每一个进程在 proc中都有一个目录 按它的进程ID来命名 可以通过 proc来完善收集到的进程列表信息 6 2linux中计算机证据获取 6 2 1文件系统6 2 2日志文件6 2 3其它信息源6 2 4数据恢复 6 2 1文件系统 目录在LINUX的文件系统中发挥很重要的作用 它比Windos的目录要简单的多 只包括文件名的列表和文件的索引节点号 每个文件都在索引节点表里有相关项 它包括除文件名外的所有与文件相关的信息 这些项可以通过索引节点号访问 索引节点包含了一个文件除去文件名以外的所有信息 一个索引节点占用128字节的磁盘空间 索引结点包含的信息文件类型 普通文件 目录 块设备文件 字符设备文件 链接等文件权限 读 写 执行权限的组合文件的硬链接数文件所有者的用户ID文件所属的组ID文件大小 字节数 一个包含有15个磁盘块地址的数组文件最近的访问时间和日期文件最后一次修改的日期和时间文件创建的日期和时间 LINUX所有文件均存放于目录中 目录本身也是一个文件 目录存放文件的机制 目录本身也和普通文件一样 占用一个索引节点由这个索引节点得到目录内容的存放位置从其内容中取出一个个的文件名和它对应的节点号 从而访问一个文件 目录结构 索引节点号 2字节 本目录 14字节 索引节点号 2字节 父目录 14字节 索引节点号 2字节 文件名 14字节 索引节点号 2字节 文件名 14字节 由上可知 文件名是依靠目录来描述的 文件的内容和其它信息则由索引节点来描述 在对文件的调查过程中 应该重点分析这些索引节点以及其中的内容 任何应用都会在磁盘上留下痕迹 有的直接在临时文件中留下 有的通过交换空间间接留下 在另外的一台计算机上使用所保存的文件系统的映像有两种方式 把映像复制进一个与该映像具有相同大小的分区内 首先使用dd把这个分区清除干净 然后使用dd把这个映像复制到该分区上 把这个映像文件复制进一个足够大的能够容纳它的文件系统中 然后把驱动映像文件作为一个文件系统来加载 RedhatLINUX的缺省配置在 dev中具有一系列的回送设备 使同时安装多个文件系统映像变得很方便 mkdir mnt suspecthost mount text2 oro loop dev loop0suspect hdb5 image mnt suspecthost如果有一个DOS文件系统的映像 也可以使用下面这种方法来访问它 mkdir mnt suspecthost2 mount tdos oro loop dev loop1suspect dos image mnt suspecthost2 6 2 2日志文件 logon和logoff或LINUX系统的任意事件都可以在一个或多个系统日志文件中产生记录 lastlog文件中的记录可以通过lastlog命令进行查看last命令可以用来查看wtmp和utmp文件中的记录 日志文件的详细程度各不相同 取决于日志记录机制是如何配置的 LINUX系统可以配置为记录每个用户账号 记录该账号执行的命令 或者通过Solaris系统的BSM 基本安全模块 进行记录 系统日志 登录日志 http日志 进账日志 系统日志 系统日志可能是最有价值的系统活动的信息源 如果满足下面两个条件 日志记录对取证会很有用 日志记录功能是激活的 而且记录必须足够详细 记录必须是完整的 在信息量的记录方面 syslog兼容的进程通常有较大的灵活性 检查一个系统的时候 查阅一下etc syslog conf 看看对每一个系统服务 日志记录机制是怎样设置的 日志信息被送到什么地方 syslog的主要的弱点就是它缺少认证服务 制造假的系统日志很容易 如何进行日志检查 对日志可疑情况的分析日志丢失日志在预期时间之后开始日志的第一个记录的时间信息一段时间内没有日志有缺口的区域丢失的日志记录使用其它方法来推测日志记录应该已经产生了特殊时间的异常活动不明来源的登录来自该组织范围外部的登录失败的登录失败或者未经授权地使用su为了获得根权限 攻击者会用到su命令试图访问 etc passwd有散列化的口令文件 攻击者就能够破解口令来自网络服务的错误某个网络服务已经被用于获取对系统的访问权过大的日志企图利用缓冲区溢出的漏洞 登录日志 在LINUX系统中 登录进程对每个控制台登录 远程登录 X会话 rsh的使用 FTP等会话维护一个记录为了适应不同的目的 该记录分散在三个不同的文件里 这些登录日志在所有的UNIX平台上都按照相同的方法使用 三种linux系统下的登录日志 var log utmp var log wtmp var log lastlog几种利用日志来报告用户活动的工具 lastlastlogwhow X会话在人机交互 会话管理是保持用户的整个会话活动的互动与计算机系统跟踪过程 会话管理分类 桌面会话管理 浏览器会话管理 Web服务器的会话管理 通常指的SESSION以及COOKIE 在XWindow系统中 X会话管理器是一个会话管理程序 这个程序能够保存和恢复一组程序的当前运行状态 在Linux操作系统中 很多操作都是有可能的 其中包括可以同时运行两个图形化桌面 在OSX或者Windows操作系统中 如果想让其它用户使用你的桌面 或者想同时使用两个不同的图形用户界面 那么你必须使用到 用户转化开关 userswitching 这将会临时终止一个桌面而进入到另一个桌面 桌面会话管理器是一个程序 可以保存和恢复桌面会话 桌面会话是所有正在运行的窗口和当前的内容 会话管理器基于Linux系统是由X会话管理器 在MicrosoftWindows系统 没有会话管理器包含在系统中 会话管理是由第三方提供类似twinsplay第三方应用程序 从X会话管理器的角度来看 一个会话是指给定时间的桌面状态 一组窗口以及它当前的内容 更精确的说 一个会话是一组管理窗口或与窗口有关的客户端以及允许这些程序恢复所需窗口的相关信息 使用会话管理器最显著的效果是再次登录进入时所有窗口和状态与登出时完全一致 rsh是 remoteshell 远程shell 的缩写 该命令在指定的远程主机上启动一个shell并执行用户在rsh命令行中指定的命令 如果用户没有给出要执行的命令 rsh就用rlogin命令使用户登录到远程机上 rsh配置过程FTP Protocol FTP 是TCP IP网络上两台计算机传送文件的协议 FTP是在TCP IP网络和INTERNET上最早使用的协议之一 它属于网络协议组的应用层 FTP客户机可以给服务器发出命令来下载文件 上载文件 创建或改变服务器上的目录 HTTP日志 如果检查的是一个Web服务器 应该检查http日志 许多常见的web攻击都会在http日志中留下非常明显的痕迹 使用grep命令 寻找奇怪的URL的证据 它们可能被用来获取超级用户或者shell的访问权限 例如 用字符串 passwd 做一次grep检索 可能返回一份所有收集 etc passwd的企图 许多常见的Web攻击在http日志中都会留下非常明显的痕迹 进程记账 进程记账最初用作建立进账记录来生成内部的账单 而现在的主要目的是安全 运行进程记账所要求的系统资源较低 但却能提供一份有用的系统活动的记录 记账程序维护了一份详细的关于每个被调用的进程的记录 它追踪时间 二进制文件名称和调用该进程的用户 在unix系统下 记账文件一般放置在 var adm pact var adm acct var adm pacct阅读这些文件的命令是acctcom或lastcomm默认情况下 linux系统并没有运行进程记账程序 因此 要使用记账记录需要预先配置 linuxgrep命令1 作用Linux系统中grep命令是一种强大的文本搜索工具 它能使用正则表达式搜索文本 并把匹配的行打印出来 grep全称是GlobalRegularExpressionPrint 表示全局正则表达式版本 它的使用权限是所有用户 2 格式grep options 3 options 主要参数 c 只输出匹配行的计数 I 不区分大小写 只适用于单字符 h 查询多文件时不显示文件名 l 查询多文件时只输出包含匹配字符的文件名 n 显示匹配行及行号 s 不显示不存在或无匹配文本的错误信息 v 显示不包含匹配文本的所有行 pattern正则表达式主要参数 忽略正则表达式中特殊字符的原有含义 匹配正则表达式的开始行 匹配正则表达式的结束行 到匹配正则表达式的行结束 单个字符 如 A 即A符合要求 范围 如 A Z 即A B C一直到Z都符合要求 所有的单个字符 有字符 长度可以为0 grep命令使用简单实例 grep test d 显示所有以d开头的文件中包含test的行 grep test aabbcc显示在aa bb cc文件中匹配test的行 grep a z 5 aa显示所有包含每个字符串至少有5个连续小写字符的字符串的行 grep w es t 1 aa如果west被匹配 则es就被存储到内存中 并标记为1 然后搜索任意个字符 这些字符后面紧跟着另外一个es 1 找到就显示该行 如果用egrep或grep E 就不用 号进行转义 直接写成 w es t 1 就可以了 6 2 3其它信息源 账号信息被攻击系统上的口令文件往往显示篡改的信息未经授权的信任关系不可见的文件和目录 find typed name print0 cat A tmpcrontab和at任务crontab定时运行程序 dev中非专用的文件在用户目录下的可执行文件内核转储文件shell和应用程序历史 内存转储是用于系统崩溃时 将内存中的数据转储保存在转储文件中 供给有关人员进行排错分析使用 如果是个人用户 选择 无 对普通用户来说 一点用处也没有 甚至会导致泄密 小内存转储 就是只保存内存前64KB的基本空间数据的内存转储文件 这样可以节省磁盘空间 也方便文件的查看 右键点击 我的电脑 选 属性 高级 启动和故障恢复 设置 打开 启动和故障恢复 选项卡 在 写入调试信息 下拉列表中选中 小内存转储 64KB 选项 这个概念源于UNIX系统 当程序在执行的时候 由于编写的失误或未经过充分的测试 程序对系统构成威胁 就可能会导致核心转储 coredump 令人摸不着头脑 在UNIX系统中 常将 主内存 mainmemory 称为核心 core 因为在使用半导体作为内存材料之前 便是使用核心 core 而核心映像 coreimage 就是 进程 执行当时的内存内容 当进程发生错误或收到 信号 而终止执行时 系统会将核心映像写入一个文件 以作为调试之用 这就是所谓的核心转储 coredump 6 2 4数据恢复 UNIX系统下文件被删除后很难恢复 这是由UNIX独特的文件系统结构决定的 UNIX文件删除的过程很简单 那就是释放索引节点表和文件占用的数据块 清空文件占用的索引节点 但不清除文件内容 删除文件与删除目录的处理不尽相同 不同命令删除文件的过程也不相同 删除一个文件删除一个目录几种不同的删除命令rm命令mv命令 命令 数据恢复 根据磁盘现场进行恢复根据内容恢复关键字搜索法精确长度搜索法内容关联法环境比较法 6 3简单的取证推理 6 3 1寻找关键字6 3 2分析恶意的进程6 3 3分析未知代码 6 3 1寻找关键字 找到一个特定的关键字的文件的过程步骤一 搜索一个特定的关键字的出处 把整个文件系统作为一个文件来看待 在文件系统的映像上用grep检索关键字在代表该设备的特殊文件上执行搜索步骤二 定位该字符串再次出现在其中文件的位置 如果在用户主目录的文件中找到该字符串 那么可以从那里开始 用

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论