【实验目的】
了解Windows系统日志,了解LogParser工具的基本用法
【知识点】
Windows系统日志、LogParser
【实验原理】
在windows7和windowserver2008R2中,可以通过在cmd中运行eventvwr来打开事件查看器,查看各种类型的系内置日志记录,本实验使用事件查看器检查各种帐户的登录事件,包括系统内置的特殊帐户,以及大家熟悉的administrator管理员帐户。
一般而言,在启动服务器后,一个叫做winlogon.exe的进程会先以NTAUTHORITY\SYSTEM(帐户域\帐户权限)登录,然后进入要求用户键入ctrl+alt+del并输入帐密的登录界面,此时,winlogon.exe检查并验证用户的输入,通常的做法是将用户键入的密码以某种哈希算法生成密文,将其与SAM数据库文件中的密文进行比对,如果一致则该账户通过验证并登录,然后赋予相应的权限。
所有这些过程都会被记录进系统内置的"安全"类型日志,可以通过事件查看器浏览。
除了winlogon.exe进程外,其它一些系统进程也会在用户登录前,使用特殊帐户先行登录。这些登录事件同样可以在事件查看器中一览无遗。例如,一个叫做services.exe的系统服务进程,使用NTAUTHORITY\SYSTEM(帐户域\帐户权限)登录,然后它会创建数个svchost.exe子进程,而每个svchost.exe进程都会启动并纳宿一些基本的windows服务,而许多用户空间的应用程序将使用这些服务,实现它们的功能。
LogParser主要有三个部分:输入处理器、数据引擎、输出处理器。
输入处理器支持本地的日志格式,如IIS日志和Windows日志(.evt)文件。LogParser还可以逗号分隔(.csv)文件、ODBC数据库文件以及通过回车符划分的文本文件。输入处理器把每个日志类型转化成统一格式,这样LogParser数据引擎就能像处理数据库表格那样处理日志文件。
【实验步骤】
1.使用事件查看器分析Windows系统日志
在cmd中输入eventvwr回车打开事件查看器,并且可以看到事件查看器中有Windows日志和应用程序和服务日志两大类。
展开Windows日志,点击安全项目,此时在中间的窗口会列出自系统安装以来,记录的所有安全事件。
在"安全"项目上右击鼠标,在弹出的上下文菜单中选择"筛选当前日志(L)",或者直接单击右侧列表下的"筛选当前日志"来查看最近24小时以内的帐户登录与验证、审核、权力指派等事件。
在打开的对话框中,切换到“筛选器”标签,在“记录时间(G)”右侧的下拉列表中,选择“近24小时”,然后点击下方的确定按钮。
显示出筛选的结果,显示了在24小时内纪录的1905项安全事件(MicrosoftWindows安全审核是准确的称呼),可以按照日期和时间列排序事件,或者按照事件ID、任务类别来排序事件。查看“登录”与“特殊登录”事件,需要选择以任务类别排序(实际时间和数量根据实验环境为准)。
双击某个“已成功登陆账户”的事件。
在弹出的事件属性对话框中,查阅常规信息,拖动滚动条能查看完整的常规信息。
对登录事件的常规信息分析如下
下面对特殊登录进行分析
对特殊登录事件的常规信息分析如下
Windows7和Windowserver2008R2的主机日志保存在C:\Windows\System32\winevt\Logs文件夹下,Security.evtx即为Windows安全节点下安全日志,双击即可使用事件查看器打开并进行查看
2.使用LogParser分析Windows日志
打开Log Parser 2.2
接下来统计原端口发送数据包的量,为了保持原格式不变,输入
LogParser.exe "select srcport,count(*) into a.csv from C:\Users\Administrator\Desktop\a.cap group by srcport" -fmode:tcpip -o:csv
执行完成后会在当前目录下生成名为a.csv文件,它可以在DOS下打开,也可以在文本编辑器中打开。在命令行中输入命令“typea.csv”打开文件,这样就得到了原端口发送数据包的量。
LogParser本身支持Windows时间日志,可以查询安全日志,在命令行中输入
LogParser.exe "select 'EVENTid:',EventID,SYSTEM_TIMESTAMP(),message from security" -i:EVT -o datagrid
,回车后系统会弹出一个内容为安全日志的窗口。该条命令在LogParser命令中编写SELECT子句,这个子句在输入日志中指定一个字段的逗号分隔列表作为查询输出。
关闭窗口后,会显示日志输出条数和执行时间
当需要将每个事件ID记录作为一个列表,就需要有一种能从结果中删掉重复内容的方法。LogParser用DISTINCT关键字来解决这个问题。为了从结果集中删掉重复内容,只需在SELECT之后插入DISTINCT这个关键字。在CMD中输入
LogParser.exe "select DISTINCT SourceName,EventID,SourceName,message into Event_*.csv from security" -i:EVT -o:csv
。DISTINCT关键字只是应用在你指定的SELECT子句字段后面,而不能在其它子句如WHERE、ORDERBY、GROUPBY或HAVING中使用。
在CMD中输入命令“
type Event_*.csv|more
”,查看结果