Windows事件日志简介

Windows系统日志是记录系统中硬件、软件和系统问题的信息,同时还可以监视系统中发生的事件。用户可以通过它来检查错误发生的原因,或者寻找受到攻击时攻击者留下的痕迹。

Windows主要有以下三类日志记录系统事件:应用程序日志、系统日志和安全日志。

系统日志

记录操作系统组件产生的事件,主要包括驱动程序、系统组件和应用软件的崩溃以及数据丢失错误等。系统日志中记录的时间类型由Windows NT/2000操作系统预先定义。

默认位置:

%SystemRoot%\System32\Winevt\Logs\System.evtx

应用程序日志

包含由应用程序或系统程序记录的事件,主要记录程序运行方面的事件,例如数据库程序可以在应用程序日志中记录文件错误,程序开发人员可以自行决定监视哪些事件。如果某个应用程序出现崩溃情况,那么我们可以从程序事件日志中找到相应的记录,也许会有助于你解决问题。

默认位置:

%SystemRoot%\System32\Winevt\Logs\Application.evtx

安全日志

记录系统的安全审计事件,包含各种类型的登录日志、对象访问日志、进程追踪日志、特权使用、帐号管理、策略变更、系统事件。安全日志也是调查取证中最常用到的日志。默认设置下,安全性日志是关闭的,管理员可以使用组策略来启动安全性日志,或者在注册表中设置审核策略,以便当安全性日志满后使系统停止响应。

默认位置:

%SystemRoot%\System32\Winevt\Logs\Security.evtx

说明:

  • 系统和应用程序日志存储着故障排除信息,对于系统管理员更为有用。
  • 安全日志记录着事件审计信息,包括用户验证(登录、远程访问等)和特定用户在认证后对系统做了什么,对于调查人员而言,更有帮助。

查看系统日志方法:

  1. 在**“开始”菜单上,依次指向“所有程序”、“管理工具”,然后单击“事件查看器”**

  2. 按 “Window+R“,输入 ”eventvwr.msc“ 也可以直接进入“事件查看器”

eventvwr.msc
image-20231017142456442

配置安全策略和日志的审核策略

Windows Server 2008 R2 系统的审核功能在默认状态下并没有启用 ,建议开启审核策略,若日后系统出现故障、安全事故则可以查看系统的日志文件,排除故障,追查入侵者的信息等。

PS:默认状态下,也会记录一些简单的日志,日志默认大小20M

设置1:开启需要审核的事件

开始 → 管理工具 → 本地安全策略 → 本地策略 → 审核策略,参考配置操作:

设置2:设置日志属性

设置合理的日志属性,即日志最大大小、事件覆盖阀值等:

Windows事件日志分析

常见事件ID

Windows 系统中有很多不同的日志类型,其中包括安全日志。安全日志记录了与系统安全相关的事件,例如登录、注销、访问控制等等。以下是一些常见的 Windows 安全日志事件 ID:

事件ID 说明
4624 登录成功。表示成功登录事件,即用户已经成功登录到系统。
4625 登录失败。表示登录失败事件,即用户试图登录到系统,但登录失败了。
4634 注销成功
4647 用户启动的注销
4648 表示使用明文密码进行登录的事件。
4672 使用超级用户(如管理员)进行登录
4720 创建用户
4768 表示 Kerberos 认证请求的事件。
4771 表示 Kerberos 预身份验证失败的事件。
4776 表示帐户已被锁定的事件,即由于多次尝试登录失败而导致帐户被锁定。
4797 表示安全标记的修改事件,即安全标记已被修改。

每个成功登录的事件都会标记一个登录类型,不同登录类型代表不同的方式:

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

说明:

  • 需要注意的是,这些事件 ID 只是 Windows 安全日志中的一部分,具体的事件 ID 可能会因操作系统版本和配置而有所不同。此外,不同的日志类型可能会包含不同类型的事件。
  • 通常情况下,Windows系统的事件ID是在100到999之间的整数。例如,系统启动时的事件ID为100,关机时的事件ID为200,应用程序错误的事件ID通常在1000以上。
  • 关于更多EVENT ID,详见微软官方网站上找到了“Windows Vista 和 Windows Server 2008 中的安全事件的说明”。

原文链接 :https://support.microsoft.com/zh-cn/help/977519/description-of-security-events-in-windows-7-and-in-windows-server-2008

案例1:可以利用eventlog事件来查看系统账号登录情况:

  1. 在**“开始”菜单上,依次指向“所有程序”、“管理工具”,然后单击“事件查看器”**;
  2. 在事件查看器中,单击**“安全”**,查看安全日志;
  3. 在安全日志右侧操作中,点击**“筛选当前日志”**,输入事件ID进行筛选。
  • 4624 –登录成功
  • 4625 –登录失败
  • 4634 – 注销成功
  • 4647 – 用户启动的注销
  • 4672 – 使用超级用户(如管理员)进行登录

我们输入事件ID:4625进行日志筛选,发现事件ID:4625,事件数175904,即用户登录失败了175904次,那么这台服务器管理员账号可能遭遇了暴力猜解。

案例2:可以利用eventlog事件来查看计算机开关机的记录:

1、在**“开始”菜单上,依次指向“所有程序”、“管理工具”,然后单击“事件查看器”**;

2、在事件查看器中,单击**“系统”**,查看系统日志;

3、在系统日志右侧操作中,点击**“筛选当前日志”**,输入事件ID进行筛选。

其中事件ID 6006 ID6005、 ID 6009就表示不同状态的机器的情况(开关机)。

  • 6005 信息 EventLog 事件日志服务已启动。(开机)
  • 6006 信息 EventLog 事件日志服务已停止。(关机)
  • 6009 信息 EventLog 按ctrl、alt、delete键(非正常)关机

我们输入事件ID:6005-6006进行日志筛选,发现了两条在2018/7/6 17:53:51左右的记录,也就是我刚才对系统进行重启的时间。

Windows 日志审计工具

LogFusion(巨香)

很好用

LogFusion Pro系统日志监控软件安装激活教程

Windows-LogFusion 载入查看:
事件归类,事件 ID,事件状态等

image-20221021060255440

LogParser

微软官方

Log Parser(是微软公司出品的日志分析工具,它功能强大,使用简单,可以分析基于文本的日志文件、XML 文件、CSV(逗号分隔符)文件,以及操作系统的事件日志、注册表、文件系统、Active Directory。它可以像使用 SQL 语句一样查询分析这些数据,甚至可以把分析结果以各种图表的形式展现出来。

基本查询结构

Logparser.exe –i:EVT –o:DATAGRID "SELECT * FROM c:\xx.evtx"

使用Log Parser分析日志

  1. 查询登录成功的事件
# 登录成功的所有事件
LogParser.exe -i:EVT –o:DATAGRID "SELECT * FROM c:\Security.evtx where EventID=4624"

# 指定登录时间范围的事件:
LogParser.exe -i:EVT –o:DATAGRID "SELECT * FROM c:\Security.evtx where TimeGenerated>'2018-06-19 23:32:11' and TimeGenerated<'2018-06-20 23:34:00' and EventID=4624"

# 提取登录成功的用户名和IP:
LogParser.exe -i:EVT –o:DATAGRID "SELECT EXTRACT_TOKEN(Message,13,' ') as EventType,TimeGenerated as LoginTime,EXTRACT_TOKEN(Strings,5,'|') as Username,EXTRACT_TOKEN(Message,38,' ') as Loginip FROM c:\Security.evtx where EventID=4624"
  1. 查询登录失败的事件
# 登录失败的所有事件:
LogParser.exe -i:EVT –o:DATAGRID "SELECT * FROM c:\Security.evtx where EventID=4625"

# 提取登录失败用户名进行聚合统计:
LogParser.exe -i:EVT "SELECT EXTRACT_TOKEN(Message,13,' ') as EventType,EXTRACT_TOKEN(Message,19,' ') as user,count(EXTRACT_TOKEN(Message,19,' ')) as Times,EXTRACT_TOKEN(Message,39,' ') as Loginip FROM c:\Security.evtx where EventID=4625 GROUP BY Message"
  1. 系统历史开关机记录:
LogParser.exe -i:EVT –o:DATAGRID  "SELECT TimeGenerated,EventID,Message FROM c:\System.evtx where EventID=6005 or EventID=6006"

LogParser Lizard

对于GUI环境的Log Parser Lizard,其特点是比较易于使用,甚至不需要记忆繁琐的命令,只需要做好设置,写好基本的SQL语句,就可以直观的得到结果。

查询最近用户登录情况:

Event Log Explorer

Event Log Explorer是一款非常好用的Windows日志分析工具。可用于查看,监视和分析跟事件记录,包括安全,系统,应用程序和其他微软Windows 的记录被记载的事件,其强大的过滤功能可以快速的过滤出有价值的信息。

下载地址:https://event-log-explorer.en.softonic.com/

win日志自动化分析神器 - LogonTracer

win日志自动化分析神器 - LogonTracer - 外网内网日志

下载地址:https://github.com/JPCERTCC/LogonTracer

docker安装(推荐)

Jump start with Docker · JPCERTCC/LogonTracer Wiki · GitHub

docker pull jpcertcc/docker-logontracer
docker run \
--detach \
--publish=7474:7474 --publish=7687:7687 --publish=8080:8080 \
-e LTHOSTNAME=124.223.217.243 \
jpcertcc/docker-logontracer

访问http://124.223.217.243:8080

手动安装比较麻烦

1、下载并解压neo4j

git clone https://github.com/neo4j/neo4j
tar -zvxf neo4j-community-4.2.1-unix.tar

2、安装java11环境

sudo yum install java-11-openjdk -y

3、修改neo4j配置保证外部访问

dbms.connector.bolt.listen_address=0.0.0.0:7687

4、开启neo4j

cd /opt/
ls
cd neo4j-community-4.2.1/
ls
./bin/neo4j console &

5、下载Logontracer并安装库

git clone https://github.com/JPCERTCC/LogonTracer.git 
pip3 install -r requirements.txt

6、启动Logontracer并导入日志分析文件

python3 logontracer.py -r -o [PORT] -u [USERNAME] -p [PASSWORD] -s [IP 地址] 
python3 logontracer.py -r -o 8080 -u neo4j -p xiaodi -s 47.98.99.126

手动导入日志文件(当然也可以用图形化界面upload日志文件)

python3 logontracer.py -e [EVTX 文件] -z [时区] -u [用户名] -p [密码] -s [IP 地址] 
python3 logontracer.py -e Security.evtx -z -13 -u neo4j -p xiaodi -s 127.0.0.1

7、刷新访问LogonTracer-web_gui,查看分析结果

Sysmon

Windows Sysinternals出品的一款Sysinternals系列中的工具。它以系统服务和设备驱动程序的方法安装在系统上,并保持常驻性。用来监视和记录系统活动,并记录到windows事件日志,可以提供有关进程创建,网络链接和文件创建时间更改的详细信息


refer

声明:

  1. 若文章存在错误,望诸君不吝指正^

  2. blog仅供个人记录学习所用

  3. 部分笔记由于年代久远,做的笔记找不到最初是引用谁的,若是不允许引用转载,请联系我