Window系统日志的排查

文章的内容是对Window系统日志排查的操作准备
日常Window病毒处置的典型日志操作

1. Windows日志介绍

1.1 事件查看器

  微软在以Windows NT为内核的操作系统中都集成有事件查看器,它是 Microsoft Windows操作系统工具。事件查看器是重要的系统管理软件。

  Windows的事件查看器可以查看各种日志,对应的可执行程序是 eventvwr.exe。

  通过WIN+R键调出运行界面后,在界面中执行,可打开windows日志管理器,选择安全项即可查看windows系统安全日志。

事件管理器

事件查看器中包括了:

  1. 服务器角色
  2. Windows日志
  3. 应用程序和服务日志

其中服务器角色是Windows服务器部署了web服务所产生的日志行为还有远程桌面服务的连接日志。Windows日志是我们这篇文章的重点分析对象,这里面集成了Windows的操作与连接的日志行为,可以准确找到Windows出问题的地方在哪。应用程序日志分四类:管理日志、操作日志、分析日志、调试日志。分析日志和调试日志默认处于隐藏和禁用状态,需要显示和启用。

1.2 Windows日志概述

Windows的日志中包括以下几类:

  1. 应用程序

    • 包含程序记录的事件,程序开发人员决定记录哪些事件。例如:数据库程序记录文件错误。
  2. 安全

    • 包含如有效和无效的登录尝试等事件,以及与资源使用相关的事件,如创建、打开、删除对象。

    • 可以知道在安全日志中记录什么事件。如,启用登录审核,则会将对系统的登录尝试记录在安全日志中。

  3. 设置

    • 保护与应用程序安装有关的事件。
  4. 系统

    • 包含windows系统组件记录的事件。如,启动过程中加载驱动程序、其它系统组件失败。
    • 系统组件记录的事件类型由windows预先确定。
  5. 已转发事件

    • 存储从远程计算机收集的事件。要从远程计算机收集事件,必须创建事件订阅。

2. 事件属性
属性属性描述
记录该条事件的软件,可以是程序名(SQL Server),也可以是系统或程序的组件名(Elnkii表示EtherLink2)。
事件ID事件类型的编号。
级别事件严重等级:信息、警告、错误、严重,在安全日志中还可能出现:审核成功、审核失败。
用户导致事件的行为来源的用户。如果是服务器进程,则此位置为客户ID。
操作代码事件发生时,表示应用程序正在执行的活动或代码位置的数字。
日志已记录事件的日志名称
任务类别表示事件发生者的子组件或活动
关键字用于筛选或搜索的标记。
计算机发生事件的计算机名称。
日期和事件记录时的日期和时间

3. 登录类型

当我们分析用户登录记录的时候就会发现,在Windows系统的安全日志中,有一个“登录类型”的说明。其实这个登陆类型就是记录了用户登录到Windows系统的方式,以下简单介绍几种常见的:

登录类型描述说明
2交互式登录用户在本地进行登录
3网络通常表明连接到共享文件夹或者共享打印机
4批处理通常表明计划任务启动
5服务每种服务都被配置在某个特定用户账号下运行
7解锁屏保解锁
8网络明文登录密码在网络上通过明文传输,如:FTP
9新凭证使用带/Netonly参数的RUNAS命令运行一个程序
10远程交互通过终端服务、远程桌面或远程协助访问计算机
11缓存交互以一个域用户登录而又没有域控制器可用
3.1 子状态码

4625登录失败日志会存在子状态码的属性,我们可以对登录失败原因进行分析:

子码状态

子码状态描述
0xC0000064用户名不存在。
0xC000006A用户名正确,密码错误。
0xC000006D一般登录失败。源计算机和目标计算机之间的LAN Manager 身份验证级别可能有错误的用户名或密码或不匹配。
0xC000006F授权时间以外的帐户登录。
0xC0000070从未经授权的工作站登录帐户。
0xC0000071使用过期密码登录帐户。
0xC0000072帐户登录到管理员禁用的帐户。
0xC0000193使用过期帐户登录
0xC0000224标记下次登录时更改密码的帐户登录。
0xC0000234账户登录了被锁定的账户。
0xc0000371本地帐户存储不包含指定帐户的机密资料。

4. 事件ID分析

事件ID是Windows日志的基本属性之一,通过事件ID可以分析事件类型,以下是常见的几种事件ID:

事件ID说明事件ID说明
1102清理审计日志4720创建用户
4624账号成功登录4726删除用户
4625账号登录失败4728一个成员被添加到安全的全局组中
4768已请求Kerberos身份验证票证(TGT)4729成员已从启用的安全的全局组中删除
4771Kerberos预身份验证失败4732一个成员被添加到启用的安全组删除
4772Kerberos身份验证票证请求失败4733成员已从启用的安全本地组中删除
4769已请求Kerberos服务票证4634账户已注销
4776域控制器尝试验证账户的凭据4756一个成员被添加到启用安全的通用组
4672分配新登录的特殊权限4698已创建计划任务
4699计划任务被删除4700已启用计划任务
4689进程已退出4688创建新进程
5156出站连接记录5158入站连接记录

5. 案例分析

在案例SMB的共享登录时,成功的登陆,其类型为3,代表网络登陆,4624表示成功登陆,可能大部分人都人为这是已经成功进行登录的行为情况。

SMB连接案例

SMB1

smb2

当用户使用SMB 协议连接时,在提示用户输入密码之前,其会使用anonymous用户(也就是匿名用户)进行 SMB 网络连接,一旦网络将被记录为成功连接。其有以下几个条件会导致产生这条日志:

1
2
3
4
登陆用户为anonymous
登录进程为NTLMssp
使用协议为NTLM V1
登陆协议为SMB

这种情况下产生的事件ID4624并不能代表真正连接成功,因为他是采用共享的匿名用户验证行为。如果要进行判断的话,除类型3的登录成功以外,还会有4776(验证凭据)和4672(登录权限分配)的日志事件ID的产生,这样才能验证出来正确的登录事件。

在日常的日志排查过程中,当攻击者使用SMB进行连接时,若访问路径不存在或账号不存在时将产生anonymous用户(匿名用户)的登录类型3的4624日志,并非代表机器失已经被登录。在溯源或者判断服务器受到攻击的过程中,我们查看Windows的日志判断,4624不一定是攻击者登陆成功,要结合ip字段、targetuser字段、还有user等诸多字段并且看日志上下文,system授权有时候也会产生4624的高告警。


谢谢大家观赏文章!
------ 本文结束感谢您的阅读 ------