Windows与Linux取证分析

news2024/10/6 5:54:44

目录

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

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.coloradmin.cn/o/768146.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

centos 安装pyzbar

需求: 运行程序报错 ImportError: Unable to find zbar shared library 进程: 直接使用yum 安装 yum install python-devel && yum install zbar-devel 有时候会能成功,大多数时候python-devel 能成功但是 zbar-devel 会失败 下载…

数据代码分享|R语言基于逐步多元回归模型的天猫商品流行度预测

全文链接:https://tecdat.cn/?p33212 本文通过利用回归模型对天猫商品流行度进行了研究,确定了决定天猫商品流行度的重要因素。并讲述、论证了预测天猫商品流行度是天猫商品交易的至关重要的环节。通过对天猫商品流行度预测技术的发展和探讨&#xff0c…

ModuleNotFoundError: No module named ‘neobolt.packstream._packer‘解决办法

python打包完成后运行报下述错误 在打包得python文件加入以下包,重新打包,问题解决 代码如下: import neobolt.packstream.packer import neobolt.packstream.unpacker import neobolt.bolt.io

PostgreSQL 的就业前景如何?

PostgreSQL的就业前景非常广阔,它是一种功能强大、可靠且开源的关系型数据库管理系统。以下是说明PostgreSQL就业前景的几个关键点: 1.高需求:随着企业和组织对数据存储和管理的需求不断增长,对数据库专业人员的需求也在持续上升…

基于linux下的高并发服务器开发(第二章)- 2.11 匿名管道概述

03 / 匿名管道 04 / 管道的特点 05 / 为什么可以使用管道进行进程间的通信 管道对应一个读端,一个写端。比如说往父进程的文件描述符5 往管道里面写数据,子进程的文件描述符6读出数据。 06 / 管道的数据结构 07 / 匿名管道的使用

win10下解决git报错 Permission denied(publickey)

今天在csdn的GitCode新建了一个项目,然后在windows下git clone时出现错误 gitgitcode.net: Permission denied (publickey). fatal: Could not read from remote repository. Please make sure you have the correct access rights and the repository exists. 完整…

transforms

batch norm是列标准化,layer norm是行标准化 transforms的encoder,这里省略了一些东西。每一个block都是输入一段向量,然后输出一段向量。每一个block不仅仅是一层layer。每一个block所做的事情,大概是先输出一段向量&#xff0c…

Elasticsearch 集群某一节点修改 IP 后无法启动问题复盘

1、集群环境及问题描述 集群版本:6.8.X集群节点:5节点(三个节点为主数据节点,另外两个独立数据节点)。问题描述:由于IP冲突,修改了一台服务器的IP,然后5台配置改了一下一次重启&…

导入虚拟机指定NAT模式 IP地址

选vmx扩展名的文件 然后设置IP 选择你自定义的那个网段 大功告成

基于51单片机和proteus的电流采集系统

此系统是基于51单片机和proteus的仿真设计,功能如下: 1. LCD1602实时显示获取到电流值及设定值。 2. 按键可调整电流设定值。 3. 电流值过高则蜂鸣器报警。 4. 指示灯指示电流及系统状态。 5. 系统信息可通过串口实时更新。 功能框图如下&#xff1…

C#窗体添加自定义控件

C#窗体添加自定义控件。 新建一个窗体项目: 在左侧工具箱点击右键选择添加选项卡: 将自定义控件的动态链接库(.dll)放到项目中:文件夹名字随意 在工具箱中选中刚刚添加的工具项,点击右键,选择添…

大模型开发(六):OpenAI Completions模型详解并实现多轮对话机器人

全文共8500余字,预计阅读时间约17~30分钟 | 满满干货(附代码),建议收藏! 代码下载点这里 一、 Completions与Chat Completions基本概念 经过海量文本数据训练的大模型会在全量语义空间内学习语法关系和表达风格,并通过某些微调过…

13.postgresql--函数

文章目录 标量示例复合示例有返回值函数返回voidRETURN NEXT ,RETURN QUERYRETURN EXECUTEIF THEN END IFFOREACH,LOOPSLICE (1)如果函数返回一个标量类型,表达式结果将自动转行成函数的返回类型。但要返回一个复合(行&#xff09…

python如何打包整个项目成exe文件?

首先需要进入项目打包文件所在的目录 运行以下命令打包 build_medicalgraph.py文件 pyinstaller -D build_medicalgraph.py 打包完成后一定要记得下面这个步骤,否则运行会发现报错 把数据文件给放到exe文件同级别目录下 除了以下文件保留,其他文件可以…

EXISTS和IN的区别

一.EXISTS和IN的介绍 1. exists exists返回的是true(空)和flase(非空) 对user表的每行数据逐条取出,每取一行,就判断exists后面的子语句的结果是否为空,是空,这行数据就不要,不是空,这行数据就留下. 如下: select * from user where exists (select 1); 对user表…

js计算数组中每个元素出现的次数

tip:空值合并运算符(??)是一个逻辑运算符,当左侧的操作数为 null 或者 undefined 时,返回其右侧操作数,否则返回左侧操作数。reduce() 方法对数组中的每个元素按序执行一个提供的 reducer 函数&#xff0…

VUE之基本组成和使用

参考资料: 参考视频 视频资料及个人demo vue官网 vue官网-vue.js组成说明 VUE之基本部署及VScode常用插件 关闭驼峰命名法的使用异常 VUE项目结构介绍: 通过上文步骤(VUE之基本部署及VScode常用插件),我们创建了一个基本的…

【业务功能篇48】后端接口开发的统一规范

业务背景:日常工作中,我们开发接口时,一般都会涉及到参数校验、异常处理、封装结果返回等处理。而我们项目有时为了快速迭代,在这方面上有所疏忽,后续导致代码维护比较难,不同的开发人员的不同习惯&#xf…

5、Java入门教程【数组】

数组是用于存储同种类型的多个数据的容器。 一、声明 //语法 dataType[] arrayRefVar; // 首选的方法 或 dataType arrayRefVar[]; // 效果相同,但不是首选方法//示例 double[] myList; // 首选的方法 或 double myList[]; // 效果相同&…

服务机器人应用

随着时代的发展,机器人技术在各个领域越来越普及。在服务领域,服务机器人的应用也越来越受到人们的欢迎。服务机器人将会在商业、医疗、教育、酒店等领域得到应用,并成为未来发展的趋势。 在商业领域中,服务机器人可以承担很多工作…