Windows安全日志分析

VSole2021-10-16 06:43:51

0x00 引言

在应急响应初步阶段,我们会对系统日志、中间件安全日志、恶意文件等进行收集。接下来便是要进一步对这些文件进行分析:对恶意文件逆向、日志文件分析、梳理入侵时间线和入侵路径等。本文主要对Windows安全日志进行举例分析。

环境信息:

系统版本:Windows Server 2008 R2
IP地址:192.168.64.140 
用户名:win-92uodoq3eg2\administrator

0x01 基本介绍

Windows的日志文件主要有系统日志、应用程序日志、安全日志这三类,另外,根据不同的系统服务配置可能还会产生其他的日志文件,如Powershell日志、WWW日志、FTP日志、DNS服务器日志等。这些日志文件由Windows的EventLog服务生成并记录,EventLog服务由Windows服务管理器(%SystemRoot%\system32\services.exe)启动并管理。

在默认情况下, Windows日志仅仅记录一些特定日志,因为Windows日志中每种日志的大小默认为20M,超过大小之后会覆盖最早的日志记录。如果我们需要记录详细的安全日志,则需要通过修改本地策略或者在高级审核策略配置(gpedit.msc)中来启用其他项的日志记录功能。

1.1 打开方式

1.1.1 日志文件打开

Windows安全日志存储在C:\Windows\System32\winevt\Logs,该目录下存在许多evtx日志文件,windows安全日志文件主要记录在Security.etvx中,双击即可打开该文件查看windows安全日志。(Windows 2000 / Server2003 / Windows XP 安全日志默认位置在C:\WINDOWS\System32\config\SecEvent.Evt

1.1.2 运行eventvwr

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



1.1.3 服务器管理器

右键单击计算机,点击管理打开服务器管理器,诊断-事件查看器-Windows日志-安全


1.2 日志位置

Windows 2000 / Server2003 / Windows XP :%SystemRoot%\System32\Winevt\Logs\*.evtx
Windows Vista / 7 / 10 / Server2008 及以上版本:%SystemRoot%\System32\Config\*.evtx

1.3 日志分类

Windows主要有以下三类日志记录系统事件:应用程序日志、系统日志和安全日志。每种日志默认大小20M,超过大小后会覆盖最早的日志记录

应用程序日志、系统日志,存储着故障排除信息,对于系统管理员更为有用;安全日志,记录着事件审计信息,包括用户验证(登录、远程访问等)和特定用户在认证后对系统做了什么,对于应急响应来说,更有帮助,本文主要对安全日志进行分析研究。

系统日志:系统日志包含由Windows系统组件记录的事件,记录系统进程和设备驱动程序的活动。由它审核的系统事件包括启动失败的设备驱动程序、硬件错误、重复的IP地址以及服务启动、暂停和停止。系统日志也记录启动期间要加载的驱动程序或其他系统组件的故障,记录的事件类型也是预先确定的。

默认位置:
%SystemRoot%\System32\Winevt\Logs\System.evtx

安全日志:安全日志记录各种系统审核和安全处理,包括用户权限的变化、文件和目录的访问、打印以及用户系统登陆和注销,如有效或无效的登陆尝试、与资源使用有关的事件。管理员有按需要指定安全日志中要记录的事件类型,安全日志只有系统管理员可以访问。

默认位置:
%SystemRoot%\System32\Winevt\Logs\Security.evtx

应用程序日志:应用程序日志包含计算机系统中的用户程序和商业程序在运行时出现的错误活动,它审核的事件包括所有应用程序产生的错误以及其他报告的信息,如性能监视审核的事件或一般程序事件。记录事件的种类大致有:硬盘使用情况、数据库文件的文件错误、设备驱动程序加载失败、用户登录系统失败计数等。

默认位置:
%SystemRoot%\System32\Winevt\Logs\Application.evtx

其他日志

Windows远程管理日志:Windows远程管理(WinRM)日志记录了Windows远程管理服务的所有操作

Microsoft-Windows-WinRM/Operational.evtx
Microsoft-Windows-WinRM/Analytic.etl
Microsoft-Windows-RemoteDesktopServices-RdpCoreTS/perational.evtx
Microsoft-Windows-TerminalServices-RemoteConnectionManager/perational.evtx
Microsoft-Windows-TerminalServices-LocalSessio

PowerShell日志:在执行任何PowerShell命令或脚本时,无论是本地还是通过远程处理,Windows都会将事件写入以下三个日志文件:

Windows PowerShell.evtx
Microsoft-Windows-PowerShell/Operational.evtx
Microsoft-Windows-PowerShell/Analytic.etl

1.4 结构组成

1.4.1 组成

每条安全日志由以下结构组成:

在事件管理器 “查看”菜单上,单击“添加/删除列”。可显示或隐藏事件属性。

1.4.2 属性

下表列出常见的事件属性。

0x02 登录事件分析

2.1 登录类型

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

2.2.1 交互式登录(2)

如下图 为Administrator用户 通过键盘输入密码正常登录到windows的日志,登录类型为 2

一般登录的进程名为

C:\Windows\System32\winlogon.exe

2.1.2 网络连接 (3)

这里使用IPC连接方式

使用192.168.64.1 IPC连接 192.168.64.140

net use \\192.168.64.140\ipc$ "1" /user:"administrator"

从安全日志可看到源IP,登录用户等信息

2.1.3服务启动(5)

以下是一个服务启动后的日志,登录类型为 5

服务启动进程名为

C:\Windows\System32\services.exe

2.1.4 解锁(7)

锁屏后尝试解锁

2.1.5 远程桌面连接(10)

通过Win 10(192.168.64.1)使用safefox账户对Win 2008进行远程桌面连接(192.168.64.140)



2.2 子状态码

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

例如下图中,通过子状态码 0xc000006a 可以得知,登录失败的具体原因是用户名是正确的,但密码是错误的。

0x03 事件ID分析

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

其中需要重点关注的有4624,4625,4720,4726,4700,1102等。

0x04 场景日志分析

4.1 系统正常启动

开机时,常常会产生大量的安全日志:

其中,【事件ID 4608】表示Windows正在启动。之后伴随着一条特殊的登陆成功记录,为什么说特殊呢?因为这一条【事件ID 4624】登陆成功记录中的登陆类型为:0

之后便是许多登陆类型为5的登陆成功记录。

这个很好理解,上面说到登陆类型5,代表是服务账户登陆,而我们的Winows系统启动时,就会有许多服务启动,因此会有许多服务账户登陆记录。然后是启动防火墙驱动、启动防火墙等其他系统事件。

当Windows系统初始化完成后,就到我们的登陆界面了。当我们通过登陆界面登陆时,会产生4条记录如下:

【事件ID 4776】计算机试图验证帐户的凭据。记录了登陆用户名、来源机器名。

【事件ID 4648】试图使用显式凭据登录。同样记录了登陆用户名、来源机器名、来源地址。进程名为:C:\Windows\System32\winlogon.exe

【事件ID 4624】登陆成功。登陆类型2,也就是在本地键盘上进行的登录。

【事件ID 4672】为新登录分配了特殊权限。记录了登陆用户名、登陆用户权限。

其中,4684表示我们是通过登陆界面登陆的。而其他三条,是正常使用账号密码进行登陆都会产生的。也就是说,登录一次产生3条日志:验证凭据、登陆成功、分配权限。

总结:4608启动-4624(0)首次-4624(5)服务启动-4624(5)-4624(5)-4776登录-4648-4624-4672

4.2 账户管理

在安全日志4720中可以查看攻击者创建的用户,即使是隐藏用户都可以查看到。4726则是可以查看到被删除的用户。该事件日志中还可以查看该任务的发起者。

4.2.1 创建新账户

创建普通账户xiansec

创建新账户会有以下日志生成,其中4720创建用户帐户是创建新账户产生的日志

4728 已向启用了安全性的全局组中添加某个成员。

4720 已创建用户帐户。

4722 已启用用户帐户。

4738 已更改用户帐户。

4732 已向启用了安全性的本地组中添加某个成员。

通过4720日志可以查看创建新账户的发起人信息

4.2.2 删除账户

删除普通账户xiansec

删除账户会有以下日志生成,其中4726日志是删除账户产生的日志

4733 已从启用了安全性的本地组中删除某个成员。

4729 已从启用了安全性的全局组中删除某个成员。

4726 已删除用户帐户。

通过4726日志可以查看删除账户的发起人信息

4.3 RDP爆破

4.3.1 RDP正常成功登录

连接成功

查看安全日志:

和4.1 系统正常启动一样有4条日志信息,只有登陆类型不一样,为10

【事件ID 4776】计算机试图验证帐户的凭据。记录了登陆用户名、来源机器名。
【事件ID 4648】试图使用显式凭据登录。同样记录了登陆用户名、来源机器名、来源地址。
【事件ID 4624】登陆成功。登陆类型10,远程桌面登录。
【事件ID 4672】为新登录分配了特殊权限。记录了登陆用户名、登陆用户权限。

4.3.2 RDP正常失败登录

故意输错密码

查看日志

只有一条审核失败日志4625

4.3.3 RDP爆破登录

使用超级弱口令检查工具V1.0 Beta28进行爆破 这里故意将线程调低 方便日志分析

爆破成功

使用字典共15条密码,正确密码在最后一条,爆破15次,最后一次成功,完成4个日志动作 4624登录-4672-4776-4648

4.4 IPC连接

执行命令如下:

net use \\192.168.64.140 /u:admin 123  #密码错误
net use \\192.168.64.140 /u:admin 12  #密码错误
net use \\192.168.64.140 /u:admin 1  #密码正确

分析日志

两次4625 审核失败日志 4624(3)登录成功 记录了来源IP,来源主机名,登陆的用户名等信息。

4.5 SMB爆破

使用超级弱口令检查工具V1.0 Beta28模拟进行爆破

分析日志

存在大量4625的登录失败日志 且登录类型为3,登录进程:为NtLmSsp

登录成功会产生一条登录类型为3的4624登录成功日志,同时会有4672,4676事件ID日志生成

4.6 日志清除

在windows中,若运维人员开启了记录所有安全日志项,那么攻击者在拿到该服务器权限后 的所有操作都可以在该安全日志中被记录到。所以清空该Security日志肯定是一个善后的必然选择。

打开windows日志 清除日志

清除日志会生成一条事件ID为1102 日志清除的日志

日志详情

此条日志会记录清除日志操作的账户名

0x05 总结

本文主要对Windows安全日志进行了分析与研究,从日志的分类、登录事件分析以及场景日志分析等方面进行了研究。总的来说,windows安全日志对于应急人员是重要且基础的分析项,对其进行深入学习研究有助于应急排查工作。

系统日志类型系统
本作品采用《CC 协议》,转载必须注明作者和本文链接
Linux系统加固指南
2021-09-08 08:51:48
本帮助手册旨在指导系统管理人员或安全检查人员进行Linux操作系统的安全合规性检查和加固。
Linux 操作系统加固
2021-09-30 22:26:45
本文旨在指导系统管理人员或安全检查人员进行Linux操作系统的安全合规性检查和加固。确认UID为零的账号只有root账号。配置文件修改完成后,重启sshd服务生效。
2022年3月1日,美国国家安全局(NSA)发布了一份《网络基础设施安全指南》技术报告。这份网络安全技术报告旨在向所有组织提供最新的保护IT网络基础设施应对网络攻击的建议,建议侧重于防止现有网络常见漏洞和弱点的设计和配置,用于指导网络架构师和管理员建立网络的最佳实践。该报告由NSA网络安全局编写。
应急响应的基本流程
2022-01-01 08:34:07
注意在整个过程中不要被客户或现场的运维人员误导。操作前需先征得客户许可。
到达客户现场后第一时间告知负责网络相关的人员请勿对被篡改文件进行删除或修改,这样做的原因是方便后续对入侵途径进行溯源分析。发生安全事件的服务器为Windows还是Linux或者其他的操作系统,确认好操作系统类型方便取证工作。是否为用户误操作所导致触发告警。Windows系统下:使用“MD5校验器”打开原有文件与疑似篡改文件,获得MD5值后进行比对,如果两文件MD5不一样证明该文件被篡改。
数世咨询近期开启的“工业互联网安全能力指南”调研成果陆续发布,由于能力指南内容过多,因此依次共分为五个部分陆续发布。前三个部分已于上月发布: 工业互联网安全能力指南(概况) 工业互联网安全能力指南(防护及检测审计) 工业互联网安全能力指南(安全服务) 本次发布为该指南的第四部分——安全管理平台。
Linux系统日志介绍
2022-07-22 08:07:05
Linux系统日志介绍
动态分析侧重检测程序在实际运行的过程中污点数据的传播情况,因此会遗漏运行过程中未触发的路径,且资源开销较大。作者将这种情况产生新污点变量的污点源称为 intermediate source。虽然 value-based 动态污点分析技术无法处理控制依赖以及加密数据,但是其在黑盒的处理场景下仍具备优势。
VSole
网络安全专家