日常Window病毒处置的典型日志操作
1. Windows日志介绍
1.1 事件查看器
微软在以Windows NT为内核的操作系统中都集成有事件查看器,它是 Microsoft Windows操作系统工具。事件查看器是重要的系统管理软件。
Windows的事件查看器可以查看各种日志,对应的可执行程序是 eventvwr.exe。
通过WIN+R键调出运行界面后,在界面中执行,可打开windows日志管理器,选择安全项即可查看windows系统安全日志。
事件查看器中包括了:
- 服务器角色
- Windows日志
- 应用程序和服务日志
其中服务器角色是Windows服务器部署了web服务所产生的日志行为还有远程桌面服务的连接日志。Windows日志是我们这篇文章的重点分析对象,这里面集成了Windows的操作与连接的日志行为,可以准确找到Windows出问题的地方在哪。应用程序日志分四类:管理日志、操作日志、分析日志、调试日志。分析日志和调试日志默认处于隐藏和禁用状态,需要显示和启用。
1.2 Windows日志概述
Windows的日志中包括以下几类:
应用程序
- 包含程序记录的事件,程序开发人员决定记录哪些事件。例如:数据库程序记录文件错误。
安全
包含如有效和无效的登录尝试等事件,以及与资源使用相关的事件,如创建、打开、删除对象。
可以知道在安全日志中记录什么事件。如,启用登录审核,则会将对系统的登录尝试记录在安全日志中。
设置
- 保护与应用程序安装有关的事件。
系统
- 包含windows系统组件记录的事件。如,启动过程中加载驱动程序、其它系统组件失败。
- 系统组件记录的事件类型由windows预先确定。
已转发事件
- 存储从远程计算机收集的事件。要从远程计算机收集事件,必须创建事件订阅。
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 | 成员已从启用的安全的全局组中删除 |
4771 | Kerberos预身份验证失败 | 4732 | 一个成员被添加到启用的安全组删除 |
4772 | Kerberos身份验证票证请求失败 | 4733 | 成员已从启用的安全本地组中删除 |
4769 | 已请求Kerberos服务票证 | 4634 | 账户已注销 |
4776 | 域控制器尝试验证账户的凭据 | 4756 | 一个成员被添加到启用安全的通用组 |
4672 | 分配新登录的特殊权限 | 4698 | 已创建计划任务 |
4699 | 计划任务被删除 | 4700 | 已启用计划任务 |
4689 | 进程已退出 | 4688 | 创建新进程 |
5156 | 出站连接记录 | 5158 | 入站连接记录 |
5. 案例分析
在案例SMB的共享登录时,成功的登陆,其类型为3,代表网络登陆,4624表示成功登陆,可能大部分人都人为这是已经成功进行登录的行为情况。
SMB连接案例
当用户使用SMB 协议连接时,在提示用户输入密码之前,其会使用anonymous用户(也就是匿名用户)进行 SMB 网络连接,一旦网络将被记录为成功连接。其有以下几个条件会导致产生这条日志:
1 | 登陆用户为anonymous |
这种情况下产生的事件ID4624并不能代表真正连接成功,因为他是采用共享的匿名用户验证行为。如果要进行判断的话,除类型3的登录成功以外,还会有4776(验证凭据)和4672(登录权限分配)的日志事件ID的产生,这样才能验证出来正确的登录事件。
在日常的日志排查过程中,当攻击者使用SMB进行连接时,若访问路径不存在或账号不存在时将产生anonymous用户(匿名用户)的登录类型3的4624日志,并非代表机器失已经被登录。在溯源或者判断服务器受到攻击的过程中,我们查看Windows的日志判断,4624不一定是攻击者登陆成功,要结合ip字段、targetuser字段、还有user等诸多字段并且看日志上下文,system授权有时候也会产生4624的高告警。