网络安全应急响应 - 03 - 日志分析与内存分析

打印 上一主题 下一主题

主题 554|帖子 554|积分 1662

日志分析

Windows

日志概述

在Windows系统中,日志文件包括:系统日志、安全性日志及应用程序日志。
  1. 在Windows 2000 专业版/Windows XP/Windows Server 2003(注意日志文件的后缀名是evt)系统中(只有这三种日志):
  2. 系统日志的位置为 C:\WINDOWS\System32\config\SysEvent.evt
  3. 安全性日志的位置为 C:\WINDOWS\System32\config\SecEvent.evt
  4. 应用程序日志的位置为 C:\WINNT\System32\config\AppEvent.evt
  5. 在Windows Vista/Windows 7/Windows 8/Windows 10/Windows Server2008及以上版本系统中:
  6. 系统日志的位置为 %SystemRoot%\System32\Winevt\Logs\System.evtx
  7. 安全性日志的位置为 %SystemRoot%\System32\Winevt\Logs\Security.evtx
  8. 应用程序日志的位置为 %SystemRoot%\System32\Winevt\Logs\Application.evtx
  9. 其它日志:如Dhcp、Bits-Client等,这些日志存储在 %SystemRoot%\System32\Winevt\Logs 目录下
复制代码
可以在【运行】对话框中输入【eventvwr】命令,打开【事件查看器】窗口,查看相关的日志。
(1)系统日志
系统日志主要是指Windows系统中的各个组件在运行中产生的各种事件。
这些事件一般可以分为:系统中各种驱动程序在运行中出现的重大问题、操作系统的多种组件在运行中出现的重大问题及应用软件在运行中出现的重大问题等。
这些重大问题主要包括重要数据的丢失、错误,以及系统产生的崩溃行为等。
(2)安全性日志(安全日志)
安全性日志主要记录了各种与安全相关的事件。
构成该日志的内容主要包括:各种登录与退出系统的成功或不成功的信息;对系统中各种重要资源进行的各种操作,如对系统文件进行的创建、删除、更改等操作。
(3)应用程序日志
应用程序日志主要记录各种应用程序所产生的各类事件。
例如,系统中SQL Server数据库程序在受到暴力破解攻击时,日志中会有相关记录,该记录中包含与对应事件相关的详细信息。
在应急响应中还经常使用PowerShell日志。
日志常用事件ID

Windows系统中的每个事件都有其相应的事件ID。
常用的事件ID:
  1. 旧版本指 Windows 2000专业版/Windows XP/Windows Server2003
  2. 新版本指 Windows Vista/Windows 7/Windows 8/Windows10/Windows Server 2008等
复制代码
成功/失败登录事件提供的有用信息之一是用户/进程尝试登录(登录类型),Windows系统将此信息显示为数字。
数字及其对应说明:

登录相关日志事件ID对应说明:

常用启动事件相关日志事件ID对应说明:

日志被清除相关日志事件ID对应说明:

日志分析

日志分析就是在众多的日志中找出自己需要的日志。
(1)通过内置的日志筛选器进行分析
使用日志筛选器可以对记录时间、事件级别、任务类别、关键字等信息进行筛选。
(2)通过PowerShell对日志进行分析(需要有管理员权限)
命令【Get-EventLog】只获取传统的事件日志。
命令【Get-WinEvent】是从传统的事件日志(如系统日志和应用程序日志)和新Windows事件日志技术生成的事件日志中获取事件,其还会获取Windows事件跟踪(ETW)生成的日志文件中的事件。(需要Windows Vista、Windows Server 2008或更高版本的Windows系统,还需要Microsoft .NETFramework 3.5及以上的版本)
获取安全性日志下事件ID为4625(失败登录)的所有日志信息:
【Get-EventLog Security-InstanceId 4625】命令
【Get-WinEvent-FilterHashtable @{LogName='Security';ID='4625'}】命令
通过设置起始时间和终止时间变量,可查询指定时间内的事件。先设置起始时间变量StartTime和终止时间变量EndTime,再使用【Get-WinEvent】命令,可查询这段时间内的系统日志情况:
  1. > $StartTime=Get-Date -Year 2022 -Month 6 -Day 1 -Hour 10 -Minute 30
  2. > $EndTime=Get-Date -Year 2022 -Month 7 -Day 1 -Hour 10 -Minute 30
  3. > Get-Wine vent -FilterHashtable @{LogName='System';StartTime=$StartTime;EndTime=$EndTime}
复制代码
通过逻辑连接符可对多种指定日志ID进行联合查询。例如,对Windows启动和关闭日志进行查询:
  1. > Get-WinEvent-LogName system | Where-Object {$_.ID-eq "12" -or $_.ID -eq "13"}
复制代码
(3)通过相关的日志工具进行分析查询
FullEventLogView:FullEventLogView是一个轻量级的日志检索工具。
Event Log Explorer:Event Log Explorer是一个检测系统安全的软件,可查看、监视和分析事件记录,包括安全性、系统、应用程序和其Windows系统事件记录。
Log Parser:Log Parser是微软公司推出的日志分析工具,可以分析基于文本的日志文件、XML文件、CSV(逗号分隔符)文件,以及操作系统的事件日志、注册表、文件系统、Active Directory等。其可以像使用 SQL语句一样查询分析数据,甚至可以把分析结果以各种图表的形式展现出来。
[code]查看事件ID为4624,即登录成功的所有事件:> LogParser.exe -i:EVT -o:DATAGRID "SELECT*FROM C:\Security.evtx where EventID=4624"查看从2018年1月1日23时59分59秒到2019年6月1日23时59分59秒,事件ID为4625,即登录失败的所有事件:> LogParser.exe -i:EVT -o:DATAGRID "SELECT*FROM C:\Security.evtx where TimeGenerated>'2018-01-01 23:59:59' and TimeGenerated

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?立即注册

x
回复

使用道具 举报

0 个回复

倒序浏览

快速回复

您需要登录后才可以回帖 登录 or 立即注册

本版积分规则

曹旭辉

金牌会员
这个人很懒什么都没写!

标签云

快速回复 返回顶部 返回列表