打开APP
userphoto
未登录

开通VIP,畅享免费电子书等14项超值服

开通VIP
Windows日志审计

作者:wolaikankan

i春秋社区

一、前言

在应急响应过程中,日志是我们首选需要调取的重要材料信息之一,通过日志我们可以大概的快速还原出攻击者的攻击手法,并且通过日志文件找出攻击入口点,从而准确及时堵住攻击入口并且修复安全缺陷保障公司业务及产品安全。

这篇文章主要涉及Windows平台下的日志审计以及分析。本文首先介绍一下Windows日志的基本知识,然后再讨论如何高效的分析Windows下大量的系统日志。

二、Windows日志基础

本文以Windows server 2003为例,探讨Windows日志审计。

Windows系统中的日志包括:Application、security、system。其中Application部分主要记录的是应用程序在系统中产生的事件信息,而system部分主要记录windows系统组件产生的事件,主要包括驱动程序、系统组件、应用程序错误信息等,security主要记录系统的安全信息,包括成功的登陆、退出,不成功的登陆,系统文件的创建、删除、更改,需要指明的是安全日志只有系统管理员才可以访问,这也体现了在大型系统中安全的重要性。其中这三种类型的日志文件存放于System32\config\目录下,分别为:AppEvent.Evt、SecEvent.Evt、SysEvent.Evt

如果需要查看这些文件,可以通过Windows自带的事件查看器来查看。

双击某条可以查看详细信息。例如我们查看某一条登陆/注销的日志。

可以看到登陆的详细信息:登陆时间、用户、源网络地址等。

有时候,系统中可能积压了很多日志,量大,这个时候如果一条一条的找那么会耗费很多时间,我们可以通过时间查看器提供的“查找”功能来进行过滤。

在Windows server 2003默认的策略中,记录的信息并不是特别的详细,作为服务器来说我们需要更详尽的日志信息,这个时候我们就需要对日志策略进行配置,那么在哪里配置呢?这个时候就用上“本地安全策略”这个功能了。打开“本地安全策略”---“本地策略”---“审核策略”可以看到目前的配置如下:

当前策略配置只会记录登录成功的记录而并不会记录登录失败,同时也不会记录目录服务访问的记录。在服务器安全配置中,推荐开启登录失败记录,如果服务器在域内同时建议开启审核目录服务访问的成功和失败记录。因为有些恶意的攻击者会尝试对服务器进行账号密码爆破,会有很多的登录失败的记录,这样我们可以通过日志中的失败记录来判断是否存在被实施过爆破。

以上,我们简单的了解了Windows系统下日志分析的基础知识,通过这种方式对于日志量较小的场景来说没什么问题,但是如果日志量过大仅通过这种手工方式效率则较低,这就引入了一款Windows下的日志分析工具——LogParser。

三、LogParser简介

首先,LogParser是一款基于命令行的工具,它是由微软的Gabriele Giuseppini开发的所以目前只有Windows版本。LogParser所支持的格式有:

那么,LogParser内部到底是怎样的一种结构,它处理数据的流程又是什么样的呢?

LogParser的架构图如下:

我简化了一下,如下:

首先输入各种LogParser支持的日志格式,然后经过类SQL引擎处理之后可以输出各种格式。对于应急响应的日志分析来说,我们的目标就是找出攻击点,所以我们关注的范围和运维所关注的不同,我们只需要提取其中关于攻击的部分,因此我们用的最多的是利用其中的SQL引擎来提取出我们关注的信息即可。

四、利用LogParser分析Windows日志

使用的基本语法:

logparser

可以通过:-h 参数获取更多帮助,也可以阅读帮助文档获取详细帮助内容。

假设场景:发现公司提供IIS服务的某台服务器被黑客植入了webshell,通过安全工程师排查,发现webshell为:shell.aspx,那么使用logparser进行shell活动轨迹提取。

logparser -i:IISW3C -q 'SELECT date, time FROM *.log WHERE cs-uri-stem LIKE '%shell.aspx' ORDER BY date, time;'

就可以快速提取出所有该shell的操作历史行为。如果需要还原攻击者的攻击过程,可以利用logparser提供的查询功能再加上一些安全规则对日志进行匹配就可以快速的了解到攻击者的整个攻击过程。当然这个结果的准确性取决于你的规则库是否强大。

LogParser不仅支持本地日志文件的分析,同时它还支持对远程URL以及远程主机的日志进行分析。

例如我们想分析:http://xxx.xxx.com/iis.log这个日志,那么只需要执行:

Logparser “select * from [url]http://xxx.xxx.com/iis.log[/url]”

(得到结果的速度和你的网络环境以及目标服务器的内存状况有关)

如果是内网环境的话还OK,但是如果外网环境那推荐把日志文件下载回本地进行分析,分析的语法还是和本地分析语法一样。同时,该工具还支持查看远程服务器的系统日志。

logparser 'select * from \\192.168.174.134\Application'

既可以看到192.168.174.134服务器中的系统日志,同样查询语法也和本地查询语法相同。这个功能相对来说还是比较强大的,不需要进服务器导出日志,只需要有地址及账号就可以了。

Logparser还提供了插件以及接口的功能,借助该工具提供的接口能够自定义日志的输入、输出格式,还可以使用C#等编程语言对其功能进行二次开发。以下是一个简单的C#代码示例:

唯一需要注意的地方就是需要一个Interop.MSUtil.dll文件,首先安装logparser然后找到安装目录下的LogParser.dll文件,然后执行:

tlbimp LogParser.dll /out:Interop.MSUtil.dll

就可以得到该dll文件。

五、结语

Windows在运行的过程中会产生许多不同类型的日志,不仅仅包括文中所描述的那几种,同时还有数据库日志以及各种应用程序所产生的日志等。在应急响应的过程中我们需要调取服务器以及安全设备中的各种不同类型日志以及记录,本文没有一一包括,但是其分析的总体方法以及思路都是大同小异,我们应该把握总体的思路,这样不管是Windows下的日志审计还是Linux下的日志审计我们都可以轻松驾驭。

编辑:咕嘟嘟

责任编辑:小南瓜

校对:小林龙马、山雾草野

本站仅提供存储服务,所有内容均由用户发布,如发现有害或侵权内容,请点击举报
打开APP,阅读全文并永久保存 查看更多类似文章
猜你喜欢
类似文章
【热】打开小程序,算一算2024你的财运
详述Win2003网络服务器的安全配置策略
windows server 2003 IIS权限设置
WIN2003服务器六条安全策略 - Sine服务器安全信息网--服务器安全设置,服务器维...
基于Windows服务器的Moodle安装说明--视物悟理
「运维有小邓」事件日志审计
一次简单的windows日志分析
更多类似文章 >>
生活服务
热点新闻
分享 收藏 导长图 关注 下载文章
绑定账号成功
后续可登录账号畅享VIP特权!
如果VIP功能使用有故障,
可点击这里联系客服!

联系客服