写在前面
学习一下的应急响应技能,分享一篇韩烨师傅的windows日志分析文章。这篇文章包括windows日志存放位置,Log Parser、LogParser Lizard两个日志分析工具的使用,快速查询登录成功、失败的事件、历史开关机记录等。
windows日志分析
windows日志存放地点为%SystemRoot%\System32\Winevt\Logs的路径下,在正常应急工程中可以通过win+r,输入eventvwr进入事件查看器,查看日志属性,找到具体路径(此方法在紧张时忘记具体路径的方法。)
这边建议在应急过程中将该路径下的所有文件全部提取,方便之后的分析。
windows日志分析工具
Log Parser
Log Parser(是微软公司出品的日志分析工具,它功能强大,使用简单,可以分析基于文本的日志文件、XML 文件、CSV(逗号分隔符)文件,以及操作系统的事件日志、注册表、文件系统、Active Directory。它可以像使用 SQL 语句一样查询分析这些数据,甚至可以把分析结果以各种图表的形式展现出来。
Log Parser 2.2下载地址:https://www.microsoft.com/en-us/download/details.aspx?id=24659
Log Parser 使用示例:https://mlichtenberg.wordpress.com/2011/02/03/log-parser-rocks-more-than-50-examples/
基本查询语句如下:
Logparser.exe –i:EVT –o:DATAGRID "SELECT * FROM security日志绝对路径"
其中可以选择显示所有行和显示接下来的10行,按照个人需求选择
使用Log Parser分析日志
快捷指令:
查询成功的所有事件
LogParser.exe -i:EVT –o:DATAGRID "SELECT * FROM security日志绝对路径 where EventID=4624"
个人感觉在使用这款工具的时候最大的作用就是通过它的图标功能快速找到异常点,显示所有行,可以很快通过strings的不同找到异常点,图示为日志中的登录ip。
使用该工具可以在短时间内找到需要分析的日志的具体时间,在通过windows自带的日志查看器可以获取更详细的信息。如下为该款工具的快捷指令,以security日志为例。
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"
2、查询登录失败的事件
登录失败的所有事件:
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"
3、系统历史开关机记录:
LogParser.exe -i:EVT –o:DATAGRID "SELECT TimeGenerated,EventID,Message FROM c:System.evtx where EventID=6005 or EventID=6006"
LogParser Lizard(gui版的Log Parse)
对于GUI环境的Log Parser Lizard,其特点是比较易于使用,甚至不需要记忆繁琐的命令,只需要做好设置,写好基本的SQL语句,就可以直观的得到结果。
下载地址:http://www.lizard-labs.com/log_parser_lizard.aspx
依赖包:Microsoft .NET Framework 4 .5,下载地址:https://www.microsoft.com/en-us/download/details.aspx?id=42642
在安装过程中windows会报错,选择仍然运行即可,安装完毕后会出现如下弹窗(初次运行时),选择第三个。
软件ui如下:
下面说一下该软件的功能
1、封装了logParser命令,带图形界面,大大降低了LogParser的使用难度2、支持外观颜色设置,可以通过颜色区分数据组合3、允许您从标题列表中添加或删除标题,并选择要定制的标题4、可以将查询过的命令保存下来,方便再次使用5、log parser lizard软件提供了相当多的图表保存您的数据6、这款日志分析工具提供的比较住非常专业的数据库资源搜索功能7、log parser lizard集成了几个开源工具,如log4net等。可以对IIS logs/EventLogs/active directory/log4net/File Systems/T-SQL进行方便的查询8、log parser lizard集成了Infragistics.UltraChart.Core.v4.3、Infragistics.Excel.v4.3.dll等,使查询结果可以方便的以图表或EXCEL格式展示9、对纯文本文件运行sql查询SQL查询可以解释为一种特殊类型的搜索操作,只有更强大的功能和更多可能的自定义选项。通常,这些查询只能在数据库上执行,因为它们包含其他文件格式无法识别的特殊术语,但是LogParser蜥蜴使您能够对纯文本文件运行SQL查询,这要归功于它自己的SQL语法。这些查询可以与文件系统信息相关,例如查找硬盘上最大的10个重复文件,甚至Web服务,如关于IP地址、命中计数和HTTP状态代码的IIS日志。您还可以从头创建日志,因为这些日志都是安装时应用程序提供的示例。10、将结果导出到Excel或查看带有查询数据的图表图像运行所需的查询并查看所有请求的信息后,您可以将结果保存到Excel电子表格或PDF文件中供将来参考,或者将其通过Internet传输为电子邮件附件。可用的输入日志格式包括Windows事件日志、ActiveDirectory服务和GoogleBigQuery,它们可以处理大量Web数据。11、至于输出格式,LogParser蜥蜴允许您将查询保存为CSV、IIS日志文件和图像图表。这些图表描述了查询数据的图形表示,以更好地说明差异或某些活动。
下图为可支持的日志格式。
下面说一下具体使用方法,有一说一,这款软件是我见过最全的也是使用起来最复杂而且也是ui最酷炫的日志查看软件。
进行筛查
下图为打开后的情况
运行后的结果:
这边粗略介绍一下大致的使用方法。
grid选项
pivot grid
该功能主要负责打开支点gid和图表分析数据:
当前设置的数据网格视图。一直按住CTRL,打开新的枢轴网格窗口。
将这里的选项拖入下面四个格子中,可以相应的做出筛选,获取有效信息。
选好之后点击update即可显示出你想要的结果(可用于线索筛选)
Conditional Formatting
filter选项
show find panel和show non matching(进行查找操作)
auto filter row
点击该按钮,可以对每列进行一个筛选
可以在空白处填上想筛选的词语进行筛查,本人习惯使用contain
剩下的可以选择进行操作
export选项
和日志分析功能没有太大作用,跳过。
behavior选项
Highight Cell Text,主要将非必要文本删除,例如< color= #4dae89> 这种信息
cell merge,将单元格合并,情况如下。
其他的选项个人感觉和日志分析功能无关,可酌情选择。