Windows与Linux取证分析

目录

一、电子数据取证基本概念

1.电子取证学

2.常规取证

3.洛卡德物质交换原理

4.电子数据范围

5.电子数据取证的概念和目的

6.电子数据取证过程

二、Linux系统取证

1.基本信息获取

(1)获取系统基础信息

(2)用户/用户组信息

(3)网络信息

2.系统运行状态

(1)任务计划

(2)进程信息

(3)服务信息

2.日志分析

(1)系统接入日志

(2)进程统计日志

(3)错误日志

3.常用日志文件

(1)文本日志

(2)二进制日志

4.应用日志

(1)Apache服务日志

(2)CUPS打印系统日志

(3)Samba日志

(4)其他日志

三、Windows系统取证

1.主要的易失性数据

2.相关命令

3.windows重点目录

(1)用户目录

(2)桌面

(3)最近访问文档

(4)我的文档

(5)启动目录

(6)交换文件

(7)休眠文件

(8)假脱机打印文件

4.注册表

(1)注册表分支

(2)用户信息

(3)系统信息

5.事件日志

(1)系统日志

(2)应用程序日志

(3)安全日志

(4)应用程序和服务日志

6.数字时间取证

(1)系统时间

(2)时间取证的基本判断规则

(3)访问时间的证据效力

7.电子数据时间查询

(1)文件系统创建时间

(2)操作系统时间


一、电子数据取证基本概念

1.电子取证学

为了打击网络犯罪而生,是计算机学科与法学学科交叉的学科

2.常规取证

有调查取证权的组织或者个人为了查明案件事实的需要,向有关单位或个人依法进行调查和收集证据。

3.洛卡德物质交换原理

没有真正完美的犯罪,只有未被发现的线索,犯罪者,必留痕,每一个犯罪行为都会留下痕迹,电子数据同样遵循这个原理

4.电子数据范围

电子文件:网页、博客、微博客、朋友圈、贴吧、网盘等网络平台发布的信息; 手机短信、电子邮件、即时通信、通讯群组等网络应用服务的通信信息; 用户注册信息、身份认证信息、电子交易记录、通信记录、登录日志等信息; 文档、图片、音视频、数字证书、计算机程序等

5.电子数据取证的概念和目的

把数字证据转换为报告形式的过程,为法庭审判提供合法的证据

6.电子数据取证过程

(1)证据收集

注意电子数据的脆弱性

(2)数据获取

一定要保证原始数据

(3)数据分析

(4)取证报告

二、Linux系统取证

1.基本信息获取

系统版本信息,用户/用户组信息,网络信息(端口,路由,防火墙),系统运行状态(任务计划,进程信息,服务信息)

(1)获取系统基础信息

#1.系统发行版本信息(过时)
uname -a 
​
#2.系统发行版本信息(过时)
lsblk 
lsb_version
cat /etc/issue #在ubuntu中查看系统发行版本信息
cat /etc/redhat-release #在CentOS7中查看系统发行版本信息

(2)用户/用户组信息

cut -d:-f1 /etc/passwd
cut -d:f1 /etc/group

(3)网络信息

#1.IP信息
ip a show
​
#2.路由信息
ip route
​
#3.端口信息
ss-antp/netstat
​
#4.防火墙规则
iptables -L

2.系统运行状态

(1)任务计划

cat /etc/crontab
cat /var/spool/cron/USERNAME

(2)进程信息

ps -aux #a:与终端相关的进程,u:以用户为中心组织进程状态信息显示,x:与终端无关的进程
ps -ef #e:显示所有进程,f:显示完整格式程序信息

(3)服务信息

systemctl list-units --type=服务    #显示所有已经启动的服务
systemctl list-units -t service -a      #所有开启和关闭的
systemctl list-units -files -t service -a    #开机不启动,但是可以被另一个服务激活
cat /urs/lib/systemd/system    #服务目录

2.日志分析

在Linux中,日志是通过syslog记录的,在centos中被rsyslog代替,但是功能相同

rsyslog配置文件

/etc/rsyslog.conf

日志分为三类日志

(1)系统接入日志

根据日志追踪到谁在何时登录系统

/var/log/wtmp和/var/run/utmp #[telnet,ssh等程序会更新wtmp和utmp文件]

(2)进程统计日志

分析系统使用者对系统进行的配置以及对文件进行的操作

(3)错误日志

/var/log/messages

3.常用日志文件

(1)文本日志

/var/log/boot.log     #系统引导过程信息
/var/log/cron  #任务计划日志
/var/log/maillog #邮件日志
/var/log/messages #多个进程日志汇总
/var/log/secure #记录安全相关信息,主要是认证,权限使用等相关信息
/var/log/audit/audit.log #记录系统安全审计信息,尤其是SElinux安全审计信息

(2)二进制日志

/var/log/laslog  #记录最近成功登录时间和最后一次不成功登录时间
/var/log/wtmp #永久记录每个用户登录、注销以及系统的启动、停机事件
/var/log/utmp #该日志文件记录有关当前登录的每个用户信息

4.应用日志

(1)Apache服务日志

/var/log/httpd/access.log  #客户系统访问记录
/var/log/httpd/error.log   #所有出错记录

(2)CUPS打印系统日志

/var/log/cups/access_log
/var/log/cups/error_log

(3)Samba日志

ls /var/log/samba

(4)其他日志

/var/log/mysqld.log
/var/log/yum.log

三、Windows系统取证

当发现 Windows 系统受到入侵而需要对系统进行取证分析的时候,首先需要关闭系统,然后对硬盘进行按位(bit-level)备份。但是有些重要的入侵数据一旦关机往往会丢失。这些证据主要存在于被入侵机器的寄存器、缓存、内存中。主要包括网络连接状态、正在运行的进程等信息。这些数据被称为易失性数据。

1.主要的易失性数据

统日期和时间,当前运行的活动进程,当前的网络连接,当前打开的端口,在打开的套接字(socket)上监听的应用程序,当前登录的用户,剪贴板数据

2.相关命令

ipconfig:查看系统 IP 地址 netstat:列出所有监听端口以及这些端口的所有连接 nbtstat:列出最近 10 分钟内的 NetBIOS 连接 net:列出 NetBIOS 连接、用户账号、共享文件夹等信息 arp:本机的 ARP 缓存表 doskey:显示打开 cmd.exe 命令解释程序的命令记录

3.windows重点目录

(1)用户目录

用于存储用户文件和配置,以此来区分不同用户的使用环境和权限。无论是本地用户还是网络用户,第一次登录系统都会自动生成一个用户目录。

系统目录
Windows XPC:\Documents and Settings\Username
Windows 7/8/10C:\Users\Username

(2)桌面

存储用户桌面上的快捷方式和文件,属于取证中需要重点关注的目录。

C:\Users\Username\Desktop

(3)最近访问文档

每当用户打开一个目录或者文件时,系统会自动在最近访问文件夹生成一个快捷方式。通过最近访问文档可以了解用户的习惯,重点关注这些文档,可以快速开展取证工作,发现线索。

C:\Users\Username\Recent

# 完整路径
C:\Users\Username\AppData\Microsoft\Windows\Recent

# 快速访问
shell:recent

AutomaticDestinations和CustomDestinations文件夹正常在Recent目录无法查看,直接访问完整路径即可

(4)我的文档

用于存储个人文件,如微信数据默认存储在该文件夹中

C:\Users\Username\Documents

(5)启动目录

将快捷方式添加到该文件夹中即可实现对应程序开机自启。

用户开机自启文件

C:\Users\Username\AppData\Roaming\Microsoft\Windows\Start Menu\Programs\Startup

攻击者在得到系统管理权限之后,可在启动目录中放置一个木马,如在启动项中发现陌生的程序,很有可能是恶意代码。

系统开机自启文件

C:\ProgramData\Microsoft\Windows\Start Menu\Programs\StartUp

(6)交换文件

当内存少于系统应用的需求时,系统会生成一个交换文件来暂存内存数据,以释放部分内存,这个交换文件叫做页文件(pagefile.sys),页文件存放于根目录。

(7)休眠文件

计算机进入休眠状态后,内存被转存到硬盘的休眠文件中,以便系统被快速的唤醒,休眠文件一般在根目录(hiberfil.sys)

交换文件和休眠文件存储的都是内存数据,可使用内存分析。

(8)假脱机打印文件

Windows中打印文件时,会生成假脱机打印文件,打印结束或取消打印后,假脱机打印文件会删除

C:\Windows\System32\spool\PRINTERS

SPL:假脱机文件

SHD:影子文件

SPL和SHD文件中包含了用户名、打印机名、文件名等

4.注册表

注册表被称为Windows操作系统的核心,它的工作原理实质是一个庞大的数据库,存放了关于计算机硬件的配置信息、系统和应用软件的初始化信息、应用软件和文档文件的关联关系、硬件设备的说明以及各种状态信息和数据。

C:\Windows\System32\config

(1)注册表分支

名称作用
HKEY_CLASSES_ROOT存储windows可识别的文件类型的详细列表,以及关联程序
HKEY_CURRENT_USER存储当前用户的设置信息
HKEY_LOCAL_MACHINE包装安装在就算计上的硬件和软件的信息
HKEY_USERS包含使用计算机的用户信息
HKEY_CURRENT_CONFIG这个分支包含计算机当前的硬件配置信息

(2)用户信息

HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\ProfileList

(3)系统信息

HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion

5.事件日志

系统日志是记录系统中硬件、软件和系统问题的信息,同时还可以监视系统中发生的事件。用户可以通过它来检查错误发生的原因,或者寻找受到攻击时攻击者留下的痕迹。系统日志包括系统日志、应用程序日志和安全日志。

包含:系统日志“System”、安装日志“Setup”、应用程序日志“Application”、安全日志“Security”。

C:\Windows\System32\winevt\Logs

(1)系统日志

记录系统进程和设备驱动程序的活动,例如启动失败的驱动程序、硬件错误、重复的IP地址及服务启动暂停和停止。

(2)应用程序日志

应用程序日志包含由应用程序或程序记录的事件。例如,数据库程序可在应用程序日志中记录文件错误。

(3)安全日志

安全日志包含诸如有效和无效的登录尝试等事件,以及与资源使用相关的事件,如创建、打开或删除文件或其他对象。

(4)应用程序和服务日志

应用程序和服务日志是一种新类别的事件日志。这些日志存储来自单个应用程序或组件的事件,而非可能影响整个系统的事件。

6.数字时间取证

(1)系统时间

系统时间以主板上CMOS时间作为基准(由主板上的一块电池供电)。CMOS时钟是操作系统的时间来源,电池电量不足或晶振频率不准可能会导致CMOS时间不准,从而影响操作系统的时间。在Windows系统中,可用使用网络校时保证时间的准确。

从某种意义上来说,CMOS时间是系统所有时间的来源,操作系统时间、文件存储、修改、访问时间来源都是CMOS时间。

(2)时间取证的基本判断规则

文件和文件夹在移动、复制、剪贴等常见操作下,时间会有不同的变化规律,这些变化规律取决于操作系统和文件系统。

(1)如果修改时间等于建立时间,那么文件是原始文件,既没有被修改也没有被剪切。

(2)如果修改时间早于建立时间,则文件被复制或者移动部。

(3)如果在硬盘上批量的文件具有很近的访问时间,这些文件极有可能被同一工具软件扫描过,如杀毒软件。如果在一个文件夹中的一些图像或视频文件有很近的访问时间,并且没有其他图像和视频文件具有相似的访问时间,则这些图像和视频极有可能被同一个图像或视频预览工具访问或者打开过,例如用Windows资源管理器以缩略图的方式查看。

(4)在一个文件夹中,如果一些文件的修改时间等于创建时间。并且有很近的创建时间或修改时间,那么这些文件有可能是从网上批量下载的。

(5)文件拷贝的时候,文件创建时间为拷贝的时间,文件修改时间与原文件一致。

(6)文件下载的时候,文件创建时间为下载的时间,文件修改时间为下载结束的时间。

(7)压缩文件解压时,通常情况下(Winrar、Winzip)文件的创建时间为解压缩时间,文件修改时间与压缩前的文件一致。

(3)访问时间的证据效力

文件的属性时间是确定文件的创建 、修改和访问的重要标记。在证据效力上,创建时间,修改时间、节点修改时间都有较强证据力。而访问时间在FAT中不显示时间,以两秒间隔更新,同时访问时间极易受到干扰,因此证据率最低。如使用资源管理器查看文件属性信息时,可能会篡改文件的访问时间。

在FAT文件系统中访问时间更新是一天。在NTFS文件系统中,文件的最后访问时间的最大更新间隔是一小时。因此硬盘上的文件的最后访问时间都是不准确的。当用户或程序对某个文件执行只读操作时,系统会延缓硬盘上的文件的最后访问时间时间,但是会在内存中记录这个时间。当原始的最后访问时间和当前的最后访问时间相差大于一小时时,才会更新文件的最后访问时间。如果执行写操作会立刻更新,这种更新策略是减少频繁的硬盘读写对性能的影响。

7.电子数据时间查询

(1)文件系统创建时间

FAT文件系统

如果FAT分区有卷标,在根目录偏移量为0X16处是windows/DOS文件时间格式表示的最后写入时间。

NTFS文件系统

主文件表($MFT)属性中的标准属性(10属性)属性体(偏移量为0X50处)记录了分区的创建、修改、节点修改、访问时间(共四组)等信息。

EXT4文件系统

EXT4文件系统是Linux常用的文件系统。EXT4的超级块中保存了文件系统的属性信息、磁盘布局和资源使用情况等信息。文件系统通过超级块了解磁盘的布局,查找已用和可用资源等。 超级块偏移量0X2C-0X2F处记录了最后挂载时间,0X30-0X33处记录了最后写入时间,0X40-0X43处记录了最后检查时间,0X108-0X10B处记录了文件系统创建时间。

HFS+文件系统

HFS+文件系统是Mac OS系统常用的文件系统。格式化HFS+文件系统时,生成文件系统卷头(2号扇区),类似FAT和NTFS的DBR,卷头偏移量0X10-0X1F处记录了创建、修改、备份、最后检查时间四个时间信息,创建时间以本地时间保存,其他时间以GMT/UTC时间保存。

Windows操作系统安装时间

初始安装时间保存在注册表HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion的InstallDate键中,时间以C/UNIX时间格式存储(大端)。

Windows开关机时间

系统日志记录开关机的日志信息,其中事件ID=6005记录日志启动时间(=系统开机),事件ID=6006记录日志停止事件(=系统关机)。事件ID=6008记录异常关闭(=系统异常关闭)。

(2)操作系统时间

注册表中的关机时间

Windows正常关机时间保存在注册表HKEY_LOCAL_MACHINE\SYSTEM\ControlSet001\Control\Windows的ShutdownTime键值中,时间以Windows/FILETIME时间格式保存。系统非正常关机(如断电或死机)不一定会记录时间更新信息。

Windows用户登录时间

注册表中用户登录信息,HKEY_LOCAL_MACHINE\SAM\SAM\Domains\account\User\name%DIR%\的F键中,DIR是相对标识符,由用户名Name指定。

Windows用户登录事件

Windows系统日志中记录用户登录事件,由登录事件可查询登录的用户名、登录时间等信息。登录成功(4624)事件的登录类型为2表示互动登录(本地键盘登录系统)

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mfbz.cn/a/41445.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

Baichuan-13B:130亿参数的开源语言模型,引领中文和英文benchmark

Baichuan-13B: 一个强大的开源大规模语言模型 标题:Baichuan-13B:130亿参数的开源语言模型,引领中文和英文benchmark Baichuan-13B是由百川智能开发的一个开源大规模语言模型项目,包含了130亿参数。该模型在中文和英文的权威ben…

mongodb集群搭建

下载地址: https://www.mongodb.com/try/download/community下载mongodb-linux-x86_64-rhel70-5.0.18 搭建集群 tar -zxvf mongodb-linux-x86_64-rhel70-5.0.18.tgz mkdir -p data/dp cd mongodb-linux-x86_64-rhel70-5.0.18 mkdir -p data/db mkdir log mkdir c…

MiniGPT4系列之二推理篇命令行方式:在RTX-3090 Ubuntu服务器推理详解

MiniGPT4系列之一部署篇:在RTX-3090 Ubuntu服务器部署步骤详解_seaside2003的博客-CSDN博客 MiniGPT4系列之二推理篇命令行方式:在RTX-3090 Ubuntu服务器推理详解_seaside2003的博客-CSDN博客 MiniGPT4系列之三模型推理 (Web UI):在RTX-309…

pytorch 2.0初探:和pytorch 1.13的速度对比

看到pytorch2.0出来了,而且宣传提速明显,一行代码即可提速43%左右: compiled_model torch.compile(model) We then measure speedups and validate accuracy across these models. Since speedups can be dependent on data-type, we measu…

Ubuntu学习笔记(二)——文件属性与权限

文章目录 前言一、用户与用户组1.用户(文件拥有者)2.用户组3.其他人 二、Linux用户身份与用户组记录文件1. /etc/passwd2. /etc/shadow3. /etc/group 三、文件属性与权限1. 查看文件属性的方法(ls)2.文件属性详细介绍2.1 权限2.2 …

【Redis】高可用之三:集群(cluster)

本文是Redis系列第6篇,前5篇欢迎移步 【Redis】不卡壳的 Redis 学习之路:从十大数据类型开始入手_AQin1012的博客-CSDN博客关于Redis的数据类型,各个文章总有些小不同,我们这里讨论的是Redis 7.0,为确保准确&#xf…

Spring Boot进阶(55):SpringBoot之集成MongoDB及实战使用 | 超级详细,建议收藏

1. 前言🔥 前几期我们有介绍Mysql、Redis等数据库介绍及实战演示,对基本的数据存放有很好的共性,但是如果说遇到大面积的xml、Json、bson等格式文档数据存放,以上数据库并非是最优选择,最优选择是Mongodb数据库。 那么…

采集极验4滑块验证码图片数据

在网络安全领域,验证码是一种常见的用于验证用户身份或防止恶意机器人攻击的技术。而极验4滑块验证码作为一种广泛应用的验证码形式,其具有较高的安全性和防御能力。本文将以获取极验4滑块验证码图片数据为主题,介绍相关技术和方法。 一、极…

【测试设计】使用jenkins 插件Allure生成自动化测试报告

前言 以前做自动化测试的时候一直用的HTMLTestRunner来生成测试报告,后来也尝试过用Python的PyH模块自己构建测试报告,在后来看到了RobotFramework的测试报告,感觉之前用的测试报告都太简陋,它才是测试报告应该有的样子。也就是在…

如果微信消息显示“已读”的话......

近日,一则 #如果微信显示已读的话# 话题冲上了微博热搜榜单。 “已读”是很多社交软件拥有的功能,如果对方接收并查看了消息,就会在消息上显示“已读”,但目前微信还没有推出这项功能。 对于“已读”功能,不少网友纷纷…

力扣 135. 分发糖果

题目来源:https://leetcode.cn/problems/candy/description/ C题解(来源代码随想录): 先从左往右比较,右边孩子评分比左边高就多发1颗糖,否则就只发1颗;再从右往左比较,左边孩子评分…

面试题 02.07. 链表相交

给你两个单链表的头节点 headA 和 headB ,请你找出并返回两个单链表相交的起始节点。如果两个链表没有交点,返回 null 。 图示两个链表在节点 c1 开始相交: 题目数据 保证 整个链式结构中不存在环。 注意,函数返回结果后&#x…

260道网络安全工程师面试题汇总(附答题解析+配套资料)

由于我之前写了不少网络安全技术相关的文章和回答,不少读者朋友知道我是从事网络安全相关的工作,于是经常有人私信问我: 我刚入门网络安全,该怎么学? 想找网络安全工作,应该要怎么进行技术面试准备&…

ROS:action通信

目录 一、前言二、概念三、作用四、实际案例4.1需求4.2action通信自定义action文件4.2.1定义action文件4.2.2编辑配置文件4.2.3编译 4.3action通信自定义action文件调用(C)4.3.1流程4.3.2vscode配置4.3.3服务端4.3.4客户端4.3.5编译配置文件4.3.6执行 4.4action通信自定义actio…

服务器使用UDP通讯127.0.0.1测试成功连接服务器却通讯失败

首先看看本人情况 解释一下: 1:左边窗口是模拟服务程序,功能是收到消息后把消息打印出来,并把收到的消息再发回给发送消息的主机 2:右边窗口是模拟客户程序,功能是将输入的消息发送给服务程序的主机&…

回归预测 | MATLAB实现基于BiGRU-AdaBoost双向门控循环单元结合AdaBoost多输入单输出回归预测

回归预测 | MATLAB实现基于BiGRU-AdaBoost双向门控循环单元结合AdaBoost多输入单输出回归预测 目录 回归预测 | MATLAB实现基于BiGRU-AdaBoost双向门控循环单元结合AdaBoost多输入单输出回归预测预测效果基本介绍模型描述程序设计参考资料 预测效果 基本介绍 1.MATLAB实现基于B…

Revit 导出明细表的两种方法!

方法一、Revit中怎么灵活运用明细表格式的导出与导入 在做项目的时候,遇到一些项目需要进行工程量统计的时候,经常需要设置明细表里面的格式,例如字体、表格排布样式等,但是项目一旦多起来,这些工作重复性又太高&#…

vue+element-ui通用后台管理系统(适合新手)

vueelement-ui通用后台管理系统(适合新手) 1、使用到的技术 使用vue2element-uiaxiosjs-cookielessecharts实现的一个简易的通用后台管理系统,具有很强的可扩展性,修改简单,只要有点前端基础就能看懂; 2…

Leetcode-每日一题【19.删除链表的倒数第N个结点】

题目 给你一个链表,删除链表的倒数第 n 个结点,并且返回链表的头结点。 示例 1: 输入:head [1,2,3,4,5], n 2输出:[1,2,3,5] 示例 2: 输入:head [1], n 1输出:[] 示例 3&#x…

Ubuntu 18.04 Docker 安装配置 Apollo 6.0

百度 Apollo 安装测试(1) Apollo 6.0 安装完全指南 在这一步出错: 进入到 Apollo 源码根目录,打开终端,执行下述命令以启动 Apollo Docker 开发容器 ./docker/scripts/dev_start.sh并没有成功启动 Apollo docker 开发…