Windows系统日志
简介:
Windows操作系统在运行过程中会记录大量日志信息。这些日志主要包括Windows 事件日志、IIS日志、FTP日志、Exchange Server邮件服务日志、SQL Server 数据库日志。
Windows 日志文件以特定的数据结构存储,每个记录事件的数据结构包含9个元素:日期/时间、事件类型、用户、计算机、事件ID、来源、类别、描述、数据。 查看日志可以通过系统自带的事件查看器查看。
Windows系统内置三个核心日志文件:System、Security、Application,默认大小均为20480kB也就是20MB,记录数据超过20MB时会覆盖过期的日志记录;其他的应用程序以及服务日志默认大小均为1MB,超过这个大小一样的处理方法。
日志类型:
Windows 事件日志共有5种类型,所有的事件类型必须是这5种的其中一种,而且只能是一种。这5种事件类型分别是:
事件类型 | 注释 |
---|---|
信息(Information) | 指应用程序、驱动程序、或服务的成功操作事件 |
警告(Warning) | 警告事件不是直接的、主要的,但是会导致将来问题的发生 |
错误(Error) | 指用户应该知晓的重要问题 |
成功审核(Success Audit) | 主要指安全性日志,记录用户的登录/注销、对象访问、特权使用、账户管理、策略更改、详细跟踪、目录服务访问、账户登录事件 |
失败审核(Failure Audit) | 失败的审核安全登录尝试 |
事件日志文件类型:
类别 | 类型 | 描述 | 文件名 |
---|---|---|---|
Windows日志 | 系统 | 包含系统进程,设备磁盘活动等。事件记录了设备驱动无法正常启动或停止,硬件失败,重复IP地址,系统进程的启动,停止及暂停等行为。 | System.evtx |
Windows日志 | 安全 | 包含安全性相关的事件,如用户权限变更,登录及注销,文件及文件夹访问,打印等信息。 | Security.evtx |
Windows日志 | 应用程序 | 包含操作系统安装的应用程序软件相关的事件。事件包括了错误、警告及任何应用程序需要报告的信息,应用程序开发人员可以决定记录哪些信息。 | Application.evtx |
应用程序及服务日志 | Microsoft | Microsoft文件夹下包含了200多个微软内置的事件日志分类,只有部分类型默认启用记录功能,如远程桌面客户端连接、无线网络、有线网路、设备安装等相关日志。 | 详见日志存储目录对应文件 |
应用程序及服务日志 | Microsoft Office Alters | 微软Office应用程序(包括Word/Excel/PowerPoint等)的各种警告信息,其中包含用户对文档操作过程中出现的各种行为,记录有文件名、路径等信息。 | OAerts.evtx |
应用程序及服务日志 | Windows PowerShell | Windows自带的Powershell的日志信息 | Windows Powersh.evtx |
应用程序及服务日志 | Internet Explore | IE浏览器应用程序的日志信息,默认未启用 | InternetExplotrer.evtx |
日志文件存放位置:%SystemRoot%\System32\winevt\Logs
常见的事件ID对应表:
适用于Win8/Win10/Server2008/Server2012 以及以后版本
事件ID | 说明 |
---|---|
1102 | 清理审计日志 |
4624 | 账号登录成功 |
4625 | 账号登录失败 |
4672 | 授予特殊权限 |
4720 | 创建用户 |
4726 | 删除用户 |
4728 | 将成员添加到启用安全的全局组中 |
4729 | 将成员从安全的全局组中移除 |
4732 | 将成员添加到启用安全的本地组中 |
4733 | 将成员从启用安全的本地组中移除 |
4756 | 将成员添加到启用安全的通用组中 |
4757 | 将成员从启用安全的通用组中移除 |
4719 | 系统审计策略修改 |
其余事件ID可以通过此网站查找:http://www.eventid.net/search.asp
这五类事件中最重要的是成功审核(Success Audit),所有系统登录成功都会被标记为成功审核。每个成功登录事件都会标记一个登录类型。
登录类型 | 描述 |
---|---|
2 | 交互式登录(用户从控制台登录) |
3 | 网络(通过net、use访问共享网络) |
4 | 批处理 |
5 | 服务启动,由服务控制管理器启动 |
7 | 解锁(带密码保护的屏幕保护程序的无人值班工作站) |
8 | 网络明文(IIS服务器登录验证) |
9 | 新凭据登录 (呼叫方为出站连接克隆了其当前令牌和指定的新凭据。 新登录会话具有相同的本地标识,但对其他网络连接使用不同的凭据。) |
10 | 终端服务,远程桌面,远程辅助 |
11 | 使用存储在计算机本地的网络凭据登录到此计算机的用户。 未联系域控制器以验证凭据。 |
Windows 日志格式:
事件日志(Evtx) 是一种二进制格式的文件:
Evtx 文件结构包括三部分:文件头、数据块、结尾空值。
文件头部4096字节。文件头部签名:45 6C 66 46 69 6C 65 00(ElfFile\x00)。
文件头部结构如下:
偏移 | 长度 | 值 | 描述 |
---|---|---|---|
0 | 8 | ElfFile\x00 | 文件签名 |
8 | 8 | 第一个数据块 | |
16 | 8 | 最后一个数据块 | |
24 | 8 | 下一个记录标识符 | |
32 | 4 | 128 | 头大小 |
36 | 2 | 1 | 次版本号 |
38 | 2 | 3 | 主版本号 |
40 | 2 | 4096 | 数据块的偏移量 |
42 | 2 | 数据块的数量 | |
44 | 76 | 空值 | |
120 | 4 | 文件标志 | |
124 | 4 | 校验和 | |
128 | 3968 | 空值 |
Windows 事件日志大小是由数据块的数量决定的,事件日志文件大小=(数据块的数量x65536)+4096。文件标志如下:
值 | 标识符 | 描述 |
---|---|---|
0x0001 | 已更新 | |
0x0002 | 已填充 |
每个数据块的大小是65536字节,数据块首部标签名是45 6C 66 43 68 6E 6B 00(ElfChnk\x00),数据块是由数据块头部,事件记录,闲置空间组成。数据块文件头大小是512字节,结构如下:
偏移量 | 长度 | 值 | 描述 |
---|---|---|---|
0 | 8 | ElfChnk\x00 | 标签 |
8 | 8 | 第一个事件记录编号 | |
16 | 8 | 最后一个事件编号 | |
24 | 8 | 第一个事件记录标识符 | |
32 | 8 | 最后一个事件标识符 | |
40 | 4 | 128 | 指针数据偏移量 |
44 | 4 | 最后一个事件记录数据偏移量 | |
48 | 4 | 自由空间偏移 | |
52 | 4 | 事件记录校验和(CRC32) | |
56 | 64 | 空值 | |
120 | 4 | 未知 | |
124 | 4 | 校验和(头部前120字节和第128字节到512字节) |
数据块里有多条事件记录,一条事件记录对应一条日志信息。一条事件记录由以下部分组成:
偏移量 | 长度 | 值 | 描述 |
---|---|---|---|
0 | 4 | "\x2a\x2a\x00\x00" | 签名 |
4 | 4 | 事件块大小 | |
8 | 8 | 事件记录标识符 | |
16 | 8 | 事件记录写入时间 | |
24 | 事件内容 | ||
4 | 尺寸拷贝 |
Windows 取证分析注意要点
windows 事件查看器没有提供删除特定日志的功能,也就说溯源取证时,可以直接按照事件ID,按照特定的时间点进行回溯。但是!但是! 通过特殊方法可以使事件查看器不显示特定的日志,前边说到一条事件记录偏移量为4处是事件块大小,也就说我们可以通过修改事件块大小,使其长度覆盖下一条日志,这样事件查看器解析系统日志时,就会跳过下一条日志,这样就使得特定事件被隐藏掉了。同时为了修改后的日志文件能够正常显示,我们还需要修改多个标志位和重新计算校验和。
参考链接: