windows日志总结
本文首发于奇安信攻防社区:https://forum.butian.net/share/355
windows日志总结
开启审核策略
运行 secpol.msc 可以打开本地安全策略,依次点开本地策略-审核策略。可以看到windows默认情况是没有开启审核策略的,不开启策略的话,windows就不会记录某些事件,比如登录事件,进程创建事件等等。
我们可以挨个手动修改审核策略的属性,将审核操作选上成功和失败。
当然有简单方法:将下面脚本另存为bat,然后管理员运行就可以打开全部策略了。
echo [version] >1.inf
echo signature="$CHICAGO$" >>1.inf
echo [Event Audit] >>1.inf
echo AuditSystemEvents=3 >>1.inf
echo AuditObjectAccess=3 >>1.inf
echo AuditPrivilegeUse=3 >>1.inf
echo AuditPolicyChange=3 >>1.inf
echo AuditAccountManage=3 >>1.inf
echo AuditProcessTracking=3 >>1.inf
echo AuditDSAccess=3 >>1.inf
echo AuditAccountLogon=3 >>1.inf
echo AuditLogonEvents=3 >>1.inf
secedit /configure /db 1.sdb /cfg 1.inf /log 1.log /quiet
del 1.*
pause
Windows系统日志
Windows系统日志简介
Windows操作系统在其运行的生命周期中会记录其大量的日志信息,这些日志信息包括:Windows事件日志(Event Log),Windows服务器系统的IIS日志,FTP日志,Exchange Server邮件服务,MS SQL Server数据库日志等。处理应急事件时,客户提出需要为其提供溯源,这些日志信息在取证和溯源中扮演着重要的角色。
Windows事件日志文件实际上是以特定的数据结构的方式存储内容,其中包括有关系统,安全,应用程序的记录。每个记录事件的数据结构中包含了9个元素(可以理解成数据库中的字段):日期/时间、事件类型、用户、计算机、事件ID、来源、类别、描述、数据等信息。应急响应工程师可以根据日志取证,了解计算机上上发生的具体行为。
Windows系统中自带了一个叫做事件查看器的工具,它可以用来查看分析所有的Windows系统日志。运行 eventvwr 可以快速打开事件查看器。使用该工具可以看到系统日志被分为了两大类:Windows日志和应用程序和服务日志。
系统内置的三个核心日志文件(System,Security和Application)默认大小均为20480KB(20MB),记录事件数据超过20MB时,默认系统将优先覆盖过期的日志记录。其它应用程序及服务日志默认最大为1024KB,超过最大限制也优先覆盖过期的日志记录。
windows日志类型
系统日志
系统日志包含 Windows 系统组件记录的事件。例如,在启动过程中加载驱动程序或其他系统组件失败将记录在系统日志中。系统组件所记录的事件类型由 Windows 预先确定。
默认位置:%SystemRoot%\System32\Winevt\Logs\System.evtx
应用程序日志
应用程序日志包含由应用程序或程序记录的事件。例如,数据库程序可在应用程序日志中记录文件错误。程序开发人员决定记录哪些事件。
默认位置:%SystemRoot%\System32\Winevt\Logs\Application.evtx
安全日志
安全日志包含诸如有效和无效的登录尝试等事件,以及与资源使用相关的事件,如创建、打开或删除文件或其他对象。管理员可以指定在安全日志中记录什么事件。例如,如果已启用登录审核,则对系统的登录尝试将记录在安全日志中。
默认位置:%SystemRoot%\System32\Winevt\Logs\Security.evtx
应用程序及服务日志
Microsoft
Microsoft文件夹下包含了200多个微软内置的事件日志分类,只有部分类型默认启用记录功能,如远程桌面客户端连接、无线网络、有线网路、设备安装等相关日志。
默认位置:%SystemRoot%\System32\Winevt\Logs目录下Microsoft-Windows开头的文件名
Microsoft Office Alerts
微软Office应用程序(包括Word/Excel/PowerPoint等)的各种警告信息,其中包含用户对文档操作过程中出现的各种行为,记录有文件名、路径等信息。
默认位置:%SystemRoot%\System32\Winevt\Logs\OAerts.evtx
Windows PowerShell
Windows自带的PowerShell应用的日志信息。
默认位置:%SystemRoot%\System32\Winevt\Logs\Windows PowerShell.evtx
Internet Explorer
IE浏览器应用程序的日志信息,默认未启用,需要通过组策略进行配置。
默认位置:%SystemRoot%\System32\Winevt\Logs\Internet Explorer.evtx
windows事件类型/级别
Windows事件日志中共有五种事件类型,所有的事件必须拥有五种事件类型中的一种,且只可以有一种。五种事件类型分为:
信息(Information):信息事件指应用程序、驱动程序或服务的成功操作的事件。
警告(Warning):警告事件指不是直接的、主要的,但是会导致将来问题发生的问题。例如,当磁盘空间不足或未找到打印机时,都会记录一个“警告”事件。
错误(Error):错误事件指用户应该知道的重要的问题。错误事件通常指功能和数据的丢失。例如,如果一个服务不能作为系统引导被加载,那么它会产生一个错误事件。
成功审核(Success audit):成功的审核安全访问尝试,主要是指安全性日志,这里记录着用户登录/注销、对象访问、特权使用、账户管理、策略更改、详细跟踪、目录服务访问、账户登录等事件,例如所有的成功登录系统都会被记录为“ 成功审核”事件。
失败审核(Failure audit):失败的审核安全登录尝试,例如用户试图访问网络驱动器失败,则该尝试会被作为失败审核事件记录下来。
Windows事件属性
Windows事件日志属性如下:
属性名 | 描述 |
---|---|
事件ID | 标识特定事件类型的编号。描述的第一行通常包含事件类型的名称。例如,6005 是在启动事件日志服务时所发生事件的 ID。此类事件的描述的第一行是“事件日志服务已启动”。产品支持代表可以使用事件 ID 和来源来解决系统问题。 |
来源 | 记录事件的软件,可以是程序名(如“SQL Server”),也可以是系统或大型程序的组件(如驱动程序名)。例如,“Elnkii”表示 EtherLink II 驱动程序。 |
级别 | 事件严重性的分类,以下事件严重性级别可能出现在系统和应用程序日志中: **信息:**指明应用程序或组件发生了更改,如操作成功完成、已创建了资源,或已启动了服务。 **警告:**指明出现的问题可能会影响服务器或导致更严重的问题(如果未采取措施)。 **错误:**指明出现了问题,这可能会影响触发事件的应用程序或组件外部的功能。 **关键:**指明出现了故障,导致触发事件的应用程序或组件可能无法自动恢复。以下事件严重性级别可能出现在安全日志中: **审核成功 :**指明用户权限练习成功。 **审核失败:**指明用户权限练习失败。在事件查看器的正常列表视图中,这些分类都由符号表示。 |
用户 | 事件发生所代表的用户的名称。如果事件实际上是由服务器进程所引起的,则此名称为客户端 ID;如果没有发生模仿的情况,则为主 ID。如果适用,安全日志项同时包含主 ID 和模仿 ID。当服务器允许一个进程采用另一个进程的安全属性时就会发生模拟的情况 |
操作代码 | 包含标识活动或应用程序引起事件时正在执行的活动中的点的数字值。例如,初始化或关闭 |
日志 | 已记录事件的日志的名称 |
任务类别 | 用于表示事件发行者的子组件或活动。 |
关键字 | 可用于筛选或搜索事件的一组类别或标记。示例包括“网络”、“安全”或“未找到资源” |
计算机 | 发生事件的计算机的名称。该计算机名称通常为本地计算机的名称,但是它可能是已转发事件的计算机的名称,或者可能是名称更改之前的本地计算机的名称 |
日期和时间 | 记录事件的日期和时间 |
重点讲述事件ID值,Windows 的日志以事件 id 来标识具体发生的动作行为,可通过下列网站查询具体 id 对应的操作:
https://docs.microsoft.com/en-us/windows-server/identity/ad-ds/plan/appendix-l–events-to-monitor
https://www.ultimatewindowssecurity.com/securitylog/encyclopedia/default.aspx?i=j
常用的事件id
事件ID | 说明 |
---|---|
1102 | 清理审计日志 |
4624 | 账号登录成功 |
4625 | 账号登录失败 |
4634 | 账号注销成功 |
4647 | 用户启动的注销 |
4672 | 使用超级用户(如管理员)进行登录 |
4720 | 创建用户 |
4726 | 删除用户 |
4732 | 将成员添加到启用安全的本地组中 |
4733 | 将成员从启用安全的本地组中移除 |
4688 | 创建新进程 |
4689 | 结束进程 |
每个成功登录的事件都会标记一个登录类型,不同登录类型代表不同的方式:
登录类型 | 描述 | 说明 |
---|---|---|
2 | 交互式登录(Interactive) | 用户在本地进行登录。 |
3 | 网络(Network) | 最常见的情况就是连接到共享文件夹或共享打印机时。 |
4 | 批处理(Batch) | 通常表明某计划任务启动。 |
5 | 服务(Service) | 每种服务都被配置在某个特定的用户账号下运行。 |
7 | 解锁(Unlock) | 屏保解锁。 |
8 | 网络明文(NetworkCleartext) | 登录的密码在网络上是通过明文传输的,如FTP。 |
9 | 新凭证(NewCredentials) | 使用带/Netonly参数的RUNAS命令运行一个程序。 |
10 | 远程交互,(RemoteInteractive) | 通过终端服务、远程桌面或远程协助访问计算机。 |
11 | 缓存交互(CachedInteractive) | 以一个域用户登录而又没有域控制器可用 |
事件分析工具和命令
Get-WinEvent
powershell管理员执行
列出安全日志 Get-WinEvent -FilterHashtable @{logname="Security";}
列出系统日志 Get-WinEvent -FilterHashtable @{logname="System";}
列出应用程序日志 Get-WinEvent -FilterHashtable @{logname="Application";}
wevtutil
wevtutil 命令参数如下
命令 | 意义 | 注释 |
---|---|---|
el | enum-logs | 列出日志名称 |
gl | get-log | 获取日志配置信息 |
sl | set-log | 修改日志配置 |
ep | enum-publishers | 列出事件发布者 |
gp | get-publisher | 获取发布者配置信息 |
im | install-manifest | 从清单中安装事件发布者和日志 |
um | uninstall-manifest | 从清单中卸载事件发布者和日志 |
qe | query-events | 从日志或日志文件中查询事件 |
gli | get-log-info | 获取日志状态信息 |
epl | export-log | 导出日志 |
al | archive-log | 存档导出的日志 |
cl | clear-log | 清除日志 |
导出 安全 日志的命令为:
wevtutil epl security d:\security.evtx
该命令将安全日志信息导出到d盘下的security.evtx文件
查询 安全 日志的命令为:
wevtutil qe Security /f:text /rd:true > c:\1.txt 导出为文本
wevtutil qe Security /f:xml /rd:true > c:\1.xml 导出为xml格式
wevtutil qe Application /c:3 /rd:true /f:text 以文本格式显示应用程序日志中三个最近的事件/f:<Format> 指定输出应为 XML 格式或文本格式。 如果 <Format> 为 xml,则输出以 xml 格式显示。 如果 <Format> 是文本,则显示不带 XML 标记的输出。 默认值为 Text。
/rd:<Direction> 指定读取事件的方向。 <Direction> 可以为 true 或 false。 如果为 true,则首先返回最新的事件。
/c<Count> 设置要读取的最大事件数。
更多可以参考wevtutil微软官方文档说明:https://docs.microsoft.com/zh-cn/windows-server/administration/windows-commands/wevtutil
logparser(需下载安装)
logparser工具下载地址 https://www.microsoft.com/en-us/download/confirmation.aspx?id=24659
查询 系统日志 事件id为4688的事件 按事件倒序:
LogParser.exe -i:EVT "SELECT TimeGenerated,EventID,EXTRACT_TOKEN(Strings,1,'|') as UserName,EXTRACT_TOKEN(Strings,5,'|') as ProcessName FROM Security where EventID=4688 ORDER BY TimeGenerated desc"
其中FROM Security 中的Security可以换成System和Application或 导出的日志、备份日志,例c:\11.evtx;事件id可以替换成其他id;当然也可以select *来查询所有列。
EXTRACT_TOKEN(Strings,5,'|')表示将String列按'|'隔开取第5个。类似编程语言中的split函数。查询系统日志,所有列,事件倒序
LogParser.exe -i:EVT "SELECT * FROM System ORDER BY TimeGenerated desc"-o:csv 将日志另存为csv格式,其他常用格式tsv(文本格式)、xmlLogParser.exe -i:EVT "SELECT TimeGenerated,EventID,EXTRACT_TOKEN(Strings,1,'|') as UserName,EXTRACT_TOKEN(Strings,5,'|') as ProcessName FROM Security ORDER BY TimeGenerated desc" -o:tsv > c:\1.txt
日志清除(管理员权限)
清除日志之后会留下清除日志的审核事件。
手动删除:
开始-程序-管理工具-计算机管理-系统工具-事件查看器-清除日志
meterperter自带清除日志功能:
清除windows中的应用程序日志、系统日志、安全日志 clearev
查看事件日志: run event_manager -i
清理事件日志: run event_manager -c
wevtutil:
wevtutil el 列出系统中所有日志名称
wevtutil cl system 清理系统日志
wevtutil cl application 清理应用程序日志
wevtutil cl security 清理安全日志
Clear-Eventlog(powershell)
Clear-Eventlog -Log Application, System,Security
清除应用程序和服务日志
FOR /F "delims=" %I IN ('WEVTUTIL EL') DO (WEVTUTIL CL "%I")
前面所有命令都只是清除了windows日志,没有清除应用程序和服务日志,这个命令可以清除。
清除应用程序和服务日志:
清除recent:
recent是windows下用户打开的文档历史文件记录 。
在文件资源管理器中点击“查看”->“选项”->在常规->隐私中点击”清除”按钮
或直接打开C:\Users\用户名\Recent并删除所有内容
或在命令行中输入del /f /s /q %userprofile%\Recent*.*
清除之前:
清除之后:
参考连接(站在巨人的肩膀上登高望远):
https://docs.microsoft.com/en-us/windows-server/identity/ad-ds/plan/appendix-l–events-to-monitor
https://www.ultimatewindowssecurity.com/securitylog/encyclopedia/default.aspx?i=j
https://docs.microsoft.com/zh-cn/windows-server/administration/windows-commands/wevtutil
https://www.freebuf.com/vuls/175560.html
https://mp.weixin.qq.com/s/sah3GAVlOALP4hx7vk8eJA
https://mp.weixin.qq.com/s/pzQxkl3Ngbapuso75LgnLQ
https://blog.csdn.net/Z_Z_W_/article/details/104406072
https://blog.csdn.net/Captain_RB/article/details/109573106
windows日志总结相关推荐
- Windows 日志高级筛选实践
背景 经常需要查看日志,不仅是用来排错,有些时候我还需要监控系统来抓取特定日志来帮助减少我的工作负担,以及时监控到异常出现,并作出通知及响应,那么从大量日志中快速并精确筛选出想要的日志,并且精确提取信 ...
- Windows日志及其保护
日志文件(log)记录着Windows系统及其各种服务运行的每个细节,对增强Windows的稳定和安全性,起着非常重要的作用.如果不注意对它保护,被人将日志文件清空或篡改,会给系统带来严重的安全隐患. ...
- 用Syslog 记录UNIX和Windows日志的方法
用Syslog 记录UNIX和Windows日志的方法 在比较大规模的网络应用或者对安全有一定要求的应用中,通常需要对系统的日志进行记录分类并审核,默认情况下,每个系统会在本地硬盘上记录自己的日志,这 ...
- 【script】python 解析 Windows日志(python-evtx)
Windows日志 模块安装 pip install python-evtx Windows日志 解析源码 源码 import mmap import contextlib import dateti ...
- 将Windows日志转换为Syslog
无论是Unix.Linux.FreeBSD.Ubuntu,还是路由器.交换机,都会产生大量的日志,而这些,一般会以syslog的形式存在.在RFC 3164中定义了syslog是一种日志协议,sysl ...
- 使用OData协议查询Windows日志
OData开放数据协议是微软针对Google的GData推出的,旨在推广Web程序数据库格式标准化的开放数据协议,微软将 OData 定义为基于 HTTP.AtomPub 和 JSON 的协议,增强各 ...
- windows日志 重要事件 id_操作系统日志简述
大家好,我是anyux.本文介绍操作系统日志 网络环境日志分类 Unix/Linux系统日志 1.登录时间日志子系统:登录时间日志通常会与多个程序的执行产生关联,一般情况下,会记录到/var/log/ ...
- Windows:打开MSDTC,恢复Windows任务栏,查看windows日志,打开远程桌面,打开Services,资源监控...
一,Win10 打开 MSDTC 1,Win+R 打开运行窗口,输入 dcomcnfg,打开组件服务窗口 2,在组件服务 catalog下找到 Distributed Transaction Coor ...
- Windows日志分析(中)
Windows日志分析宝典|事件响应指南(中) 前排提示: 使用手机预览的时候, 横屏预览更佳~ 在我们Blue Team,针对Windows日志分析的场景占绝大多数,Windows 事件日志记录提供 ...
- Windows日志浅析
Windows日志从Windows2000版本后共包括9种审计策略,共分为:帐户登录.登录.对象访问.目录服务访问.进程追踪.特权使用.帐户管理.策略变更.系统事件9大类. 1) 帐户登录:其实是对登 ...
最新文章
- 神经网络基础及逻辑回归实现
- 中国农科院微生物生态和进化方向博士后招聘(有高通量数据分析经验者优先)...
- 通过示例学习JavaScript闭包
- windows编译MaskRCNN
- python 蓝牙模块pybluz安装
- Vue 跳转相同路由携带不同参数,而页面不刷新
- 找CTO杜仲:技术人别把股权(期权)弄成一张废纸(新书推荐)
- 【华为云技术分享】云图说 | 初识云耀云服务器,打造“极优、极简”的云上体验
- 业务运维:站在企业转型风口上的云智慧
- antd confirm如何隐藏ok按钮_操作系统如何保护重要文件,Windows 7资源管理器设置隐藏文件夹...
- Windows系统CVE整理
- Docker第一章:安装及初始化配置
- 三角形状的点阵模糊效果iOS源码
- Visual Studio 水晶报表Crystal Reports
- 非平稳序列的随机分析
- MATLAB入门之旅
- Sql like模糊查询 区分大小写
- Apache Calcite入门
- [裴礼文数学分析中的典型问题与方法习题参考解答]4.5.1
- SIMD和SPMD的区别