windows日志
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
Windows日志浅析
Windows日志从Windows2000版本后共包括9种审计策略,WindowsNT只有7种(此次没验证,懒得装NT虚拟机了)。共分为:帐户登录、登录、对象访问、目录服务访问、进程追踪、特权使用、帐户管理、策略变更、系统事件9大类。
其中帐户登录其实是对登录用户的认证事件,据大神Randy自己说,称其为“认证事件“更为合适。登录事件记录的是用户登录到哪台PC的事件。对象访问记录的是用户对Windows 对象的访问事件,这里对象包括注册表、服务、打印机、文件/文件夹等。目录服务访问就是对AD中所有对象的访问事件。进程追踪则为主机执行的程序事件,不管是由用户自己执行还是系统自动执行的。特权使用指用户使用分配的特权的事件,这里特权指在本地安全策略中分配给用户的权限。帐户管理则包含了本地帐户、用户组、DC中域用户、域用户组等对象的管理、密码设置等事件。策略变更指本地安全策略或DC上信任关系变化的事件。系统事件则涉及到一些安全事件的杂项,如系统的启动和关闭、系统事件修改等等。
9类审计策略大概的介绍就到这里,在随后的文章中会分别具体地说明,自己也尽可能在Windows2003操作系统进行验证。
在正式对每类事件进行分析前,先大概对windows的日志格式进行一个简单的介绍。
每个windows日志都由两部分组成:头字段和描述字段。
头字段是相对内容和格式都固定的部分,包括的信息有:事件的id、日期和时间、事件的结果(成功还是失败)、事件的来源和类别。由于安全日志所有的来源都记为“source”,因此意义不大。而类别就是(一)中提到的9种类别。这里的用户字段用处也不是很大,因为很多事件简单地记为“STSTEM”为用户,所以真正要看是什么用户触发了该条日志还是要看描述字段里面是否有相应的实际用户(这些在随后的日志分析中会涉及到)。
因此很多时候我们需要详细分析描述字段中的信息,这部分出现的信息也会随具体的事件而不同,但是其形式都是为一系列组合信息,每个组合信息是一个内容固定的描述信息(类似占位符的作用),以及后面的动态信息。举个例子来说:ID680事件的描述字段包括:“Logonaccount: Administrator”。这里“Logonaccount:”是固定的前置字段占位符,而后面的“Administrator”则是真实的实例名称,会根据实际的情况而变化。
我们可以打开本地的一条日志,点击描写字段部分的蓝色链接,联网的情况下可以查看到微软的支持中心中对该条日志的详细说明,其中的Message字段通常为以下的内容,很容易看到ID为567的这条日志的描述字段包括7个字段信息,说明其中有7个变量存在,其内容由实际情况生成。
Object Access Attempt:
Object Server: %1
Handle ID: %2
Object Type: %3
Process ID: %4
Image File Name: %5
Accesses: %6
登录VS认证小结
因此,在windows中登录和认证是关联但是不同的两个活动。简言之登录活动发生在最终被访问的主机上,认证活动发生在存储用户帐户的主机上。也就是如果使用本地帐户登录某台主机,该主机同时“看到”认证和登录活动。如果是使用域帐户登录,那么DC可以“看到”认证活动,而被访问的真实主机只“看到”登录活动。
所以“审计帐户登录事件”是主要用于DC上的审计策略,但是在成员工作站上也有用,可以辨识对本地帐户的攻击。
既然通常DC来完成域帐户的认证,那么就会涉及到windows系统支持的2种认证协议:NTLM和Kerberos。
NTLM VSKerberos
当用户使用域帐户登录windows2000及之后版本的操作系统时,工作站首先会尝试通过Kerberos协议联系DC。(如果系统没收到响应的话,会回退使用NTLM)。并且Widows2000及之后的版本使用不同的事件ID记录NTLM和Kerberos活动,所以比较容易区分。由于Kerberos提供了客户端和服务器间的双向认证(NTLM只支持客户端向服务器的认证)。并且NTLM的安全性较Kerberos弱一些,更容易被嗅探数据包进行破解。而且如果外部的攻击者攻击某个域的帐户,通常会看到NTLM认证事件,而不是Kerberos。因为他们不是本域的成员或信任域,登录尝试会使用NTLM。
NTLM和Kerberos协议的工作机理这里暂时不详细说明了,而且由于自己目前对域这一块不是很熟悉,暂且跳过使用域帐户登录方式的日志分析,先从本地用户方式的认证开始。以后有机会再搭建域的实验环境,然后进行使用域帐户的登录活动分析。
ok,终于开始要真枪实干地分析日志了,首先我们对“审计帐户登录事件”下手,也就是用户的认证事件。这里暂时只考虑使用本地帐户进行登录,不包括域用户。以后搭建起来实验环境,对域也比较熟悉后再补上这一课。这里为了排除干扰,每次实验前均清除日志,且只开启要分析类别事件的审计功能。
此次实验均使用windows2003,其它版本的windows系统事件ID和描述可能会有一些出入。
前面已经说过了,windows有5种帐户登录方式,所以我们一个个来看。
1、本地交互式登录,也就是我们每天最常使用的登录方式。如果成功登录的话,会产生ID 为680的事件,
如上图所示,我们从中可以获取到的有用信息有:认证事件的时间、结果为成功(审核成功)、登录帐户为“administrator”、(描述中的部分)、被登录的主机名(WIN2003)。接下来看看登录失败是什么记录,这里第1次使用不存在的用户名登录、第2次使用正确的用户名但是错误密码。
2、使用RDP协议进行远程登录,这也是日常经常遇到的情况。
首先是成功登录,如下图所示,从中可以看到ID仍为680,并且与本地登录没有任何明显
区别。并且描述信息中的主机名(源工作站)仍为被尝试登录主机的主机名,而不是源主
机名。然后使用不存在的用户名和错误密码分别登录失败1次,产生的日志与第1种一样,所以不再附图。
3、远程访问某台主机的共享资源,如某个共享文件夹。
首先是使用正确的用户名和密码访问远程共享文件夹,如下图所示。从中可以发现头字段和描述字段中的用户名都为访问共享文件夹时使用的用户名,并且描述信息中的源工作站名也为发出访问共享文件夹请求的主机的真实主机名,与头字段中的计算机名字段的主机名不同。